/** * Return true if watch point enable otherwise false * * @return boolean */ public boolean checkWatcher(Component selectedComponent, String portName) { ELTGraphicalEditor editor = (ELTGraphicalEditor) PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage() .getActiveEditor(); GraphicalViewer graphicalViewer = (GraphicalViewer) ((GraphicalEditor) editor).getAdapter(GraphicalViewer.class); for (Iterator<EditPart> iterator = graphicalViewer.getEditPartRegistry().values().iterator(); iterator.hasNext();) { EditPart editPart = iterator.next(); if (editPart instanceof ComponentEditPart) { Component comp = ((ComponentEditPart) editPart).getCastedModel(); if (comp.equals(selectedComponent)) { List<PortEditPart> portEditParts = editPart.getChildren(); for (AbstractGraphicalEditPart part : portEditParts) { if (part instanceof PortEditPart) { String port_Name = ((PortEditPart) part).getCastedModel().getTerminal(); if (port_Name.equals(portName)) { return ((PortEditPart) part).getPortFigure().isWatched(); } } } } } } return false; }
/** * Collect all subjob file from active editor, also check for nested subjob. * @return list of subjob. */ public List<String> getSubJobList() { ArrayList<String> subJobList=new ArrayList<>(); ELTGraphicalEditor editor = (ELTGraphicalEditor)PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor(); if (editor != null && editor instanceof ELTGraphicalEditor) { GraphicalViewer graphicalViewer = (GraphicalViewer) ((GraphicalEditor) editor) .getAdapter(GraphicalViewer.class); for (Iterator<EditPart> ite = graphicalViewer.getEditPartRegistry().values().iterator(); ite.hasNext();) { EditPart editPart = ite.next(); if (editPart instanceof ComponentEditPart) { Component component = ((ComponentEditPart) editPart).getCastedModel(); if(Constants.SUBJOB_COMPONENT.equals(component.getComponentName())){ String subJobPath=(String) component.getProperties().get(Constants.PATH_PROPERTY_NAME); subJobList.add(subJobPath); checkNestedSubJob(subJobList, subJobPath); } } } } return subJobList; }
@Override public Object execute(ExecutionEvent event) throws ExecutionException { if (DebugHelper.INSTANCE.hasMoreWatchPoints()) { ELTGraphicalEditor editor = (ELTGraphicalEditor) PlatformUI.getWorkbench().getActiveWorkbenchWindow() .getActivePage().getActiveEditor(); GraphicalViewer graphicalViewer = (GraphicalViewer) ((GraphicalEditor) editor) .getAdapter(GraphicalViewer.class); for (Iterator<EditPart> iterator = graphicalViewer.getEditPartRegistry().values().iterator(); iterator .hasNext();) { EditPart editPart = (EditPart) iterator.next(); if (editPart instanceof ComponentEditPart) { Component comp = ((ComponentEditPart) editPart).getCastedModel(); comp.clearWatchers(); } else if (editPart instanceof PortEditPart) { ((PortEditPart) editPart).getPortFigure().removeWatcherColor(); ((PortEditPart) editPart).getPortFigure().setWatched(false); ((PortEditPart) editPart).getCastedModel().setWatched(false); } } showMessage(Messages.WATCH_POINT_REMOVED_SUCCESSFULLY); } else { showMessage(Messages.NO_WATCH_POINT_AVAILABLE); } return null; }
/** * Creates the debug xml. * * @throws Exception the exception */ private void createDebugXml() throws Exception{ String currentJobPath=null; ELTGraphicalEditor eltGraphicalEditor=(ELTGraphicalEditor) PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor(); if(!(eltGraphicalEditor.getEditorInput() instanceof GraphicalEditor)){ currentJobIPath=new Path(eltGraphicalEditor.getTitleToolTip()); } DebugConverter converter = new DebugConverter(); try { uniqueJobID= eltGraphicalEditor.getUniqueJobId(); currentJobPath = currentJobIPath.lastSegment().replace(Constants.JOB_EXTENSION, Constants.DEBUG_EXTENSION); currentJobName = currentJobIPath.lastSegment().replace(Constants.JOB_EXTENSION, ""); currentJobIPath = currentJobIPath.removeLastSegments(1).append(currentJobPath); converter.marshall(converter.getParam(), ResourcesPlugin.getWorkspace().getRoot().getFile(currentJobIPath)); } catch (JAXBException | IOException | CoreException exception) { logger.error(exception.getMessage(), exception); } }
/** * Gets the unique job id. * * @return the unique job id */ private String getUniqueJobId(){ ELTGraphicalEditor editor = (ELTGraphicalEditor) PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage() .getActiveEditor(); String uniqueJobId = editor.getJobId(); isJobUpdated =false; GraphicalViewer graphicalViewer = (GraphicalViewer) ((GraphicalEditor) editor).getAdapter(GraphicalViewer.class); for (Iterator<EditPart> ite = graphicalViewer.getEditPartRegistry().values().iterator();ite.hasNext();){ EditPart editPart = (EditPart) ite.next(); if (editPart instanceof ComponentEditPart){ Component component = ((ComponentEditPart) editPart) .getCastedModel(); if(component.getStatus()!= ComponentExecutionStatus.BLANK){ isJobUpdated = true; break; } } } return uniqueJobId; }
/** * Clear tracking status for editor. * * @param editor * the editor */ public void clearTrackingStatusForEditor(ELTGraphicalEditor editor) { GraphicalViewer graphicalViewer = (GraphicalViewer) ((GraphicalEditor) editor) .getAdapter(GraphicalViewer.class); for (Iterator<EditPart> ite = graphicalViewer.getEditPartRegistry() .values().iterator(); ite.hasNext();) { EditPart editPart = ite.next(); if (editPart instanceof ComponentEditPart) { Component component = ((ComponentEditPart) editPart) .getCastedModel(); component.updateStatus(ComponentExecutionStatus.BLANK.value()); } else if (editPart instanceof LinkEditPart) { ((LinkEditPart) editPart).clearRecordCountAtPort(); } } }
/** * This function will check watch point in the graph and return true if any watch point exist * */ public boolean hasMoreWatchPoints(){ IEditorPart activeEditor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor(); if(activeEditor instanceof ELTGraphicalEditor){ ELTGraphicalEditor editor=(ELTGraphicalEditor) activeEditor; if(editor!=null){ GraphicalViewer graphicalViewer =(GraphicalViewer) ((GraphicalEditor)editor).getAdapter(GraphicalViewer.class); for (Object objectEditPart : graphicalViewer.getEditPartRegistry().values()){ if(objectEditPart instanceof ComponentEditPart){ List<PortEditPart> portEditParts = ((EditPart) objectEditPart).getChildren(); for(AbstractGraphicalEditPart part : portEditParts) { if(part instanceof PortEditPart){ boolean isWatch = ((PortEditPart)part).getPortFigure().isWatched(); if(isWatch){ return isWatch; } } } } } } } return false; }
private void removeWatch(Port sourcePort, Component sourceComponent){ ELTGraphicalEditor editor=(ELTGraphicalEditor) PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor(); GraphicalViewer graphicalViewer =(GraphicalViewer) ((GraphicalEditor)editor).getAdapter(GraphicalViewer.class); for (Object objectEditPart : graphicalViewer.getEditPartRegistry().values()) { EditPart editPart = (EditPart) objectEditPart; if(editPart instanceof ComponentEditPart) { Component comp = ((ComponentEditPart)editPart).getCastedModel(); if(comp.equals(sourceComponent)){ List<PortEditPart> portEditParts = editPart.getChildren(); for(AbstractGraphicalEditPart part:portEditParts) { if(part instanceof PortEditPart){ if(((PortEditPart)part).getCastedModel().getTerminal().equals(sourcePort.getTerminal())){ ((PortEditPart)part).getPortFigure().removeWatcherColor(); ((PortEditPart)part).getPortFigure().setWatched(false); } } } } } } }
private void removeWatch(Port sourcePort, Component sourceComponent){ ELTGraphicalEditor editor=(ELTGraphicalEditor) PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor(); GraphicalViewer graphicalViewer =(GraphicalViewer) ((GraphicalEditor)editor).getAdapter(GraphicalViewer.class); for (Iterator<EditPart> iterator = graphicalViewer.getEditPartRegistry().values().iterator(); iterator.hasNext();) { EditPart editPart = (EditPart) iterator.next(); if(editPart instanceof ComponentEditPart) { Component comp = ((ComponentEditPart)editPart).getCastedModel(); if(comp.equals(sourceComponent)){ List<PortEditPart> portEditParts = editPart.getChildren(); for(AbstractGraphicalEditPart part:portEditParts) { if(part instanceof PortEditPart){ if(((PortEditPart)part).getCastedModel().getTerminal().equals(sourcePort.getTerminal())){ ((PortEditPart)part).getPortFigure().removeWatcherColor(); ((PortEditPart)part).getPortFigure().setWatched(false); } } } } } } }
/** * Collect all external external files from active editor, also check for subjob and nested subjob. * @return list of external files. */ public List<String> getExternalFilesList() { List<String> externalFilesPathList=new ArrayList<>(); ELTGraphicalEditor editor = (ELTGraphicalEditor)PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor(); List<String> tranformComponentList = Arrays.asList(Constants.TRANSFORM,Constants.AGGREGATE,Constants.NORMALIZE,Constants. CUMULATE,Constants.GROUP_COMBINE); String finalParamPath=null; if (editor != null && editor instanceof ELTGraphicalEditor) { GraphicalViewer graphicalViewer = (GraphicalViewer) ((GraphicalEditor) editor) .getAdapter(GraphicalViewer.class); for (Iterator<EditPart> ite = graphicalViewer.getEditPartRegistry().values().iterator(); ite.hasNext();) { EditPart editPart = ite.next(); if (editPart instanceof ComponentEditPart) { Component component = ((ComponentEditPart) editPart).getCastedModel(); addExternalTransformFiles(externalFilesPathList, component,tranformComponentList); Schema schema = (Schema) component.getProperties().get(Constants.SCHEMA_PROPERTY_NAME); if(schema!=null && schema.getIsExternal()){ externalFilesPathList.add(getParamValue(schema.getExternalSchemaPath())); } if (Constants.SUBJOB_COMPONENT.equals(component.getComponentName())) { String subJobPath = (String) component.getProperties().get(Constants.PATH_PROPERTY_NAME); checkSubJobForExternalFiles(externalFilesPathList, subJobPath, tranformComponentList); } } } } return externalFilesPathList; }
private String getUniqueJobId(){ String jobId = ""; ELTGraphicalEditor eltGraphicalEditor=(ELTGraphicalEditor) PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor(); if(!(eltGraphicalEditor.getEditorInput() instanceof GraphicalEditor)){ jobId = eltGraphicalEditor.getContainer().getUniqueJobId(); return jobId; } return jobId; }
/** * Apply status and count on editor according to jobid. * @param executionStatus * @return boolean (the status if replay was successful(true) or not(false)) */ public boolean replayExecutionTracking(ExecutionStatus executionStatus){ ViewExecutionHistoryUtility.INSTANCE.addTrackingStatus(executionStatus.getJobId(), executionStatus); ViewExecutionHistoryUtility.INSTANCE.getUnusedCompsOnCanvas().clear(); ELTGraphicalEditor eltGraphicalEditor=(ELTGraphicalEditor) PlatformUI.getWorkbench().getActiveWorkbenchWindow() .getActivePage().getActiveEditor(); if(!(eltGraphicalEditor.getEditorInput() instanceof GraphicalEditor)){ String currentJobName = eltGraphicalEditor.getActiveProject() + "." + eltGraphicalEditor.getJobName(); Job job = eltGraphicalEditor.getJobInstance(currentJobName); if(job != null){ job.setJobStatus(JobStatus.SUCCESS); } if(!executionStatus.getJobId().startsWith(eltGraphicalEditor.getContainer().getUniqueJobId())){ ViewExecutionHistoryUtility.INSTANCE.getMessageDialog(Messages.INVALID_LOG_FILE +" "+eltGraphicalEditor.getContainer().getUniqueJobId()); return false; }else{ TrackingStatusUpdateUtils.INSTANCE.updateEditorWithCompStatus(executionStatus, eltGraphicalEditor, true); compNameList = new ArrayList<>(); missedCompList = ViewExecutionHistoryUtility.INSTANCE.getMissedComponents(executionStatus); ViewExecutionHistoryUtility.INSTANCE.getExtraComponentList(executionStatus); ViewExecutionHistoryUtility.INSTANCE.getUnusedCompsOnCanvas().forEach((compId, compName)->{ compNameList.add(compId); }); return true; } } return false; }
/** * @return job id for current open job */ private String getUniqueJobId(){ String jobId = ""; ELTGraphicalEditor eltGraphicalEditor=(ELTGraphicalEditor) PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor(); if(!(eltGraphicalEditor.getEditorInput() instanceof GraphicalEditor)){ jobId = eltGraphicalEditor.getContainer().getUniqueJobId(); return jobId; } return jobId; }
private boolean checkWatcher(Component selectedComponent, String portName) { ELTGraphicalEditor editor = (ELTGraphicalEditor) PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage() .getActiveEditor(); IPath path = new Path(editor.getTitleToolTip()); String currentJob = path.lastSegment().replace(Constants.JOB_EXTENSION, ""); watchRecordInner.setCurrentJob(currentJob); GraphicalViewer graphicalViewer = (GraphicalViewer) ((GraphicalEditor) editor).getAdapter(GraphicalViewer.class); String uniqueJobId = editor.getJobId(); watchRecordInner.setUniqueJobId(uniqueJobId); for (Iterator<EditPart> iterator = graphicalViewer.getEditPartRegistry().values().iterator(); iterator.hasNext();) { EditPart editPart = (EditPart) iterator.next(); if (editPart instanceof ComponentEditPart) { Component comp = ((ComponentEditPart) editPart).getCastedModel(); if (comp.equals(selectedComponent)) { List<PortEditPart> portEditParts = editPart.getChildren(); for (AbstractGraphicalEditPart part : portEditParts) { if (part instanceof PortEditPart) { String port_Name = ((PortEditPart) part).getCastedModel().getTerminal(); if (port_Name.equals(portName)) { return ((PortEditPart) part).getPortFigure().isWatched(); } } } } } } return false; }
private int validateDb() { editor = (DbToolGefEditor) getWorkbenchPart().getAdapter(GraphicalEditor.class); schema = editor.getModel(); dbDialect = DbDialectManager.getDbDialect(schema.getCurrentDbType()); IPreferenceStore store = Activator.getDefault().getPreferenceStore(); String driverLocation = store.getString(schema.getCurrentDbType()); if (driverLocation.trim().length() == 0) { return openDbDriverLocationDialog(schema.getCurrentDbType(), dbDialect.getJdbcDriverName(), driverLocation); } else { return attemptTestJdbcDriver(schema.getCurrentDbType(), dbDialect.getJdbcDriverName(), driverLocation); } }
public void run() { FileDialog dialog = new FileDialog(getWorkbenchPart().getSite().getShell(), SWT.SAVE); dialog.setFilterExtensions(EXTENSIONS); dialog.setText(getText()); dialog.setOverwrite(true); dialog.setFileName("NewFile"); final String savePath = dialog.open(); if (savePath != null) { final int type = dialog.getFilterIndex(); final DbToolGefEditor editor = (DbToolGefEditor) getWorkbenchPart().getAdapter(GraphicalEditor.class); doRun(editor, savePath, type); } }
@Override protected boolean calculateEnabled() { if (getWorkbenchPart() instanceof GraphicalEditor) { return true; } return false; }
@Override public void run() { DbToolGefEditor editor = (DbToolGefEditor) getWorkbenchPart().getAdapter(GraphicalEditor.class); final Schema schema = editor.getModel(); final TransformSchemaDbTypeDialog dialog = new TransformSchemaDbTypeDialog(getWorkbenchPart().getSite().getShell(), schema); if (dialog.open() == Dialog.OK) { Display.getCurrent().asyncExec(new Runnable() { public void run() { execute(new TransformSchemaDbTypeCommand(schema, dialog.getDestDbType())); } }); } }
private void setUniqueJobId(String uniqueJobId){ ELTGraphicalEditor eltGraphicalEditor=(ELTGraphicalEditor) PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor(); if(!(eltGraphicalEditor.getEditorInput() instanceof GraphicalEditor)){ eltGraphicalEditor.setUniqueJobId(uniqueJobId); } }
protected boolean calculateEnabled() { if (getWorkbenchPart() instanceof GraphicalEditor) { return true; } return false; }
public XedaContextMenuProvider(EditPartViewer viewer, GraphicalEditor editor) { super(viewer); this.editor = editor; }