Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package de.fspengler.hudson.pview;
  
  import hudson.model.Job;
  import hudson.model.RSS;
  import hudson.model.Run;
 
 import java.util.List;
 
 
Link for call the personal view

Author(s):
Tom Spengler
 
 public class PViewLinkAction implements ActionAccessControlled {
 
 	private static final String URL_PART_SI_VIEW = "siView";
 	private static final String URL_PART_ROOT_SI_VIEW = "rootSiView";
 	private static final String P_URL_PVIEW_ROOT_SI_VIEW = "/pview/" +  ;
 	private static final String P_URL_PVIEW_SI_VIEW = "/pview/" + ;
 	private static final long serialVersionUID = 1L;
 	
 
 	
 	public String getDisplayName() {
 		StaplerRequest req = Stapler.getCurrentRequest();
         if(req!=null && req.getOriginalRequestURI().contains("/view")){
         	return null;
         }
         if (req.getAttribute("rootisSet") != null){
         	if (req.getAttribute("rootProject") != null){
         		 return "Tree View: " + req.getAttribute("rootProject") ;	
         	}
            return "Tree View";	
         }
 
 		if (User.current() != null) {
 			req.setAttribute("rootisSet",.);
 			return "Personal View";
 		} else {
 			return "Anonymous View";
 		}
 	}
 
 	public String getUrlName() {
 		StaplerRequest req = Stapler.getCurrentRequest();
         if(req!=null && req.getOriginalRequestURI().contains("/view")){
         	return null;
         }
         return "pview";
 	}
 
 	public String getIconFileName() {
 		StaplerRequest req = Stapler.getCurrentRequest();
         if(req!=null && req.getOriginalRequestURI().contains("/view")){
         	return null;
         }
 		return "up.gif";
 	}
 
 	private boolean isIsTreePosition (int positionboolean pDefault){
 		if (!isIsTree()){
 			return false;
 		}
 		if (getUser() && getUserProp() != null )
 			return ((getUserProp().getTreePosition() == position)); 
 		else
 			return pDefault;
	}
	public boolean isIsTreeNE() {
		return isIsTreePosition(0, true);
	}
	public boolean isIsTreeSE() {
		return isIsTreePosition(1, false);
	}
	public boolean isIsTreeNW() {
		return isIsTreePosition(2, false);
	}
	public boolean isIsTreeSW() {
		return isIsTreePosition(3, false);
	}	
	public boolean isIsTree() {
        if(req!=null && 
        		(req.getOriginalRequestURI().startsWith(getStepInViewUrl(req)) 
        				|| req.getOriginalRequestURI().startsWith(getStepInViewRoot(req)) )){
        	return true;
        }
		return false;
	}
	}
	}
	public boolean isIsList() {
		return !isIsTree();
	}
	public String getUserLogin(){
		if (getUser() )
			return User.current().getUrl();
		else
			return "";
	public boolean isHasUp () {
		if (isIsTree()){
			return getProjectMatcher().length() > 0;
		}
		return false;
	}
		String result;
		if (isIsTree()){
			String matcher = getProjectMatcher();
			String splitChar = "-";
			if (getUserProp() != null ) {		
				splitChar = getUserProp().getTreeSplitChar();
			if (matcher.indexOf(splitChar) > -1){
				result =  + "/" + matcher.substring(0, matcher.lastIndexOf(splitChar)) + "/";
else {
			}
else {
			result = "";
		}
		return result;
	}
		String splitChar = "-";
		if (getUserProp() != null ) {		
			splitChar = getUserProp().getTreeSplitChar();
		String startMatcher = getProjectMatcher();
		int lenMatcher = startMatcher.length();
		if (lenMatcher > 0) {
			for (AbstractProject abstractProject : iList) {
				if  (abstractProject.getName().startsWith(startMatcher)) {
					int posOfMatcher = abstractProject.getName().indexOf(splitCharlenMatcher + 1);
					if (posOfMatcher > -1) {
						String abString = abstractProject.getName().substring(lenMatcher+1, posOfMatcher);
						if (dirSet.containsKey(abString)){
							dirSet.get(abString).addOne();
else {
							DirEntry de =new DirEntry(abStringstartMatcher + splitChar + abString );
							dirSet.put(abStringde);
						}
					}
				}
			}
else {
			for (AbstractProject abstractProject : iList) {
				int posOfMatcher = abstractProject.getName().indexOf(splitChar);
				if (posOfMatcher > -1) {
					String abString = abstractProject.getName().substring(0, posOfMatcher);
					if (dirSet.containsKey(abString)){
						dirSet.get(abString).addOne();
else {
						DirEntry de =new DirEntry(abStringabString );
						dirSet.put(abStringde);
					}
				}
			}
		}
		return dirSet.values();
	}
	@SuppressWarnings("unchecked")
	   String splitChar = "-";
		if (getUserProp() != null) {
			splitChar = getUserProp().getTreeSplitChar();
		if (isIsTree()){
				for (AbstractProject abstractProject : iList) {
					if  (!abstractProject.getName().contains(splitChar)){
						jobList.add(abstractProject);
					}
				}	
else {
				String startMatcher = getProjectMatcher();
				for (AbstractProject abstractProject : iList) {
					if  (abstractProject.getName().startsWith(startMatcher)){
						jobList.add(abstractProject);
						int stepInNumberJobs = 30;
						if (getUserProp() != null) {
							stepInNumberJobs = getUserProp().getStepInNumberJobs(); 
						}
						if (jobList.size() > stepInNumberJobs){
							jobList.clear();
							break;
						}
					}
				}	
			}
else {
			for (AbstractProject abstractProject : iList) {
				if  (pat.matcher(abstractProject.getName()).matches()){
					jobList.add(abstractProject);
				}
			}
		}
		return jobList;
	}
		if ( ! req.getOriginalRequestURI().startsWith(getStepInViewUrl(req) + "/")){
			return "";
		}
		String matchPoint = req.getOriginalRequestURI().substring((getStepInViewUrl(req) + "/").length(),req.getOriginalRequestURI().length() -1);
		return matchPoint;
	}
	private Pattern getUserPattern() {
		Pattern pat;
		if (up != null){
		 pat = Pattern.compile(getUserProp().getPViewExpression());
else {
			pat = Pattern.compile(".*");
		}
		return pat;
	}
	public boolean getShowQueue(){
		if (getUserProp() == null){
			return true;
else {
		}
	}
	public boolean getShowExecutor(){
		if (getUserProp() == null){
			return true;
else {
		}
	}
		if (User.current() != null)
		else
			return null;
	}
	public boolean getUser(){
		return (User.current() != null);
	}
	public ACL getACL() {
		return Hudson.getInstance().getACL();
	}
	public void checkPermission(Permission p) {
	}
	public boolean hasPermission(Permission p) {
		return (User.current() != null);
	}
    public void doRssAllStaplerRequest reqStaplerResponse rsp ) throws IOExceptionServletException {
        rss(reqrsp" all builds"getBuilds());
    }
    public void doRssFailedStaplerRequest reqStaplerResponse rsp ) throws IOExceptionServletException {
        rss(reqrsp" failed builds"getBuilds().failureOnly());
    }
    
    public RunList getBuilds() {
        return new RunList(getJobs());
    }
    private void rss(StaplerRequest reqStaplerResponse rspString suffixRunList runsthrows IOExceptionServletException {
        RSS.forwardToRss(getDisplayName()+ suffixgetUrlName(),
            runs.newBuilds(), .reqrsp );
    }
    public void doRssLatestStaplerRequest reqStaplerResponse rsp ) throws IOExceptionServletException {
        List<Run<?,?>> lastBuilds = new ArrayList<Run<?,?>>();
        Pattern pat = getUserPattern();
        for (TopLevelItem item : Hudson.getInstance().getItems()) {
            if (item instanceof Job) {
                Job<?,?> job = (Job<?,?>) item;
                if (pat.matcher(job.getName()).matches()){
                	Run<?,?> lb = job.getLastBuild();
                	if(lb!=null)    lastBuilds.add(lb);
                }
            }
        }
        RSS.forwardToRss(getDisplayName()+" last builds only"getUrlName(),
            lastBuilds.reqrsp );
    }
    
    
Alias for getItem(java.lang.String). This is the one used in the URL binding.
    public final TopLevelItem getJob(String name) {
    	return Hudson.getInstance().getItem(name);
    }
    
    public List<ListViewColumngetColumns (){
    	ArrayList<ListViewColumnrlist = new ArrayList<ListViewColumn>();
    	if (up == null) {
    	rlist.add(new StatusColumn());
    	rlist.add(new WeatherColumn());
    	rlist.add(new JobColumn());
    	rlist.add(new LastSuccessColumn());
    	rlist.add(new LastFailureColumn());
    	rlist.add(new LastStableColumn());
    	rlist.add(new LastDurationColumn());
    	rlist.add(new ConsoleViewColumn());
    	rlist.add(new BuildButtonColumn());
    	} else {
    		if (up.isPcStatus())
    	    	rlist.add(new StatusColumn());
    		if (up.isPcWeather())
    			rlist.add(new WeatherColumn());
    		if (up.isPcJob())
    			rlist.add(new JobColumn());
    		if (up.isPcLastSuccess())
    			rlist.add(new LastSuccessColumn());
    		if (up.isPcLastFailure())
    			rlist.add(new LastFailureColumn());
    		if (up.isPcLastStable())
    			rlist.add(new LastStableColumn());
    		if (up.isPcLastDuration())
    			rlist.add(new LastDurationColumn());
    		if (up.isPcConsoleView())
    			rlist.add(new ConsoleViewColumn());
    		if (up.isPcBuildButton())
    			rlist.add(new BuildButtonColumn());
    	}
    	return rlist;
    }
    
    
Alias for getItem(java.lang.String). This is the one used in the URL binding.
    public final PViewLinkAction getSiView(String rootProjectthrows CloneNotSupportedException {
    	StaplerRequest req = Stapler.getCurrentRequest();
    	req.setAttribute("rootProject",rootProject);
    	return  this;
    }
    
    
Alias for getItem(java.lang.String). This is the one used in the URL binding.

    public final PViewLinkAction getRootSiView() throws CloneNotSupportedException {
    	StaplerRequest req = Stapler.getCurrentRequest();
    	req.removeAttribute("rootProject");
    	return  this;
    }
New to GrepCode? Check out our FAQ X