[overlord-commits] Overlord SVN: r287 - in cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src: test/org/jboss/tools/overlord/cdl/jbossesb/model/actions and 1 other directory.

overlord-commits at lists.jboss.org overlord-commits at lists.jboss.org
Thu Aug 28 05:45:11 EDT 2008


Author: objectiser
Date: 2008-08-28 05:45:11 -0400 (Thu, 28 Aug 2008)
New Revision: 287

Modified:
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/cdl/jbossesb/model/actions/PerformAction.java
   cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/test/org/jboss/tools/overlord/cdl/jbossesb/model/actions/PerformActionTest.java
Log:
Updated PerformAction to change parentProperty to parentReference. Also added unit tests for parentReference and bindDetails.

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/cdl/jbossesb/model/actions/PerformAction.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/cdl/jbossesb/model/actions/PerformAction.java	2008-08-28 08:50:04 UTC (rev 286)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/java/org/jboss/tools/overlord/cdl/jbossesb/model/actions/PerformAction.java	2008-08-28 09:45:11 UTC (rev 287)
@@ -36,7 +36,7 @@
 	public static final String RETURN_SERVICE_NAME = "returnServiceName";
 	public static final String RETURN_SERVICE_CATEGORY = "returnServiceCategory";
 	public static final String BIND_DETAILS = "bindDetails";
-	public static final String PARENT_PROPERTY = "parentProperty";
+	public static final String PARENT_REFERENCE = "parentReference";
 
 	/**
 	 * The constructor for the action.
@@ -124,7 +124,7 @@
 		ret.add(RETURN_SERVICE_NAME);
 		ret.add(RETURN_SERVICE_CATEGORY);
 		ret.add(BIND_DETAILS);
-		ret.add(PARENT_PROPERTY);
+		ret.add(PARENT_REFERENCE);
 		return(ret);
 	}
 	
@@ -153,29 +153,29 @@
 		if (m_service != null &&
 				m_service.getSessionClass() != null) {
 			
-			if (hasProperty(PARENT_PROPERTY)) {
-				String parentProperty=getPropertyValue(PARENT_PROPERTY);
+			if (hasProperty(PARENT_REFERENCE)) {
+				String parentRefProperty=getPropertyValue(PARENT_REFERENCE);
 				
 				if (PropertyUtil.isProperty(m_service.getSessionClass(),
-									parentProperty) == false) {
+									parentRefProperty) == false) {
 					l.error(this, org.scribble.util.MessageUtil.format(
 						java.util.PropertyResourceBundle.getBundle(
 						"org.jboss.tools.overlord.cdl.jbossesb.model.actions.Messages"),
 							"_NOT_FOUND_VARIABLE",
-							new String[]{parentProperty,
+							new String[]{parentRefProperty,
 							m_service.getSessionClass().getName()}), null);				
 				} else if (PropertyUtil.hasWritableProperty(m_service.getSessionClass(),
-										parentProperty) == false) {
+										parentRefProperty) == false) {
 					l.error(this, org.scribble.util.MessageUtil.format(
 							java.util.PropertyResourceBundle.getBundle(
 							"org.jboss.tools.overlord.cdl.jbossesb.model.actions.Messages"),
 								"_NOT_WRITABLE_PROPERTY",
-								new String[]{parentProperty,
+								new String[]{parentRefProperty,
 								m_service.getSessionClass().getName()}), null);				
 				}
 								
 				Class<?> parentCls=PropertyUtil.getPropertyType(
-							m_service.getSessionClass(), parentProperty);
+							m_service.getSessionClass(), parentRefProperty);
 				
 				if (parentCls != null && getService() != null &&
 						getService().getSessionClass() != null &&
@@ -184,7 +184,7 @@
 							java.util.PropertyResourceBundle.getBundle(
 							"org.jboss.tools.overlord.cdl.jbossesb.model.actions.Messages"),
 								"_INVALID_PROPERTY_TYPE",
-								new String[]{parentProperty,
+								new String[]{parentRefProperty,
 								m_service.getSessionClass().getName(),
 								getService().getSessionClass().getName()}), null);				
 				}

Modified: cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/test/org/jboss/tools/overlord/cdl/jbossesb/model/actions/PerformActionTest.java
===================================================================
--- cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/test/org/jboss/tools/overlord/cdl/jbossesb/model/actions/PerformActionTest.java	2008-08-28 08:50:04 UTC (rev 286)
+++ cdl/trunk/tools/plugins/org.jboss.tools.overlord.cdl.jbossesb/src/test/org/jboss/tools/overlord/cdl/jbossesb/model/actions/PerformActionTest.java	2008-08-28 09:45:11 UTC (rev 287)
@@ -210,6 +210,307 @@
 		}
 	}
 	
+	public void testValidateParentReferenceNotFound() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
+		props.put(PerformAction.SERVICE_NAME, "name1");
+		props.put(PerformAction.PARENT_REFERENCE, "fred");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		other1.setCreateSession(true);
+		other1.setSessionClass(Object.class);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		PerformAction action=new PerformAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+						java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.jbossesb.model.actions.Messages"),
+							"_NOT_FOUND_VARIABLE",
+							new String[]{"fred", Object.class.getName()}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateParentReferenceNotWritable() {
+		TestESBService service=new TestESBService();
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
+		props.put(PerformAction.SERVICE_NAME, "name1");
+		props.put(PerformAction.PARENT_REFERENCE, "class");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		other1.setCreateSession(true);
+		other1.setSessionClass(Object.class);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		PerformAction action=new PerformAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+						java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.jbossesb.model.actions.Messages"),
+							"_NOT_WRITABLE_PROPERTY",
+							new String[]{"class", Object.class.getName()}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateParentReferenceIncorrectType() {
+		TestESBService service=new TestESBService();
+		service.setSessionClass(ParentPojo.class);
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
+		props.put(PerformAction.SERVICE_NAME, "name1");
+		props.put(PerformAction.PARENT_REFERENCE, "invalidParent");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		other1.setCreateSession(true);
+		other1.setSessionClass(ChildPojo.class);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		PerformAction action=new PerformAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+						java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.jbossesb.model.actions.Messages"),
+							"_INVALID_PROPERTY_TYPE",
+							new String[]{"invalidParent",
+							ChildPojo.class.getName(),
+							ParentPojo.class.getName()}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+
+	public void testValidateParentReferenceCorrectType() {
+		TestESBService service=new TestESBService();
+		service.setSessionClass(ParentPojo.class);
+
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
+		props.put(PerformAction.SERVICE_NAME, "name1");
+		props.put(PerformAction.PARENT_REFERENCE, "validParent");
+		
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, null);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		other1.setCreateSession(true);
+		other1.setSessionClass(ChildPojo.class);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		PerformAction action=new PerformAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+
+	public void testValidateBindDetailsNotFound() {
+		TestESBService service=new TestESBService();
+
+		String varName="fred";
+		
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
+		props.put(PerformAction.SERVICE_NAME, "name1");
+		
+		java.util.Map<String,String> customProps=new java.util.Hashtable<String,String>();
+		customProps.put(PerformAction.BIND_DETAILS,
+				"<root><bind to-variable=\""+varName+"\" /></root>");
+				
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, customProps);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		other1.setCreateSession(true);
+		other1.setSessionClass(Object.class);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		PerformAction action=new PerformAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+						java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.jbossesb.model.actions.Messages"),
+							"_NOT_FOUND_VARIABLE",
+							new String[]{varName, Object.class.getName()}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateBindDetailsNotWritable() {
+		TestESBService service=new TestESBService();
+
+		String varName="class";
+		
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
+		props.put(PerformAction.SERVICE_NAME, "name1");
+
+		java.util.Map<String,String> customProps=new java.util.Hashtable<String,String>();
+		customProps.put(PerformAction.BIND_DETAILS,
+				"<root><bind to-variable=\""+varName+"\" /></root>");
+				
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, customProps);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		other1.setCreateSession(true);
+		other1.setSessionClass(Object.class);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		PerformAction action=new PerformAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+		
+		l.addExpectedError(org.scribble.util.MessageUtil.format(
+						java.util.PropertyResourceBundle.getBundle(
+						"org.jboss.tools.overlord.cdl.jbossesb.model.actions.Messages"),
+							"_NOT_WRITABLE_PROPERTY",
+							new String[]{varName, Object.class.getName()}));
+		
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+	
+	public void testValidateBindDetailsCorrect() {
+		TestESBService service=new TestESBService();
+
+		String varName="validParent";
+		
+		java.util.Map<String,String> props=new java.util.Hashtable<String,String>();
+		props.put(PerformAction.SERVICE_CATEGORY, "cat1");
+		props.put(PerformAction.SERVICE_NAME, "name1");
+
+		java.util.Map<String,String> customProps=new java.util.Hashtable<String,String>();
+		customProps.put(PerformAction.BIND_DETAILS,
+				"<root><bind to-variable=\""+varName+"\" /></root>");
+				
+		org.w3c.dom.Element elem=ESBActionTestUtil.getAction(null, props, customProps);
+		
+		TestESBService other1=new TestESBService();
+		other1.setCategory("cat1");
+		other1.setName("name1");
+		other1.setCreateSession(true);
+		other1.setSessionClass(ChildPojo.class);
+		
+		TestESBLanguageModel model=new TestESBLanguageModel();
+		model.addService(other1);
+		model.addService(service);
+		
+		service.setModel(model);
+		
+		PerformAction action=new PerformAction(service, elem);
+		action.initializeLinks();
+		
+		service.getActions().add(action);
+		
+		TestModelListener l=new TestModelListener();
+				
+		action.validate(l);
+		
+		if (l.isValid() == false) {
+			fail(l.invalidMessage());
+		}
+	}
+
 	public void testConvertRun() {
 		TestESBService service=new TestESBService();
 
@@ -418,4 +719,17 @@
 			fail("Action is not flagged as a 'SessionBased'");
 		}
 	}
+	
+	public class ParentPojo {
+		
+	}
+	
+	public class ChildPojo {
+		
+		public void setValidParent(ParentPojo p) {
+		}
+		
+		public void setInvalidParent(Object p) {
+		}
+	}
 }




More information about the overlord-commits mailing list