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