[jbosstools-commits] JBoss Tools SVN: r13106 - in trunk/smooks/plugins/org.jboss.tools.smooks.ui: src/org/jboss/tools/smooks/javabean/commandprocessor and 7 other directories.
jbosstools-commits at lists.jboss.org
jbosstools-commits at lists.jboss.org
Sun Jan 18 09:24:17 EST 2009
Author: DartPeng
Date: 2009-01-18 09:24:16 -0500 (Sun, 18 Jan 2009)
New Revision: 13106
Added:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/icons/full/obj16/int_obj.gif
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/model/BeanlabelProvider.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/model/JavaBeanModel.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/ui/BeanPopulatorGraphicalModelListener.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/ui/JavaBeanModelLoadComposite.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/ui/JavaImageConstants.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/ui/TargetReferenceConnectionLine.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/ui/action/AddJavaBeanModelAction.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/SmooksUIActivator.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/gef/editparts/StructuredDataConnectionEditPart.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/gef/model/IGraphicalModelListener.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/utils/ProjectClassLoader.java
Log:
JBIDE-3539
Modify the ProjectClassLoader, allow the classloader to load the classes which is from the required projects.
Added: trunk/smooks/plugins/org.jboss.tools.smooks.ui/icons/full/obj16/int_obj.gif
===================================================================
(Binary files differ)
Property changes on: trunk/smooks/plugins/org.jboss.tools.smooks.ui/icons/full/obj16/int_obj.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
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 2009-01-18 07:45:38 UTC (rev 13105)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/commandprocessor/JavaBeanModelCommandProcessor.java 2009-01-18 14:24:16 UTC (rev 13106)
@@ -11,6 +11,7 @@
package org.jboss.tools.smooks.javabean.commandprocessor;
import java.util.Collection;
+import java.util.Iterator;
import java.util.List;
import org.eclipse.emf.common.command.Command;
@@ -19,6 +20,7 @@
import org.eclipse.gef.commands.CommandStack;
import org.eclipse.gef.commands.CompoundCommand;
import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.jboss.tools.smooks.javabean.model.Java2JavaAnalyzer;
import org.jboss.tools.smooks.javabean.model.JavaBeanList;
import org.jboss.tools.smooks.javabean.model.JavaBeanModel;
import org.jboss.tools.smooks.javabean.ui.BeanPopulatorMappingAnalyzer;
@@ -84,6 +86,8 @@
AbstractStructuredDataModel sourceGraphModel,
AbstractStructuredDataModel targetGraphModel,
SmooksConfigurationFileGenerateContext context) {
+ if (sourceGraphModel instanceof TargetModel)
+ return true;
Object source = ((AbstractStructuredDataModel) sourceGraphModel)
.getReferenceEntityModel();
Object t = ((AbstractStructuredDataModel) targetGraphModel)
@@ -142,24 +146,54 @@
if (sourceGraphModel instanceof SourceModel) {
return true;
}
+ Object sourceParent = sourceGraphModel.getReferenceEntityModel();
+ if(!(sourceParent instanceof JavaBeanModel)){
+ return false;
+ }
+ sourceParent = ((JavaBeanModel)sourceParent).getParent();
+ if(sourceParent == null){
+ return false;
+ }
+ if(sourceParent instanceof JavaBeanList){
+ return false;
+ }
+ IConnectableModel sourceParentGraph = (IConnectableModel) UIUtils
+ .findGraphModel(context.getGraphicalRootModel(), sourceParent);
List connections = ((IConnectableModel) targetGraphModel)
.getModelTargetConnections();
List connections1 = ((IConnectableModel) sourceGraphModel)
- .getModelSourceConnections();
- // *2Java , allow the target node have two connections :
+ .getModelSourceConnections();
+ // If the source's parent node haven't any associated resource-config ,
+ // refuse the connect request.
+ List parentConnections = sourceParentGraph.getModelTargetConnections();
+ if (parentConnections.size() == 0)
+ return false;
+ for (Iterator iterator = parentConnections.iterator(); iterator
+ .hasNext();) {
+ LineConnectionModel object = (LineConnectionModel) iterator.next();
+ if (object.getProperty(Java2JavaAnalyzer.REFERENCE_RESOURCE_CONFIG) == null) {
+ return false;
+ }
+ }
+
+ if (connections1.size() > 0)
+ return false;
+ boolean hasBeanCreation = false;
+ // *2Java , allow the target node have two kind connections :
// 1.beancreation,2.referencebinding
// reference binding need the target node have the bean creation
// connection already.
- if(connections1.size() > 0) return false;
- if (connections.size() != 1)
+ for (Iterator iterator = connections.iterator(); iterator.hasNext();) {
+ LineConnectionModel line = (LineConnectionModel) iterator.next();
+ Object bindingType = line
+ .getProperty(BeanPopulatorMappingAnalyzer.BINDING_TYPE);
+ if (BeanPopulatorMappingAnalyzer.BEAN_CREATION.equals(bindingType)) {
+ hasBeanCreation = true;
+ break;
+ }
+ }
+ if (!hasBeanCreation)
return false;
- LineConnectionModel line = (LineConnectionModel) connections.get(0);
- Object bindingType = line
- .getProperty(BeanPopulatorMappingAnalyzer.BINDING_TYPE);
- if (!BeanPopulatorMappingAnalyzer.BEAN_CREATION.equals(bindingType)) {
- return false;
- }
-
return true;
}
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/model/BeanlabelProvider.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/model/BeanlabelProvider.java 2009-01-18 07:45:38 UTC (rev 13105)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/model/BeanlabelProvider.java 2009-01-18 14:24:16 UTC (rev 13106)
@@ -74,6 +74,11 @@
.getImageRegistry()
.get(JavaImageConstants.IMAGE_JAVA_COLLECTION);
}
+ if (typeRef.isInterface()) {
+ return SmooksUIActivator.getDefault()
+ .getImageRegistry()
+ .get(JavaImageConstants.IMAGE_JAVA_INTERFACE);
+ }
}
return this.getJavaObjectImage();
}
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/model/JavaBeanModel.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/model/JavaBeanModel.java 2009-01-18 07:45:38 UTC (rev 13105)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/model/JavaBeanModel.java 2009-01-18 14:24:16 UTC (rev 13106)
@@ -91,6 +91,10 @@
}
public void addPropertyChangeListener(PropertyChangeListener listener) {
+ PropertyChangeListener[] array = support.getPropertyChangeListeners();
+ for (int i = 0; i < array.length; i++) {
+ if(listener == array[i]) return;
+ }
support.addPropertyChangeListener(listener);
}
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/ui/BeanPopulatorGraphicalModelListener.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/ui/BeanPopulatorGraphicalModelListener.java 2009-01-18 07:45:38 UTC (rev 13105)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/ui/BeanPopulatorGraphicalModelListener.java 2009-01-18 14:24:16 UTC (rev 13106)
@@ -3,6 +3,7 @@
*/
package org.jboss.tools.smooks.javabean.ui;
+import java.beans.PropertyChangeEvent;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@@ -19,6 +20,7 @@
import org.jboss.tools.smooks.model.util.SmooksModelConstants;
import org.jboss.tools.smooks.model.util.SmooksModelUtils;
import org.jboss.tools.smooks.ui.IXMLStructuredObject;
+import org.jboss.tools.smooks.ui.gef.model.AbstractStructuredDataConnectionModel;
import org.jboss.tools.smooks.ui.gef.model.AbstractStructuredDataModel;
import org.jboss.tools.smooks.ui.gef.model.GraphRootModel;
import org.jboss.tools.smooks.ui.gef.model.IConnectableModel;
@@ -132,12 +134,14 @@
return;
}
beanId = beanId.trim();
- String propertyName = ((JavaBeanModel)source).getName();
- if(((JavaBeanModel)sourceParent).isArray() || ((JavaBeanModel)sourceParent).isList()){
+ String propertyName = ((JavaBeanModel) source).getName();
+ if (((JavaBeanModel) sourceParent).isArray()
+ || ((JavaBeanModel) sourceParent).isList()) {
propertyName = null;
}
- String selector = "${" + beanId +"}";
- addBindingToParamType(hostResourceConfig, propertyName, selector, line);
+ String selector = "${" + beanId + "}";
+ addBindingToParamType(hostResourceConfig, propertyName,
+ selector, line);
}
}
}
@@ -145,7 +149,8 @@
private void setReferenceResourceConfig(ResourceConfigType resourceConfig,
LineConnectionModel connection) {
connection.updateAndAddProperty(
- BeanPopulatorMappingAnalyzer.REFERENCE_RESOURCE_CONFIG, resourceConfig);
+ BeanPopulatorMappingAnalyzer.REFERENCE_RESOURCE_CONFIG,
+ resourceConfig);
}
private ResourceConfigType getResourceConfig(LineConnectionModel line) {
@@ -286,19 +291,19 @@
JavaBeanModel parent, GraphRootModel root,
ResourceConfigType referenceResourceConfig) {
IConnectableModel parentGraphModel = (IConnectableModel) UIUtils
- .findGraphModel(root, parent);
- List targetConnections = parentGraphModel.getModelTargetConnections();
+ .findGraphModel(root, parent);
+ List targetConnections = parentGraphModel.getModelTargetConnections();
List temp1 = new ArrayList(targetConnections);
- for (Iterator iterator = temp1.iterator(); iterator
- .hasNext();) {
- LineConnectionModel targetConnection = (LineConnectionModel) iterator.next();
- if(isReferenceBindingConnection(targetConnection)){
+ for (Iterator iterator = temp1.iterator(); iterator.hasNext();) {
+ LineConnectionModel targetConnection = (LineConnectionModel) iterator
+ .next();
+ if (isReferenceBindingConnection(targetConnection)) {
targetConnection.disConnect();
}
}
temp1.clear();
temp1 = null;
-
+
List<IXMLStructuredObject> children = parent.getChildren();
for (Iterator iterator = children.iterator(); iterator.hasNext();) {
IXMLStructuredObject structuredObject = (IXMLStructuredObject) iterator
@@ -362,7 +367,8 @@
EditingDomain domain = context.getDomain();
UIUtils.addResourceConfigType(domain, listType, resourceConfig);
PropertyModel bindingModel = new PropertyModel(
- BeanPopulatorMappingAnalyzer.REFERENCE_RESOURCE_CONFIG, resourceConfig);
+ BeanPopulatorMappingAnalyzer.REFERENCE_RESOURCE_CONFIG,
+ resourceConfig);
((LineConnectionModel) graphicalModel).addPropertyModel(bindingModel);
}
@@ -430,8 +436,18 @@
* )
*/
public void modelChanged(Object graphicalModel,
- SmooksConfigurationFileGenerateContext context) {
-
+ SmooksConfigurationFileGenerateContext context,
+ PropertyChangeEvent event) {
+ if(graphicalModel instanceof LineConnectionModel){
+ String pm = event.getPropertyName();
+ if(AbstractStructuredDataConnectionModel.CONNECTION_PROPERTY_CHANGE.equals(pm)){
+ if(event.getNewValue() != null){
+ if(event.getOldValue() != null){
+ PropertyModel model = (PropertyModel)event.getNewValue();
+ }
+ }
+ }
+ }
}
/*
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/ui/JavaBeanModelLoadComposite.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/ui/JavaBeanModelLoadComposite.java 2009-01-18 07:45:38 UTC (rev 13105)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/ui/JavaBeanModelLoadComposite.java 2009-01-18 14:24:16 UTC (rev 13106)
@@ -10,6 +10,7 @@
******************************************************************************/
package org.jboss.tools.smooks.javabean.ui;
+import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@@ -242,7 +243,29 @@
}
public void widgetSelected(SelectionEvent arg0) {
- IJavaSearchScope scope = JavaSearchScopeFactory.getInstance().createWorkspaceScope(true);
+
+ IJavaSearchScope scope = null;
+ if (javaProject == null) {
+ scope = JavaSearchScopeFactory.getInstance().createWorkspaceScope(
+ true);
+ } else {
+ String[] requiredProjects = null;
+ try {
+ requiredProjects = javaProject.getRequiredProjectNames();
+ } catch (Exception e) {
+ }
+ if (requiredProjects == null) {
+ requiredProjects = new String[] { javaProject.getElementName() };
+ } else {
+ String[] temp = new String[requiredProjects.length + 1];
+ temp[0] = javaProject.getElementName();
+ System.arraycopy(requiredProjects, 0, temp, 1,
+ requiredProjects.length);
+ requiredProjects = temp;
+ }
+ scope = JavaSearchScopeFactory.getInstance()
+ .createJavaProjectSearchScope(requiredProjects, true);
+ }
SelectionDialog dialog;
Throwable exception = null;
try {
@@ -340,12 +363,14 @@
switch (columnIndex) {
case 0:
if (isArray) {
- return SmooksUIActivator.getDefault().getImageRegistry().get(
- JavaImageConstants.IMAGE_JAVA_ARRAY);
+ return SmooksUIActivator.getDefault()
+ .getImageRegistry().get(
+ JavaImageConstants.IMAGE_JAVA_ARRAY);
}
if (isList) {
- return SmooksUIActivator.getDefault().getImageRegistry().get(
- JavaImageConstants.IMAGE_JAVA_COLLECTION);
+ return SmooksUIActivator.getDefault()
+ .getImageRegistry()
+ .get(JavaImageConstants.IMAGE_JAVA_COLLECTION);
}
return SmooksUIActivator.getDefault().getImageRegistry()
.get(JavaImageConstants.IMAGE_JAVA_OBJECT);
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/ui/JavaImageConstants.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/ui/JavaImageConstants.java 2009-01-18 07:45:38 UTC (rev 13105)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/ui/JavaImageConstants.java 2009-01-18 14:24:16 UTC (rev 13106)
@@ -4,6 +4,8 @@
public static final String IMAGE_JAVA_ATTRIBUTE = "icons/full/obj16/att_obj.gif";
public static final String IMAGE_JAVA_OBJECT = "java_object";
+ public static final String IMAGE_JAVA_INTERFACE = "icons/full/obj16/int_obj.gif";
+
public static final String IMAGE_JAVA_COLLECTION = "icons/full/obj16/javalistmodel.gif";
public static final String IMAGE_JAVA_ARRAY = "icons/full/obj16/javaarraymodel.gif";
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/ui/TargetReferenceConnectionLine.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/ui/TargetReferenceConnectionLine.java 2009-01-18 07:45:38 UTC (rev 13105)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/ui/TargetReferenceConnectionLine.java 2009-01-18 14:24:16 UTC (rev 13106)
@@ -38,12 +38,10 @@
}
int width = getCenterWidth();
- int h = Math.min(width/4, 15);
-
- Point startnext = new Point(start.x - 30, start.y + h);
+ Point startnext = new Point(start.x - 30, start.y );
- Point endnext = new Point(end.x - 30, end.y - h);
+ Point endnext = new Point(end.x - 30, end.y );
start = new Point(start.x - 5,start.y);
end = new Point(end.x - 5,end.y);
@@ -78,8 +76,30 @@
@Override
public boolean containsPoint(int x, int y) {
- // TODO Auto-generated method stub
- return super.containsPoint(x, y);
+ Point start = getStart();
+ Point end = getEnd();
+
+ Point startnext = new Point(start.x - 30, start.y );
+
+ Point endnext = new Point(end.x - 30, end.y );
+
+ start = new Point(start.x - 5,start.y);
+ end = new Point(end.x - 5,end.y);
+
+ if(x >= startnext.x && (Math.abs(y - startnext.y) <= 2) && x <= start.x){
+ return true;
+ }
+ if(x >= endnext.x && (Math.abs(y - endnext.y) <= 2) && x <= end.x){
+ return true;
+ }
+ int y1 = Math.max(startnext.y, endnext.y);
+ int y2 = Math.min(startnext.y, endnext.y);
+
+ if(y <= y1 && y >= y2 && (Math.abs(x - startnext.x) <= 2)){
+ return true;
+ }
+
+ return false;
}
}
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/ui/action/AddJavaBeanModelAction.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/ui/action/AddJavaBeanModelAction.java 2009-01-18 07:45:38 UTC (rev 13105)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/javabean/ui/action/AddJavaBeanModelAction.java 2009-01-18 14:24:16 UTC (rev 13106)
@@ -58,6 +58,9 @@
}else{
if(input instanceof JavaBeanList){
List children = list.getChildren();
+ if(viewer instanceof PropertyChangeListener){
+ ((JavaBeanList)input).addPropertyChangeListener((PropertyChangeListener)viewer);
+ }
for (Iterator iterator = children.iterator(); iterator
.hasNext();) {
JavaBeanModel javaBean = (JavaBeanModel) iterator.next();
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/SmooksUIActivator.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/SmooksUIActivator.java 2009-01-18 07:45:38 UTC (rev 13105)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/SmooksUIActivator.java 2009-01-18 14:24:16 UTC (rev 13106)
@@ -66,6 +66,8 @@
"icons/full/obj16/element_obj.gif"));
// regist java images
+ reg.put(JavaImageConstants.IMAGE_JAVA_INTERFACE,
+ imageDescriptorFromPlugin(PLUGIN_ID, JavaImageConstants.IMAGE_JAVA_INTERFACE));
reg.put(JavaImageConstants.IMAGE_JAVA_ATTRIBUTE,
imageDescriptorFromPlugin(PLUGIN_ID, JavaImageConstants.IMAGE_JAVA_ATTRIBUTE));
reg.put(JavaImageConstants.IMAGE_CHECKBOX_CHECK,
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/gef/editparts/StructuredDataConnectionEditPart.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/gef/editparts/StructuredDataConnectionEditPart.java 2009-01-18 07:45:38 UTC (rev 13105)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/gef/editparts/StructuredDataConnectionEditPart.java 2009-01-18 14:24:16 UTC (rev 13106)
@@ -27,11 +27,14 @@
import org.jboss.tools.smooks.ui.gef.figures.ILineFigurePaintListener;
import org.jboss.tools.smooks.ui.gef.figures.LineFigurePaintListenerManager;
import org.jboss.tools.smooks.ui.gef.model.AbstractStructuredDataConnectionModel;
+import org.jboss.tools.smooks.ui.gef.model.GraphicalModelListenerManager;
import org.jboss.tools.smooks.ui.gef.model.IConnectableModel;
+import org.jboss.tools.smooks.ui.gef.model.IGraphicalModelListener;
import org.jboss.tools.smooks.ui.gef.model.LineConnectionModel;
import org.jboss.tools.smooks.ui.gef.model.TreeItemRelationModel;
import org.jboss.tools.smooks.ui.gef.policy.DeleteConnectionEditPolicy;
import org.jboss.tools.smooks.ui.gef.util.GraphicsConstants;
+import org.jboss.tools.smooks.ui.modelparser.SmooksConfigurationFileGenerateContext;
public class StructuredDataConnectionEditPart extends
AbstractConnectionEditPart implements PropertyChangeListener {
@@ -86,6 +89,17 @@
return null;
}
+ private SmooksConfigurationFileGenerateContext getSmooksContext() {
+ GraphicalViewer viewer = (GraphicalViewer) this.getViewer();
+ IEditorPart editor = ((DefaultEditDomain) viewer.getEditDomain())
+ .getEditorPart();
+ if (editor instanceof SmooksGraphicalFormPage) {
+ return ((SmooksGraphicalFormPage) editor)
+ .getSmooksConfigurationFileGenerateContext();
+ }
+ return null;
+ }
+
private String getTargetDataTypeID() {
GraphicalViewer viewer = (GraphicalViewer) this.getViewer();
IEditorPart editor = ((DefaultEditDomain) viewer.getEditDomain())
@@ -251,6 +265,15 @@
}
public void propertyChange(PropertyChangeEvent evt) {
-
+ String pm = evt.getPropertyName();
+ if (AbstractStructuredDataConnectionModel.CONNECTION_PROPERTY_CHANGE
+ .equals(pm)) {
+ IGraphicalModelListener listener = GraphicalModelListenerManager
+ .getInstance().getPaintListener(getSourceDataTypeID(),
+ getTargetDataTypeID());
+ if (listener == null)
+ return;
+ listener.modelChanged(getModel(), getSmooksContext(),evt);
+ }
}
}
\ No newline at end of file
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/gef/model/IGraphicalModelListener.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/gef/model/IGraphicalModelListener.java 2009-01-18 07:45:38 UTC (rev 13105)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/ui/gef/model/IGraphicalModelListener.java 2009-01-18 14:24:16 UTC (rev 13106)
@@ -3,6 +3,8 @@
*/
package org.jboss.tools.smooks.ui.gef.model;
+import java.beans.PropertyChangeEvent;
+
import org.jboss.tools.smooks.ui.modelparser.SmooksConfigurationFileGenerateContext;
/**
@@ -18,5 +20,5 @@
SmooksConfigurationFileGenerateContext context);
public void modelChanged(Object graphicalModel,
- SmooksConfigurationFileGenerateContext context);
+ SmooksConfigurationFileGenerateContext context , PropertyChangeEvent event);
}
Modified: trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/utils/ProjectClassLoader.java
===================================================================
--- trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/utils/ProjectClassLoader.java 2009-01-18 07:45:38 UTC (rev 13105)
+++ trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/utils/ProjectClassLoader.java 2009-01-18 14:24:16 UTC (rev 13106)
@@ -7,89 +7,102 @@
import java.util.Iterator;
import java.util.List;
+import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Platform;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.IPackageFragmentRoot;
+import org.eclipse.jdt.core.JavaCore;
import org.eclipse.jdt.core.JavaModelException;
+
/**
* This class code comes from HibernateSynchronizer
+ *
* @author Dart Peng
*
* @CreateTime Jul 21, 2008
*/
public class ProjectClassLoader extends URLClassLoader {
- public ProjectClassLoader (IJavaProject project) throws JavaModelException {
- super(getURLSFromProject(project, null), Thread.currentThread().getContextClassLoader());
+ public ProjectClassLoader(IJavaProject project) throws JavaModelException {
+ super(getURLSFromProject(project, null, true), Thread.currentThread()
+ .getContextClassLoader());
}
- public ProjectClassLoader (IJavaProject project, URL[] extraUrls) throws JavaModelException {
- super(getURLSFromProject(project, extraUrls), Thread.currentThread().getContextClassLoader());
+ public ProjectClassLoader(IJavaProject project, URL[] extraUrls)
+ throws JavaModelException {
+ super(getURLSFromProject(project, extraUrls, true), Thread
+ .currentThread().getContextClassLoader());
}
- private static URL[] getURLSFromProject (IJavaProject project, URL[] extraUrls) throws JavaModelException {
- List list = new ArrayList();
+ private static URL[] getURLSFromProject(IJavaProject project,
+ URL[] extraUrls, boolean cludeRequiredProject)
+ throws JavaModelException {
+ List<URL> list = new ArrayList<URL>();
if (null != extraUrls) {
- for (int i=0; i<extraUrls.length; i++) {
+ for (int i = 0; i < extraUrls.length; i++) {
list.add(extraUrls[i]);
}
}
-
+
IPackageFragmentRoot[] roots = project.getAllPackageFragmentRoots();
- String installLoc = ResourcesPlugin.getWorkspace().getRoot().getLocation().toFile().getAbsolutePath();
- installLoc = installLoc.replace('\\', '/');
- if (installLoc.endsWith("/")) installLoc = installLoc.substring(0, installLoc.length()-1);
-
- for (int i=0; i<roots.length; i++) {
+ if (cludeRequiredProject) {
+ String[] requiredProjectNames = project.getRequiredProjectNames();
+ for (int i = 0; i < requiredProjectNames.length; i++) {
+ String requiredProjectName = requiredProjectNames[i];
+ IProject requiredProject = ResourcesPlugin.getWorkspace()
+ .getRoot().getProject(requiredProjectName);
+ if (requiredProject != null && requiredProject.isOpen()) {
+ IJavaProject jp = JavaCore.create(requiredProject);
+ if (jp == null)
+ continue;
+ URL[] requeiredURL = getURLSFromProject(jp, extraUrls,
+ false);
+ if (requeiredURL == null)
+ continue;
+ for (int j = 0; j < requeiredURL.length; j++) {
+ list.add(requeiredURL[j]);
+ }
+ }
+ }
+ }
+ IPath installPath = ResourcesPlugin.getWorkspace().getRoot()
+ .getLocation();
+ for (int i = 0; i < roots.length; i++) {
try {
if (roots[i].isArchive()) {
- File f = new File(Platform.resolve(roots[i].getPath().makeAbsolute().toFile().toURL()).getFile());
- if (f.exists()) {
- list.add(Platform.resolve(roots[i].getPath().makeAbsolute().toFile().toURL()));
+ File f = new File(FileLocator.resolve(
+ installPath.append(roots[i].getPath()).toFile()
+ .toURL()).getFile());
+ if (!f.exists()) {
+ f = new File(FileLocator.resolve(
+ roots[i].getPath().makeAbsolute().toFile()
+ .toURL()).getFile());
}
- else {
- String s = roots[i].getPath().toOSString().replace('\\', '/');
- if (!s.startsWith("/")) s = "/" + s;
- f = new File(installLoc + s);
- if (f.exists()) {
- list.add(f.toURL());
- }
- else {
- f = new File("c:" + installLoc + s);
- if (f.exists()) {
- list.add(f.toURL());
- }
- else {
- f = new File("d:" + installLoc + s);
- if (f.exists()) {
- list.add(f.toURL());
- }
- }
- }
+ list.add(f.toURL());
+ } else {
+ IPath path = roots[i].getJavaProject().getOutputLocation();
+ if (path.segmentCount() > 1) {
+ IWorkspaceRoot root = ResourcesPlugin.getWorkspace()
+ .getRoot();
+ path = root.getFolder(path).getLocation();
+ list.add(path.toFile().toURL());
+ } else {
+ path = roots[i].getJavaProject().getProject()
+ .getLocation();
+ list.add(path.toFile().toURL());
}
}
- else {
- IPath path = roots[i].getJavaProject().getOutputLocation();
- if (path.segmentCount() > 1) {
- IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
- path = root.getFolder(path).getLocation();
- list.add(path.toFile().toURL());
- }
- else {
- path = roots[i].getJavaProject().getProject().getLocation();
- list.add(path.toFile().toURL());
- }
- }
+ } catch (Exception e) {
}
- catch (Exception e) {}
+
}
-
+
URL[] urls = new URL[list.size()];
int index = 0;
- for (Iterator i=list.iterator(); i.hasNext(); index++) {
+ for (Iterator i = list.iterator(); i.hasNext(); index++) {
urls[index] = (URL) i.next();
}
return urls;
More information about the jbosstools-commits
mailing list