Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  
  package de.xwic.etlgine.server.admin.jobs;
  
  import java.util.List;
 

Author(s):
Developer
 
 public class JobAdminControl extends BaseContentContainer {
 
 	private TableViewer table;
 	private Button btRun;
 	private Button btStopJob;
 	private Button btViewJob;
     private Button btRemoveJob;
     private Button btReloadJob;
 	private List<IJobjobList;
 	private ErrorWarning errInfo;

Parameters:
container
name
 
 	public JobAdminControl(IControlContainer containerString name) {
 		super(containername);
 		
 		setTitle("Job Overview");
 
 		
 		 = new ErrorWarning(this"errorInfo");
 		
 		 = new TableViewer(this"table");
 		
 		
 		.setWidth(990);
 		
 		TableModel model = .getModel();
 		model.addColumn(new TableColumn("Job Name", 450, "name"));
 		model.addColumn(new TableColumn("State", 130, "state"));
 		model.addColumn(new TableColumn("Finished", 130, "lastFinish"));
 		model.addColumn(new TableColumn("Next Run", 110, "nextRun"));
 		model.addColumn(new TableColumn("Queue", 160, "queue"));
 		
 			private static final long serialVersionUID = 1L;
 			public void elementSelected(ElementSelectedEvent event) {
 			}
 		});
 		
 		
 	}

 
 	protected void updateButtons() {
 		boolean selected = .getModel().getFirstSelectedKey() != null && .getModel().getFirstSelectedKey().length() != 0;
 		.setEnabled(selected);
 		.setEnabled(selected);
 		.setEnabled(selected);
	}

	private void createActionBar() {
		ToolBar abar = new ToolBar(this"actionBar");
		ToolBarGroup group = abar.addGroup();
		Button btReturn = group.addButton();
		btReturn.setTitle("Return");
			private static final long serialVersionUID = 1L;
			public void objectSelected(SelectionEvent event) {
			}
		});
		 = group.addButton();
		.setTitle("Run Job");
			private static final long serialVersionUID = 1L;
			public void objectSelected(SelectionEvent event) {
			}
		});
		Button btRefresh = group.addButton(); 
		btRefresh.setTitle("Refresh");
			private static final long serialVersionUID = 1L;
			public void objectSelected(SelectionEvent event) {
			}
		});
		 = group.addButton();
		.setTitle("View Job");
			private static final long serialVersionUID = 1L;
			public void objectSelected(SelectionEvent event) {
			}
		});
		 = group.addButton();
		.setTitle("Stop Job");
			private static final long serialVersionUID = 1L;
			public void objectSelected(SelectionEvent event) {
			}
		});
         = group.addButton();
        .setTitle("Reload Job");
            private static final long serialVersionUID = 1L;
            public void objectSelected(SelectionEvent event) {
                onReloadJob();
            }
        });
         = group.addButton();
        .setTitle("Remove Job");
            private static final long serialVersionUID = 1L;
            public void objectSelected(SelectionEvent event) {
                onRemoveJob();
            }
        });
	}

	protected void onStopJob() {
		if (selection != null) {
			int idx = Integer.parseInt(selection);
			IJob job = .get(idx);
			if (job.isExecuting()) {
					// force Thread.interrupt() on JobQueue's thread
					for (JobQueue queue : ETLgineServer.getInstance().getServerContext().getJobQueues()) {
						if (queue.getActiveJob() == job) {
							// queue found, trigger interrupt
							.showWarning("JobQueue '" + queue.getName() + "' Thread.interrupt() invoked.");
							break;
						}
					}
else {
					if (job.stop()) {
						.showWarning("Stop-Flag set.");
else {
						.showError("Unable to stop job.");
					}
				}
else {
				.showError("The selected job is not running at the moment.");
			}
		}
	}

	protected void onViewJob() {
		if (selection != null) {
			int idx = Integer.parseInt(selection);
			IJob job = .get(idx);
			JobDetailsControl jobDetails = new JobDetailsControl (sc"jd"job);
		}
	}

	protected void onRefresh() {
	}

	protected void onRunJob() {
		if (selection != null) {
			int idx = Integer.parseInt(selection);
			IJob job = .get(idx);
			if (job.isExecuting()) {
				.showError("The selected job is currently executing.");
else {
				ETLgineServer.getInstance().enqueueJob(job);
				//errInfo.showWarning("The job has been enqueued");
			}
		}
	}

	protected void close() {
	}
   
    protected void onRemoveJob() {
        String selection = .getModel().getFirstSelectedKey();
        if (selection != null) {
            int idx = Integer.parseInt(selection);
            IJob job = .get(idx);
            if (job.isExecuting()) {
                .showError("The selected job is currently executing.");
            } else {
            	try {
            		String jobName = job.getCreatorInfo();
            		if (jobName.toLowerCase().endsWith(".groovy")) {
            			jobName = jobName.substring(0, jobName.length() - ".groovy".length());
            		}
					ETLgineServer.getInstance().getServerContext().removeJob(jobName);
catch (ETLException e) {
					.showError("The selected job can not be removed"e.getMessage());
				}
            	loadJobsList();
                .showWarning("The job has been removed");
                .setRequireRedraw(true);
            }
        }
    	
    }
    
    protected void onReloadJob() {
        String selection = .getModel().getFirstSelectedKey();
        if (selection != null) {
            int idx = Integer.parseInt(selection);
            IJob job = .get(idx);
            if (job.isExecuting()) {
                .showError("The selected job is currently executing.");
            } else {
            	try {
            		String jobName = job.getCreatorInfo();
            		if (jobName.toLowerCase().endsWith(".groovy")) {
            			jobName = jobName.substring(0, jobName.length() - ".groovy".length());
            		}
            		
            		JobQueue jobQueueForJob = ETLgineServer.getInstance().getServerContext().getJobQueueForJob(jobName);
					ETLgineServer.getInstance().getServerContext().removeJob(jobName);
					ETLgineServer.getInstance().getServerContext().loadJob(jobNamejob.getCreatorInfo(), null != jobQueueForJob ? jobQueueForJob.getName():.);
catch (ETLException e) {
					.showError("The selected job can not be reloaded"e.getMessage());
				}
            	loadJobsList();
                .showWarning("The job has been reloaded");
                .setRequireRedraw(true);
            }
        }
    	
    }
    
    protected void loadJobsList() {
		 = new ArrayList<IJob>();
		Collections.sort(new Comparator<IJob>() {
			public int compare(IJob o1IJob o2) {
			}
		});
    }
New to GrepCode? Check out our FAQ X