[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