Author: DartPeng
Date: 2009-05-27 07:03:52 -0400 (Wed, 27 May 2009)
New Revision: 15554
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/freemarker/BindToUICreator.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/BindingsContextContentProposal.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/BindingsContextProposalProvider.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/xsl/BindToUICreator.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/DuplicatedBeanIDValidator.java
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/wizards/SmooksConfigurationFileNewWizard.java
Log:
JBIDE-4232
Add BindTo bean ID into the BeanID Ref context for the content assist
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/freemarker/BindToUICreator.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/freemarker/BindToUICreator.java 2009-05-27
10:53:38 UTC (rev 15553)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/freemarker/BindToUICreator.java 2009-05-27
11:03:52 UTC (rev 15554)
@@ -47,9 +47,9 @@
*/
@Override
protected boolean isBeanIDRefFieldFeature(EAttribute attribute) {
- if (attribute == FreemarkerPackage.eINSTANCE.getBindTo_Id()) {
- return true;
- }
+// if (attribute == FreemarkerPackage.eINSTANCE.getBindTo_Id()) {
+// return true;
+// }
return super.isBeanIDRefFieldFeature(attribute);
}
}
\ No newline at end of file
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/BindingsContextContentProposal.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/BindingsContextContentProposal.java 2009-05-27
10:53:38 UTC (rev 15553)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/BindingsContextContentProposal.java 2009-05-27
11:03:52 UTC (rev 15554)
@@ -89,16 +89,16 @@
public String getLabel() {
String name = "";
if(type == BINDINGS){
- name = "Java Object";
+ name = "Bean";
}
if(type == PROPERTIES){
name = "Value Binding";
}
if(type == WIRTINGS){
- name = "Wiring";
+ name = "Bean Binding";
}
if(type == EXPRESSIONS){
- name = "Expression";
+ name = "Expression Binding";
}
if(name.length() != 0 && content != null){
return content + " - ( " + name + " )";
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/BindingsContextProposalProvider.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/BindingsContextProposalProvider.java 2009-05-27
10:53:38 UTC (rev 15553)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/BindingsContextProposalProvider.java 2009-05-27
11:03:52 UTC (rev 15554)
@@ -33,12 +33,20 @@
private List<BindingsType> bindingsList = null;
- private List<String> bindingsIDList = null;
+ private List<String> bindingsIDList = new ArrayList<String>();
public BindingsContextProposalProvider(SmooksResourceListType listType, Text
textControl) {
this.textControl = textControl;
bindingsList = SmooksUIUtils.getBeanIdList(listType);
- bindingsIDList = SmooksUIUtils.getBeanIdStringList(listType);
+ if(bindingsList != null){
+ for (Iterator<?> iterator = bindingsList.iterator(); iterator.hasNext();) {
+ BindingsType bindings = (BindingsType) iterator.next();
+ String beanId = bindings.getBeanId();
+ if(beanId != null){
+ bindingsIDList.add(beanId);
+ }
+ }
+ }
}
/*
@@ -49,9 +57,6 @@
* .lang.String, int)
*/
public IContentProposal[] getProposals(String contents, int position) {
- if (contents.length() == 2) {
- System.out.println();
- }
if (bindingsList == null || bindingsList.isEmpty()) {
return new IContentProposal[] {};
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java 2009-05-27
10:53:38 UTC (rev 15553)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/uitls/SmooksUIUtils.java 2009-05-27
11:03:52 UTC (rev 15554)
@@ -115,14 +115,17 @@
import org.jboss.tools.smooks.configuration.editors.javabean.JavaMethodsSelectionDialog;
import
org.jboss.tools.smooks.configuration.editors.javabean.JavaPropertiesSelectionDialog;
import org.jboss.tools.smooks.core.SmooksCoreActivator;
+import org.jboss.tools.smooks.model.freemarker.BindTo;
+import org.jboss.tools.smooks.model.freemarker.Freemarker;
+import org.jboss.tools.smooks.model.freemarker.Use;
import org.jboss.tools.smooks.model.graphics.ext.DocumentRoot;
import org.jboss.tools.smooks.model.graphics.ext.SmooksGraphicsExtType;
import
org.jboss.tools.smooks.model.graphics.ext.util.SmooksGraphicsExtResourceFactoryImpl;
import org.jboss.tools.smooks.model.javabean.BindingsType;
-import org.jboss.tools.smooks.model.javabean.provider.Javabean1EditPlugin;
import org.jboss.tools.smooks.model.smooks.AbstractResourceConfig;
import org.jboss.tools.smooks.model.smooks.ConditionType;
import org.jboss.tools.smooks.model.smooks.SmooksResourceListType;
+import org.jboss.tools.smooks.model.xsl.Xsl;
import org.jboss.tools.smooks10.model.smooks.util.SmooksModelUtils;
/**
@@ -167,8 +170,37 @@
String beanId = ((BindingsType) abstractResourceConfig).getBeanId();
if (beanId == null)
continue;
- beanIdList.add(beanId);
+ if (!beanIdList.contains(beanId))
+ beanIdList.add(beanId);
}
+ if (abstractResourceConfig instanceof Freemarker) {
+ Use use = ((Freemarker) abstractResourceConfig).getUse();
+ if (use != null) {
+ BindTo bindTo = use.getBindTo();
+ if (bindTo != null) {
+ String beanId = ((BindTo) bindTo).getId();
+ if (beanId == null)
+ continue;
+ if (!beanIdList.contains(beanId))
+ beanIdList.add(beanId);
+ }
+ }
+
+ }
+ if (abstractResourceConfig instanceof Xsl) {
+ org.jboss.tools.smooks.model.xsl.Use use = ((Xsl) abstractResourceConfig).getUse();
+ if (use != null) {
+ org.jboss.tools.smooks.model.xsl.BindTo bindTo = use.getBindTo();
+ if (bindTo != null) {
+ String beanId = ((org.jboss.tools.smooks.model.xsl.BindTo) bindTo).getId();
+ if (beanId == null)
+ continue;
+ if (!beanIdList.contains(beanId))
+ beanIdList.add(beanId);
+ }
+ }
+
+ }
}
return beanIdList;
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/xsl/BindToUICreator.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/xsl/BindToUICreator.java 2009-05-27
10:53:38 UTC (rev 15553)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/editors/xsl/BindToUICreator.java 2009-05-27
11:03:52 UTC (rev 15554)
@@ -46,9 +46,9 @@
*/
@Override
protected boolean isBeanIDRefFieldFeature(EAttribute attribute) {
- if (attribute == XslPackage.eINSTANCE.getBindTo_Id()) {
- return true;
- }
+// if (attribute == XslPackage.eINSTANCE.getBindTo_Id()) {
+// return true;
+// }
return super.isBeanIDRefFieldFeature(attribute);
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/DuplicatedBeanIDValidator.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/DuplicatedBeanIDValidator.java 2009-05-27
10:53:38 UTC (rev 15553)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/validate/DuplicatedBeanIDValidator.java 2009-05-27
11:03:52 UTC (rev 15554)
@@ -18,8 +18,11 @@
import org.eclipse.emf.common.util.Diagnostic;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.edit.domain.EditingDomain;
+import org.jboss.tools.smooks.model.freemarker.BindTo;
+import org.jboss.tools.smooks.model.freemarker.FreemarkerPackage;
import org.jboss.tools.smooks.model.javabean.BindingsType;
import org.jboss.tools.smooks.model.javabean.JavabeanPackage;
+import org.jboss.tools.smooks.model.xsl.XslPackage;
/**
* @author Dart (dpeng(a)redhat.com)
@@ -39,7 +42,7 @@
@Override
public List<Diagnostic> validate(Collection<?> selectedObjects,
EditingDomain editingDomain) {
beanIdList.clear();
- findDuplicatedBeanId(selectedObjects);
+ findDuplicatedBeanId(selectedObjects , new ArrayList<String>());
if(beanIdList.isEmpty()){
return null;
}
@@ -66,14 +69,29 @@
}
continue;
}
+ if (object instanceof BindTo) {
+ String beanId = ((BindTo) object).getId();
+ if(isDuplicateBeanId(beanId)){
+ list.add(newWaringDiagnostic("Duplicated beanId : " + beanId, object,
+ FreemarkerPackage.Literals.BIND_TO__ID));
+ }
+ continue;
+ }
+ if (object instanceof org.jboss.tools.smooks.model.xsl.BindTo) {
+ String beanId = ((org.jboss.tools.smooks.model.xsl.BindTo) object).getId();
+ if(isDuplicateBeanId(beanId)){
+ list.add(newWaringDiagnostic("Duplicated beanId : " + beanId, object,
+ XslPackage.Literals.BIND_TO__ID));
+ }
+ continue;
+ }
if (object instanceof EObject) {
validateModel(((EObject) object).eContents() , list);
}
}
}
- protected void findDuplicatedBeanId(Collection<?> selectedObjects) {
- List<String> idlist = new ArrayList<String>();
+ protected void findDuplicatedBeanId(Collection<?> selectedObjects ,
List<String> idlist) {
for (Iterator<?> iterator = selectedObjects.iterator(); iterator.hasNext();) {
Object object = (Object) iterator.next();
if (object instanceof BindingsType) {
@@ -90,8 +108,36 @@
}
continue;
}
+ if(object instanceof BindTo){
+ String beanId = ((BindTo) object).getId();
+ if (beanId != null) {
+ beanId = beanId.trim();
+ }
+ if (idlist.contains(beanId)) {
+ if (!beanIdList.contains(beanId)) {
+ beanIdList.add(beanId);
+ }
+ } else {
+ idlist.add(beanId);
+ }
+ continue;
+ }
+ if(object instanceof org.jboss.tools.smooks.model.xsl.BindTo){
+ String beanId = ((org.jboss.tools.smooks.model.xsl.BindTo) object).getId();
+ if (beanId != null) {
+ beanId = beanId.trim();
+ }
+ if (idlist.contains(beanId)) {
+ if (!beanIdList.contains(beanId)) {
+ beanIdList.add(beanId);
+ }
+ } else {
+ idlist.add(beanId);
+ }
+ continue;
+ }
if (object instanceof EObject) {
- findDuplicatedBeanId(((EObject) object).eContents());
+ findDuplicatedBeanId(((EObject) object).eContents(),idlist);
}
}
}
Modified:
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/wizards/SmooksConfigurationFileNewWizard.java
===================================================================
---
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/wizards/SmooksConfigurationFileNewWizard.java 2009-05-27
10:53:38 UTC (rev 15553)
+++
trunk/smooks/plugins/org.jboss.tools.smooks.ui/src/org/jboss/tools/smooks/configuration/wizards/SmooksConfigurationFileNewWizard.java 2009-05-27
11:03:52 UTC (rev 15554)
@@ -183,9 +183,9 @@
if (SmooksConstants.VERSION_1_1.equals(version)) {
contents = "<?xml version=\"1.0\"
encoding=\"UTF-8\"?>\n" //$NON-NLS-1$
+ "<smooks-resource-list
xmlns=\"http://www.milyn.org/xsd/smooks-1.1.xsd\">\n"//...
- + " <resource-config
selector=\"global-parameters\">\n"//$NON-NLS-1$
+ + " <params>\n"//$NON-NLS-1$
+ " <param
name=\"stream.filter.type\">SAX</param>\n"//$NON-NLS-1$
- + " </resource-config>\n"//$NON-NLS-1$
+ + " </params>\n"//$NON-NLS-1$
+ "</smooks-resource-list>"; //$NON-NLS-1$
}
return new ByteArrayInputStream(contents.getBytes());