[teiid-commits] teiid SVN: r3596 - in branches/as7: jboss-integration/src/main/java/org/teiid/jboss and 7 other directories.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Mon Oct 31 16:16:17 EDT 2011


Author: rareddy
Date: 2011-10-31 16:16:17 -0400 (Mon, 31 Oct 2011)
New Revision: 3596

Added:
   branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorDependencyDeployer.java
   branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorDeployer.java
   branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorStructureDeployer.java
   branches/as7/test-integration/common/src/test/java/org/teiid/arquillian/
   branches/as7/test-integration/common/src/test/java/org/teiid/arquillian/SampleExecutionFactory.java
   branches/as7/test-integration/common/src/test/java/org/teiid/arquillian/TestDeployment.java
   branches/as7/test-integration/common/src/test/resources/arquillian.xml
Modified:
   branches/as7/admin/src/main/java/org/teiid/adminapi/AdminFactory.java
   branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidAdd.java
   branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorAdd.java
   branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorRemove.java
   branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorService.java
   branches/as7/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties
   branches/as7/jboss-integration/src/test/java/org/teiid/jboss/TestTeiidOperations.java
   branches/as7/runtime/src/main/java/org/teiid/deployers/TeiidAttachments.java
   branches/as7/runtime/src/main/java/org/teiid/deployers/TranslatorUtil.java
   branches/as7/test-integration/common/pom.xml
Log:
TEIID-1720: Added jar based deployer for translators. Added arquillian based test (this needs to be improved upon further)

Modified: branches/as7/admin/src/main/java/org/teiid/adminapi/AdminFactory.java
===================================================================
--- branches/as7/admin/src/main/java/org/teiid/adminapi/AdminFactory.java	2011-10-31 19:57:54 UTC (rev 3595)
+++ branches/as7/admin/src/main/java/org/teiid/adminapi/AdminFactory.java	2011-10-31 20:16:17 UTC (rev 3596)
@@ -32,7 +32,11 @@
 import java.net.UnknownHostException;
 import java.util.*;
 
-import javax.security.auth.callback.*;
+import javax.security.auth.callback.Callback;
+import javax.security.auth.callback.CallbackHandler;
+import javax.security.auth.callback.NameCallback;
+import javax.security.auth.callback.PasswordCallback;
+import javax.security.auth.callback.UnsupportedCallbackException;
 import javax.security.sasl.RealmCallback;
 import javax.security.sasl.RealmChoiceCallback;
 
@@ -46,7 +50,9 @@
 import org.jboss.dmr.ModelType;
 import org.teiid.adminapi.PropertyDefinition.RestartType;
 import org.teiid.adminapi.VDB.ConnectionType;
-import org.teiid.adminapi.impl.*;
+import org.teiid.adminapi.impl.MetadataMapper;
+import org.teiid.adminapi.impl.PropertyDefinitionMetadata;
+import org.teiid.adminapi.impl.VDBMetadataMapper;
 import org.teiid.adminapi.impl.VDBMetadataMapper.RequestMetadataMapper;
 import org.teiid.adminapi.impl.VDBMetadataMapper.SessionMetadataMapper;
 import org.teiid.adminapi.impl.VDBMetadataMapper.TransactionMetadataMapper;
@@ -142,7 +148,8 @@
     }    
     
     private class AdminImpl implements Admin{
-    	private ModelControllerClient connection;
+    	private static final String JAVA_CONTEXT = "java:/";
+		private ModelControllerClient connection;
     	private boolean domainMode = false;
     	
     	public AdminImpl (ModelControllerClient connection) {
@@ -206,7 +213,7 @@
 	            builder.addNode("resource-adapter", templateName); //$NON-NLS-1$ //$NON-NLS-2$
 	            builder.addNode("connection-definitions", deploymentName); //$NON-NLS-1$ //$NON-NLS-2$
 	            builder.setOperationName("add"); 
-	            builder.addProperty("jndi-name", "java:/"+deploymentName);
+	            builder.addProperty("jndi-name", addJavaContext(deploymentName));
 	            builder.addProperty("pool-name", deploymentName);
 	            request = builder.buildRequest();
 	        } catch (OperationFormatException e) {
@@ -332,9 +339,10 @@
 		
 		@Override
 		public void createDataSource(String deploymentName,	String templateName, Properties properties)	throws AdminException {
+			deploymentName = removeJavaContext(deploymentName);
 			
 			Collection<String> dsNames = getDataSourceNames();
-			if (dsNames.contains(deploymentName) || (deploymentName.startsWith("java:/") && dsNames.contains(deploymentName.substring(6)))) {
+			if (dsNames.contains(deploymentName)) {
 				throw new AdminProcessingException(AdminPlugin.Util.getString("datasource_exists", deploymentName));
 			}
 			
@@ -357,7 +365,7 @@
 	        	
 	            builder.setOperationName("add"); 
 	            
-	            builder.addProperty("jndi-name", deploymentName.startsWith("java:/")?deploymentName:"java:/"+deploymentName);
+	            builder.addProperty("jndi-name", addJavaContext(deploymentName));
 	            builder.addProperty("driver-name", templateName);
 	            
 	            builder.addProperty("pool-name", deploymentName);
@@ -398,8 +406,10 @@
 
 		@Override
 		public void deleteDataSource(String deployedName) throws AdminException {
+			deployedName = removeJavaContext(deployedName);
+			
 			Collection<String> dsNames = getDataSourceNames();
-			if (!dsNames.contains(deployedName) || (deployedName.startsWith("java:/") && !dsNames.contains(deployedName.substring(6)))) {
+			if (!dsNames.contains(deployedName)) {
 				throw new AdminProcessingException(AdminPlugin.Util.getString("datasource_doesnot_exists", deployedName));
 			}
 			
@@ -420,6 +430,20 @@
 			}
 		}
 
+		private String removeJavaContext(String deployedName) {
+			if (deployedName.startsWith(JAVA_CONTEXT)) {
+				deployedName = deployedName.substring(6);
+			}
+			return deployedName;
+		}
+		
+		private String addJavaContext(String deployedName) {
+			if (!deployedName.startsWith(JAVA_CONTEXT)) {
+				deployedName = JAVA_CONTEXT+deployedName;
+			}
+			return deployedName;
+		}		
+
 		private boolean deleteDS(String deployedName, boolean connFactory, String... subsystem) throws AdminProcessingException {
 			DefaultOperationRequestBuilder builder = new DefaultOperationRequestBuilder();
 	        final ModelNode request;
@@ -618,9 +642,18 @@
 			Set<String> datasourceNames = new HashSet<String>();
 			datasourceNames.addAll(getChildNodeNames("datasources", "data-source"));
 			datasourceNames.addAll(getChildNodeNames("datasources", "xa-data-source"));
-
 			datasourceNames.addAll(getResourceAdapterDataSources().keySet());
-	        return datasourceNames;	
+			
+			Set<String> dsNames = new HashSet<String>();
+			for (String s:datasourceNames) {
+				if (s.startsWith(JAVA_CONTEXT)) {
+					dsNames.add(s.substring(6));
+				}
+				else {
+					dsNames.add(s);
+				}
+			}
+	        return dsNames;	
 		}
 
 		private Map<String, String> getResourceAdapterDataSources() throws AdminException {
@@ -1042,7 +1075,7 @@
 	        return list;
 	    }		
 	    
-	    public <T> Set<T> getSet(ModelNode operationResult,  MetadataMapper<T> mapper) {
+	    private <T> Set<T> getSet(ModelNode operationResult,  MetadataMapper<T> mapper) {
 	        if(!operationResult.hasDefined("result")) //$NON-NLS-1$
 	            return Collections.emptySet();
 

Modified: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidAdd.java
===================================================================
--- branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidAdd.java	2011-10-31 19:57:54 UTC (rev 3595)
+++ branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TeiidAdd.java	2011-10-31 20:16:17 UTC (rev 3596)
@@ -317,11 +317,17 @@
         context.addStep(new AbstractDeploymentChainStep() {
 			@Override
 			public void execute(DeploymentProcessorTarget processorTarget) {
+				// vdb deployers
 				processorTarget.addDeploymentProcessor(Phase.STRUCTURE, Phase.STRUCTURE_WAR_DEPLOYMENT_INIT,new DynamicVDBRootMountDeployer());
 				processorTarget.addDeploymentProcessor(Phase.STRUCTURE, Phase.STRUCTURE_WAR_DEPLOYMENT_INIT|0x0001,new VDBStructureDeployer());
 				processorTarget.addDeploymentProcessor(Phase.PARSE, Phase.PARSE_WEB_DEPLOYMENT|0x0001, new VDBParserDeployer());
 				processorTarget.addDeploymentProcessor(Phase.DEPENDENCIES, Phase.DEPENDENCIES_WAR_MODULE|0x0001, new VDBDependencyDeployer());
-				processorTarget.addDeploymentProcessor(Phase.INSTALL, Phase.INSTALL_WAR_DEPLOYMENT|0x0001, new VDBDeployer(translatorRepo, asyncThreadPoolName, statusChecker));            			
+				processorTarget.addDeploymentProcessor(Phase.INSTALL, Phase.INSTALL_WAR_DEPLOYMENT|0x0001, new VDBDeployer(translatorRepo, asyncThreadPoolName, statusChecker));
+				
+				// translator deployers
+				processorTarget.addDeploymentProcessor(Phase.STRUCTURE, Phase.STRUCTURE_JDBC_DRIVER|0x0001,new TranslatorStructureDeployer());
+				processorTarget.addDeploymentProcessor(Phase.DEPENDENCIES, Phase.DEPENDENCIES_MODULE|0x0001, new TranslatorDependencyDeployer());
+				processorTarget.addDeploymentProcessor(Phase.INSTALL, Phase.INSTALL_JDBC_DRIVER|0x0001, new TranslatorDeployer());
 			}
         	
         }, OperationContext.Stage.RUNTIME);    	

Modified: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorAdd.java
===================================================================
--- branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorAdd.java	2011-10-31 19:57:54 UTC (rev 3595)
+++ branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorAdd.java	2011-10-31 20:16:17 UTC (rev 3596)
@@ -120,6 +120,7 @@
 	        		builder.addDependency(TeiidServiceNames.VDB_STATUS_CHECKER, VDBStatusChecker.class, translatorService.statusCheckerInjector);
 	        		newControllers.add(builder.setInitialMode(ServiceController.Mode.ACTIVE).install());
 	                added = true;
+	                break;
         		}
         	}
         }

Added: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorDependencyDeployer.java
===================================================================
--- branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorDependencyDeployer.java	                        (rev 0)
+++ branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorDependencyDeployer.java	2011-10-31 20:16:17 UTC (rev 3596)
@@ -0,0 +1,59 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership.  Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+package org.teiid.jboss;
+
+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.as.server.deployment.module.ModuleDependency;
+import org.jboss.as.server.deployment.module.ModuleSpecification;
+import org.jboss.modules.Module;
+import org.jboss.modules.ModuleIdentifier;
+import org.jboss.modules.ModuleLoadException;
+import org.jboss.modules.ModuleLoader;
+
+public class TranslatorDependencyDeployer implements DeploymentUnitProcessor {
+
+	@Override
+	public void deploy(DeploymentPhaseContext phaseContext) throws DeploymentUnitProcessingException {
+		DeploymentUnit deploymentUnit = phaseContext.getDeploymentUnit();
+        try {
+			final ModuleSpecification moduleSpecification = deploymentUnit.getAttachment(Attachments.MODULE_SPECIFICATION);
+			final ModuleLoader moduleLoader = Module.getCallerModule().getModule(ModuleIdentifier.create("org.jboss.teiid")).getModuleLoader(); //$NON-NLS-1$
+			moduleSpecification.addLocalDependency(new ModuleDependency(moduleLoader, ModuleIdentifier.create("org.jboss.teiid.api"), false, false, false)); //$NON-NLS-1$
+			moduleSpecification.addLocalDependency(new ModuleDependency(moduleLoader, ModuleIdentifier.create("org.jboss.teiid.common-core"), false, false, false)); //$NON-NLS-1$
+			moduleSpecification.addLocalDependency(new ModuleDependency(moduleLoader, ModuleIdentifier.create("javax.api"), false, false, false)); //$NON-NLS-1$
+			moduleSpecification.addLocalDependency(new ModuleDependency(moduleLoader, ModuleIdentifier.create("javax.resource.api"), false, false, false)); //$NON-NLS-1$
+			moduleSpecification.addLocalDependency(new ModuleDependency(moduleLoader, ModuleIdentifier.create("org.apache.commons.logging"), false, false, false)); //$NON-NLS-1$
+			moduleSpecification.addLocalDependency(new ModuleDependency(moduleLoader, ModuleIdentifier.create("org.apache.log4j"), false, false, false)); //$NON-NLS-1$
+		} catch (ModuleLoadException e) {
+			throw new DeploymentUnitProcessingException(e);
+		}	
+	}
+
+	@Override
+	public void undeploy(DeploymentUnit context) {
+	}
+
+}


Property changes on: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorDependencyDeployer.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorDeployer.java
===================================================================
--- branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorDeployer.java	                        (rev 0)
+++ branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorDeployer.java	2011-10-31 20:16:17 UTC (rev 3596)
@@ -0,0 +1,85 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership.  Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package org.teiid.jboss;
+
+import java.util.ServiceLoader;
+
+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.ServiceBuilder;
+import org.jboss.msc.service.ServiceController;
+import org.jboss.msc.service.ServiceTarget;
+import org.teiid.adminapi.impl.VDBTranslatorMetaData;
+import org.teiid.deployers.TeiidAttachments;
+import org.teiid.deployers.TranslatorUtil;
+import org.teiid.deployers.VDBStatusChecker;
+import org.teiid.dqp.internal.datamgr.TranslatorRepository;
+import org.teiid.logging.LogConstants;
+import org.teiid.logging.LogManager;
+import org.teiid.translator.ExecutionFactory;
+
+/**
+ * Deploy Translator from a JAR file
+ */
+public final class TranslatorDeployer implements DeploymentUnitProcessor {
+
+    @Override
+    public void deploy(final DeploymentPhaseContext phaseContext) throws DeploymentUnitProcessingException {
+        final DeploymentUnit deploymentUnit = phaseContext.getDeploymentUnit();
+        final ServiceTarget target = phaseContext.getServiceTarget();
+        
+        if (!TeiidAttachments.isTranslator(deploymentUnit)) {
+        	return;
+        }
+        
+        String moduleName = deploymentUnit.getName();
+        final Module module = deploymentUnit.getAttachment(Attachments.MODULE);
+        ClassLoader translatorLoader =  module.getClassLoader();
+        
+        final ServiceLoader<ExecutionFactory> serviceLoader =  ServiceLoader.load(ExecutionFactory.class, translatorLoader);
+        if (serviceLoader != null) {
+        	for (ExecutionFactory ef:serviceLoader) {
+        		VDBTranslatorMetaData metadata = TranslatorUtil.buildTranslatorMetadata(ef, moduleName);
+        		if (metadata == null) {
+        			throw new DeploymentUnitProcessingException(IntegrationPlugin.Util.getString("error_adding_translator_deployment", moduleName)); //$NON-NLS-1$ 
+        		}
+        		
+        		LogManager.logInfo(LogConstants.CTX_RUNTIME, IntegrationPlugin.Util.getString("translator.added", metadata.getName())); //$NON-NLS-1$
+        		
+        		TranslatorService translatorService = new TranslatorService(metadata);
+        		ServiceBuilder<VDBTranslatorMetaData> builder = target.addService(TeiidServiceNames.translatorServiceName(metadata.getName()), translatorService);
+        		builder.addDependency(TeiidServiceNames.TRANSLATOR_REPO, TranslatorRepository.class, translatorService.repositoryInjector);
+        		builder.addDependency(TeiidServiceNames.VDB_STATUS_CHECKER, VDBStatusChecker.class, translatorService.statusCheckerInjector);
+        		builder.setInitialMode(ServiceController.Mode.ACTIVE).install();
+        	}
+        }
+    }
+
+    @Override
+    public void undeploy(final DeploymentUnit context) {
+    }
+}


Property changes on: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorDeployer.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Modified: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorRemove.java
===================================================================
--- branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorRemove.java	2011-10-31 19:57:54 UTC (rev 3595)
+++ branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorRemove.java	2011-10-31 20:16:17 UTC (rev 3596)
@@ -37,8 +37,6 @@
 import org.jboss.msc.service.ServiceController;
 import org.jboss.msc.service.ServiceName;
 import org.jboss.msc.service.ServiceRegistry;
-import org.teiid.logging.LogConstants;
-import org.teiid.logging.LogManager;
 
 class TranslatorRemove extends AbstractRemoveStepHandler implements DescriptionProvider {
 
@@ -63,7 +61,6 @@
         final ServiceName serviceName = TeiidServiceNames.translatorServiceName(translatorName);
         final ServiceController<?> controller = registry.getService(serviceName);
         if (controller != null) {
-            LogManager.logInfo(LogConstants.CTX_RUNTIME, IntegrationPlugin.Util.getString("translator.removed", translatorName)); //$NON-NLS-1$
         	context.removeService(serviceName);
         }
 	}

Modified: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorService.java
===================================================================
--- branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorService.java	2011-10-31 19:57:54 UTC (rev 3595)
+++ branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorService.java	2011-10-31 20:16:17 UTC (rev 3596)
@@ -30,6 +30,8 @@
 import org.teiid.adminapi.impl.VDBTranslatorMetaData;
 import org.teiid.deployers.VDBStatusChecker;
 import org.teiid.dqp.internal.datamgr.TranslatorRepository;
+import org.teiid.logging.LogConstants;
+import org.teiid.logging.LogManager;
 
 class TranslatorService implements Service<VDBTranslatorMetaData> {
 	private VDBTranslatorMetaData translator;
@@ -51,6 +53,7 @@
 	public void stop(StopContext context) {
 		this.repositoryInjector.getValue().removeTranslatorMetadata(this.translator.getName());
 		this.statusCheckerInjector.getValue().translatorRemoved(this.translator.getName());
+		LogManager.logInfo(LogConstants.CTX_RUNTIME, IntegrationPlugin.Util.getString("translator.removed", this.translator.getName())); //$NON-NLS-1$
 	}
 
 	@Override

Added: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorStructureDeployer.java
===================================================================
--- branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorStructureDeployer.java	                        (rev 0)
+++ branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorStructureDeployer.java	2011-10-31 20:16:17 UTC (rev 3596)
@@ -0,0 +1,63 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership.  Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+package org.teiid.jboss;
+
+import java.util.List;
+
+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.as.server.deployment.DeploymentUtils;
+import org.jboss.as.server.deployment.module.ResourceRoot;
+import org.jboss.vfs.VirtualFile;
+import org.teiid.deployers.TeiidAttachments;
+
+/**
+ * Detects a Translator jar and sets flags for deployment.
+ */
+public final class TranslatorStructureDeployer implements DeploymentUnitProcessor {
+
+    @Override
+    public void deploy(final DeploymentPhaseContext phaseContext) throws DeploymentUnitProcessingException {
+        final DeploymentUnit deploymentUnit = phaseContext.getDeploymentUnit();
+        if (TeiidAttachments.isTranslator(deploymentUnit)) {
+        	return;
+        }
+
+        List<ResourceRoot> resourceRoots = DeploymentUtils.allResourceRoots(deploymentUnit);
+        for (ResourceRoot resourceRoot : resourceRoots) {
+            final VirtualFile deploymentRoot = resourceRoot.getRoot();
+
+            if (deploymentRoot.getChild("META-INF/services/org.teiid.translator.ExecutionFactory").exists())  { //$NON-NLS-1$
+                TeiidAttachments.setAsTranslatorDeployment(deploymentUnit);
+                deploymentUnit.putAttachment(Attachments.IGNORE_OSGI, Boolean.TRUE);
+                break;
+            }
+        }
+    }
+
+    @Override
+    public void undeploy(final DeploymentUnit context) {
+    }
+}


Property changes on: branches/as7/jboss-integration/src/main/java/org/teiid/jboss/TranslatorStructureDeployer.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Modified: branches/as7/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties
===================================================================
--- branches/as7/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties	2011-10-31 19:57:54 UTC (rev 3595)
+++ branches/as7/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties	2011-10-31 20:16:17 UTC (rev 3596)
@@ -35,6 +35,8 @@
 sourcename_not_found=No source name {0} found in the model: {1}.{2}.{3}
 vdb_file_not_found = VDB file {0} not found at the location specified.
 socket_not_enabled=Socket based remote JDBC protocol is not enabled.
+source_not_found=Source with name {0} not found in the Model {1} in VDB {2}.{3}
+model_not_found=Model with name {0} not found in the VDB {1}.{2}
 
 no_operation=No operation found with given name = {0}
 failed_to_remove=Failed to remove the deployment
@@ -63,6 +65,7 @@
 socket_binding_not_defined=Socket binding not specified for transport {0}; only embedded access is granted.
 embedded_enabled=Teiid Embedded transport enabled.
 vdb-undeploy-failed=error during the undeploy of vdb {0}.{1}
+error_adding_translator_deployment=Error adding translator from deployment {0}
 
 # subsystem description
 teiid.add = Add the Teiid Subsystem

Modified: branches/as7/jboss-integration/src/test/java/org/teiid/jboss/TestTeiidOperations.java
===================================================================
--- branches/as7/jboss-integration/src/test/java/org/teiid/jboss/TestTeiidOperations.java	2011-10-31 19:57:54 UTC (rev 3595)
+++ branches/as7/jboss-integration/src/test/java/org/teiid/jboss/TestTeiidOperations.java	2011-10-31 20:16:17 UTC (rev 3596)
@@ -1,11 +1,18 @@
 package org.teiid.jboss;
 
 import static junit.framework.Assert.assertEquals;
-import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.*;
+import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.ADD;
+import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.ATTRIBUTES;
+import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.CHILD_TYPE;
+import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.DESCRIBE;
+import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.OP;
+import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.OP_ADDR;
+import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.OUTCOME;
+import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.SUBSYSTEM;
+import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.SUCCESS;
 import static org.junit.Assert.fail;
 
 import java.io.ByteArrayInputStream;
-import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.FileReader;
 import java.io.IOException;
@@ -24,20 +31,15 @@
 import junit.framework.Assert;
 
 import org.jboss.as.cli.Util;
-import org.jboss.as.cli.operation.impl.DefaultOperationRequestAddress;
-import org.jboss.as.cli.operation.impl.DefaultOperationRequestBuilder;
 import org.jboss.as.controller.OperationContext.Type;
-import org.jboss.as.controller.client.OperationBuilder;
 import org.jboss.as.controller.PathAddress;
 import org.jboss.as.controller.PathElement;
 import org.jboss.as.subsystem.test.AbstractSubsystemTest;
 import org.jboss.as.subsystem.test.AdditionalInitialization;
 import org.jboss.as.subsystem.test.KernelServices;
 import org.jboss.dmr.ModelNode;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.teiid.core.util.ObjectConverterUtil;
-import org.teiid.core.util.UnitTestUtil;
 import org.xml.sax.ErrorHandler;
 import org.xml.sax.SAXException;
 import org.xml.sax.SAXParseException;
@@ -230,13 +232,14 @@
         Assert.assertEquals(SUCCESS, result.get(OUTCOME).asString());
         
         List<String> opNames = getList(result);
-        assertEquals(36, opNames.size());
+        assertEquals(37, opNames.size());
 		String[] ops = { "add", "add-anyauthenticated-role", "add-data-role",
 				"assign-datasource", "cache-statistics", "cache-types",
 				"cancel-request", "change-vdb-connection-type", "clear-cache",
 				"describe", "execute-query", "get-translator", "get-vdb",
 				"list-requests", "list-sessions", "list-transactions",
 				"list-translators", "list-vdbs", "long-running-queries",
+				"mark-datasource-available",
 				"merge-vdbs", "read-attribute", "read-children-names",
 				"read-children-resources", "read-children-types",
 				"read-operation-description", "read-operation-names",
@@ -324,12 +327,12 @@
         return list;
     }    
 
-    private ModelNode buildProperty(String name, String value) {
-    	ModelNode node = new ModelNode();
-    	node.get("property-name").set(name);
-    	node.get("property-value").set(value);
-    	return node;
-    }
+//    private ModelNode buildProperty(String name, String value) {
+//    	ModelNode node = new ModelNode();
+//    	node.get("property-name").set(name);
+//    	node.get("property-value").set(value);
+//    	return node;
+//    }
     
     @Test
     public void testTranslator() throws Exception {
@@ -340,80 +343,49 @@
         ModelNode addOp = new ModelNode();
         addOp.get(OP).set("add");
         addOp.get(OP_ADDR).set(addr.toModelNode().add("translator", "oracle"));
-        services.executeOperation(addOp);        
-        
-        ModelNode listOp = new ModelNode();
-        listOp.get(OP).set("list-translators");
-        listOp.get(OP_ADDR).set(addr.toModelNode());
-        
-        ModelNode result = services.executeOperation(listOp);
+        ModelNode result = services.executeOperation(addOp);   
         Assert.assertEquals(SUCCESS, result.get(OUTCOME).asString());
         
-        List<ModelNode> translators = result.get("result").asList();
+        ModelNode read = new ModelNode();
+        read.get(OP).set("read-children-names");
+        read.get(OP_ADDR).set(addr.toModelNode());
+        read.get(CHILD_TYPE).set("translator");        
         
-        ModelNode oracle = new ModelNode();
-        oracle.get("translator-name").set("oracle");
-        oracle.get("description").set("A translator for Oracle 9i Database or later");
-        oracle.get("children", "properties").add(buildProperty("execution-factory-class","org.teiid.translator.jdbc.oracle.OracleExecutionFactory"));
-        oracle.get("children", "properties").add(buildProperty("TrimStrings","false"));
-        oracle.get("children", "properties").add(buildProperty("SupportedJoinCriteria","ANY"));
-        oracle.get("children", "properties").add(buildProperty("requiresCriteria","false"));
-        oracle.get("children", "properties").add(buildProperty("supportsOuterJoins","true"));
-        oracle.get("children", "properties").add(buildProperty("useCommentsInSourceQuery","false"));
-        oracle.get("children", "properties").add(buildProperty("useBindVariables","true"));
-        oracle.get("children", "properties").add(buildProperty("MaxPreparedInsertBatchSize","2048"));
-        oracle.get("children", "properties").add(buildProperty("supportsInnerJoins","true"));
-        oracle.get("children", "properties").add(buildProperty("MaxInCriteriaSize","1000"));
-        oracle.get("children", "properties").add(buildProperty("supportsSelectDistinct","true"));
-        oracle.get("children", "properties").add(buildProperty("supportsOrderBy","true"));
-        oracle.get("children", "properties").add(buildProperty("supportsFullOuterJoins","true"));
-        oracle.get("children", "properties").add(buildProperty("Immutable","false"));
-        oracle.get("children", "properties").add(buildProperty("MaxDependentInPredicates","50"));
-        
-        super.compare(translators.get(0), oracle);
-    }    
-    
-    @Ignore
-    public void testVDBOperations() throws Exception {
-    	KernelServices services = buildSubsystem();
-    	String fileName = "bqt.vdb";
-    	
-		byte[] bytes = ObjectConverterUtil.convertToByteArray(new FileInputStream(UnitTestUtil.getTestDataFile(fileName)));
-        PathAddress addr = PathAddress.pathAddress(PathElement.pathElement(SUBSYSTEM, TeiidExtension.TEIID_SUBSYSTEM));
-        
-        // add
-        ModelNode composite = new ModelNode();
-        composite.get("operation").set("composite");
-        composite.get("address").setEmptyList();
-        ModelNode steps = composite.get("steps");			
-		
-		DefaultOperationRequestBuilder builder = new DefaultOperationRequestBuilder();
-        builder.setOperationName("add");
-        builder.addNode("deployment", fileName);
+        result = services.executeOperation(read);
+        Assert.assertEquals(SUCCESS, result.get(OUTCOME).asString());
 
-		builder.getModelNode().get("content").get(0).get("bytes").set(bytes);
-		steps.add(builder.buildRequest());
-    
-        // deploy
-        builder = new DefaultOperationRequestBuilder();
-        builder.setOperationName("deploy");
-        builder.addNode("deployment", fileName);
-        steps.add(builder.buildRequest());
-        
-        ModelNode result = services.executeOperation(composite);
+        List<String> translators = Util.getList(result);
+        Assert.assertTrue(translators.contains("oracle"));
 
-        Assert.assertEquals(SUCCESS, result.get(OUTCOME).asString());
-            
-        ModelNode addOp = new ModelNode();
-        addOp.get(OP).set("list-vdbs");
-        addOp.get(OP_ADDR).set(addr.toModelNode());
+        ModelNode resourceRead = new ModelNode();
+        resourceRead.get(OP).set("read-resource");
+        resourceRead.get(OP_ADDR).set(addr.toModelNode());
+        resourceRead.get("translator").set("oracle");        
         
-        result = services.executeOperation(addOp);
+        result = services.executeOperation(resourceRead);
         Assert.assertEquals(SUCCESS, result.get(OUTCOME).asString());
         
-        List<String> opNames = getList(result);
-        assertEquals(2, opNames.size());
-        String [] ops3 = {"newbie", "odbc"};
-        assertEquals(Arrays.asList(ops3), opNames);     	
-    }
+//        ModelNode oracleNode = result.get("result");
+//        
+//        ModelNode oracle = new ModelNode();
+//        oracle.get("translator-name").set("oracle");
+//        oracle.get("description").set("A translator for Oracle 9i Database or later");
+//        oracle.get("children", "properties").add(buildProperty("execution-factory-class","org.teiid.translator.jdbc.oracle.OracleExecutionFactory"));
+//        oracle.get("children", "properties").add(buildProperty("TrimStrings","false"));
+//        oracle.get("children", "properties").add(buildProperty("SupportedJoinCriteria","ANY"));
+//        oracle.get("children", "properties").add(buildProperty("requiresCriteria","false"));
+//        oracle.get("children", "properties").add(buildProperty("supportsOuterJoins","true"));
+//        oracle.get("children", "properties").add(buildProperty("useCommentsInSourceQuery","false"));
+//        oracle.get("children", "properties").add(buildProperty("useBindVariables","true"));
+//        oracle.get("children", "properties").add(buildProperty("MaxPreparedInsertBatchSize","2048"));
+//        oracle.get("children", "properties").add(buildProperty("supportsInnerJoins","true"));
+//        oracle.get("children", "properties").add(buildProperty("MaxInCriteriaSize","1000"));
+//        oracle.get("children", "properties").add(buildProperty("supportsSelectDistinct","true"));
+//        oracle.get("children", "properties").add(buildProperty("supportsOrderBy","true"));
+//        oracle.get("children", "properties").add(buildProperty("supportsFullOuterJoins","true"));
+//        oracle.get("children", "properties").add(buildProperty("Immutable","false"));
+//        oracle.get("children", "properties").add(buildProperty("MaxDependentInPredicates","50"));
+//        
+//        super.compare(oracleNode, oracle);
+    }    
 }

Modified: branches/as7/runtime/src/main/java/org/teiid/deployers/TeiidAttachments.java
===================================================================
--- branches/as7/runtime/src/main/java/org/teiid/deployers/TeiidAttachments.java	2011-10-31 19:57:54 UTC (rev 3595)
+++ branches/as7/runtime/src/main/java/org/teiid/deployers/TeiidAttachments.java	2011-10-31 20:16:17 UTC (rev 3596)
@@ -29,7 +29,7 @@
 
 public final class TeiidAttachments {
 	
-	enum DeploymentType{VDB, DYNAMIC_VDB};
+	enum DeploymentType{VDB, DYNAMIC_VDB, TRANSLATOR};
 	
     public static final AttachmentKey<VDBMetaData> VDB_METADATA = AttachmentKey.create(VDBMetaData.class);
     public static final AttachmentKey<UDFMetaData> UDF_METADATA = AttachmentKey.create(UDFMetaData.class);
@@ -52,4 +52,12 @@
     public static void setAsDynamicVDBDeployment(final DeploymentUnit deploymentUnit) {
         deploymentUnit.putAttachment(DEPLOYMENT_TYPE, DeploymentType.DYNAMIC_VDB);
     }
+    
+    public static void setAsTranslatorDeployment(final DeploymentUnit deploymentUnit) {
+        deploymentUnit.putAttachment(DEPLOYMENT_TYPE, DeploymentType.TRANSLATOR);
+    }
+    
+    public static boolean isTranslator(final DeploymentUnit deploymentUnit) {
+        return DeploymentType.TRANSLATOR == deploymentUnit.getAttachment(DEPLOYMENT_TYPE);
+    }    
 }

Modified: branches/as7/runtime/src/main/java/org/teiid/deployers/TranslatorUtil.java
===================================================================
--- branches/as7/runtime/src/main/java/org/teiid/deployers/TranslatorUtil.java	2011-10-31 19:57:54 UTC (rev 3595)
+++ branches/as7/runtime/src/main/java/org/teiid/deployers/TranslatorUtil.java	2011-10-31 20:16:17 UTC (rev 3596)
@@ -188,6 +188,14 @@
 		}
 		return value;
 	}
+	
+	public static String getTranslatorName(ExecutionFactory factory) {
+		org.teiid.translator.Translator translator = factory.getClass().getAnnotation(org.teiid.translator.Translator.class);
+		if (translator == null) {
+			return null;
+		}
+		return translator.name();
+	}
 
 	public static VDBTranslatorMetaData buildTranslatorMetadata(ExecutionFactory factory, String moduleName) {
 		

Modified: branches/as7/test-integration/common/pom.xml
===================================================================
--- branches/as7/test-integration/common/pom.xml	2011-10-31 19:57:54 UTC (rev 3595)
+++ branches/as7/test-integration/common/pom.xml	2011-10-31 20:16:17 UTC (rev 3596)
@@ -29,6 +29,41 @@
             <groupId>commons-logging</groupId>
             <artifactId>commons-logging</artifactId>
 		</dependency>
+        <dependency>
+           <groupId>org.jboss.arquillian.junit</groupId>
+           <artifactId>arquillian-junit-container</artifactId>
+           <version>1.0.0.CR5</version>
+           <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.8.2</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+           <groupId>javax.enterprise</groupId>
+           <artifactId>cdi-api</artifactId>
+           <version>1.0</version>
+        </dependency>        
 	</dependencies>
-     
+    <profiles>
+        <profile>
+            <id>jbossas-managed-7</id>
+            <dependencies>
+                <dependency>
+                    <groupId>org.jboss.spec</groupId>
+                    <artifactId>jboss-javaee-6.0</artifactId>
+                    <version>1.0.0.Final</version>
+                    <type>pom</type>
+                    <scope>provided</scope>
+                </dependency>
+                <dependency>
+                    <groupId>org.jboss.as</groupId>
+                    <artifactId>jboss-as-arquillian-container-managed</artifactId>
+                    <version>7.0.2.Final</version>
+                </dependency>
+            </dependencies>
+        </profile>
+    </profiles>
 </project>
\ No newline at end of file

Added: branches/as7/test-integration/common/src/test/java/org/teiid/arquillian/SampleExecutionFactory.java
===================================================================
--- branches/as7/test-integration/common/src/test/java/org/teiid/arquillian/SampleExecutionFactory.java	                        (rev 0)
+++ branches/as7/test-integration/common/src/test/java/org/teiid/arquillian/SampleExecutionFactory.java	2011-10-31 20:16:17 UTC (rev 3596)
@@ -0,0 +1,10 @@
+package org.teiid.arquillian;
+
+import org.teiid.translator.ExecutionFactory;
+
+ at org.teiid.translator.Translator(name = "orcl")
+public class SampleExecutionFactory extends ExecutionFactory<Object, Object> {
+	public SampleExecutionFactory() {
+		setSupportsSelectDistinct(true);
+	}
+}
\ No newline at end of file


Property changes on: branches/as7/test-integration/common/src/test/java/org/teiid/arquillian/SampleExecutionFactory.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: branches/as7/test-integration/common/src/test/java/org/teiid/arquillian/TestDeployment.java
===================================================================
--- branches/as7/test-integration/common/src/test/java/org/teiid/arquillian/TestDeployment.java	                        (rev 0)
+++ branches/as7/test-integration/common/src/test/java/org/teiid/arquillian/TestDeployment.java	2011-10-31 20:16:17 UTC (rev 3596)
@@ -0,0 +1,139 @@
+package org.teiid.arquillian;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import java.io.FileInputStream;
+import java.util.Collection;
+import java.util.Properties;
+import java.util.Set;
+
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.ArchivePaths;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.asset.ByteArrayAsset;
+import org.jboss.shrinkwrap.api.exporter.ZipExporter;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.teiid.adminapi.Admin;
+import org.teiid.adminapi.AdminFactory;
+import org.teiid.adminapi.Model;
+import org.teiid.adminapi.Translator;
+import org.teiid.adminapi.VDB;
+import org.teiid.adminapi.VDB.ConnectionType;
+import org.teiid.adminapi.VDB.Status;
+import org.teiid.adminapi.impl.VDBTranslatorMetaData;
+import org.teiid.core.util.UnitTestUtil;
+
+ at RunWith(Arquillian.class)
+ at SuppressWarnings("nls")
+public class TestDeployment {
+
+	@Test
+	public void testVDBDeployment() throws Exception {
+		boolean deployed = false;
+		Admin admin = AdminFactory.getInstance().createAdmin("localhost", 9999,	null, null);
+		try {
+			Set<?> vdbs = admin.getVDBs();
+			assertTrue(vdbs.isEmpty());
+			
+			Collection<String> dsNames = admin.getDataSourceNames();
+			if (dsNames.contains("Oracle11_PushDS")) {
+				admin.deleteDataSource("Oracle11_PushDS");
+			}
+			
+			admin.deploy("bqt.vdb",new FileInputStream(UnitTestUtil.getTestDataFile("bqt.vdb")));
+			deployed = true;
+
+			vdbs = admin.getVDBs();
+			assertFalse(vdbs.isEmpty());
+
+			VDB vdb = admin.getVDB("bqt", 1);
+			assertFalse(vdb.isValid());
+			assertTrue(vdb.getStatus().equals(Status.INACTIVE));
+
+			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");
+			
+			admin.createDataSource("Oracle11_PushDS", "h2", props);
+			Thread.sleep(2000);
+			vdb = admin.getVDB("bqt", 1);
+			assertTrue(vdb.isValid());
+			assertTrue(vdb.getStatus().equals(Status.ACTIVE));
+			
+			dsNames = admin.getDataSourceNames();
+			assertTrue(dsNames.contains("Oracle11_PushDS"));
+
+			admin.deleteDataSource("Oracle11_PushDS");
+			vdb = admin.getVDB("bqt", 1);
+			assertFalse(vdb.isValid());
+			assertTrue(vdb.getStatus().equals(Status.INACTIVE));
+		} finally {
+			if (deployed) {
+				admin.undeploy("bqt.vdb");
+			}
+		}
+		
+		admin.close();
+	}
+
+	@Test
+	public void testTraslators() throws Exception {
+		Admin admin = AdminFactory.getInstance().createAdmin("localhost", 9999, null, null);
+		
+		Collection<? extends Translator> translators = admin.getTranslators();
+		
+		assertEquals(27, translators.size());
+
+		JavaArchive jar = ShrinkWrap.create(JavaArchive.class, "orcl.jar")
+				      .addClasses(SampleExecutionFactory.class)
+				      .addAsManifestResource(new ByteArrayAsset(SampleExecutionFactory.class.getName().getBytes()),
+				            ArchivePaths.create("services/org.teiid.translator.ExecutionFactory"));
+		try {
+			admin.deploy("orcl.jar", jar.as(ZipExporter.class).exportAsInputStream());
+			
+			VDBTranslatorMetaData t = (VDBTranslatorMetaData)admin.getTranslator("orcl");
+			assertNotNull(t);
+			assertEquals("ANY", t.getPropertyValue("SupportedJoinCriteria"));
+			assertEquals("true", t.getPropertyValue("supportsSelectDistinct"));
+		} finally {
+			admin.undeploy("orcl.jar");	
+		}
+
+		VDBTranslatorMetaData t = (VDBTranslatorMetaData)admin.getTranslator("orcl");
+		assertNull(t);
+		
+		admin.close();
+	}
+
+	@Test
+	public void testVDBOperations() throws Exception {
+		Admin admin = AdminFactory.getInstance().createAdmin("localhost", 9999,	null, null);
+		try {
+			admin.deploy("bqt.vdb",new FileInputStream(UnitTestUtil.getTestDataFile("bqt.vdb")));
+			
+			VDB vdb = admin.getVDB("bqt", 1);
+			Model model = vdb.getModels().get(0);
+			assertEquals(ConnectionType.BY_VERSION, vdb.getConnectionType());
+			
+			admin.assignToModel("bqt", 1, model.getName(), "Source", "h2", "java:jboss/datasources/ExampleDS");
+			admin.changeVDBConnectionType("bqt", 1, ConnectionType.ANY);
+			
+			vdb = admin.getVDB("bqt", 1);
+			model = vdb.getModels().get(0);
+			assertEquals(model.getSourceConnectionJndiName("Source"), "java:jboss/datasources/ExampleDS");
+			assertEquals(model.getSourceTranslatorName("Source"), "h2");
+			assertEquals(ConnectionType.ANY, vdb.getConnectionType());
+			
+		} finally {
+			admin.undeploy("bqt.vdb");
+		}
+		admin.close();
+	}
+}


Property changes on: branches/as7/test-integration/common/src/test/java/org/teiid/arquillian/TestDeployment.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Added: branches/as7/test-integration/common/src/test/resources/arquillian.xml
===================================================================
--- branches/as7/test-integration/common/src/test/resources/arquillian.xml	                        (rev 0)
+++ branches/as7/test-integration/common/src/test/resources/arquillian.xml	2011-10-31 20:16:17 UTC (rev 3596)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<arquillian xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns="http://jboss.org/schema/arquillian"
+    xsi:schemaLocation="http://jboss.org/schema/arquillian http://jboss.org/schema/arquillian/arquillian_1_0.xsd">
+ 
+    <container qualifier="jboss7" default="true">
+        <protocol type="jmx-as7">
+            <property name="executionType">REMOTE</property>
+        </protocol>
+            <configuration>
+                <property name="jbossHome">/home/rareddy/testing/jboss-as-7.1.0.Alpha2-SNAPSHOT</property>
+                <property name="serverConfig">standalone-teiid.xml</property>
+                <property name="managementAddress">127.0.0.1</property>
+                <property name="managementPort">9999</property>
+            </configuration>        
+    </container>
+</arquillian>
\ No newline at end of file


Property changes on: branches/as7/test-integration/common/src/test/resources/arquillian.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain



More information about the teiid-commits mailing list