[teiid-commits] teiid SVN: r4230 - in trunk: runtime/src/main/java/org/teiid/deployers and 2 other directories.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Wed Jul 11 13:26:04 EDT 2012


Author: shawkins
Date: 2012-07-11 13:26:02 -0400 (Wed, 11 Jul 2012)
New Revision: 4230

Added:
   trunk/test-integration/common/src/test/resources/chained-vdb.xml
   trunk/test-integration/common/src/test/resources/fake.jar
Modified:
   trunk/jboss-integration/src/main/java/org/teiid/jboss/TranslatorDeployer.java
   trunk/jboss-integration/src/main/java/org/teiid/jboss/VDBDeployer.java
   trunk/runtime/src/main/java/org/teiid/deployers/TranslatorUtil.java
   trunk/test-integration/common/src/test/java/org/teiid/arquillian/IntegrationTestDeployment.java
Log:
adding a test of chained delegates and translator jar deployment

Modified: trunk/jboss-integration/src/main/java/org/teiid/jboss/TranslatorDeployer.java
===================================================================
--- trunk/jboss-integration/src/main/java/org/teiid/jboss/TranslatorDeployer.java	2012-07-09 20:48:44 UTC (rev 4229)
+++ trunk/jboss-integration/src/main/java/org/teiid/jboss/TranslatorDeployer.java	2012-07-11 17:26:02 UTC (rev 4230)
@@ -46,8 +46,6 @@
  */
 public final class TranslatorDeployer implements DeploymentUnitProcessor {
 
-    private static final String DEPLOYMENT_NAME = "deployment-name"; //$NON-NLS-1$
-
 	@Override
     public void deploy(final DeploymentPhaseContext phaseContext) throws DeploymentUnitProcessingException {
         final DeploymentUnit deploymentUnit = phaseContext.getDeploymentUnit();
@@ -68,7 +66,7 @@
         		if (metadata == null) {
         			throw new DeploymentUnitProcessingException(IntegrationPlugin.Util.gs(IntegrationPlugin.Event.TEIID50070, moduleName)); 
         		}
-        		metadata.addProperty(DEPLOYMENT_NAME, deploymentUnit.getName());
+        		metadata.addProperty(TranslatorUtil.DEPLOYMENT_NAME, deploymentUnit.getName());
         		metadata.addAttchment(ClassLoader.class, translatorLoader);
         		
         		LogManager.logInfo(LogConstants.CTX_RUNTIME, IntegrationPlugin.Util.gs(IntegrationPlugin.Event.TEIID50006, metadata.getName()));

Modified: trunk/jboss-integration/src/main/java/org/teiid/jboss/VDBDeployer.java
===================================================================
--- trunk/jboss-integration/src/main/java/org/teiid/jboss/VDBDeployer.java	2012-07-09 20:48:44 UTC (rev 4229)
+++ trunk/jboss-integration/src/main/java/org/teiid/jboss/VDBDeployer.java	2012-07-11 17:26:02 UTC (rev 4230)
@@ -28,9 +28,21 @@
 import java.util.concurrent.TimeUnit;
 
 import org.jboss.as.naming.deployment.ContextNames;
-import org.jboss.as.server.deployment.*;
+import org.jboss.as.server.deployment.Attachments;
+import org.jboss.as.server.deployment.DeploymentPhaseContext;
+import org.jboss.as.server.deployment.DeploymentUnit;
+import org.jboss.as.server.deployment.DeploymentUnitProcessingException;
+import org.jboss.as.server.deployment.DeploymentUnitProcessor;
 import org.jboss.modules.Module;
-import org.jboss.msc.service.*;
+import org.jboss.msc.service.AbstractServiceListener;
+import org.jboss.msc.service.Service;
+import org.jboss.msc.service.ServiceBuilder;
+import org.jboss.msc.service.ServiceController;
+import org.jboss.msc.service.ServiceName;
+import org.jboss.msc.service.ServiceTarget;
+import org.jboss.msc.service.StartContext;
+import org.jboss.msc.service.StartException;
+import org.jboss.msc.service.StopContext;
 import org.jboss.msc.service.ServiceBuilder.DependencyType;
 import org.jboss.msc.service.ServiceController.Mode;
 import org.jboss.msc.service.ServiceController.State;
@@ -43,6 +55,7 @@
 import org.teiid.adminapi.impl.VDBTranslatorMetaData;
 import org.teiid.common.buffer.BufferManager;
 import org.teiid.deployers.RuntimeVDB;
+import org.teiid.deployers.TranslatorUtil;
 import org.teiid.deployers.UDFMetaData;
 import org.teiid.deployers.VDBRepository;
 import org.teiid.deployers.VDBStatusChecker;
@@ -56,7 +69,6 @@
 
 
 class VDBDeployer implements DeploymentUnitProcessor {
-	private static final String DEPLOYMENT_NAME = "deployment-name"; //$NON-NLS-1$
 	private static final String JAVA_CONTEXT = "java:/"; //$NON-NLS-1$			
 	private TranslatorRepository translatorRepository;
 	private String asyncThreadPoolName;
@@ -76,7 +88,7 @@
 			return;
 		}
 		final VDBMetaData deployment = deploymentUnit.getAttachment(TeiidAttachments.VDB_METADATA);
-		deployment.addProperty(DEPLOYMENT_NAME, deploymentUnit.getName());
+		deployment.addProperty(TranslatorUtil.DEPLOYMENT_NAME, deploymentUnit.getName());
 		// check to see if there is old vdb already deployed.
         final ServiceController<?> controller = context.getServiceRegistry().getService(TeiidServiceNames.vdbServiceName(deployment.getName(), deployment.getVersion()));
         if (controller != null) {

Modified: trunk/runtime/src/main/java/org/teiid/deployers/TranslatorUtil.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/deployers/TranslatorUtil.java	2012-07-09 20:48:44 UTC (rev 4229)
+++ trunk/runtime/src/main/java/org/teiid/deployers/TranslatorUtil.java	2012-07-11 17:26:02 UTC (rev 4230)
@@ -43,6 +43,8 @@
 
 public class TranslatorUtil {
 	
+    public static final String DEPLOYMENT_NAME = "deployment-name"; //$NON-NLS-1$
+	
 	public static Map<Method, TranslatorProperty> getTranslatorProperties(Class<?> attachmentClass) {
 		Map<Method, TranslatorProperty> props = new HashMap<Method,  TranslatorProperty>();
 		buildTranslatorProperties(attachmentClass, props);
@@ -109,12 +111,13 @@
 	private static void injectProperties(ExecutionFactory ef, final Translator data) throws InvocationTargetException, IllegalAccessException, TeiidException{
 		Map<Method, TranslatorProperty> props = TranslatorUtil.getTranslatorProperties(ef.getClass());
 		Map p = data.getProperties();
-		TreeMap<String, String> caseInsensitivProps = new TreeMap<String, String>(String.CASE_INSENSITIVE_ORDER);
-		caseInsensitivProps.putAll(p);
+		TreeMap<String, String> caseInsensitiveProps = new TreeMap<String, String>(String.CASE_INSENSITIVE_ORDER);
+		caseInsensitiveProps.putAll(p);
+		caseInsensitiveProps.remove(DEPLOYMENT_NAME);
 		for (Method method:props.keySet()) {
 			TranslatorProperty tp = props.get(method);
 			String propertyName = getPropertyName(method);
-			String value = caseInsensitivProps.remove(propertyName);
+			String value = caseInsensitiveProps.remove(propertyName);
 			
 			if (value != null) {
 				Method setterMethod = getSetter(ef.getClass(), method);
@@ -123,9 +126,9 @@
 				 throw new TeiidException(RuntimePlugin.Event.TEIID40027, RuntimePlugin.Util.gs(RuntimePlugin.Event.TEIID40027, tp.display()));
 			}
 		}
-		caseInsensitivProps.remove(Translator.EXECUTION_FACTORY_CLASS);
-		if (!caseInsensitivProps.isEmpty()) {
-			LogManager.logWarning(LogConstants.CTX_RUNTIME, RuntimePlugin.Util.gs(RuntimePlugin.Event.TEIID40001, caseInsensitivProps.keySet(), data.getName()));
+		caseInsensitiveProps.remove(Translator.EXECUTION_FACTORY_CLASS);
+		if (!caseInsensitiveProps.isEmpty()) {
+			LogManager.logWarning(LogConstants.CTX_RUNTIME, RuntimePlugin.Util.gs(RuntimePlugin.Event.TEIID40001, caseInsensitiveProps.keySet(), data.getName()));
 		}
 	}
 	

Modified: trunk/test-integration/common/src/test/java/org/teiid/arquillian/IntegrationTestDeployment.java
===================================================================
--- trunk/test-integration/common/src/test/java/org/teiid/arquillian/IntegrationTestDeployment.java	2012-07-09 20:48:44 UTC (rev 4229)
+++ trunk/test-integration/common/src/test/java/org/teiid/arquillian/IntegrationTestDeployment.java	2012-07-11 17:26:02 UTC (rev 4230)
@@ -31,7 +31,11 @@
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
-import java.util.*;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Properties;
+import java.util.Set;
 
 import org.jboss.arquillian.junit.Arquillian;
 import org.jboss.shrinkwrap.api.ArchivePaths;
@@ -67,6 +71,17 @@
 		admin.close();
 	}
 	
+	@Test public void testChainedDelegates() throws Exception {
+		Properties props = new Properties();
+		props.setProperty("connection-url","jdbc:h2:mem:test;DB_CLOSE_DELAY=-1");
+		props.setProperty("user-name", "sa");
+		props.setProperty("password", "sa");
+		
+		AdminUtil.createDataSource(admin, "Oracle11_PushDS", "h2", props);
+		admin.deploy("fake.jar",new FileInputStream(UnitTestUtil.getTestDataFile("fake.jar")));
+		admin.deploy("chained-vdb.xml",new FileInputStream(UnitTestUtil.getTestDataFile("chained-vdb.xml")));
+	}
+	
 	@Test
 	public void testVDBDeployment() throws Exception {
 		Collection<?> vdbs = admin.getVDBs();

Added: trunk/test-integration/common/src/test/resources/chained-vdb.xml
===================================================================
--- trunk/test-integration/common/src/test/resources/chained-vdb.xml	                        (rev 0)
+++ trunk/test-integration/common/src/test/resources/chained-vdb.xml	2012-07-11 17:26:02 UTC (rev 4230)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<vdb version="1" name="Chorus">
+     <property name="UseConnectorMetadata" value="true"/>
+
+     <model type="PHYSICAL" visible="true" name="timeseries">
+         <property name="importer.useFullSchemaName" value="false"/>
+         <source name="timeseries" connection-jndi-name="java:Oracle11_PushDS" translator-name="timeseries.delegated-translator"/>
+     </model>
+
+     <translator name="timeseries.delegating-delegated-translator" type="fake">
+         <property name="DelegateName" value="timeseries.delegating-translator"/>
+     </translator>
+     <translator name="timeseries.delegating-translator" type="h2"/>
+     <translator name="timeseries.delegated-translator" type="fake">
+         <property name="DelegateName" value="timeseries.delegating-delegated-translator"/>
+     </translator>
+
+</vdb>
\ No newline at end of file


Property changes on: trunk/test-integration/common/src/test/resources/chained-vdb.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: trunk/test-integration/common/src/test/resources/fake.jar
===================================================================
(Binary files differ)


Property changes on: trunk/test-integration/common/src/test/resources/fake.jar
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream



More information about the teiid-commits mailing list