use of org.talend.core.model.repository.IRepositoryViewObject in project tdi-studio-se by Talend.
the class WSDL2JAVAController method generateJavaFile.
/*
* (non-Javadoc)
*
* @see
* org.talend.designer.core.ui.editor.properties2.editors.AbstractElementPropertySectionController#createCommand()
*/
private void generateJavaFile() {
final IProxyRepositoryFactory factory = ProxyRepositoryFactory.getInstance();
RepositoryWorkUnit<Object> workUnit = new //$NON-NLS-1$
RepositoryWorkUnit<Object>(//$NON-NLS-1$
"", //$NON-NLS-1$
this) {
@Override
protected void run() throws PersistenceException {
Node node = (Node) elem;
IProcess process = node.getProcess();
String jobName = process.getName();
String nodeName = node.getUniqueName();
//$NON-NLS-1$
String wsdlfile = (String) node.getPropertyValue("ENDPOINT");
wsdlfile = wsdlfile.substring(1, wsdlfile.length() - 1);
if (wsdlfile.equals("")) {
Display.getDefault().syncExec(new Runnable() {
@Override
public void run() {
MessageDialog.openError(Display.getDefault().getActiveShell(), org.talend.designer.core.i18n.Messages.getString("WSDL2JAVAController.TOS"), org.talend.designer.core.i18n.Messages.getString("WSDL2JAVAController.WSDLEquals"));
}
});
return;
}
File dir = new File(getTmpFolder());
final TalendWSDL2Java java2WSDL = new TalendWSDL2Java();
//$NON-NLS-1$ //$NON-NLS-2$
boolean hasError = java2WSDL.generateWSDL(new String[] { "-o" + dir, "-p" + PACK, wsdlfile });
// give some info about the generate stub.jar result to GUI.
final String tempWsdlfile = wsdlfile;
if (hasError) {
Display.getDefault().syncExec(new Runnable() {
@Override
public void run() {
MessageDialog.openError(Display.getDefault().getActiveShell(), org.talend.designer.core.i18n.Messages.getString("WSDL2JAVAController.TOS"), //$NON-NLS-1$ //$NON-NLS-2$
org.talend.designer.core.i18n.Messages.getString(//$NON-NLS-1$ //$NON-NLS-2$
"WSDL2JAVAController.generateFileFailed", java2WSDL.getException().getClass().getCanonicalName(), java2WSDL.getException().getMessage()));
}
});
} else {
Display.getDefault().syncExec(new Runnable() {
@Override
public void run() {
MessageDialog.openInformation(Display.getDefault().getActiveShell(), //$NON-NLS-1$
org.talend.designer.core.i18n.Messages.getString("WSDL2JAVAController.TOS"), org.talend.designer.core.i18n.Messages.getString("WSDL2JAVAController.generateFileFailedFromWSDL", //$NON-NLS-1$
tempWsdlfile));
}
});
}
//$NON-NLS-1$
IPath path = new Path(jobName + "/" + nodeName);
//$NON-NLS-1$
String[] filter = new String[] { "java" };
Collection listFiles = FileUtils.listFiles(dir, filter, true);
Iterator iterator = listFiles.iterator();
String name = "";
for (int i = 0; i < listFiles.size(); i++) {
File javaFile = (File) listFiles.toArray()[i];
String parentFileName = javaFile.getParentFile().getName();
if (!parentFileName.equals("routines")) {
name = parentFileName;
}
}
List<RoutineItem> returnItemList = new ArrayList<RoutineItem>();
while (iterator.hasNext()) {
File javaFile = (File) iterator.next();
String fileName = javaFile.getName();
String label = fileName.substring(0, fileName.indexOf('.'));
try {
RoutineItem returnItem = createRoutine(path, label, javaFile, name);
returnItemList.add(returnItem);
syncRoutine(returnItem, true, name);
refreshProject();
} catch (IllegalArgumentException e) {
// nothing need to do for the duplicate label, there don't overwrite it.
} catch (Exception e) {
ExceptionHandler.process(e);
}
}
Project currentProject = ProjectManager.getInstance().getCurrentProject();
IRepositoryService service = (IRepositoryService) GlobalServiceRegister.getDefault().getService(IRepositoryService.class);
IProxyRepositoryFactory factory = service.getProxyRepositoryFactory();
List<IRepositoryViewObject> all;
Item item = null;
try {
all = factory.getAll(currentProject, ERepositoryObjectType.PROCESS, true, true);
for (IRepositoryViewObject repositoryViewObject : all) {
if (repositoryViewObject.getLabel().equals(jobName)) {
item = repositoryViewObject.getProperty().getItem();
}
}
} catch (PersistenceException ex) {
ExceptionHandler.process(ex);
}
try {
List<RoutinesParameterType> needList = new ArrayList<RoutinesParameterType>();
List<RoutinesParameterType> createJobRoutineDependencies = RoutinesUtil.createJobRoutineDependencies(false);
for (RoutineItem returnItem : returnItemList) {
for (RoutinesParameterType routinesParameterType : createJobRoutineDependencies) {
if (routinesParameterType.getId().equals(returnItem.getProperty().getId())) {
needList.add(routinesParameterType);
}
}
}
if (process instanceof org.talend.designer.core.ui.editor.process.Process) {
((org.talend.designer.core.ui.editor.process.Process) process).addGeneratingRoutines(needList);
}
} catch (PersistenceException e) {
ExceptionHandler.process(e);
}
// try {
// RoutinesUtil.createJobRoutineDependencies(false);
// } catch (PersistenceException e) {
// ExceptionHandler.process(e);
// }
FilesUtils.removeFolder(dir, true);
}
};
workUnit.setAvoidUnloadResources(true);
factory.executeRepositoryWorkUnit(workUnit);
}
use of org.talend.core.model.repository.IRepositoryViewObject in project tdi-studio-se by Talend.
the class JobSettingsView method getCategories.
/**
* set the category.
*/
private EComponentCategory[] getCategories(Object obj) {
List<EComponentCategory> category = new ArrayList<EComponentCategory>();
boolean isOfflineMode = CorePlugin.getDefault().getProxyRepositoryFactory().getRepositoryContext().isOffline();
if (obj instanceof Process) {
Process process = (Process) obj;
category.add(EComponentCategory.MAIN);
boolean isJoblet = AbstractProcessProvider.isExtensionProcessForJoblet(process);
if (process.getComponentsType().equals(ComponentCategory.CATEGORY_4_DI.getName())) {
category.add(EComponentCategory.EXTRA);
}
if (!isJoblet && process.getComponentsType().equals(ComponentCategory.CATEGORY_4_DI.getName())) {
category.add(EComponentCategory.STATSANDLOGS);
}
if (allowVerchange) {
category.add(EComponentCategory.VERSIONS);
}
if (!isJoblet && !ProcessUtils.isTestContainer(process) && ERepositoryObjectType.getItemType(process.getProperty().getItem()) != ERepositoryObjectType.PROCESS_ROUTELET) {
category.add(EComponentCategory.DEPLOYMENT);
}
if (GlobalServiceRegister.getDefault().isServiceRegistered(IHeaderFooterProviderService.class)) {
IHeaderFooterProviderService headerFooterService = (IHeaderFooterProviderService) GlobalServiceRegister.getDefault().getService(IHeaderFooterProviderService.class);
if (headerFooterService.isVisible()) {
category.add(EComponentCategory.HEADERFOOTER);
}
}
// if svn remote connection, added by nma
if (svnService != null && svnService.isProjectInSvnMode() && !isOfflineMode) {
category.add(EComponentCategory.SVNHISTORY);
}
if (gitService != null && gitService.isProjectInGitMode() && !isOfflineMode) {
category.add(EComponentCategory.GITHISTORY);
}
} else if (obj instanceof IRepositoryViewObject) {
category.add(EComponentCategory.MAIN);
if (allowVerchange) {
category.add(EComponentCategory.VERSIONS);
}
if (svnService != null && svnService.isProjectInSvnMode() && !isOfflineMode && (((IRepositoryViewObject) obj).getRepositoryObjectType() == ERepositoryObjectType.JOBLET || ERepositoryObjectType.getAllTypesOfProcess().contains(((IRepositoryViewObject) obj).getRepositoryObjectType()))) {
category.add(EComponentCategory.SVNHISTORY);
} else if (gitService != null && gitService.isProjectInGitMode() && !isOfflineMode && (((IRepositoryViewObject) obj).getRepositoryObjectType() == ERepositoryObjectType.JOBLET || ERepositoryObjectType.getAllTypesOfProcess().contains(((IRepositoryViewObject) obj).getRepositoryObjectType()))) {
category.add(EComponentCategory.GITHISTORY);
}
} else if (obj instanceof IEditorPart) {
if (CorePlugin.getDefault().getDiagramModelService().isBusinessDiagramEditor((IEditorPart) obj)) {
category.add(EComponentCategory.MAIN);
category.add(EComponentCategory.APPEARANCE);
category.add(EComponentCategory.RULERS_AND_GRID);
if (allowVerchange) {
category.add(EComponentCategory.VERSIONS);
}
}
} else {
BusinessType type = CorePlugin.getDefault().getDiagramModelService().getBusinessModelType(obj);
if (BusinessType.SHAP.equals(type) || BusinessType.CONNECTION.equals(type)) {
category.add(EComponentCategory.APPEARANCE);
category.add(EComponentCategory.ASSIGNMENT);
} else if (BusinessType.NOTE.equals(type)) {
category.add(EComponentCategory.APPEARANCE);
}
}
return category.toArray(new EComponentCategory[0]);
}
use of org.talend.core.model.repository.IRepositoryViewObject in project tdi-studio-se by Talend.
the class JobSettingsView method createPartControl.
@Override
public void createPartControl(Composite parent) {
// tabFactory = new HorizontalTabFactory();
this.parent = parent;
tabFactory.initComposite(parent, false);
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) {
if ((!currentSelectedTab.getData().equals(descriptor.getData()) || currentSelectedTab.getData() != descriptor.getData() || currentSelectedTab.getCategory() != descriptor.getCategory())) {
for (Control curControl : tabFactory.getTabComposite().getChildren()) {
curControl.dispose();
}
}
}
if (element == null || !element.equals(descriptor.getData()) || currentSelectedTab == null || currentSelectedTab.getCategory() != descriptor.getCategory() || selectedPrimary) {
Object data = descriptor.getData();
if (data instanceof Element) {
element = (Element) data;
currentSelectedTab = descriptor;
IDynamicProperty propertyComposite = createTabComposite(tabFactory.getTabComposite(), element, descriptor.getCategory());
} else if (data instanceof IRepositoryViewObject) {
IRepositoryViewObject viewObject = (IRepositoryViewObject) data;
IProcess process = getProcess(viewObject);
if (process != null && process instanceof Element && process.getId().equals(viewObject.getId()) && process.getVersion().equals(viewObject.getVersion())) {
data = process;
}
currentSelectedTab = descriptor;
IDynamicProperty propertyComposite = createTabComposite(tabFactory.getTabComposite(), data, descriptor.getCategory());
} else if (data instanceof IEditorPart) {
currentSelectedTab = descriptor;
IRepositoryViewObject repObj = retrieveBusiness((IEditorPart) data);
if (repObj != null) {
IDynamicProperty propertyComposite = createTabComposite(tabFactory.getTabComposite(), repObj, descriptor.getCategory());
}
} else {
currentSelectedTab = descriptor;
IDynamicProperty propertyComposite = createTabComposite(tabFactory.getTabComposite(), null, descriptor.getCategory());
}
selectedPrimary = false;
}
}
});
}
use of org.talend.core.model.repository.IRepositoryViewObject in project tdi-studio-se by Talend.
the class JobSettingsView method refresh.
public void refresh(boolean force, Object obj) {
if (force) {
cleanDisplay();
}
final IEditorPart activeEditor = getSite().getPage().getActiveEditor();
if (obj == null) {
if (activeEditor != null && activeEditor instanceof AbstractMultiPageTalendEditor) {
AbstractTalendEditor talendEditor = ((AbstractMultiPageTalendEditor) activeEditor).getTalendEditor();
IProcess process = talendEditor.getProcess();
if (process != null && process instanceof Element) {
this.selectedPrimary = true;
this.cleaned = force;
this.element = (Element) process;
// remove "Job" or "Joblet" from title
String title = activeEditor.getTitle();
if (title.startsWith(VIEW_NAME_JOBLET)) {
title = title.substring(VIEW_NAME_JOBLET.length() + 1);
} else if (title.startsWith(getViewNameLable())) {
title = title.substring(getViewNameLable().length() + 1);
}
setElement(element, title, null);
return;
}
} else {
IDiagramModelService diagramModelService = CorePlugin.getDefault().getDiagramModelService();
if (diagramModelService != null && diagramModelService.isBusinessDiagramEditor(activeEditor)) {
this.selectedPrimary = true;
this.cleaned = force;
IRepositoryViewObject object = retrieveBusiness(activeEditor);
if (object != null) {
//$NON-NLS-1$
String title = object.getLabel() + " " + object.getVersion();
Object type = object.getRepositoryObjectType();
setElement(activeEditor, type + SEPARATOR + title, null);
}
return;
}
}
} else {
this.selectedPrimary = true;
this.cleaned = force;
IRepositoryViewObject object = retrieveBusiness(activeEditor);
if (object != null) {
//$NON-NLS-1$
String title = object.getLabel() + " " + object.getVersion();
Object type = object.getRepositoryObjectType();
setElement(obj, type + SEPARATOR + title, null);
}
return;
}
cleanDisplay();
}
use of org.talend.core.model.repository.IRepositoryViewObject in project tdi-studio-se by Talend.
the class JobSettingsView method createTabComposite.
private IDynamicProperty createTabComposite(Composite parent, Object data, EComponentCategory category) {
final int style = SWT.H_SCROLL | SWT.V_SCROLL | SWT.NO_FOCUS;
IDynamicProperty dynamicComposite = null;
if (EComponentCategory.EXTRA.equals(category)) {
// achen modify to fix bug 0006241
Process process = getElement();
boolean isJoblet = AbstractProcessProvider.isExtensionProcessForJoblet(process);
if (isJoblet) {
dynamicComposite = new MultipleThreadDynamicComposite(parent, style, category, (Element) data, true);
} else {
dynamicComposite = new ExtraComposite(parent, style, category, (Element) data, true);
CoreUIPlugin.setCSSId(dynamicComposite.getComposite(), //$NON-NLS-1$
"org-talend-designer-core-ui-views-jobsettings-JobSettingsView-ExtraComposite");
}
} else if (EComponentCategory.STATSANDLOGS.equals(category)) {
dynamicComposite = new StatsAndLogsComposite(parent, style, category, (Element) data);
CoreUIPlugin.setCSSId(dynamicComposite.getComposite(), //$NON-NLS-1$
"org-talend-designer-core-ui-views-jobsettings-JobSettingsView-StatsAndLogsComposite");
} else if (EComponentCategory.CONTEXT.equals(category)) {
// TODO
// dynamicComposite = new ContextDynamicComposite(parent, style, category, element);
} else if (EComponentCategory.MAIN.equals(category)) {
dynamicComposite = new MainComposite(parent, SWT.NONE, tabFactory, (IRepositoryViewObject) data);
} else if (EComponentCategory.VERSIONS.equals(category)) {
if (allowVerchange) {
dynamicComposite = new ProcessVersionComposite(parent, SWT.NONE, tabFactory.getWidgetFactory(), (IRepositoryViewObject) data);
}
} else if (EComponentCategory.HEADERFOOTER.equals(category)) {
if (GlobalServiceRegister.getDefault().isServiceRegistered(IHeaderFooterProviderService.class)) {
IHeaderFooterProviderService headerFooterService = (IHeaderFooterProviderService) GlobalServiceRegister.getDefault().getService(IHeaderFooterProviderService.class);
if (headerFooterService.isVisible()) {
dynamicComposite = new HeaderFooterComposite(parent, SWT.NONE, tabFactory.getWidgetFactory(), (IRepositoryViewObject) data);
}
}
} else if (EComponentCategory.SVNHISTORY.equals(category) && svnUIService != null) {
dynamicComposite = svnUIService.createProcessSVNHistoryComposite(parent, tabFactory.getWidgetFactory(), (IRepositoryViewObject) data);
} else if (EComponentCategory.GITHISTORY.equals(category) && gitUIService != null) {
dynamicComposite = gitUIService.createProcessGitHistoryComposite(parent, this, tabFactory.getWidgetFactory(), (IRepositoryViewObject) data);
} else if (EComponentCategory.APPEARANCE.equals(category)) {
dynamicComposite = (IDynamicProperty) CorePlugin.getDefault().getDiagramModelService().getBusinessAppearanceComposite(parent, SWT.NONE, tabFactory.getWidgetFactory(), selectedModel);
} else if (EComponentCategory.RULERS_AND_GRID.equals(category)) {
dynamicComposite = (IDynamicProperty) CorePlugin.getDefault().getDiagramModelService().getBusinessRulersAndGridComposite(parent, SWT.NONE, tabFactory.getWidgetFactory(), null);
} else if (EComponentCategory.ASSIGNMENT.equals(category)) {
dynamicComposite = (IDynamicProperty) CorePlugin.getDefault().getDiagramModelService().getBusinessAssignmentComposite(parent, SWT.NONE, tabFactory.getWidgetFactory(), selectedModel);
} else if (EComponentCategory.DEPLOYMENT.equals(category)) {
dynamicComposite = new DeploymentComposite(parent, SWT.NONE, tabFactory.getWidgetFactory(), (IRepositoryViewObject) data);
}
if (dynamicComposite != null) {
dynamicComposite.refresh();
}
currentSelectedTab.setPropertyComposite(dynamicComposite);
return dynamicComposite;
}
Aggregations