Author: DartPeng
Date: 2008-12-23 03:36:26 -0500 (Tue, 23 Dec 2008)
New Revision: 12812
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/commandprocessor/JavaBeanModelCommandProcessor.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksGraphicalFormPage.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/gef/commandprocessor/CommandProcessorFactory.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/gef/commandprocessor/ICommandProcessor.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/gef/policy/CustomGraphicalNodeEditPolicy.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/gef/tools/TargetTreeDropTargetListener.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/utils/UIUtils.java
Log:
check the connection
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/commandprocessor/JavaBeanModelCommandProcessor.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/commandprocessor/JavaBeanModelCommandProcessor.java 2008-12-23
03:32:08 UTC (rev 12811)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/commandprocessor/JavaBeanModelCommandProcessor.java 2008-12-23
08:36:26 UTC (rev 12812)
@@ -31,14 +31,55 @@
*/
public class JavaBeanModelCommandProcessor implements ICommandProcessor {
- public void processEMFCommand(Command emfCommand,
+ public boolean processEMFCommand(Command emfCommand,
SmooksConfigurationFileGenerateContext context) {
+ return true;
}
- public void processGEFCommand(org.eclipse.gef.commands.Command gefCommand,
+ private boolean checkGEFCommand(
+ org.eclipse.gef.commands.Command gefCommand,
SmooksConfigurationFileGenerateContext context) {
+ if (CreateConnectionCommand.class.isAssignableFrom(gefCommand
+ .getClass())) {
+ CreateConnectionCommand command = (CreateConnectionCommand) gefCommand;
+ if (command.getSource() != null && command.getTarget() != null) {
+ Object m = command.getTarget();
+ Object s = command.getSource();
+ if (m instanceof AbstractStructuredDataModel
+ && s instanceof AbstractStructuredDataModel) {
+ Object source = ((AbstractStructuredDataModel) s)
+ .getReferenceEntityModel();
+ Object t = ((AbstractStructuredDataModel) m)
+ .getReferenceEntityModel();
+ if(source instanceof JavaBeanModel && t instanceof JavaBeanModel){
+ boolean sis = ((JavaBeanModel)source).isPrimitive();
+ boolean tis = ((JavaBeanModel)t).isPrimitive();
+ if( (sis && !tis) || (!sis && tis)){
+ return false;
+ }
+ }
+ }
+ }
+ }
+ return true;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @seeorg.jboss.tools.smooks.ui.gef.commandprocessor.ICommandProcessor#
+ * processGEFCommand(org.eclipse.gef.commands.Command,
+ * org.jboss.tools.smooks
+ * .ui.modelparser.SmooksConfigurationFileGenerateContext)
+ */
+ public boolean processGEFCommand(
+ org.eclipse.gef.commands.Command gefCommand,
+ SmooksConfigurationFileGenerateContext context) {
Object source = null;
JavaBeanModel target = null;
+ if (!checkGEFCommand(gefCommand, context)) {
+ return false;
+ }
if (CreateConnectionCommand.class.isAssignableFrom(gefCommand
.getClass())) {
CreateConnectionCommand command = (CreateConnectionCommand) gefCommand;
@@ -73,6 +114,7 @@
compoundCommand.execute();
}
}
+ return true;
}
private void fillCreateParentLinkCommand(CompoundCommand compoundCommand,
@@ -99,6 +141,7 @@
private CreateConnectionCommand createParentLinkCommand(Object source,
JavaBeanModel target, SmooksConfigurationFileGenerateContext context) {
+ if(target == null) return null;
ITreeContentProvider sourceProvider = context.getSourceViewerProvider();
JavaBeanModel targetParent = target.getParent();
AbstractStructuredDataModel targetParentGraphModel = UIUtils
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksGraphicalFormPage.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksGraphicalFormPage.java 2008-12-23
03:32:08 UTC (rev 12811)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/editors/SmooksGraphicalFormPage.java 2008-12-23
08:36:26 UTC (rev 12812)
@@ -1046,10 +1046,7 @@
if (dialog.open() == org.eclipse.jface.dialogs.Dialog.OK) {
sourceDataTypeID = wizard.getSourceDataTypeID();
targetDataTypeID = wizard.getTargetDataTypeID();
- // sourceTreeViewerInputModel = wizard
- // .getSourceTreeViewerInputContents();
- // targetTreeViewerInputModel = wizard
- // .getTargetTreeViewerInputContents();
+
SmooksConfigurationFileGenerateContext context =
getSmooksConfigurationFileGenerateContext();
context.setSourceDataTypeID(sourceDataTypeID);
context.setTargetDataTypeID(targetDataTypeID);
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/gef/commandprocessor/CommandProcessorFactory.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/gef/commandprocessor/CommandProcessorFactory.java 2008-12-23
03:32:08 UTC (rev 12811)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/gef/commandprocessor/CommandProcessorFactory.java 2008-12-23
08:36:26 UTC (rev 12812)
@@ -68,7 +68,7 @@
return instance;
}
- public void processGEFCommand(Command command, EditPart editPart) throws CoreException
{
+ public boolean processGEFCommand(Command command, EditPart editPart) throws
CoreException {
if(editPart != null && editPart instanceof GraphicalEditPart){
DefaultEditDomain domain =
(DefaultEditDomain)((GraphicalViewer)((GraphicalEditPart)editPart).getViewer()).getEditDomain();
IEditorPart pa = domain.getEditorPart();
@@ -77,18 +77,20 @@
if(page != null){
String sourceId = page.getSourceDataTypeID();
String targetId = page.getTargetDataTypeID();
- processGEFCommand(command,
sourceId,targetId,page.getSmooksConfigurationFileGenerateContext());
+ return processGEFCommand(command,
sourceId,targetId,page.getSmooksConfigurationFileGenerateContext());
}
}
}
+ return true;
}
- public void processGEFCommand(Command command, String sourceId,
+ public boolean processGEFCommand(Command command, String sourceId,
String targetId , SmooksConfigurationFileGenerateContext context) throws
CoreException {
ICommandProcessor pro = getCommandProcessor(sourceId, targetId);
if (pro != null) {
- pro.processGEFCommand(command , context);
+ return pro.processGEFCommand(command , context);
}
+ return true;
}
public ICommandProcessor getCommandProcessor(String sourceId,
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/gef/commandprocessor/ICommandProcessor.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/gef/commandprocessor/ICommandProcessor.java 2008-12-23
03:32:08 UTC (rev 12811)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/gef/commandprocessor/ICommandProcessor.java 2008-12-23
08:36:26 UTC (rev 12812)
@@ -10,7 +10,7 @@
* @CreateTime Jul 22, 2008
*/
public interface ICommandProcessor {
- public void processGEFCommand(Command gefCommand ,
SmooksConfigurationFileGenerateContext context);
+ public boolean processGEFCommand(Command gefCommand ,
SmooksConfigurationFileGenerateContext context);
- public void processEMFCommand(org.eclipse.emf.common.command.Command emfCommand,
SmooksConfigurationFileGenerateContext context);
+ public boolean processEMFCommand(org.eclipse.emf.common.command.Command emfCommand,
SmooksConfigurationFileGenerateContext context);
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/gef/policy/CustomGraphicalNodeEditPolicy.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/gef/policy/CustomGraphicalNodeEditPolicy.java 2008-12-23
03:32:08 UTC (rev 12811)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/gef/policy/CustomGraphicalNodeEditPolicy.java 2008-12-23
08:36:26 UTC (rev 12812)
@@ -29,8 +29,9 @@
}
command.setTarget(getHost().getModel());
try {
- CommandProcessorFactory.getInstance().processGEFCommand(command,
+ boolean cando = CommandProcessorFactory.getInstance().processGEFCommand(command,
getHost());
+ if(!cando) return null;
} catch (CoreException e) {
// ignore
}
@@ -46,8 +47,7 @@
EditPart childEditPart = (EditPart) iterator.next();
Object cm = childEditPart.getModel();
if (cm instanceof AbstractStructuredDataModel) {
- if (((AbstractStructuredDataModel) cm)
- .getReferenceEntityModel() == model) {
+ if (((AbstractStructuredDataModel) cm).getReferenceEntityModel() == model) {
resultEditPart = childEditPart;
break;
}
@@ -62,8 +62,9 @@
command.setSource(getHost().getModel());
request.setStartCommand(command);
try {
- CommandProcessorFactory.getInstance().processGEFCommand(command,
+ boolean cando = CommandProcessorFactory.getInstance().processGEFCommand(command,
getHost());
+ if(!cando) return null;
} catch (CoreException e) {
// ignore
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/gef/tools/TargetTreeDropTargetListener.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/gef/tools/TargetTreeDropTargetListener.java 2008-12-23
03:32:08 UTC (rev 12811)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/gef/tools/TargetTreeDropTargetListener.java 2008-12-23
08:36:26 UTC (rev 12812)
@@ -71,7 +71,8 @@
Point p = hostViewer.getTree().toControl(
new Point(event.x, event.y));
TreeItem item = hostViewer.getTree().getItem(p);
- if(item == null) return;
+ if (item == null)
+ return;
Object model = item.getData();
SmooksCustomConnectionCreationTool tool = (SmooksCustomConnectionCreationTool) this
@@ -97,7 +98,7 @@
try {
Object source = TemplateTransfer.getInstance().getTemplate();
SmooksCustomConnectionCreationTool tool = (SmooksCustomConnectionCreationTool) this
- .getGraphicalViewer().getEditDomain().getActiveTool();
+ .getGraphicalViewer().getEditDomain().getActiveTool();
if (source == null) {
source = tool.getSourceModel();
}
@@ -105,22 +106,30 @@
if (item != null) {
Object target = item.getData();
if (source != null && target != null) {
- source = tool.findTheEditPart(source, this.getGraphicalViewer()).getModel();
- EditPart targetEditPart = tool.findTheEditPart(target, this.getGraphicalViewer());
+ source = tool.findTheEditPart(source,
+ this.getGraphicalViewer()).getModel();
+ EditPart targetEditPart = tool.findTheEditPart(target, this
+ .getGraphicalViewer());
target = targetEditPart.getModel();
CreateConnectionCommand command = new CreateConnectionCommand();
command.setSource(source);
command.setTarget(target);
- CommandStack stack = getGraphicalViewer().getEditDomain().getCommandStack();
+ CommandStack stack = getGraphicalViewer().getEditDomain()
+ .getCommandStack();
try {
- CommandProcessorFactory.getInstance().processGEFCommand(command, targetEditPart);
+ boolean cando = CommandProcessorFactory.getInstance()
+ .processGEFCommand(command, targetEditPart);
+ if (!cando)
+ return;
} catch (CoreException e) {
// ignore
}
stack.execute(command);
}
}
- } finally {
+ }catch(Throwable t){
+ t.printStackTrace();
+ }finally {
Tool dt = getGraphicalViewer().getEditDomain().getDefaultTool();
getGraphicalViewer().getEditDomain().setActiveTool(dt);
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/utils/UIUtils.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/utils/UIUtils.java 2008-12-23
03:32:08 UTC (rev 12811)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/utils/UIUtils.java 2008-12-23
08:36:26 UTC (rev 12812)
@@ -104,8 +104,14 @@
.getAbstractResourceConfig();
for (Iterator<AbstractResourceConfig> iterator = lists.iterator(); iterator
.hasNext();) {
- ResourceConfigType resourceConfig = (ResourceConfigType) iterator
+ AbstractResourceConfig resourceConfig1 = (AbstractResourceConfig) iterator
.next();
+ ResourceConfigType resourceConfig = null;
+ if(resourceConfig1 instanceof ResourceConfigType){
+ resourceConfig = (ResourceConfigType)resourceConfig1;
+ }else{
+ continue;
+ }
String selector = resourceConfig.getSelector();
UIUtils.checkSelector(selector);
List<Object> list = SmooksModelUtils