[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