[teiid-commits] teiid SVN: r4087 - in trunk/jboss-integration/src/main: resources/org/teiid/jboss and 1 other directory.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Wed May 9 23:02:42 EDT 2012


Author: rareddy
Date: 2012-05-09 23:02:40 -0400 (Wed, 09 May 2012)
New Revision: 4087

Modified:
   trunk/jboss-integration/src/main/java/org/teiid/jboss/VDBDeployer.java
   trunk/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties
Log:
TEIID-2021: Removing the hard depolyment time requirement to have translators deployed prior to VDB deployed. In this situation, the system will log a error message to console and as well as VDB errors area. The VDB will be deployed but the VDB service will not be started until the translator is available

Modified: trunk/jboss-integration/src/main/java/org/teiid/jboss/VDBDeployer.java
===================================================================
--- trunk/jboss-integration/src/main/java/org/teiid/jboss/VDBDeployer.java	2012-05-09 18:57:43 UTC (rev 4086)
+++ trunk/jboss-integration/src/main/java/org/teiid/jboss/VDBDeployer.java	2012-05-10 03:02:40 UTC (rev 4087)
@@ -51,6 +51,7 @@
 import org.teiid.adminapi.Model;
 import org.teiid.adminapi.Translator;
 import org.teiid.adminapi.impl.ModelMetaData;
+import org.teiid.adminapi.impl.ModelMetaData.ValidationError;
 import org.teiid.adminapi.impl.VDBMetaData;
 import org.teiid.adminapi.impl.VDBTranslatorMetaData;
 import org.teiid.common.buffer.BufferManager;
@@ -86,7 +87,6 @@
 		if (!TeiidAttachments.isVDBDeployment(deploymentUnit)) {
 			return;
 		}
-		final String deploymentName = deploymentUnit.getName();
 		final VDBMetaData deployment = deploymentUnit.getAttachment(TeiidAttachments.VDB_METADATA);
 		
 		// check to see if there is old vdb already deployed.
@@ -103,27 +103,24 @@
 				throw new DeploymentUnitProcessingException(IntegrationPlugin.Util.gs(IntegrationPlugin.Event.TEIID50074, deployment));
 			}
 		}
-				
-		// add required connector managers; if they are not already there
-		for (Translator t: deployment.getOverrideTranslators()) {
-			VDBTranslatorMetaData data = (VDBTranslatorMetaData)t;
-			
-			String type = data.getType();
-			Translator parent = this.translatorRepository.getTranslatorMetaData(type);
-			if ( parent == null) {				
-				throw new DeploymentUnitProcessingException(IntegrationPlugin.Util.gs(IntegrationPlugin.Event.TEIID50077, type, deploymentName));
-			}
-		}
 		
-		// make sure the translator defined exists in configuration.
+		// make sure the translator defined exists in configuration; otherwise add as error
 		for (ModelMetaData model:deployment.getModelMetaDatas().values()) {
 			if (model.isSource() && !model.getSourceNames().isEmpty()) {
 				for (String source:model.getSourceNames()) {
+					
 					String translatorName = model.getSourceTranslatorName(source);
-					Translator parent = this.translatorRepository.getTranslatorMetaData(translatorName);
-					if ( parent == null) {				
-						throw new DeploymentUnitProcessingException(IntegrationPlugin.Util.gs(IntegrationPlugin.Event.TEIID50077, translatorName, deploymentName));
-					}					
+					if (deployment.isOverideTranslator(translatorName)) {
+						VDBTranslatorMetaData parent = deployment.getTranslator(translatorName);
+						translatorName = parent.getType();
+					}
+					
+					Translator translator = this.translatorRepository.getTranslatorMetaData(translatorName);
+					if ( translator == null) {	
+						String msg = IntegrationPlugin.Util.gs(IntegrationPlugin.Event.TEIID50077, translatorName, deployment.getName(), deployment.getVersion());
+						model.addError(ValidationError.Severity.ERROR.name(), msg);
+						LogManager.logInfo(LogConstants.CTX_RUNTIME, msg);
+					}	
 				}
 			}
 		}
@@ -178,19 +175,14 @@
 			List<String> sourceNames = model.getSourceNames();
 			for (String sourceName:sourceNames) {
 				String translatorName = model.getSourceTranslatorName(sourceName);
-				if (!deployment.isOverideTranslator(translatorName)) {
-					vdbService.addDependency(TeiidServiceNames.translatorServiceName(translatorName));
+				if (deployment.isOverideTranslator(translatorName)) {
+					VDBTranslatorMetaData translator = deployment.getTranslator(translatorName);
+					translatorName = translator.getType();					
 				}
+				vdbService.addDependency(TeiidServiceNames.translatorServiceName(translatorName));
 			}
 		}
 		
-		//override translators (if any)
-		for (Translator t: deployment.getOverrideTranslators()) {
-			VDBTranslatorMetaData data = (VDBTranslatorMetaData)t;
-			String type = data.getType();
-			vdbService.addDependency(TeiidServiceNames.translatorServiceName(type));
-		}	
-		
 		vdbService.addDependency(TeiidServiceNames.VDB_REPO, VDBRepository.class,  vdb.vdbRepositoryInjector);
 		vdbService.addDependency(TeiidServiceNames.TRANSLATOR_REPO, TranslatorRepository.class,  vdb.translatorRepositoryInjector);
 		vdbService.addDependency(TeiidServiceNames.executorServiceName(this.asyncThreadPoolName), Executor.class,  vdb.executorInjector);

Modified: trunk/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties
===================================================================
--- trunk/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties	2012-05-09 18:57:43 UTC (rev 4086)
+++ trunk/jboss-integration/src/main/resources/org/teiid/jboss/i18n.properties	2012-05-10 03:02:40 UTC (rev 4087)
@@ -78,7 +78,7 @@
 TEIID50074=VDB has validity errors; failed to deploy - {0}
 TEIID50075=No "path" information found to load the FUNCTION model {0}; FUNCTION model must have path information.
 TEIID50076=For {0}.{1} VDB, recursive delegation {2} found.
-TEIID50077=The parent translator type "{0}" was not found in configuration "{1}"
+TEIID50077=The translator type "{0}" was not found in configuration; VDB {1}.{2} will not be started until translator is available.
 wrong_vdb= Wrong VDB name and/or version supplied, or VDB is not active, or not available.
 
 # subsystem description



More information about the teiid-commits mailing list