public void flipHop() { selectionRegion = null; JobEntryCopy origFrom = currentHop.getFromEntry(); JobEntryCopy origTo = currentHop.getToEntry(); currentHop.setFromEntry( currentHop.getToEntry() ); currentHop.setToEntry( origFrom ); boolean cancel = false; if ( jobMeta.hasLoop( currentHop.getToEntry() ) ) { MessageBox mb = new MessageBox( shell, SWT.OK | SWT.CANCEL | SWT.ICON_WARNING ); mb.setMessage( BaseMessages.getString( PKG, "JobGraph.Dialog.HopFlipCausesLoop.Message" ) ); mb.setText( BaseMessages.getString( PKG, "JobGraph.Dialog.HopCausesLoop.Title" ) ); int choice = mb.open(); if ( choice == SWT.CANCEL ) { cancel = true; currentHop.setFromEntry( origFrom ); currentHop.setToEntry( origTo ); } } if ( !cancel ) { currentHop.setChanged(); } spoon.refreshGraph(); spoon.refreshTree(); spoon.setShellText(); }
public JobHopMeta loadJobHopMeta( ObjectId id_job_hop, List<JobEntryCopy> jobcopies ) throws KettleException { JobHopMeta jobHopMeta = new JobHopMeta(); try { RowMetaAndData r = getJobHop( id_job_hop ); if ( r != null ) { long id_jobentry_copy_from = r.getInteger( "ID_JOBENTRY_COPY_FROM", -1L ); long id_jobentry_copy_to = r.getInteger( "ID_JOBENTRY_COPY_TO", -1L ); jobHopMeta.setEnabled( r.getBoolean( "ENABLED", true ) ); jobHopMeta.setEvaluation( r.getBoolean( "EVALUATION", true ) ); jobHopMeta.setConditional(); if ( r.getBoolean( "UNCONDITIONAL", !jobHopMeta.getEvaluation() ) ) { jobHopMeta.setUnconditional(); } jobHopMeta.setFromEntry( JobMeta.findJobEntryCopy( jobcopies, new LongObjectId( id_jobentry_copy_from ) ) ); jobHopMeta.setToEntry( JobMeta.findJobEntryCopy( jobcopies, new LongObjectId( id_jobentry_copy_to ) ) ); return jobHopMeta; } else { throw new KettleException( "Unable to find job hop with ID : " + id_job_hop ); } } catch ( KettleDatabaseException dbe ) { throw new KettleException( BaseMessages.getString( PKG, "JobHopMeta.Exception.UnableToLoadHopInfoRep", "" + id_job_hop ), dbe ); } }