JBoss Tools SVN: r24689 - in trunk/smooks/plugins: org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors and 5 other directories.
by jbosstools-commits@lists.jboss.org
Author: tfennelly
Date: 2010-09-03 07:58:30 -0400 (Fri, 03 Sep 2010)
New Revision: 24689
Removed:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/process/TemplateAppyTaskNode.java
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.core/src/org/jboss/tools/smooks10/model/smooks/util/SmooksModelUtils.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksReaderFormPage.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/AddNextTaskNodeAction.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/AddTaskNodeAction.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/TaskTypeRules.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/Messages.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/ProcessAnalyzer.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksProcessGraphicalEditor.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/TaskTypeManager.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/messages.properties
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/process/ProcessFactory.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/process/ProcessTaskAnalyzer.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/process/TaskType.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/process/TaskTypeImpl.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/template/FreemarkerTemplateGraphicalModelFactory.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/template/SmooksFreemarkerCSVTemplateGraphicalEditor.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/wizard/freemarker/FreemarkerTemplateParametersProvider.java
Log:
https://jira.jboss.org/browse/JBIDE-6990
Allow Template tasks to be added to Input task in process flow
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.core/src/org/jboss/tools/smooks10/model/smooks/util/SmooksModelUtils.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.core/src/org/jboss/tools/smooks10/model/smooks/util/SmooksModelUtils.java 2010-09-03 11:26:52 UTC (rev 24688)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.core/src/org/jboss/tools/smooks10/model/smooks/util/SmooksModelUtils.java 2010-09-03 11:58:30 UTC (rev 24689)
@@ -44,6 +44,8 @@
public static final String KEY_TEMPLATE_TYPE = "messageType"; //$NON-NLS-1$
+ public static final String TEMPLATE_DATA_PROVIDER_PARAM_NAME = "templateDataProvider"; //$NON-NLS-1$
+
public static final String FREEMARKER_TEMPLATE_TYPE_CSV = "CSV"; //$NON-NLS-1$
public static final String FREEMARKER_TEMPLATE_TYPE_XML = "XML"; //$NON-NLS-1$
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksReaderFormPage.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksReaderFormPage.java 2010-09-03 11:26:52 UTC (rev 24688)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SmooksReaderFormPage.java 2010-09-03 11:58:30 UTC (rev 24689)
@@ -888,20 +888,6 @@
getEditingDomain().getCommandStack().execute(c);
}
}
- // if (command == null)
- // this.inputTypeChanged();
- // SmooksGraphicsExtType ext = getSmooksGraphicsExtType();
- // if (ext != null) {
- // List<ISmooksGraphChangeListener> listeners = ((SmooksGraphicsExtType)
- // ext).getChangeListeners();
- // for (Iterator<?> iterator = listeners.iterator();
- // iterator.hasNext();) {
- // ISmooksGraphChangeListener smooksGraphChangeListener =
- // (ISmooksGraphChangeListener) iterator.next();
- // smooksGraphChangeListener.inputTypeChanged((SmooksGraphicsExtType)
- // ext);
- // }
- // }
}
protected void createInputDataSection(FormToolkit toolkit, Composite parent) {
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/AddNextTaskNodeAction.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/AddNextTaskNodeAction.java 2010-09-03 11:26:52 UTC (rev 24688)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/AddNextTaskNodeAction.java 2010-09-03 11:58:30 UTC (rev 24689)
@@ -11,6 +11,7 @@
package org.jboss.tools.smooks.graphical.actions;
import java.util.Iterator;
+import java.util.List;
import java.util.Map;
import org.eclipse.emf.common.command.Command;
@@ -53,7 +54,14 @@
protected void addFreemarkerTemplateTask(IWizard currentWizard, SmooksResourceListType resourceList) {
if (currentWizard instanceof FreemarkerTemplateParametersProvider) {
+ List<TaskType> selectedTask = getCurrentSelectedTask();
+
+ if(selectedTask == null || selectedTask.isEmpty()) {
+ // No node properly selected in the Task Detail panel...
+ return;
+ }
+ TaskType parentTask = selectedTask.get(0);
Freemarker freemarker = FreemarkerFactory.eINSTANCE.createFreemarker();
Map<String, String> parameters = ((FreemarkerTemplateParametersProvider) currentWizard).getParameters();
@@ -77,15 +85,22 @@
freemarker.getParam().add(param);
}
+ // Add the templateDataProvider param...
+ ParamType param = SmooksFactory.eINSTANCE.createParamType();
+ param.setName(SmooksModelUtils.TEMPLATE_DATA_PROVIDER_PARAM_NAME);
+ param.setStringValue(parentTask.getId());
+ freemarker.getParam().add(param);
+
Command addFreemarkerCommand = AddCommand.create(this.provider.getEditingDomain(), resourceList,
SmooksPackage.Literals.SMOOKS_RESOURCE_LIST_TYPE__ABSTRACT_RESOURCE_CONFIG_GROUP, FeatureMapUtil
.createEntry(FreemarkerPackage.Literals.DOCUMENT_ROOT__FREEMARKER, freemarker));
if (addFreemarkerCommand.canExecute()) {
provider.getEditingDomain().getCommandStack().execute(addFreemarkerCommand);
- TaskType parentTask = this.getCurrentSelectedTask().get(0);
- TaskType childTask = ProcessFactory.eINSTANCE.createTemplateTask();
- childTask.addSmooksModel(freemarker);
+ TaskType childTask = ProcessFactory.eINSTANCE.createTaskType();
+
+ childTask.setId(getTaskID());
+ childTask.addTaskResource(freemarker);
childTask.setType(type);
parentTask.addTask(childTask);
}
@@ -97,7 +112,7 @@
super.run();
if (this.provider != null) {
SmooksResourceListType resourceList = SmooksUIUtils.getSmooks11ResourceListType(provider.getSmooksModel());
- if (taskID.equals(TaskTypeManager.TASK_ID_FREEMARKER_CSV_TEMPLATE)) {
+ if (taskID.equals(TaskTypeManager.TASK_ID_FREEMARKER_XML_TEMPLATE) || taskID.equals(TaskTypeManager.TASK_ID_FREEMARKER_CSV_TEMPLATE)) {
// open wizard
TemplateMessageTypeWizard wizard = new TemplateMessageTypeWizard();
WizardDialog dialog = new WizardDialog(editorPart.getSite().getShell(), wizard);
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/AddTaskNodeAction.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/AddTaskNodeAction.java 2010-09-03 11:26:52 UTC (rev 24688)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/AddTaskNodeAction.java 2010-09-03 11:58:30 UTC (rev 24689)
@@ -9,13 +9,16 @@
protected String taskID = null;
-
protected TaskTypeRules rules = new TaskTypeRules();
public AddTaskNodeAction(String taskID, String text, ISmooksModelProvider provider, IEditorPart editorPart) {
super(text, provider,editorPart);
this.taskID = taskID;
}
+
+ public String getTaskID() {
+ return taskID;
+ }
@Override
protected void init() {
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/TaskTypeRules.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/TaskTypeRules.java 2010-09-03 11:26:52 UTC (rev 24688)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/actions/TaskTypeRules.java 2010-09-03 11:58:30 UTC (rev 24689)
@@ -49,13 +49,15 @@
// if (!SmooksConstants.TASK_ID_JAVA_MAPPING.equals(taskID))
return false;
}
- if (parentID.equals(TaskTypeManager.TASK_ID_FREEMARKER_CSV_TEMPLATE)) {
- if (!TaskTypeManager.TASK_ID_JAVA_MAPPING.equals(currentTask.getId())) {
- return false;
+ if (parentID.equals(TaskTypeManager.TASK_ID_FREEMARKER_XML_TEMPLATE) || parentID.equals(TaskTypeManager.TASK_ID_FREEMARKER_CSV_TEMPLATE)) {
+ if (TaskTypeManager.TASK_ID_INPUT.equals(currentTask.getId())) {
+ return true;
+ } else if (TaskTypeManager.TASK_ID_JAVA_MAPPING.equals(currentTask.getId())) {
+ return true;
}else{
for (Iterator<?> iterator = taskList.iterator(); iterator.hasNext();) {
TaskType taskType = (TaskType) iterator.next();
- if (TaskTypeManager.TASK_ID_FREEMARKER_CSV_TEMPLATE.equals(taskType.getId())) {
+ if (parentID.equals(taskType.getId())) {
return false;
}
}
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/Messages.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/Messages.java 2010-09-03 11:26:52 UTC (rev 24688)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/Messages.java 2010-09-03 11:58:30 UTC (rev 24689)
@@ -18,7 +18,7 @@
public static String SmooksJavaMappingGraphicalEditor_NodeMustLinkWithSource;
public static String SmooksJavaMappingGraphicalEditor_NullLabel;
public static String SmooksJavaMappingGraphicalEditor_WarningMessage1;
- public static String SmooksProcessGraphicalEditor_4;
+ public static String SmooksProcessGraphicalEditor_Validation_No_Java_Mapping;
public static String SmooksProcessGraphicalEditor_AddTaskActionText;
public static String SmooksProcessGraphicalEditor_FormText;
public static String SmooksProcessGraphicalEditor_TaskConfigurationSectionTitle;
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/ProcessAnalyzer.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/ProcessAnalyzer.java 2010-09-03 11:26:52 UTC (rev 24688)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/ProcessAnalyzer.java 2010-09-03 11:58:30 UTC (rev 24689)
@@ -64,9 +64,7 @@
// for freemarker template
if (abstractResourceConfig instanceof Freemarker) {
- TaskType task = ProcessFactory.eINSTANCE.createTaskType();
- task.setId(TaskTypeManager.TASK_ID_FREEMARKER_CSV_TEMPLATE);
- task.setName(TaskTypeManager.getTaskLabel(task));
+ TaskType task = toTaskType((Freemarker) abstractResourceConfig);
tasks.add(task);
String refid = SmooksModelUtils.getParamValue(((Freemarker) abstractResourceConfig).getParam(),
@@ -85,11 +83,27 @@
// SmooksModelUtils.addParam(task, idParam);
}
- taskIDs.add(TaskTypeManager.TASK_ID_FREEMARKER_CSV_TEMPLATE);
+ taskIDs.add(task.getId());
}
}
return tasks;
}
+
+ public static TaskType toTaskType(Freemarker freeMarker) {
+ String messageType = SmooksModelUtils.getParamValue(freeMarker.getParam(), SmooksModelUtils.KEY_TEMPLATE_TYPE);
+ TaskType task = ProcessFactory.eINSTANCE.createTaskType();
+
+ task.setType(messageType);
+ if(SmooksModelUtils.FREEMARKER_TEMPLATE_TYPE_XML.equals(messageType)) {
+ task.setId(TaskTypeManager.TASK_ID_FREEMARKER_XML_TEMPLATE);
+ } else if(SmooksModelUtils.FREEMARKER_TEMPLATE_TYPE_CSV.equals(messageType)) {
+ task.setId(TaskTypeManager.TASK_ID_FREEMARKER_CSV_TEMPLATE);
+ }
+ task.setName(TaskTypeManager.getTaskLabel(task));
+ task.addTaskResource(freeMarker);
+
+ return task;
+ }
// private SmooksGraphicsExtType getSmooksGraphicsType(SmooksResourceListType resouceList) {
// List<AbstractResourceConfig> resourceConfigList = resouceList.getAbstractResourceConfig();
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksProcessGraphicalEditor.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksProcessGraphicalEditor.java 2010-09-03 11:26:52 UTC (rev 24688)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/SmooksProcessGraphicalEditor.java 2010-09-03 11:58:30 UTC (rev 24689)
@@ -99,7 +99,6 @@
import org.jboss.tools.smooks.graphical.editors.process.ProcessType;
import org.jboss.tools.smooks.graphical.editors.process.TaskNodeFigure;
import org.jboss.tools.smooks.graphical.editors.process.TaskType;
-import org.jboss.tools.smooks.graphical.editors.process.TemplateAppyTaskNode;
import org.jboss.tools.smooks.graphical.editors.template.SmooksFreemarkerCSVTemplateGraphicalEditor;
import org.jboss.tools.smooks.graphical.editors.template.SmooksFreemarkerTemplateGraphicalEditor;
import org.jboss.tools.smooks.model.freemarker.Freemarker;
@@ -431,10 +430,18 @@
private void generateNextTaskActions(MenuManager addNextTaskMenuManager) {
List<TaskTypeDescriptor> list = TaskTypeManager.getAllTaskList();
+
for (Iterator<?> iterator = list.iterator(); iterator.hasNext();) {
TaskTypeDescriptor taskTypeDescriptor = (TaskTypeDescriptor) iterator.next();
- AddNextTaskNodeAction addNextInputAction = new AddNextTaskNodeAction(taskTypeDescriptor.getId(),
- taskTypeDescriptor.getLabel(), smooksModelProvider, this);
+
+ if(TaskTypeManager.TASK_ID_FREEMARKER_CSV_TEMPLATE.equals(taskTypeDescriptor.getId())) {
+ // Bit of a hack to stop adding of the "Apply Template" action multiple times.
+ // Will have been added for XML, so ignore the CSV... Both actions will trigger
+ // the same wizard anyway....
+ continue;
+ }
+
+ AddNextTaskNodeAction addNextInputAction = new AddNextTaskNodeAction(taskTypeDescriptor.getId(), taskTypeDescriptor.getLabel(), smooksModelProvider, this);
this.processPanelActions.add(addNextInputAction);
addNextTaskMenuManager.add(addNextInputAction);
}
@@ -738,40 +745,29 @@
return null;
}
- protected IEditorPart createEditorPart(Object taskID) {
- if (taskID instanceof TemplateAppyTaskNode) {
- String type = ((TemplateAppyTaskNode) taskID).getType();
- SmooksFreemarkerTemplateGraphicalEditor freemarkerPart = new SmooksFreemarkerCSVTemplateGraphicalEditor(
- smooksModelProvider);
- if (SmooksModelUtils.FREEMARKER_TEMPLATE_TYPE_CSV.equals(type)) {
- freemarkerPart = new SmooksFreemarkerCSVTemplateGraphicalEditor(smooksModelProvider);
-
- }
- if (SmooksModelUtils.FREEMARKER_TEMPLATE_TYPE_XML.equals(type)) {
- freemarkerPart = new SmooksFreemarkerTemplateGraphicalEditor(smooksModelProvider);
-
- }
- return freemarkerPart;
- }
+ protected IEditorPart createEditorPart(String taskID) {
if (taskID.equals(TaskTypeManager.TASK_ID_FREEMARKER_CSV_TEMPLATE)) {
- SmooksFreemarkerTemplateGraphicalEditor freemarkerPart = new SmooksFreemarkerCSVTemplateGraphicalEditor(
- smooksModelProvider);
- return freemarkerPart;
+ return new SmooksFreemarkerCSVTemplateGraphicalEditor(smooksModelProvider);
}
+ if (taskID.equals(TaskTypeManager.TASK_ID_FREEMARKER_XML_TEMPLATE)) {
+ return new SmooksFreemarkerTemplateGraphicalEditor(smooksModelProvider);
+ }
if (taskID.equals(TaskTypeManager.TASK_ID_JAVA_MAPPING)) {
- SmooksJavaMappingGraphicalEditor javaMappingPart = new SmooksJavaMappingGraphicalEditor(smooksModelProvider);
- return javaMappingPart;
+ return new SmooksJavaMappingGraphicalEditor(smooksModelProvider);
}
-
if (taskID.equals(TaskTypeManager.TASK_ID_INPUT)) {
- SmooksReaderFormPage readerPage = new SmooksReaderFormPage(getEditor(), "input", "input"); //$NON-NLS-1$ //$NON-NLS-2$
- return readerPage;
+ return new SmooksReaderFormPage(getEditor(), "input", "input"); //$NON-NLS-1$ //$NON-NLS-2$
}
+
return null;
}
+ protected IEditorPart createEditorPart(TaskType taskType) {
+ return createEditorPart(taskType.getId());
+ }
+
protected boolean isSingltonEditor(Object taskID) {
- if (taskID.equals(TaskTypeManager.TASK_ID_FREEMARKER_CSV_TEMPLATE)) {
+ if (taskID.equals(TaskTypeManager.TASK_ID_FREEMARKER_XML_TEMPLATE) || taskID.equals(TaskTypeManager.TASK_ID_FREEMARKER_CSV_TEMPLATE)) {
return false;
}
return true;
@@ -874,10 +870,13 @@
}
protected String generateTaskSpecailID(TaskType task) {
- if (task instanceof TemplateAppyTaskNode) {
- if (!((TemplateAppyTaskNode) task).getSmooksModel().isEmpty()
- && ((TemplateAppyTaskNode) task).getSmooksModel().size() == 1) {
- Object freemarker = ((TemplateAppyTaskNode) task).getSmooksModel().get(0);
+ String taskId = task.getId();
+
+ if (taskId.equals(TaskTypeManager.TASK_ID_FREEMARKER_XML_TEMPLATE) || taskId.equals(TaskTypeManager.TASK_ID_FREEMARKER_CSV_TEMPLATE)) {
+ List<AbstractResourceConfig> taskResources = task.getTaskResources();
+ if (!taskResources.isEmpty() && taskResources.size() == 1) {
+ Object freemarker = taskResources.get(0);
+
String taskID = smooksModelIdMap.get(freemarker);
if (taskID == null) {
String tempstamp = String.valueOf(System.currentTimeMillis());
@@ -920,7 +919,7 @@
if (idref != null) {
// idref = id + "_" + idref;
if (getRegisteTaskPage(idref) == null) {
- IEditorPart editor = createEditorPart(finalModel);
+ IEditorPart editor = createEditorPart((TaskType)finalModel);
registeTaskDetailsPage(editor, idref);
}
id = idref;
@@ -1148,9 +1147,11 @@
}
protected void validateTask(TaskType t) {
- if (t == null)
+ if (t == null) {
return;
- final TaskType task = t;
+ }
+
+ final TaskType task = t;
task.setProblemType(IFieldMarker.TYPE_NONE);
task.cleanProblemMessages();
@@ -1205,37 +1206,26 @@
}
}
- if (TaskTypeManager.TASK_ID_FREEMARKER_CSV_TEMPLATE.equals(id)) {
+ if (TaskTypeManager.TASK_ID_FREEMARKER_XML_TEMPLATE.equals(id) || TaskTypeManager.TASK_ID_FREEMARKER_CSV_TEMPLATE.equals(id)) {
+ Freemarker freeMarker = (Freemarker) task.getTaskResources().get(0);
+ String templateDataProvider = SmooksModelUtils.getParamValue(freeMarker.getParam(), SmooksModelUtils.TEMPLATE_DATA_PROVIDER_PARAM_NAME);
SmooksResourceListType sr = getSmooksResourceListType();
List<AbstractResourceConfig> rcs = sr.getAbstractResourceConfig();
- boolean correct = false;
- boolean multipleTemplate = false;
- int freemarkerCount = 0;
- for (Iterator<?> iterator = rcs.iterator(); iterator.hasNext();) {
- AbstractResourceConfig abstractResourceConfig = (AbstractResourceConfig) iterator.next();
- if (abstractResourceConfig instanceof BeanType) {
- correct = true;
- // break;
+
+ if(templateDataProvider == null || templateDataProvider.trim().equals(TaskTypeManager.TASK_ID_JAVA_MAPPING)) {
+ for (AbstractResourceConfig abstractResourceConfig : rcs) {
+ if (abstractResourceConfig instanceof BeanType) {
+ // Found a Java Mapping... we're ok....
+ return;
+ }
}
- if (abstractResourceConfig instanceof Freemarker) {
- freemarkerCount++;
- }
- if (freemarkerCount > 1) {
- multipleTemplate = true;
- // break;
- }
- if (!correct && multipleTemplate) {
- break;
- }
- }
- if (!correct) {
+
+ // No Java Mappings in the config... warn...
task.setProblemType(IFieldMarker.TYPE_WARINING);
- task.addProblemMessage(Messages.SmooksProcessGraphicalEditor_4);
+ task.addProblemMessage(Messages.SmooksProcessGraphicalEditor_Validation_No_Java_Mapping);
+ } else if(templateDataProvider != null && templateDataProvider.trim().equals(TaskTypeManager.TASK_ID_INPUT)) {
+ // TODO: https://jira.jboss.org/browse/JBIDE-6991
}
- if (multipleTemplate) {
- task.setProblemType(IFieldMarker.TYPE_ERROR);
- task.addProblemMessage(Messages.SmooksProcessGraphicalEditor_ValidationError_MultipleTemplate);
- }
}
}
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/TaskTypeManager.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/TaskTypeManager.java 2010-09-03 11:26:52 UTC (rev 24688)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/TaskTypeManager.java 2010-09-03 11:58:30 UTC (rev 24689)
@@ -16,7 +16,6 @@
import org.jboss.tools.smooks.configuration.editors.GraphicsConstants;
import org.jboss.tools.smooks.graphical.editors.process.TaskType;
-import org.jboss.tools.smooks.graphical.editors.process.TemplateAppyTaskNode;
import org.jboss.tools.smooks.model.freemarker.Freemarker;
import org.jboss.tools.smooks.model.javabean12.BeanType;
import org.jboss.tools.smooks.model.smooks.AbstractResourceConfig;
@@ -44,10 +43,10 @@
if (parentId == null)
return null;
if (parentId.equals(TaskTypeManager.TASK_ID_INPUT)) {
- return new String[] { TaskTypeManager.TASK_ID_JAVA_MAPPING };
+ return new String[] { TaskTypeManager.TASK_ID_JAVA_MAPPING, TaskTypeManager.TASK_ID_FREEMARKER_XML_TEMPLATE, TaskTypeManager.TASK_ID_FREEMARKER_CSV_TEMPLATE};
}
if (parentId.equals(TaskTypeManager.TASK_ID_JAVA_MAPPING)) {
- return new String[] { TaskTypeManager.TASK_ID_FREEMARKER_CSV_TEMPLATE };
+ return new String[] { TaskTypeManager.TASK_ID_FREEMARKER_XML_TEMPLATE, TaskTypeManager.TASK_ID_FREEMARKER_CSV_TEMPLATE };
}
return null;
}
@@ -64,6 +63,8 @@
GraphicsConstants.IMAGE_INPUT_TASK));
allTaskList.add(new TaskTypeDescriptor(TASK_ID_JAVA_MAPPING, Messages.TaskTypeManager_JavaMappingTaskLabel,
GraphicsConstants.IMAGE_JAVA_AMPPING_TASK));
+ allTaskList.add(new TaskTypeDescriptor(TASK_ID_FREEMARKER_XML_TEMPLATE,
+ Messages.TaskTypeManager_ApplyTemplateTaskLabel, GraphicsConstants.IMAGE_APPLY_FREEMARKER_TASK));
allTaskList.add(new TaskTypeDescriptor(TASK_ID_FREEMARKER_CSV_TEMPLATE,
Messages.TaskTypeManager_ApplyTemplateTaskLabel, GraphicsConstants.IMAGE_APPLY_FREEMARKER_TASK));
}
@@ -81,7 +82,7 @@
if (TASK_ID_JAVA_MAPPING.equals(taskID)) {
elementsType.add(BeanType.class);
}
- if (TASK_ID_FREEMARKER_CSV_TEMPLATE.equals(taskID)) {
+ if (TASK_ID_FREEMARKER_XML_TEMPLATE.equals(taskID) || TASK_ID_FREEMARKER_CSV_TEMPLATE.equals(taskID)) {
elementsType.add(Freemarker.class);
}
return elementsType;
@@ -91,11 +92,8 @@
if (task != null) {
String taskId = task.getId();
if (taskId != null) {
- if (taskId.equals(TASK_ID_FREEMARKER_CSV_TEMPLATE)) {
- String messageType = ""; //$NON-NLS-1$
- if (task instanceof TemplateAppyTaskNode) {
- messageType = ((TemplateAppyTaskNode) task).getType();
- }
+ if (taskId.equals(TASK_ID_FREEMARKER_XML_TEMPLATE) || taskId.equals(TASK_ID_FREEMARKER_CSV_TEMPLATE)) {
+ String messageType = task.getType();
if (messageType == null)
messageType = ""; //$NON-NLS-1$
if (messageType.length() > 0){
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/messages.properties
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/messages.properties 2010-09-03 11:26:52 UTC (rev 24688)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/messages.properties 2010-09-03 11:58:30 UTC (rev 24689)
@@ -12,7 +12,7 @@
SmooksJavaMappingGraphicalEditor_NodeMustLinkWithSource=The node must be linked with input source
SmooksJavaMappingGraphicalEditor_NullLabel=<NULL>
SmooksJavaMappingGraphicalEditor_WarningMessage1=Decoder should be '
-SmooksProcessGraphicalEditor_4=No java mapping has been specified in the Java Mapping task.
+SmooksProcessGraphicalEditor_Validation_No_Java_Mapping=No java mapping has been specified in the Java Mapping task.
SmooksProcessGraphicalEditor_ValidationError_MultipleTemplate=Doesn't support multiple template task.
SmooksProcessGraphicalEditor_AddTaskActionText=Add Task
SmooksProcessGraphicalEditor_FormText=Smooks Processing
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/process/ProcessFactory.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/process/ProcessFactory.java 2010-09-03 11:26:52 UTC (rev 24688)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/process/ProcessFactory.java 2010-09-03 11:58:30 UTC (rev 24689)
@@ -24,8 +24,4 @@
public ProcessType createProcessType(){
return new ProcessTypeImpl();
}
-
- public TemplateAppyTaskNode createTemplateTask(){
- return new TemplateAppyTaskNode();
- }
}
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/process/ProcessTaskAnalyzer.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/process/ProcessTaskAnalyzer.java 2010-09-03 11:26:52 UTC (rev 24688)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/process/ProcessTaskAnalyzer.java 2010-09-03 11:58:30 UTC (rev 24689)
@@ -10,13 +10,17 @@
******************************************************************************/
package org.jboss.tools.smooks.graphical.editors.process;
-import java.util.Iterator;
+import java.util.ArrayList;
import java.util.List;
+import org.eclipse.emf.common.util.EList;
+import org.jboss.tools.smooks.graphical.editors.ProcessAnalyzer;
import org.jboss.tools.smooks.graphical.editors.TaskTypeManager;
import org.jboss.tools.smooks.model.freemarker.Freemarker;
import org.jboss.tools.smooks.model.javabean12.BeanType;
import org.jboss.tools.smooks.model.smooks.AbstractResourceConfig;
+import org.jboss.tools.smooks.model.smooks.ElementVisitor;
+import org.jboss.tools.smooks.model.smooks.ParamType;
import org.jboss.tools.smooks.model.smooks.SmooksResourceListType;
import org.jboss.tools.smooks10.model.smooks.util.SmooksModelUtils;
@@ -28,8 +32,11 @@
public void analyzeTaskNode(ProcessType process, SmooksResourceListType resourceList) {
process.getTask().clear();
- if (resourceList == null)
+
+ if (resourceList == null) {
return;
+ }
+
// Input task node must be in process:
TaskType inputTask = ProcessFactory.eINSTANCE.createTaskType();
inputTask.setId(TaskTypeManager.TASK_ID_INPUT);
@@ -38,38 +45,71 @@
process.addTask(inputTask);
List<AbstractResourceConfig> resourceConfigList = resourceList.getAbstractResourceConfig();
+ TaskType javaMappingTask = getJavaMappingTask(resourceConfigList);
+ List<TaskType> templatingTasks = getTemplatingTasks(resourceConfigList);
- // the java mapping is the next task node of input task:
- TaskType javaMappingTask = null;
- for (Iterator<?> iterator = resourceConfigList.iterator(); iterator.hasNext();) {
- AbstractResourceConfig abstractResourceConfig = (AbstractResourceConfig) iterator.next();
- if (abstractResourceConfig instanceof BeanType) {
- javaMappingTask = ProcessFactory.eINSTANCE.createTaskType();
- javaMappingTask.setId(TaskTypeManager.TASK_ID_JAVA_MAPPING);
- javaMappingTask.setName(TaskTypeManager.getTaskLabel(javaMappingTask));
- inputTask.addTask(javaMappingTask);
- break;
- }
+ // Connect the Java Mappings task to the input task...
+ if (javaMappingTask != null) {
+ inputTask.addTask(javaMappingTask);
}
- // the apply template is the next task node of java mapping task:
- if (javaMappingTask != null) {
- for (Iterator<?> iterator = resourceConfigList.iterator(); iterator.hasNext();) {
- AbstractResourceConfig abstractResourceConfig = (AbstractResourceConfig) iterator.next();
- if (abstractResourceConfig instanceof Freemarker) {
- String messageType = SmooksModelUtils.getParamValue(((Freemarker) abstractResourceConfig)
- .getParam(), SmooksModelUtils.KEY_TEMPLATE_TYPE);
- if (SmooksModelUtils.FREEMARKER_TEMPLATE_TYPE_CSV.equals(messageType)
- || SmooksModelUtils.FREEMARKER_TEMPLATE_TYPE_XML.equals(messageType)) {
- TemplateAppyTaskNode templateTask = (TemplateAppyTaskNode) ProcessFactory.eINSTANCE
- .createTemplateTask();
- templateTask.setType(messageType);
- templateTask.addSmooksModel(abstractResourceConfig);
- templateTask.setName(TaskTypeManager.getTaskLabel(templateTask));
- javaMappingTask.addTask(templateTask);
+ // Connect the Templating tasks to the Input and Java Mappings task as appropriate...
+ for(TaskType templatingTask : templatingTasks) {
+ AbstractResourceConfig templatingResource = templatingTask.getTaskResources().get(0);
+
+ if(templatingResource instanceof Freemarker) {
+ Freemarker freemarkerResource = (Freemarker) templatingResource;
+ EList<ParamType> params = freemarkerResource.getParam();
+
+ if(SmooksModelUtils.getParam(params, SmooksModelUtils.KEY_TEMPLATE_TYPE) != null) {
+ ParamType templateDataProvider = SmooksModelUtils.getParam(params, SmooksModelUtils.TEMPLATE_DATA_PROVIDER_PARAM_NAME);
+
+ if(templateDataProvider == null || TaskTypeManager.TASK_ID_JAVA_MAPPING.equals(templateDataProvider.getStringValue())) {
+ if(javaMappingTask != null) {
+ javaMappingTask.addTask(templatingTask);
+ }
+ } else if(templateDataProvider != null && TaskTypeManager.TASK_ID_INPUT.equals(templateDataProvider.getStringValue())) {
+ inputTask.addTask(templatingTask);
}
}
}
+ }
+ }
+
+ private TaskType getJavaMappingTask(List<AbstractResourceConfig> resourceConfigList) {
+ return getTask(BeanType.class, TaskTypeManager.TASK_ID_JAVA_MAPPING, resourceConfigList);
+ }
+
+ private List<TaskType> getTemplatingTasks(List<AbstractResourceConfig> resourceConfigList) {
+ List<TaskType> taskList = new ArrayList<TaskType>();
+
+ addFreeMarkerTasks(resourceConfigList, taskList);
+
+ return taskList;
+ }
+
+ private TaskType getTask(Class<? extends ElementVisitor> resourceType, String taskId, List<AbstractResourceConfig> resourceConfigList) {
+ TaskType task = null;
+
+ for (AbstractResourceConfig abstractResourceConfig : resourceConfigList) {
+ if (resourceType.isInstance(abstractResourceConfig)) {
+ if(task == null) {
+ task = ProcessFactory.eINSTANCE.createTaskType();
+ task.setId(taskId);
+ task.setName(TaskTypeManager.getTaskLabel(task));
+ }
+ task.addTaskResource(abstractResourceConfig);
+ }
}
+
+ return task;
}
+
+ private void addFreeMarkerTasks(List<AbstractResourceConfig> resourceConfigList, List<TaskType> taskList) {
+ for (AbstractResourceConfig resourceConfig : resourceConfigList) {
+ if (resourceConfig instanceof Freemarker) {
+ taskList.add(ProcessAnalyzer.toTaskType((Freemarker) resourceConfig));
+ }
+ }
+ }
}
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/process/TaskType.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/process/TaskType.java 2010-09-03 11:26:52 UTC (rev 24688)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/process/TaskType.java 2010-09-03 11:58:30 UTC (rev 24689)
@@ -10,6 +10,8 @@
import java.beans.PropertyChangeSupport;
import java.util.List;
+import org.jboss.tools.smooks.model.smooks.AbstractResourceConfig;
+
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Task Type</b></em>'.
@@ -154,10 +156,12 @@
*/
void setType(String value);
- boolean inTheTask(Object smooksModel);
+ boolean inTheTask(AbstractResourceConfig smooksResource);
- void addSmooksModel(Object smooksModel);
+ List<AbstractResourceConfig> getTaskResources();
- void removeSmooksModel(Object smooksModel);
+ void addTaskResource(AbstractResourceConfig smooksResource);
+
+ void removeTaskResource(AbstractResourceConfig smooksResource);
} // TaskType
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/process/TaskTypeImpl.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/process/TaskTypeImpl.java 2010-09-03 11:26:52 UTC (rev 24688)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/process/TaskTypeImpl.java 2010-09-03 11:58:30 UTC (rev 24689)
@@ -11,6 +11,7 @@
import java.util.List;
import org.jboss.tools.smooks.configuration.editors.IFieldMarker;
+import org.jboss.tools.smooks.model.smooks.AbstractResourceConfig;
/**
* <!-- begin-user-doc --> An implementation of the model object '
@@ -40,7 +41,7 @@
private Object parent;
- private List<Object> smooksModel = null;
+ private List<AbstractResourceConfig> taskResources = null;
private int problemType = IFieldMarker.TYPE_NONE;
@@ -106,14 +107,11 @@
this.parent = parent;
}
- /**
- * @return the smooksModel
- */
- public List<Object> getSmooksModel() {
- if (smooksModel == null) {
- smooksModel = new ArrayList<Object>();
+ public List<AbstractResourceConfig> getTaskResources() {
+ if (taskResources == null) {
+ taskResources = new ArrayList<AbstractResourceConfig>();
}
- return smooksModel;
+ return taskResources;
}
/**
@@ -305,16 +303,19 @@
return result.toString();
}
- public void addSmooksModel(Object smooksModel) {
- getSmooksModel().add(smooksModel);
+ public void addTaskResource(AbstractResourceConfig smooksResource) {
+ getTaskResources().add(smooksResource);
}
- public boolean inTheTask(Object smooksModel) {
- return true;
+ public boolean inTheTask(AbstractResourceConfig smooksResource) {
+ if(taskResources == null) {
+ return false;
+ }
+ return taskResources.contains(smooksResource);
}
- public void removeSmooksModel(Object smooksModel) {
- getSmooksModel().remove(smooksModel);
+ public void removeTaskResource(AbstractResourceConfig smooksResource) {
+ getTaskResources().remove(smooksResource);
}
} // TaskTypeImpl
Deleted: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/process/TemplateAppyTaskNode.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/process/TemplateAppyTaskNode.java 2010-09-03 11:26:52 UTC (rev 24688)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/process/TemplateAppyTaskNode.java 2010-09-03 11:58:30 UTC (rev 24689)
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 Red Hat, Inc.
- * Distributed under license by Red Hat, Inc. All rights reserved.
- * This program is made available under the terms of the
- * Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Red Hat, Inc. - initial API and implementation
- ******************************************************************************/
-package org.jboss.tools.smooks.graphical.editors.process;
-
-import org.jboss.tools.smooks.graphical.editors.TaskTypeManager;
-
-/**
- * @author Dart
- *
- */
-public class TemplateAppyTaskNode extends TaskTypeImpl {
-
- public TemplateAppyTaskNode() {
- super();
- this.setId(TaskTypeManager.TASK_ID_FREEMARKER_CSV_TEMPLATE);
- this.setName(TaskTypeManager.getTaskLabel(this));
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.jboss.tools.smooks.graphical.editors.process.TaskTypeImpl#inTheTask
- * (java.lang.Object)
- */
- @Override
- public boolean inTheTask(Object smooksModel) {
- return this.getSmooksModel().contains(smooksModel);
- }
-
-}
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/template/FreemarkerTemplateGraphicalModelFactory.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/template/FreemarkerTemplateGraphicalModelFactory.java 2010-09-03 11:26:52 UTC (rev 24688)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/template/FreemarkerTemplateGraphicalModelFactory.java 2010-09-03 11:58:30 UTC (rev 24689)
@@ -69,7 +69,7 @@
if (SmooksModelUtils.FREEMARKER_TEMPLATE_TYPE_XML.equals(messageType)) {
templateLP = new FreemarkerTemplateModelLabelProvider();
}
- if (taskType.inTheTask(model)) {
+ if (taskType.inTheTask((Freemarker)model)) {
graphModel = new FreemarkerTemplateGraphicalModel(model, new FreemarkerContentProvider(
contentProvider), templateLP, provider);
((TreeContainerModel) graphModel).setHeaderVisable(true);
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/template/SmooksFreemarkerCSVTemplateGraphicalEditor.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/template/SmooksFreemarkerCSVTemplateGraphicalEditor.java 2010-09-03 11:26:52 UTC (rev 24688)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/editors/template/SmooksFreemarkerCSVTemplateGraphicalEditor.java 2010-09-03 11:58:30 UTC (rev 24689)
@@ -53,7 +53,7 @@
if (SmooksModelUtils.KEY_CSV_FIELDS.equals(((ParamType) object).getName())) {
if (parent instanceof Freemarker) {
TaskType task = this.getTaskType();
- if (task != null && task.inTheTask(parent)) {
+ if (task != null && task.inTheTask((Freemarker)parent)) {
autoLayout(true);
break;
}
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/wizard/freemarker/FreemarkerTemplateParametersProvider.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/wizard/freemarker/FreemarkerTemplateParametersProvider.java 2010-09-03 11:26:52 UTC (rev 24688)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/graphical/wizard/freemarker/FreemarkerTemplateParametersProvider.java 2010-09-03 11:58:30 UTC (rev 24689)
@@ -17,6 +17,7 @@
*
*/
public interface FreemarkerTemplateParametersProvider {
+
Map<String,String> getParameters();
String getTemplateType();
15 years, 7 months
JBoss Tools SVN: r24687 - trunk/hibernatetools/plugins/org.hibernate.eclipse.console.
by jbosstools-commits@lists.jboss.org
Author: dgeraskov
Date: 2010-09-03 06:21:44 -0400 (Fri, 03 Sep 2010)
New Revision: 24687
Modified:
trunk/hibernatetools/plugins/org.hibernate.eclipse.console/plugin.xml
Log:
https://jira.jboss.org/browse/JBIDE-6995
Changed default file pattern attribute.
Modified: trunk/hibernatetools/plugins/org.hibernate.eclipse.console/plugin.xml
===================================================================
--- trunk/hibernatetools/plugins/org.hibernate.eclipse.console/plugin.xml 2010-09-03 09:24:26 UTC (rev 24686)
+++ trunk/hibernatetools/plugins/org.hibernate.eclipse.console/plugin.xml 2010-09-03 10:21:44 UTC (rev 24687)
@@ -513,7 +513,7 @@
description="File pattern"
name="file_pattern"
type="string"
- value="${package-name}/${class-name}.java"/>
+ value="{package-name}/{class-name}.java"/>
<property
description="For each"
name="for_each"
15 years, 7 months
JBoss Tools SVN: r24686 - in trunk/archives/plugins: org.jboss.ide.eclipse.archives.jdt.integration/META-INF and 1 other directories.
by jbosstools-commits@lists.jboss.org
Author: rob.stryker(a)jboss.com
Date: 2010-09-03 05:24:26 -0400 (Fri, 03 Sep 2010)
New Revision: 24686
Modified:
trunk/archives/plugins/org.jboss.ide.eclipse.archives.core/META-INF/MANIFEST.MF
trunk/archives/plugins/org.jboss.ide.eclipse.archives.jdt.integration/META-INF/MANIFEST.MF
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/META-INF/MANIFEST.MF
Log:
JBIDE-6989 - hardcoded archives version dependencies
Modified: trunk/archives/plugins/org.jboss.ide.eclipse.archives.core/META-INF/MANIFEST.MF
===================================================================
--- trunk/archives/plugins/org.jboss.ide.eclipse.archives.core/META-INF/MANIFEST.MF 2010-09-03 08:17:51 UTC (rev 24685)
+++ trunk/archives/plugins/org.jboss.ide.eclipse.archives.core/META-INF/MANIFEST.MF 2010-09-03 09:24:26 UTC (rev 24686)
@@ -12,7 +12,7 @@
org.eclipse.core.resources,
org.eclipse.core.runtime,
org.eclipse.core.variables,
- org.jboss.tools.usage;bundle-version="1.0.0";resolution:=optional
+ org.jboss.tools.usage;resolution:=optional
Bundle-ActivationPolicy: lazy
Bundle-ClassPath: archivescore.jar,
archivescore-eclipse.jar,
Modified: trunk/archives/plugins/org.jboss.ide.eclipse.archives.jdt.integration/META-INF/MANIFEST.MF
===================================================================
--- trunk/archives/plugins/org.jboss.ide.eclipse.archives.jdt.integration/META-INF/MANIFEST.MF 2010-09-03 08:17:51 UTC (rev 24685)
+++ trunk/archives/plugins/org.jboss.ide.eclipse.archives.jdt.integration/META-INF/MANIFEST.MF 2010-09-03 09:24:26 UTC (rev 24686)
@@ -6,12 +6,12 @@
Bundle-Activator: org.jboss.ide.eclipse.archives.jdt.integration.ArchiveJDTIntegrationPlugin
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
- org.eclipse.jdt.core;bundle-version="3.4.4",
- org.eclipse.jdt.ui;bundle-version="3.4.2",
- org.eclipse.core.resources;bundle-version="3.4.2",
- org.jboss.ide.eclipse.archives.core;bundle-version="2.0.0",
- org.jboss.ide.eclipse.archives.ui;bundle-version="1.0.0",
- org.eclipse.ui.navigator;bundle-version="3.3.102"
+ org.eclipse.jdt.core,
+ org.eclipse.jdt.ui,
+ org.eclipse.core.resources,
+ org.jboss.ide.eclipse.archives.core,
+ org.jboss.ide.eclipse.archives.ui,
+ org.eclipse.ui.navigator
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Export-Package: org.jboss.ide.eclipse.archives.jdt.integration.model,
Modified: trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/META-INF/MANIFEST.MF
===================================================================
--- trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/META-INF/MANIFEST.MF 2010-09-03 08:17:51 UTC (rev 24685)
+++ trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/META-INF/MANIFEST.MF 2010-09-03 09:24:26 UTC (rev 24686)
@@ -10,9 +10,9 @@
org.eclipse.core.runtime,
org.eclipse.core.resources,
org.jboss.ide.eclipse.archives.core,
- org.eclipse.debug.ui;bundle-version="3.4.0",
- org.eclipse.core.variables;bundle-version="3.2.100",
- org.eclipse.ui.navigator;bundle-version="3.3.100"
+ org.eclipse.debug.ui,
+ org.eclipse.core.variables,
+ org.eclipse.ui.navigator
Bundle-ActivationPolicy: lazy
Export-Package: org.jboss.ide.eclipse.archives.ui,
org.jboss.ide.eclipse.archives.ui.actions,
15 years, 7 months
JBoss Tools SVN: r24685 - trunk/documentation/whatsnew/as.
by jbosstools-commits@lists.jboss.org
Author: rob.stryker(a)jboss.com
Date: 2010-09-03 04:17:51 -0400 (Fri, 03 Sep 2010)
New Revision: 24685
Modified:
trunk/documentation/whatsnew/as/as-news-3.2.0.M2.html
Log:
JBIDE-6894 trunk as n&n
Modified: trunk/documentation/whatsnew/as/as-news-3.2.0.M2.html
===================================================================
--- trunk/documentation/whatsnew/as/as-news-3.2.0.M2.html 2010-09-03 08:17:27 UTC (rev 24684)
+++ trunk/documentation/whatsnew/as/as-news-3.2.0.M2.html 2010-09-03 08:17:51 UTC (rev 24685)
@@ -24,15 +24,17 @@
<tr>
<td valign="top" align="left">
<p align="right">
- <b>Name1</b></td>
+ <b>Remote System Support</b></td>
<td valign="top" width="90%">
<p></p>
-
+ If your eclipse has RSE tools installed, you will now be able to
+ direct your server to publish to an RSE location. In the future,
+ this will extend to starting and stopping your server as well.
+ For now, starting and stopping automatically "succeed" with no
+ actual action being taken when in RSE mode.
<p></p>
-
<p></p>
-
- <p><small><a href="https://jira.jboss.org/jira/browse">Related jira</a></small></p>
+ <p><small><a href="https://jira.jboss.org/jira/browse/JBIDE-6580">Related jira</a></small></p>
</td>
</tr>
@@ -45,12 +47,18 @@
<tr>
<td valign="top" align="left">
<p align="right">
- <b>Name2</b></td>
+ <b>Removal of Deprecated Items</b></td>
<td valign="top">
+ <p>The JBoss Servers View has finally been removed. Users should
+ notice no functionality hit by using the official Server's view.
+ The JBossTools Module Assembly page, which had been "bleeding edge"
+ and not quite polished, has also been removed and its functionality
+ can be found in the WTP Module Assembly Properties Page instead.</p>
+ <p>A side-effect of this is that you can now add filesets to projects
+ other than JBossTools projects, such as EAR, WEB, and EJB projects </p>
<p></p>
- <p></p>
- <p></p>
- <p><small><a href="https://jira.jboss.org/jira/browse/">Related jira</a></small></p>
+ <p><small><a href="https://jira.jboss.org/jira/browse/JBIDE-6848">Servers View</a></small></p>
+ <p><small><a href="https://jira.jboss.org/jira/browse/JBIDE-6849">Module Assembly</a></small></p>
</td>
</tr>
15 years, 7 months
JBoss Tools SVN: r24684 - branches/jbosstools-3.2.0.M2/documentation/whatsnew/as.
by jbosstools-commits@lists.jboss.org
Author: rob.stryker(a)jboss.com
Date: 2010-09-03 04:17:27 -0400 (Fri, 03 Sep 2010)
New Revision: 24684
Added:
branches/jbosstools-3.2.0.M2/documentation/whatsnew/as/as-news-3.2.0.M2.html
Log:
JBIDE-6894 branch as n&n
Added: branches/jbosstools-3.2.0.M2/documentation/whatsnew/as/as-news-3.2.0.M2.html
===================================================================
--- branches/jbosstools-3.2.0.M2/documentation/whatsnew/as/as-news-3.2.0.M2.html (rev 0)
+++ branches/jbosstools-3.2.0.M2/documentation/whatsnew/as/as-news-3.2.0.M2.html 2010-09-03 08:17:27 UTC (rev 24684)
@@ -0,0 +1,77 @@
+<html>
+
+<head>
+<link rel="stylesheet" href="../whatsnew.css">
+<title>JBoss AS Tools 2.2.0.M2 News</title>
+</head>
+
+<body>
+
+<h1>JBoss AS Tools 2.2.0.M2 - New and Noteworthy</h1>
+
+ <p align="right"><a href="../index.html">< Main Index</a> <a href="../hibernate/hibernate-news-3.4.0.M2.html">Hibernate Tools ></a></p>
+
+<table border="0" cellpadding="10" cellspacing="0" width="80%">
+
+ <tr>
+ <td colspan="2">
+ <hr/>
+ <h3>Server</h3>
+ <hr/>
+ </td>
+ </tr>
+
+ <tr>
+ <td valign="top" align="left">
+ <p align="right">
+ <b>Remote System Support</b></td>
+ <td valign="top" width="90%">
+ <p></p>
+ If your eclipse has RSE tools installed, you will now be able to
+ direct your server to publish to an RSE location. In the future,
+ this will extend to starting and stopping your server as well.
+ For now, starting and stopping automatically "succeed" with no
+ actual action being taken when in RSE mode.
+ <p></p>
+ <p></p>
+ <p><small><a href="https://jira.jboss.org/jira/browse/JBIDE-6580">Related jira</a></small></p>
+ </td>
+ </tr>
+
+ <tr>
+ <td colspan="2">
+ <hr/>
+ </td>
+ </tr>
+
+ <tr>
+ <td valign="top" align="left">
+ <p align="right">
+ <b>Removal of Deprecated Items</b></td>
+ <td valign="top">
+ <p>The JBoss Servers View has finally been removed. Users should
+ notice no functionality hit by using the official Server's view.
+ The JBossTools Module Assembly page, which had been "bleeding edge"
+ and not quite polished, has also been removed and its functionality
+ can be found in the WTP Module Assembly Properties Page instead.</p>
+ <p>A side-effect of this is that you can now add filesets to projects
+ other than JBossTools projects, such as EAR, WEB, and EJB projects </p>
+ <p></p>
+ <p><small><a href="https://jira.jboss.org/jira/browse/JBIDE-6848">Servers View</a></small></p>
+ <p><small><a href="https://jira.jboss.org/jira/browse/JBIDE-6849">Module Assembly</a></small></p>
+ </td>
+ </tr>
+
+ <tr>
+ <td colspan="2">
+ <hr/>
+ </td>
+ </tr>
+
+</table>
+
+</body>
+
+</html>
+
+
15 years, 7 months
JBoss Tools SVN: r24683 - in branches/jbosstools-3.2.0.M2/as/plugins: org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/launch and 1 other directories.
by jbosstools-commits@lists.jboss.org
Author: rob.stryker(a)jboss.com
Date: 2010-09-03 02:27:36 -0400 (Fri, 03 Sep 2010)
New Revision: 24683
Modified:
branches/jbosstools-3.2.0.M2/as/plugins/org.jboss.ide.eclipse.archives.webtools/META-INF/MANIFEST.MF
branches/jbosstools-3.2.0.M2/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/launch/JBossServerStartupLaunchConfiguration.java
branches/jbosstools-3.2.0.M2/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEBehaviourDelegate.java
Log:
JBIDE-6963 - remote start unsupported, should succeed but log warning
Modified: branches/jbosstools-3.2.0.M2/as/plugins/org.jboss.ide.eclipse.archives.webtools/META-INF/MANIFEST.MF
===================================================================
--- branches/jbosstools-3.2.0.M2/as/plugins/org.jboss.ide.eclipse.archives.webtools/META-INF/MANIFEST.MF 2010-09-03 04:15:56 UTC (rev 24682)
+++ branches/jbosstools-3.2.0.M2/as/plugins/org.jboss.ide.eclipse.archives.webtools/META-INF/MANIFEST.MF 2010-09-03 06:27:36 UTC (rev 24683)
@@ -30,8 +30,7 @@
org.eclipse.emf.ecore;bundle-version="2.5.0"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: org.jboss.ide.eclipse.archives,
- org.jboss.ide.eclipse.archives.webtools,
+Export-Package: org.jboss.ide.eclipse.archives.webtools,
org.jboss.ide.eclipse.archives.webtools.archivetypes,
org.jboss.ide.eclipse.archives.webtools.filesets,
org.jboss.ide.eclipse.archives.webtools.filesets.vcf,
Modified: branches/jbosstools-3.2.0.M2/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/launch/JBossServerStartupLaunchConfiguration.java
===================================================================
--- branches/jbosstools-3.2.0.M2/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/launch/JBossServerStartupLaunchConfiguration.java 2010-09-03 04:15:56 UTC (rev 24682)
+++ branches/jbosstools-3.2.0.M2/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/launch/JBossServerStartupLaunchConfiguration.java 2010-09-03 06:27:36 UTC (rev 24683)
@@ -12,14 +12,17 @@
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
import org.eclipse.debug.core.ILaunch;
import org.eclipse.debug.core.ILaunchConfiguration;
import org.eclipse.wst.server.core.IServer;
import org.eclipse.wst.server.core.ServerUtil;
+import org.jboss.ide.eclipse.as.core.JBossServerCorePlugin;
import org.jboss.ide.eclipse.as.core.publishers.LocalPublishMethod;
import org.jboss.ide.eclipse.as.core.server.IJBossServerPublishMethodType;
import org.jboss.ide.eclipse.as.core.server.internal.DeployableServerBehavior;
-import org.jboss.ide.eclipse.as.core.util.DeploymentPreferenceLoader;
+import org.jboss.ide.eclipse.as.core.server.internal.JBossServerBehavior;
import org.jboss.ide.eclipse.as.core.util.ServerConverter;
public class JBossServerStartupLaunchConfiguration extends AbstractJBossLaunchConfigType {
@@ -45,9 +48,39 @@
IJBossServerPublishMethodType type = beh.createPublishMethod().getPublishMethodType();
if( type.getId().equals(LocalPublishMethod.LOCAL_PUBLISH_METHOD)) {
del = new LocalJBossServerStartupLaunchUtil();
+ } else {
+ del = new NullLaunchDelegate();
}
return del;
}
+
+ protected static class NullLaunchDelegate implements StartLaunchDelegate {
+
+ public void actualLaunch(
+ JBossServerStartupLaunchConfiguration launchConfig,
+ ILaunchConfiguration configuration, String mode,
+ ILaunch launch, IProgressMonitor monitor) throws CoreException {
+ JBossServerBehavior beh = LocalJBossServerStartupLaunchUtil.getServerBehavior(configuration);
+ beh.setServerStarted();
+ IStatus warn = new Status(IStatus.WARNING, JBossServerCorePlugin.PLUGIN_ID, "Starting and stopping of remote servers is not yet supported"); //$NON-NLS-1$
+ JBossServerCorePlugin.getDefault().getLog().log(warn);
+ }
+
+ public boolean preLaunchCheck(ILaunchConfiguration configuration,
+ String mode, IProgressMonitor monitor) throws CoreException {
+ return true;
+ }
+
+ public void preLaunch(ILaunchConfiguration configuration, String mode,
+ ILaunch launch, IProgressMonitor monitor) throws CoreException {
+ }
+
+ public void postLaunch(ILaunchConfiguration configuration, String mode,
+ ILaunch launch, IProgressMonitor monitor) throws CoreException {
+ }
+
+ }
+
public void actualLaunch(ILaunchConfiguration configuration,
String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException {
getDelegate(configuration).actualLaunch(this, configuration, mode, launch, monitor);
Modified: branches/jbosstools-3.2.0.M2/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEBehaviourDelegate.java
===================================================================
--- branches/jbosstools-3.2.0.M2/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEBehaviourDelegate.java 2010-09-03 04:15:56 UTC (rev 24682)
+++ branches/jbosstools-3.2.0.M2/as/plugins/org.jboss.ide.eclipse.as.rse.core/src/org/jboss/ide/eclipse/as/rse/core/RSEBehaviourDelegate.java 2010-09-03 06:27:36 UTC (rev 24683)
@@ -9,8 +9,7 @@
@Override
public void stop(boolean force) {
- // TODO Auto-generated method stub
-
+ getActualBehavior().setServerStopped();
}
@Override
15 years, 8 months
JBoss Tools SVN: r24682 - branches/jbosstools-3.2.0.M2/usage/plugins.
by jbosstools-commits@lists.jboss.org
Author: nickboldt
Date: 2010-09-03 00:15:56 -0400 (Fri, 03 Sep 2010)
New Revision: 24682
Modified:
branches/jbosstools-3.2.0.M2/usage/plugins/pom.xml
Log:
wrong pom.xml - should be a pom module container, not an eclipse-plugin
Modified: branches/jbosstools-3.2.0.M2/usage/plugins/pom.xml
===================================================================
--- branches/jbosstools-3.2.0.M2/usage/plugins/pom.xml 2010-09-02 20:34:44 UTC (rev 24681)
+++ branches/jbosstools-3.2.0.M2/usage/plugins/pom.xml 2010-09-03 04:15:56 UTC (rev 24682)
@@ -1,13 +1,13 @@
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.jboss.tools</groupId>
- <artifactId>org.jboss.tools.parent.pom</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <groupId>org.jboss.tools.usage.plugins</groupId>
- <artifactId>org.jboss.tools.usage</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.jboss.tools.usage</groupId>
+ <artifactId>plugins</artifactId>
+ <name>usage.plugins</name>
+ <version>0.0.1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <modules>
+ <module>org.jboss.tools.usage</module>
+ </modules>
</project>
+
15 years, 8 months
JBoss Tools SVN: r24681 - trunk/vpe/features/org.jboss.tools.xulrunner.feature.
by jbosstools-commits@lists.jboss.org
Author: dgolovin
Date: 2010-09-02 16:34:44 -0400 (Thu, 02 Sep 2010)
New Revision: 24681
Modified:
trunk/vpe/features/org.jboss.tools.xulrunner.feature/pom.xml
Log:
https://jira.jboss.org/browse/JBIDE-6965 VPE editor does not work in JBT 3.2.0.M2
updated pom.xml version to 1.9.12.qualifier to be the same as in M2 branch
Modified: trunk/vpe/features/org.jboss.tools.xulrunner.feature/pom.xml
===================================================================
--- trunk/vpe/features/org.jboss.tools.xulrunner.feature/pom.xml 2010-09-02 20:20:17 UTC (rev 24680)
+++ trunk/vpe/features/org.jboss.tools.xulrunner.feature/pom.xml 2010-09-02 20:34:44 UTC (rev 24681)
@@ -8,6 +8,6 @@
</parent>
<groupId>org.jboss.tools.vpe.features</groupId>
<artifactId>org.jboss.tools.xulrunner.feature</artifactId>
- <version>1.9.2.qualifier</version>
+ <version>1.9.12.qualifier</version>
<packaging>eclipse-feature</packaging>
</project>
15 years, 8 months
JBoss Tools SVN: r24680 - in trunk/smooks/plugins/org.jboss.tools.smooks.runtime: META-INF and 1 other directories.
by jbosstools-commits@lists.jboss.org
Author: bfitzpat
Date: 2010-09-02 16:20:17 -0400 (Thu, 02 Sep 2010)
New Revision: 24680
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/xstream-1.2.2.jar
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.runtime/.classpath
trunk/smooks/plugins/org.jboss.tools.smooks.runtime/META-INF/MANIFEST.MF
trunk/smooks/plugins/org.jboss.tools.smooks.runtime/build.properties
Log:
OPEN - issue JBIDE-6152: Configs for Java Sources where the class package name includes underscores is not being generated properly
https://jira.jboss.org/browse/JBIDE-6152
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.runtime/.classpath
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.runtime/.classpath 2010-09-02 20:16:32 UTC (rev 24679)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.runtime/.classpath 2010-09-02 20:20:17 UTC (rev 24680)
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
+ <classpathentry exported="true" kind="lib" path="libs/xstream-1.2.2.jar"/>
<classpathentry exported="true" kind="lib" path="libs/freemarker-2.3.11.jar"/>
<classpathentry exported="true" kind="lib" path="libs/opencsv-1.8.jar"/>
<classpathentry exported="true" kind="lib" path="libs/jackson-core-lgpl-1.0.1.jar"/>
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.runtime/META-INF/MANIFEST.MF
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.runtime/META-INF/MANIFEST.MF 2010-09-02 20:16:32 UTC (rev 24679)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.runtime/META-INF/MANIFEST.MF 2010-09-02 20:20:17 UTC (rev 24680)
@@ -21,7 +21,8 @@
libs/milyn-smooks-edi-1.2.1.jar,
libs/milyn-smooks-json-1.2.1.jar,
libs/opencsv-1.8.jar,
- libs/freemarker-2.3.11.jar
+ libs/freemarker-2.3.11.jar,
+ libs/xstream-1.2.2.jar
Bundle-Localization: plugin
Bundle-Vendor: %providerName
Export-Package: au.com.bytecode.opencsv,
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.runtime/build.properties
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.runtime/build.properties 2010-09-02 20:16:32 UTC (rev 24679)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.runtime/build.properties 2010-09-02 20:20:17 UTC (rev 24680)
@@ -9,5 +9,6 @@
libs/opencsv-1.8.jar,\
plugin.properties,\
libs/freemarker-2.3.11.jar,\
- about.html
+ about.html,\
+ libs/xstream-1.2.2.jar
jars.compile.order =
Added: trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/xstream-1.2.2.jar
===================================================================
(Binary files differ)
Property changes on: trunk/smooks/plugins/org.jboss.tools.smooks.runtime/libs/xstream-1.2.2.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
15 years, 8 months
JBoss Tools SVN: r24679 - trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors.
by jbosstools-commits@lists.jboss.org
Author: bfitzpat
Date: 2010-09-02 16:16:32 -0400 (Thu, 02 Sep 2010)
New Revision: 24679
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SelectorCreationDialog.java
Log:
OPEN - issue JBIDE-6152: Configs for Java Sources where the class package name includes underscores is not being generated properly
https://jira.jboss.org/browse/JBIDE-6152
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SelectorCreationDialog.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SelectorCreationDialog.java 2010-09-02 20:11:13 UTC (rev 24678)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/SelectorCreationDialog.java 2010-09-02 20:16:32 UTC (rev 24679)
@@ -11,10 +11,31 @@
package org.jboss.tools.smooks.configuration.editors;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Collections;
+import java.util.HashMap;
import java.util.Iterator;
+import java.util.LinkedHashSet;
import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.lang.reflect.Array;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMResult;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
+import org.w3c.dom.Document;
+
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.viewers.DoubleClickEvent;
@@ -60,6 +81,8 @@
import org.jboss.tools.smooks.model.smooks.DocumentRoot;
import org.jboss.tools.smooks.model.smooks.SmooksResourceListType;
import org.jboss.tools.smooks10.model.smooks.util.SmooksModelUtils;
+import org.milyn.Smooks;
+import org.milyn.payload.JavaSource;
/**
* @author Dart (dpeng(a)redhat.com)
@@ -307,10 +330,11 @@
if (SmooksModelUtils.INPUT_TYPE_JAVA.equals(type)) {
try {
Class<?> clazz = SmooksUIUtils.loadClass(path, project);
- JavaBeanModel model = JavaBeanModelFactory.getJavaBeanModelWithLazyLoad(clazz);
- if (model != null) {
- list.add(model);
- }
+ Document newmodel = getModel(clazz);
+ if (newmodel != null) {
+ TagList tagList = new XMLObjectAnalyzer().analyze(newmodel, null , null);
+ list.addAll(tagList.getChildren());
+ }
} catch (Throwable t) {
currentException = t;
}
@@ -514,4 +538,140 @@
return super.close();
}
+ public static class JavaGraphBuilder {
+
+ public <T> T buildGraph(Class<T> messageType) {
+ try {
+ return buildObject(messageType);
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new IllegalArgumentException("Unable to construct an instance of '" + messageType.getName() + "'", e);
+ }
+ }
+
+ private <T> T buildObject(Class<T> objectType) throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException {
+
+ if(String.class.isAssignableFrom(objectType)) {
+ return objectType.cast("x");
+ } else if(Number.class.isAssignableFrom(objectType)) {
+ return objectType.getConstructor(String.class).newInstance("1");
+ } else if(objectType.isPrimitive()) {
+ return (T) primitiveToObjectMap.get(objectType);
+ } else if(objectType == Object.class) {
+ // don't construct raw Object types... leave them and just return null...
+ return null;
+ }
+
+ T messageInstance = objectType.newInstance();
+
+ // populate all the fields...
+ Method[] methods = objectType.getMethods();
+ for(Method method : methods) {
+ if(method.getName().startsWith("set") && method.getParameterTypes().length == 1) {
+ Class<?> propertyType = method.getParameterTypes()[0];
+ Object propertyInstance = null;
+
+ if(Collection.class.isAssignableFrom(propertyType)) {
+ propertyInstance = buildCollection(method, propertyType);
+ } else if(propertyType.isArray()) {
+ propertyInstance = buildArray(method, propertyType);
+ } else {
+ propertyInstance = buildObject(propertyType);
+ }
+
+ if(propertyInstance != null) {
+ method.invoke(messageInstance, propertyInstance);
+ }
+ }
+ }
+
+ return messageInstance;
+ }
+
+ private Object buildArray(Method method, Class<?> propertyType) throws ArrayIndexOutOfBoundsException, IllegalArgumentException, IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException {
+ Class<?> arrayType = propertyType.getComponentType();
+ Object[] arrayObj = (Object[]) Array.newInstance(arrayType, 1);
+
+ Array.set(arrayObj, 0, buildObject(arrayType));
+
+ return arrayObj;
+ }
+
+ private Object buildCollection(Method method, Class<?> propertyType) throws IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException {
+ Type genericType = method.getGenericParameterTypes()[0];
+
+ if(genericType instanceof ParameterizedType) {
+ ParameterizedType genericTypeClass = (ParameterizedType) genericType;
+ Collection collection = null;
+
+ if(!propertyType.isInterface()) {
+ // It's a concrete Collection type... just create an instance...
+ collection = (Collection) propertyType.newInstance();
+ }else if(List.class.isAssignableFrom(propertyType)) {
+ collection = new ArrayList();
+ } else if(Set.class.isAssignableFrom(propertyType)) {
+ collection = new LinkedHashSet();
+ }
+
+ if(collection != null) {
+ collection.add(buildObject((Class<Object>) genericTypeClass.getActualTypeArguments()[0]));
+ return collection;
+ }
+ }
+
+ return null;
+ }
+
+ private static final Map<Class, Object> primitiveToObjectMap;
+
+ static {
+ primitiveToObjectMap = new HashMap<Class, Object>();
+ primitiveToObjectMap.put(int.class, 1);
+ primitiveToObjectMap.put(long.class, 1L);
+ primitiveToObjectMap.put(boolean.class, true);
+ primitiveToObjectMap.put(float.class, 1f);
+ primitiveToObjectMap.put(double.class, 1d);
+ primitiveToObjectMap.put(char.class, '1');
+ primitiveToObjectMap.put(byte.class, Byte.parseByte("1"));
+ primitiveToObjectMap.put(short.class, 1);
+ }
+
+ }
+
+ public static Document getModel(Class<?> theModelClass) throws Exception {
+ try {
+ Object objectGraph = graphBuilder.buildGraph(theModelClass);
+ DOMResult domResult = new DOMResult();
+
+ // Filter a populated object model through an actual smooks runtime instance.
+ // this ensures that the generated model will be exactly the same as that seen
+ // by the smooks instance at runtime...
+ smooksRuntime.filterSource(new JavaSource(objectGraph), domResult);
+
+ return (Document) domResult.getNode();
+ } catch (Exception e) {
+ throw new Exception("Error build project classpath.", e); //$NON-NLS-1$
+ }
+ }
+
+ private static JavaGraphBuilder graphBuilder = new JavaGraphBuilder();
+ private static Smooks smooksRuntime = new Smooks();
+
+ private static void printDocumentAsXML ( Document document ) {
+ // Use a Transformer for output
+ TransformerFactory tFactory =
+ TransformerFactory.newInstance();
+ Transformer transformer;
+ try {
+ transformer = tFactory.newTransformer();
+ DOMSource source = new DOMSource(document);
+ StreamResult result = new StreamResult(System.out);
+ transformer.transform(source, result);
+ } catch (TransformerConfigurationException e) {
+ e.printStackTrace();
+ } catch (TransformerException e) {
+ e.printStackTrace();
+ }
+
+ }
}
15 years, 8 months