public int compareTo()

in uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/sort/JobDetailsProcesses.java [148:211]


	public int compareTo(JobDetailsProcesses jdp) {
		int retVal = 0;
		try {
			JobDetailsProcesses j1 = this;
			JobDetailsProcesses j2 = jdp;
			IDuccProcess p1 = j1.getProcess();
			IDuccProcess p2 = j2.getProcess();
			long f1 = p1.getDuccId().getFriendly();
			long f2 = p2.getDuccId().getFriendly();
			if(f1 != f2) {
				if(!j1.isRunning() && j2.isRunning()) {
					retVal = 1;
				}
				else if(j1.isRunning() && !j2.isRunning()) {
					retVal = -1;
				}
				else if(!j1.isInitializing() && j2.isInitializing()) {
					retVal = 1;
				}
				else if(j1.isInitializing() && !j2.isInitializing()) {
					retVal = -1;
				}
				else if(!j1.isStarting() && j2.isStarting()) {
					retVal = 1;
				}
				else if(j1.isStarting() && !j2.isStarting()) {
					retVal = -1;
				}
				else if(!j1.isStopping() && j2.isStopping()) {
					retVal = 1;
				}
				else if(j1.isStopping() && !j2.isStopping()) {
					retVal = -1;
				}
				else if(!j1.isFailed() && j2.isFailed()) {
					retVal = 1;
				}
				else if(j1.isFailed() && !j2.isFailed()) {
					retVal = -1;
				}
				else if(j1.workItemErrors() < j2.workItemErrors()) {
					retVal = 1;
				}
				else if(j1.workItemErrors() > j2.workItemErrors()) {
					retVal = -1;
				}
				else if(j1.workItemDone() < j2.workItemDone()) {
					retVal = 1;
				}
				else if(j1.workItemDone() > j2.workItemDone()) {
					retVal = -1;
				}
				else if(f1 > f2) {
					retVal = -1;
				}
				else if(f1 < f2) {
					retVal = 1;
				}
			}
		}
		catch(Exception e) {
		}
		return retVal;
	}