Author: scabanovich
Date: 2010-01-26 07:46:25 -0500 (Tue, 26 Jan 2010)
New Revision: 19928
Modified:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/editor/JavaHyperlinkLineFieldEditor.java
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/wizards/NewClassWizard.java
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/wizards/NewTypeWizardAdapter.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-5591
Modified:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/editor/JavaHyperlinkLineFieldEditor.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/editor/JavaHyperlinkLineFieldEditor.java 2010-01-26
12:31:41 UTC (rev 19927)
+++
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/editor/JavaHyperlinkLineFieldEditor.java 2010-01-26
12:46:25 UTC (rev 19928)
@@ -158,8 +158,20 @@
wizardAdapter.addRawInterfaceName(interfacesName[i]);
}
}
-
- NewClassWizard wizard = new NewClassWizard(wizardAdapter);
+
+ NewClassWizard wizard = null;
+
+ XAttribute a = ((DefaultValueAdapter)getPropertyEditor().getInput()).getAttribute();
+ if(a != null) {
+ String cls = a.getProperty("newWizardClass");
+ if(cls != null && cls.length() > 0) {
+ wizard =
(NewClassWizard)ModelFeatureFactory.getInstance().createFeatureInstance(cls);
+ }
+ }
+ if(wizard == null) {
+ wizard = new NewClassWizard();
+ }
+ wizard.setAdapter(wizardAdapter);
WizardDialog dialog = new
WizardDialog(ModelUIPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getShell(),
wizard);
dialog.create();
int result = dialog.open();
@@ -169,64 +181,64 @@
if(wizard.getContainer() != null) {
wizard.performFinish();
}
- try {
- IType type = EclipseJavaUtil.findType(javaAdapter.getJavaProject(), newValue);
- String name = type.getElementName();
- String sc = type.getSuperclassTypeSignature();
- if(sc != null) {
- sc = EclipseJavaUtil.resolveTypeAsString(type, sc);
- }
- //TODO use interface and register for specific cases. This is new ESB action case.
- if(type != null &&
"org.jboss.soa.esb.actions.AbstractActionPipelineProcessor".equals(sc)) {
- ICompilationUnit w = type.getCompilationUnit().getWorkingCopy(new
NullProgressMonitor());
- IBuffer b = w.getBuffer();
- String s = b.getContents();
- String lineDelimiter = "\r\n";
-
- String IMPORT = "import
org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;";
- int i1 = s.indexOf(IMPORT);
- if(i1 >= 0) {
- String content = "";
- String[] imports = {
- "import org.jboss.soa.esb.actions.ActionProcessingException;",
- "import org.jboss.soa.esb.helpers.ConfigTree;",
- "import org.jboss.soa.esb.message.Message;"
- };
- for (String is: imports) {
- if(s.indexOf(is) < 0) {
- content += lineDelimiter + is;
- }
- }
- if(content.length() > 0) {
- b.replace(i1 + IMPORT.length(), 0, content);
- }
- }
-
- s = b.getContents();
-
- int i = s.indexOf('{');
- int j = s.lastIndexOf('}');
- if(i > 0 && j > i) {
- String tab = "\t";
- String content = lineDelimiter
- + tab + "protected ConfigTree _config;" + lineDelimiter
- + lineDelimiter
- + tab + "public " + name + "(ConfigTree config) {" +
lineDelimiter
- + tab + tab + "_config = config;"+ lineDelimiter
- + tab + "}" + lineDelimiter
- + lineDelimiter
- + tab + "@Override" + lineDelimiter
- + tab + "public Message process(Message message) throws
ActionProcessingException {" + lineDelimiter
- + tab + tab + "//ADD CUSTOM ACTION CODE HERE" + lineDelimiter
- + tab + tab + "return message;" + lineDelimiter
- + tab + "}" + lineDelimiter;
- b.replace(i + 1, j - i - 1, content);
- w.commitWorkingCopy(true, new NullProgressMonitor());
- }
- }
- } catch (CoreException e) {
- e.printStackTrace();
- }
+// try {
+// IType type = EclipseJavaUtil.findType(javaAdapter.getJavaProject(), newValue);
+// String name = type.getElementName();
+// String sc = type.getSuperclassTypeSignature();
+// if(sc != null) {
+// sc = EclipseJavaUtil.resolveTypeAsString(type, sc);
+// }
+// //TODO use interface and register for specific cases. This is new ESB action
case.
+// if(type != null &&
"org.jboss.soa.esb.actions.AbstractActionPipelineProcessor".equals(sc)) {
+// ICompilationUnit w = type.getCompilationUnit().getWorkingCopy(new
NullProgressMonitor());
+// IBuffer b = w.getBuffer();
+// String s = b.getContents();
+// String lineDelimiter = "\r\n";
+//
+// String IMPORT = "import
org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;";
+// int i1 = s.indexOf(IMPORT);
+// if(i1 >= 0) {
+// String content = "";
+// String[] imports = {
+// "import org.jboss.soa.esb.actions.ActionProcessingException;",
+// "import org.jboss.soa.esb.helpers.ConfigTree;",
+// "import org.jboss.soa.esb.message.Message;"
+// };
+// for (String is: imports) {
+// if(s.indexOf(is) < 0) {
+// content += lineDelimiter + is;
+// }
+// }
+// if(content.length() > 0) {
+// b.replace(i1 + IMPORT.length(), 0, content);
+// }
+// }
+//
+// s = b.getContents();
+//
+// int i = s.indexOf('{');
+// int j = s.lastIndexOf('}');
+// if(i > 0 && j > i) {
+// String tab = "\t";
+// String content = lineDelimiter
+// + tab + "protected ConfigTree _config;" + lineDelimiter
+// + lineDelimiter
+// + tab + "public " + name + "(ConfigTree config) {" +
lineDelimiter
+// + tab + tab + "_config = config;"+ lineDelimiter
+// + tab + "}" + lineDelimiter
+// + lineDelimiter
+// + tab + "@Override" + lineDelimiter
+// + tab + "public Message process(Message message) throws
ActionProcessingException {" + lineDelimiter
+// + tab + tab + "//ADD CUSTOM ACTION CODE HERE" + lineDelimiter
+// + tab + tab + "return message;" + lineDelimiter
+// + tab + "}" + lineDelimiter;
+// b.replace(i + 1, j - i - 1, content);
+// w.commitWorkingCopy(true, new NullProgressMonitor());
+// }
+// }
+// } catch (CoreException e) {
+// e.printStackTrace();
+// }
}
dialog.close();
} else {
Modified:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/wizards/NewClassWizard.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/wizards/NewClassWizard.java 2010-01-26
12:31:41 UTC (rev 19927)
+++
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/wizards/NewClassWizard.java 2010-01-26
12:46:25 UTC (rev 19928)
@@ -18,6 +18,7 @@
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.OperationCanceledException;
import org.eclipse.core.runtime.jobs.ISchedulingRule;
+import org.eclipse.jdt.core.IType;
import org.eclipse.jdt.internal.ui.*;
import org.eclipse.jdt.internal.ui.actions.*;
import org.eclipse.jdt.internal.ui.wizards.*;
@@ -30,21 +31,24 @@
public class NewClassWizard extends Wizard {
- private NewTypeWizardAdapter adapter = null;
- private NewClassWizardPageEx mainPage;
+ protected NewTypeWizardAdapter adapter = null;
+ protected NewClassWizardPageEx mainPage;
public NewClassWizard() {
- this(null);
- }
-
- public NewClassWizard(NewTypeWizardAdapter adapter) {
- super();
- this.adapter = adapter;
setDialogSettings(JavaPlugin.getDefault().getDialogSettings());
setWindowTitle(NewWizardMessages.NewClassCreationWizard_title);
setDefaultPageImageDescriptor(JavaPluginImages.DESC_WIZBAN_NEWCLASS);
}
+ public void setAdapter(NewTypeWizardAdapter adapter) {
+ this.adapter = adapter;
+ }
+
+ public NewClassWizard(NewTypeWizardAdapter adapter) {
+ this();
+ setAdapter(adapter);
+ }
+
public void addPages() {
mainPage = new NewClassWizardPageEx();
addPage(mainPage);
@@ -64,7 +68,7 @@
if(p != null && p.length() > 0) c = p + "." + c; //$NON-NLS-1$
return c;
}
-
+
protected void finishPage(IProgressMonitor monitor) throws InterruptedException,
CoreException {
mainPage.createType(monitor); // use the full progress monitor
}
Modified:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/wizards/NewTypeWizardAdapter.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/wizards/NewTypeWizardAdapter.java 2010-01-26
12:31:41 UTC (rev 19927)
+++
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/wizards/NewTypeWizardAdapter.java 2010-01-26
12:46:25 UTC (rev 19928)
@@ -67,7 +67,7 @@
// Interface for us
public NewTypeWizardAdapter(IProject project) {
- try {
+ if(project != null) try {
this.javaProject = (IJavaProject)project.getNature(JavaCore.NATURE_ID);
} catch (CoreException e) {
ModelUIPlugin.getPluginLog().logError(e);