use of java.beans.PropertyChangeEvent in project tdi-studio-se by Talend.
the class ToolbarInputZone method addPreviewToolItems.
private void addPreviewToolItems() {
if (PluginChecker.isTraceDebugPluginLoaded() && getMapperManager().isTracesActive()) {
final RunProcessContext activeContext = RunProcessPlugin.getDefault().getRunProcessContextManager().getActiveContext();
if (activeContext == null) {
return;
}
new ToolItem(getToolBarActions(), SWT.SEPARATOR);
previousRow = new ToolItem(getToolBarActions(), SWT.PUSH);
previousRow.setEnabled(activeContext.isRunning());
previousRow.setToolTipText("Previous Row");
previousRow.setImage(ImageProvider.getImage(EImage.LEFT_ICON));
currentRowLabel = new ToolItem(getToolBarActions(), SWT.PUSH | SWT.BORDER);
currentRowLabel.setEnabled(false);
currentRowLabel.setText(getCurrentRowString());
currentRowLabel.setToolTipText("Current Row");
currentRowLabel.setWidth(50);
nextRow = new ToolItem(getToolBarActions(), SWT.PUSH);
nextRow.setEnabled(!getMapperManager().componentIsReadOnly());
nextRow.setToolTipText("Next Row");
nextRow.setImage(ImageProvider.getImage(EImage.RIGHT_ICON));
nextBreakpoint = new ToolItem(getToolBarActions(), SWT.PUSH);
nextBreakpoint.setToolTipText("Next Breakpoint");
nextBreakpoint.setImage(ImageProvider.getImage(EImage.RIGHTX_ICON));
Boolean bc = activeContext.checkBreakpoint();
if (!bc) {
nextBreakpoint.setEnabled(bc);
} else {
nextBreakpoint.setEnabled(activeContext.isRunning());
}
killBtn = new ToolItem(getToolBarActions(), SWT.PUSH);
killBtn.setToolTipText("Kill");
killBtn.setImage(ImageProvider.getImage(ERunprocessImages.KILL_PROCESS_ACTION));
killBtn.setEnabled(activeContext.isRunning());
previousRow.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
activeContext.setPreviousRow(true);
}
});
nextRow.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
if (!activeContext.isRunning()) {
for (DataMapTableView dataMapTableView : getMapperManager().getUiManager().getOutputsTablesView()) {
dataMapTableView.notifyFocusLost();
}
if (getMapperManager().isDataChanged()) {
boolean closeWindow = MessageDialog.openConfirm(getComposite().getShell(), //$NON-NLS-1$
"tMap configuration modified", //$NON-NLS-1$
"Do you want to apply the modification of the tMap now ?");
// save change and regenerate code
if (closeWindow) {
IExternalNode externalNode = getMapperManager().getAbstractMapComponent().getExternalNode();
IWorkbenchPart part = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
if (externalNode != null && (part instanceof AbstractMultiPageTalendEditor)) {
INode node = externalNode.getOriginalNode();
if (node != null && node instanceof Node) {
Command cmd = new ExternalNodeChangeCommand((Node) node, externalNode);
CommandStack cmdStack = (CommandStack) part.getAdapter(CommandStack.class);
cmdStack.execute(cmd);
}
}
}
}
activeContext.setLastIsRow(true);
IDebugProcessService service = (IDebugProcessService) GlobalServiceRegister.getDefault().getService(IDebugProcessService.class);
service.debugProcess();
} else {
activeContext.setNextRow(true);
}
}
});
nextBreakpoint.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
activeContext.setNextBreakPoint(true);
}
});
killBtn.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
IDebugProcessService service = (IDebugProcessService) GlobalServiceRegister.getDefault().getService(IDebugProcessService.class);
service.debugKill();
killBtn.setEnabled(false);
previousRow.setEnabled(false);
nextBreakpoint.setEnabled(false);
}
});
propertyListener = new PropertyChangeListener() {
public void propertyChange(final PropertyChangeEvent evt) {
final String propName = evt.getPropertyName();
ProcessManager.getInstance().getProcessShell().getDisplay().syncExec(new Runnable() {
public void run() {
if (RunProcessContext.PREVIOUS_ROW.equals(propName)) {
boolean enabled = ((Boolean) evt.getNewValue()).booleanValue();
if (!previousRow.isDisposed() && enabled != previousRow.isEnabled()) {
previousRow.setEnabled(enabled);
}
} else if (RunProcessContext.PROP_RUNNING.equals(propName)) {
boolean enabled = ((Boolean) evt.getNewValue()).booleanValue();
if (!previousRow.isDisposed() && enabled != previousRow.isEnabled()) {
previousRow.setEnabled(enabled);
}
if (!nextBreakpoint.isDisposed() && enabled != nextBreakpoint.isEnabled()) {
Boolean bc = activeContext.checkBreakpoint();
if (!bc) {
nextBreakpoint.setEnabled(bc);
} else {
nextBreakpoint.setEnabled(enabled);
}
}
if (!killBtn.isDisposed() && enabled != killBtn.isEnabled()) {
killBtn.setEnabled(enabled);
}
if (!nextRow.isDisposed()) {
nextRow.setEnabled(true);
}
} else if (RunProcessContext.NEXTBREAKPOINT.equals(propName)) {
boolean running = ((Boolean) evt.getNewValue()).booleanValue();
if (!nextBreakpoint.isDisposed()) {
nextBreakpoint.setEnabled(running);
}
if (!nextRow.isDisposed()) {
nextRow.setEnabled(true);
}
} else if (RunProcessContext.BREAKPOINT_BAR.equals(propName)) {
boolean enable = ((Boolean) evt.getNewValue()).booleanValue();
if (!enable) {
if (!previousRow.isDisposed()) {
previousRow.setEnabled(false);
}
if (!nextRow.isDisposed()) {
nextRow.setEnabled(false);
}
if (!nextBreakpoint.isDisposed()) {
nextBreakpoint.setEnabled(false);
}
}
}
}
});
}
};
activeContext.addPropertyChangeListener(propertyListener);
}
}
use of java.beans.PropertyChangeEvent in project tdi-studio-se by Talend.
the class ProcessView method createPartControl.
/*
* (non-Javadoc)
*
* @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
*/
@Override
public void createPartControl(Composite parent) {
this.parent = parent;
parent.setLayout(new FillLayout());
sash = new SashForm(parent, SWT.HORIZONTAL | SWT.SMOOTH);
sash.setLayoutData(new GridData(GridData.FILL_BOTH));
sash.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WHITE));
GridLayout layout = new GridLayout();
sash.setLayout(layout);
Composite left = new Composite(sash, SWT.NONE);
left.setLayout(new FillLayout());
Composite right = new Composite(sash, SWT.NONE);
right.setLayout(new FormLayout());
FormData layouDatag = new FormData();
layouDatag.left = new FormAttachment(0, 0);
layouDatag.width = 32;
layouDatag.top = new FormAttachment(0, 0);
layouDatag.bottom = new FormAttachment(100, 0);
final Composite buttonComposite = new Composite(right, SWT.ERROR);
buttonComposite.setLayoutData(layouDatag);
buttonComposite.setLayout(new GridLayout());
Composite cotextCom = new Composite(right, SWT.NONE);
layouDatag = new FormData();
layouDatag.left = new FormAttachment(0, 32);
layouDatag.right = new FormAttachment(100, 0);
layouDatag.top = new FormAttachment(0, 0);
layouDatag.bottom = new FormAttachment(100, 0);
cotextCom.setLayoutData(layouDatag);
cotextCom.setLayout(new GridLayout());
tabFactory.initComposite(left, false);
moveButton = new Button(buttonComposite, SWT.PUSH);
//$NON-NLS-1$
moveButton.setText(">>");
moveButton.setToolTipText(Messages.getString("ProcessComposite.hideContext"));
final GridData layoutData = new GridData();
layoutData.verticalAlignment = GridData.CENTER;
layoutData.horizontalAlignment = GridData.CENTER;
layoutData.grabExcessHorizontalSpace = true;
layoutData.grabExcessVerticalSpace = true;
moveButton.setLayoutData(layoutData);
addListeners();
sash.setSashWidth(5);
sash.setWeights(new int[] { 18, 5 });
contextComposite = new ProcessContextComposite(cotextCom, SWT.NONE);
contextComposite.setBackground(right.getDisplay().getSystemColor(SWT.COLOR_WHITE));
// processComposite = new ProcessComposite(tabFactory.getTabComposite(), SWT.H_SCROLL | SWT.V_SCROLL |
// SWT.NO_FOCUS);
// dc = processComposite;
// createBasicComposite(tabFactory.getTabComposite(), element, null);
tabFactory.getTabComposite().layout();
tabFactory.addSelectionChangedListener(new ISelectionChangedListener() {
@Override
public void selectionChanged(SelectionChangedEvent event) {
IStructuredSelection selection = (IStructuredSelection) event.getSelection();
TalendPropertyTabDescriptor descriptor = (TalendPropertyTabDescriptor) selection.getFirstElement();
if (descriptor == null) {
return;
}
if (currentSelectedTab != null && (currentSelectedTab.getCategory() != descriptor.getCategory())) {
for (Control curControl : tabFactory.getTabComposite().getChildren()) {
curControl.dispose();
}
}
if (currentSelectedTab == null || currentSelectedTab.getCategory() != descriptor.getCategory() || selectedPrimary) {
currentSelectedTab = descriptor;
selectedPrimary = false;
createDynamicComposite(tabFactory.getTabComposite(), (Element) descriptor.getData(), descriptor.getCategory());
}
}
});
setElement();
IHandlerService handlerService = (IHandlerService) getSite().getService(IHandlerService.class);
IHandler handler1;
IBrandingService brandingService = (IBrandingService) GlobalServiceRegister.getDefault().getService(IBrandingService.class);
if (brandingService.getBrandingConfiguration().isAllowDebugMode()) {
Action debugAction = new DebugAction();
handler1 = new ActionHandler(debugAction);
handlerService.activateHandler(debugAction.getActionDefinitionId(), handler1);
}
Action killAction = new KillAction();
handler1 = new ActionHandler(killAction);
handlerService.activateHandler(killAction.getActionDefinitionId(), handler1);
FocusListener fl = new FocusListener() {
@Override
public void focusGained(FocusEvent e) {
//$NON-NLS-1$
log.trace(Messages.getString("ProcessView.gainFocusLog"));
IContextService contextService = (IContextService) RunProcessPlugin.getDefault().getWorkbench().getAdapter(IContextService.class);
//$NON-NLS-1$
ca = contextService.activateContext("talend.runProcess");
}
@Override
public void focusLost(FocusEvent e) {
//$NON-NLS-1$
log.trace(Messages.getString("ProcessView.lostFocusLog"));
if (ca != null) {
IContextService contextService = (IContextService) RunProcessPlugin.getDefault().getWorkbench().getAdapter(IContextService.class);
contextService.deactivateContext(ca);
}
}
};
addListenerOnChildren(parent, fl);
rubjobManager.setProcessShell(getSite().getShell());
contextManagerListener = new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt) {
if (RunProcessContextManager.PROP_ACTIVE.equals(evt.getPropertyName())) {
// rubjobManager.setBooleanTrace(false);
runningProcessChanged();
}
}
};
RunProcessPlugin.getDefault().getRunProcessContextManager().addPropertyChangeListener(contextManagerListener);
runAction = new RunAction();
}
use of java.beans.PropertyChangeEvent in project tdi-studio-se by Talend.
the class MemoryRuntimeComposite method addListeners.
private void addListeners() {
runtimeButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent event) {
getRemoteStatus();
boolean isRunButtonPressed = runtimeButton.getText().equals(Messages.getString("ProcessComposite.exec"));
boolean isKillButtonPressed = runtimeButton.getText().equals(Messages.getString("ProcessComposite.kill"));
if (lock && isRunButtonPressed) {
// $NON-NLS-1$
//$NON-NLS-1$ //$NON-NLS-2$
MessageDialog.openWarning(getShell(), "Warning", Messages.getString("ProcessView.anotherJobMonitoring"));
return;
}
if (isCommandlineRun) {
//$NON-NLS-1$ //$NON-NLS-2$
MessageDialog.openWarning(getShell(), "Warning", Messages.getString("ProcessView.commandlineForbidden"));
return;
}
if (isRemoteRun && !isRemoteMonitoring) {
//$NON-NLS-1$ //$NON-NLS-2$
MessageDialog.openWarning(getShell(), "Warning", Messages.getString("ProcessView.remoteMonitoringUnavailable"));
return;
}
if (processContext != null && !processContext.isRunning() && isRunButtonPressed) {
// $NON-NLS-1$
runtimeButton.setEnabled(false);
isReadyToStart = true;
exec();
}
if (processContext != null && (processContext.isRunning() || isReadyToStart)) {
if (isRunButtonPressed) {
if (!acquireJVM()) {
isReadyToStart = false;
runtimeButton.setEnabled(true);
//$NON-NLS-1$
MessageDialog.openWarning(//$NON-NLS-1$
getShell(), //$NON-NLS-1$
"Warning", //$NON-NLS-1$
Messages.getString("ProcessView.connectToMonitorServerFailed"));
return;
}
initMonitoringModel();
refreshMonitorComposite();
processContext.setMonitoring(true);
AbstractRuntimeGraphcsComposite.setMonitoring(true);
setRuntimeButtonByStatus(false);
isReadyToStart = false;
if (periodCombo.isEnabled() && periodCombo.getSelectionIndex() != 0) {
startCustomerGCSchedule();
}
//$NON-NLS-1$
String content = getExecutionInfo("Start");
messageManager.setStartMessage(content, getDisplay().getSystemColor(SWT.COLOR_BLUE), getDisplay().getSystemColor(SWT.COLOR_WHITE));
((RuntimeGraphcsComposite) chartComposite).displayReportField();
lock = true;
} else if (isKillButtonPressed) {
// $NON-NLS-1$
processContext.kill();
}
} else {
//$NON-NLS-1$ //$NON-NLS-2$
MessageDialog.openWarning(getShell(), "Warning", Messages.getString("ProcessView.noJobRunning"));
}
runtimeButton.setEnabled(true);
}
});
gcCheckButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
isGCSelected = gcCheckButton.getSelection();
periodCombo.setEnabled(isGCSelected);
if (!isGCSelected) {
periodCombo.select(0);
if (processContext != null && processContext.isRunning()) {
// cancel GC timer task during job running.
doScheduledGc(0);
}
}
}
});
periodCombo.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
startCustomerGCSchedule();
}
});
propertyChangeListener = new PropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent evt) {
runProcessContextChanged(evt);
}
};
}
use of java.beans.PropertyChangeEvent in project tdi-studio-se by Talend.
the class UpdateCheckResult method getName.
@Override
@SuppressWarnings("unchecked")
public String getName() {
IUpdateItemType updateType = getUpdateType();
String displayName = updateType.getDisplayLabel();
if (updateType instanceof EUpdateItemType) {
switch((EUpdateItemType) updateType) {
case NODE_SCHEMA:
if (getResultType() == EUpdateResult.RENAME) {
List<Object> param = (List<Object>) getParameter();
String[] oldSourceIdAndChildName = UpdateManagerUtils.getSourceIdAndChildName((String) param.get(1));
String[] newSourceIdAndChildName = UpdateManagerUtils.getSourceIdAndChildName((String) param.get(2));
String display = UpdateManagerHelper.getRenamedDisplay(oldSourceIdAndChildName[1], newSourceIdAndChildName[1]);
if (display != null) {
displayName = display;
}
} else if (getResultType() == EUpdateResult.DELETE) {
// table delete by deselect
List<Object> param = (List<Object>) getParameter();
String tableDeleted = (String) param.get(0);
EUpdateResult status = (EUpdateResult) param.get(1);
String display = getDeleteOrReloadDisplay(tableDeleted, status);
if (display != null) {
displayName = display;
}
} else if (getResultType() == EUpdateResult.RELOAD) {
// table reload by deselect and reselect
List<Object> param = (List<Object>) getParameter();
String tableReload = (String) param.get(0);
EUpdateResult status = (EUpdateResult) param.get(1);
String display = getDeleteOrReloadDisplay(tableReload, status);
if (display != null) {
displayName = display;
}
} else {
if (getUpdateObject() instanceof INode && getParameter() instanceof List && PluginChecker.isEBCDICPluginLoaded()) {
IEBCDICProviderService service = (IEBCDICProviderService) GlobalServiceRegister.getDefault().getService(IEBCDICProviderService.class);
if (service != null && service.isEbcdicNode((INode) getUpdateObject())) {
List<Object> paramObjs = (List<Object>) getParameter();
if (paramObjs.size() >= 2) {
Object schemaName = paramObjs.get(1);
if (schemaName instanceof String) {
displayName = displayName + UpdateManagerUtils.addBrackets((String) schemaName);
}
}
}
}
}
break;
case NODE_PROPERTY:
case NODE_QUERY:
case JOBLET_SCHEMA:
case NODE_VALIDATION_RULE:
break;
case JOB_PROPERTY_EXTRA:
displayName = displayName + UpdateManagerUtils.addBrackets(EComponentCategory.EXTRA.getTitle());
break;
case JOB_PROPERTY_STATS_LOGS:
displayName = displayName + UpdateManagerUtils.addBrackets(EComponentCategory.STATSANDLOGS.getTitle());
break;
case JOB_PROPERTY_HEADERFOOTER:
displayName = displayName + UpdateManagerUtils.addBrackets(EComponentCategory.HEADERFOOTER.getTitle());
break;
case CONTEXT_GROUP:
if (getUpdateObject() != null && getUpdateObject() instanceof IContext) {
displayName = ((IContext) getUpdateObject()).getName();
}
break;
case CONTEXT:
// case JOBLET_CONTEXT:
{
String display = null;
switch(getResultType()) {
case RENAME:
List<Object> param = (List<Object>) getParameter();
display = UpdateManagerHelper.getRenamedDisplay((String) param.get(1), (String) param.get(2));
break;
default:
if (getUpdateObject() instanceof Collection) {
display = UpdateManagerHelper.getCollectionsDisplay(getUpdateObject(), false);
}
break;
}
if (display != null) {
displayName = display;
}
break;
}
case JOBLET_RENAMED:
{
List<Object> param = (List<Object>) getParameter();
String display = UpdateManagerHelper.getRenamedDisplay((String) param.get(1), (String) param.get(2));
if (display != null) {
displayName = display;
}
break;
}
case RELOAD:
case JUNIT_RELOAD:
if (getParameter() != null && getParameter() instanceof PropertyChangeEvent) {
PropertyChangeEvent event = (PropertyChangeEvent) getParameter();
// reload all compoennts.
if (event.getSource() != null && !(event.getSource() instanceof IProcess)) {
displayName = updateType.getDisplayLabel();
break;
}
}
break;
default:
}
return displayName;
} else {
return UpdateManagerProviderDetector.INSTANCE.getResultName(this);
}
}
use of java.beans.PropertyChangeEvent in project tdi-studio-se by Talend.
the class UpdateCheckResult method getCategory.
@Override
@SuppressWarnings("unchecked")
public String getCategory() {
String category = null;
if (getUpdateType() instanceof EUpdateItemType) {
switch((EUpdateItemType) getUpdateType()) {
case NODE_PROPERTY:
case NODE_SCHEMA:
case NODE_QUERY:
case NODE_VALIDATION_RULE:
case JOBLET_SCHEMA:
if (getUpdateObject() != null) {
if (getUpdateObject() instanceof Node) {
Node node = (Node) getUpdateObject();
if (node.getUniqueName().equals(node.getLabel())) {
category = node.getUniqueName();
} else {
category = node.getLabel() + UpdateManagerUtils.addBrackets(node.getUniqueName());
}
}
if (getUpdateObject() instanceof NodeType) {
NodeType node = (NodeType) getUpdateObject();
String uniqueName = null;
for (ElementParameterType param : (List<ElementParameterType>) node.getElementParameter()) {
if (EParameterName.UNIQUE_NAME.getName().equals(param.getName())) {
uniqueName = param.getValue();
break;
}
}
if (uniqueName != null) {
category = uniqueName;
}
}
}
break;
case JOB_PROPERTY_EXTRA:
case JOB_PROPERTY_STATS_LOGS:
case JOB_PROPERTY_HEADERFOOTER:
case JOB_PROPERTY_MAPREDUCE:
boolean isJoblet = false;
boolean isMR = false;
if (getUpdateObject() != null) {
if (getUpdateObject() instanceof org.talend.designer.core.ui.editor.process.Process) {
if (AbstractProcessProvider.isExtensionProcessForJoblet((IProcess) getUpdateObject())) {
isJoblet = true;
} else if (GlobalServiceRegister.getDefault().isServiceRegistered(IMRProcessService.class)) {
IMRProcessService mrProcessService = (IMRProcessService) GlobalServiceRegister.getDefault().getService(IMRProcessService.class);
org.talend.core.model.properties.Item item = ((org.talend.designer.core.ui.editor.process.Process) getUpdateObject()).getProperty().getItem();
isMR = mrProcessService.isMapReduceItem(item);
}
}
}
if (isMR) {
//
category = JobSettingsView.VIEW_NAME_BATCH;
} else if (isJoblet) {
// joblet
category = JobSettingsView.VIEW_NAME_JOBLET;
} else {
category = JobSettingsView.getViewNameLable();
}
break;
case JOB_PROPERTY_STORM:
boolean isStreaming = false;
if (getUpdateObject() != null && getUpdateObject() instanceof org.talend.designer.core.ui.editor.process.Process) {
if (GlobalServiceRegister.getDefault().isServiceRegistered(IStormProcessService.class)) {
IStormProcessService streamingService = (IStormProcessService) GlobalServiceRegister.getDefault().getService(IStormProcessService.class);
org.talend.core.model.properties.Item item = ((org.talend.designer.core.ui.editor.process.Process) getUpdateObject()).getProperty().getItem();
isStreaming = streamingService.isStormItem(item);
}
}
if (isStreaming) {
//
category = JobSettingsView.VIEW_NAME_STREAMING;
} else {
category = JobSettingsView.getViewNameLable();
}
break;
case CONTEXT:
// case JOBLET_CONTEXT:
category = UpdatesConstants.CONTEXT;
break;
case CONTEXT_GROUP:
category = UpdatesConstants.CONTEXT_GROUP;
break;
case JOBLET_RENAMED:
case RELOAD:
case JUNIT_RELOAD:
if (getUpdateObject() != null && getUpdateObject() instanceof List) {
String display = UpdateManagerHelper.getCollectionsDisplay(getUpdateObject(), true);
if (display != null) {
category = display;
}
} else if (getParameter() != null && getParameter() instanceof PropertyChangeEvent) {
PropertyChangeEvent event = (PropertyChangeEvent) getParameter();
// reload all compoennts.
if (event.getSource() != null && !(event.getSource() instanceof IProcess)) {
category = UpdatesConstants.COMPONENT;
break;
}
} else {
category = UpdatesConstants.JOBLET;
}
break;
default:
}
} else {
category = UpdateManagerProviderDetector.INSTANCE.getDisplayCategory(this);
}
return category == null ? UpdatesConstants.EMPTY : category;
}
Aggregations