Author: shawkins
Date: 2012-07-15 07:25:56 -0400 (Sun, 15 Jul 2012)
New Revision: 4238
Modified:
trunk/admin/src/main/java/org/teiid/adminapi/Model.java
trunk/admin/src/main/java/org/teiid/adminapi/impl/ModelMetaData.java
trunk/api/src/main/java/org/teiid/translator/ExecutionFactory.java
trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/ConnectorManager.java
trunk/jboss-integration/src/main/java/org/teiid/jboss/VDBDeployer.java
trunk/jboss-integration/src/main/java/org/teiid/jboss/VDBService.java
trunk/runtime/src/main/java/org/teiid/deployers/VDBRepository.java
trunk/runtime/src/main/java/org/teiid/deployers/VDBStatusChecker.java
trunk/runtime/src/main/java/org/teiid/runtime/RuntimePlugin.java
trunk/runtime/src/main/resources/org/teiid/runtime/i18n.properties
trunk/test-integration/common/src/test/java/org/teiid/arquillian/IntegrationTestDeployment.java
Log:
TEIID-2104 altering the use of runtime errors to make load problems more evident
Modified: trunk/admin/src/main/java/org/teiid/adminapi/Model.java
===================================================================
--- trunk/admin/src/main/java/org/teiid/adminapi/Model.java 2012-07-13 13:14:44 UTC (rev
4237)
+++ trunk/admin/src/main/java/org/teiid/adminapi/Model.java 2012-07-15 11:25:56 UTC (rev
4238)
@@ -88,4 +88,10 @@
* @return
*/
String getSourceTranslatorName(String sourceName);
+
+ /**
+ * Shows any validity errors present in the model
+ * @return
+ */
+ List<String> getValidityErrors();
}
\ No newline at end of file
Modified: trunk/admin/src/main/java/org/teiid/adminapi/impl/ModelMetaData.java
===================================================================
--- trunk/admin/src/main/java/org/teiid/adminapi/impl/ModelMetaData.java 2012-07-13
13:14:44 UTC (rev 4237)
+++ trunk/admin/src/main/java/org/teiid/adminapi/impl/ModelMetaData.java 2012-07-15
11:25:56 UTC (rev 4238)
@@ -119,6 +119,10 @@
return new ArrayList<SourceMappingMetadata>(this.sources.values());
}
+ public LinkedHashMap<String, SourceMappingMetadata> getSources() {
+ return sources;
+ }
+
public SourceMappingMetadata getSourceMapping(String sourceName){
return this.sources.get(sourceName);
}
@@ -211,7 +215,11 @@
}
public synchronized ValidationError addRuntimeError(String message) {
- ValidationError ve = new ValidationError(Severity.ERROR, message);
+ return addRuntimeError(Severity.ERROR, message);
+ }
+
+ public synchronized ValidationError addRuntimeError(Severity severity, String
message) {
+ ValidationError ve = new ValidationError(severity, message);
if (this.runtimeErrors == null) {
this.runtimeErrors = new LinkedList<ValidationError>();
}
@@ -220,7 +228,7 @@
this.runtimeErrors.remove(0);
}
return ve;
- }
+ }
public synchronized ValidationError addError(ValidationError ve) {
if (this.validationErrors == null) {
@@ -239,7 +247,7 @@
public static class ValidationError implements Serializable{
private static final long serialVersionUID = 2044197069467559527L;
- public enum Severity {ERROR, WARNING};
+ public enum Severity {ERROR, WARNING, INFO};
protected String value;
protected Severity severity;
@@ -315,4 +323,18 @@
this.schemaText = schemaText;
}
+ @Override
+ public List<String> getValidityErrors() {
+ List<String> allErrors = new ArrayList<String>();
+ List<ValidationError> errors = getErrors();
+ if (errors != null && !errors.isEmpty()) {
+ for (ValidationError m:errors) {
+ if (m.getSeverity() == Severity.ERROR) {
+ allErrors.add(m.getValue());
+ }
+ }
+ }
+ return allErrors;
+ }
+
}
Modified: trunk/api/src/main/java/org/teiid/translator/ExecutionFactory.java
===================================================================
--- trunk/api/src/main/java/org/teiid/translator/ExecutionFactory.java 2012-07-13 13:14:44
UTC (rev 4237)
+++ trunk/api/src/main/java/org/teiid/translator/ExecutionFactory.java 2012-07-15 11:25:56
UTC (rev 4238)
@@ -836,7 +836,7 @@
* Implement to provide metadata to the metadata for use by the engine. This is the
* primary method of creating metadata for dynamic VDBs.
* @param metadataFactory
- * @param conn
+ * @param conn may be null if there was an error obtaining a connection
* @throws TranslatorException
*/
public void getMetadata(MetadataFactory metadataFactory, C conn) throws
TranslatorException {
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/ConnectorManager.java
===================================================================
---
trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/ConnectorManager.java 2012-07-13
13:14:44 UTC (rev 4237)
+++
trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/ConnectorManager.java 2012-07-15
11:25:56 UTC (rev 4238)
@@ -33,10 +33,10 @@
import org.teiid.dqp.message.AtomicRequestID;
import org.teiid.dqp.message.AtomicRequestMessage;
import org.teiid.logging.CommandLogMessage;
-import org.teiid.logging.CommandLogMessage.Event;
import org.teiid.logging.LogConstants;
import org.teiid.logging.LogManager;
import org.teiid.logging.MessageLevel;
+import org.teiid.logging.CommandLogMessage.Event;
import org.teiid.metadata.FunctionMethod;
import org.teiid.query.QueryPlugin;
import org.teiid.query.optimizer.capabilities.BasicSourceCapabilities;
@@ -72,7 +72,7 @@
}
public String getStausMessage() {
- StringBuilder sb = new StringBuilder();
+ String msg = ""; //$NON-NLS-1$
ExecutionFactory<Object, Object> ef = getExecutionFactory();
if(ef != null) {
@@ -86,14 +86,14 @@
}
if (conn == null) {
- sb.append(QueryPlugin.Util.getString("datasource_not_found",
this.connectionName)); //$NON-NLS-1$
+ msg = QueryPlugin.Util.getString("datasource_not_found",
this.connectionName); //$NON-NLS-1$
}
}
}
else {
- sb.append(QueryPlugin.Util.getString("translator_not_found",
this.translatorName)); //$NON-NLS-1$
+ msg = QueryPlugin.Util.getString("translator_not_found",
this.translatorName); //$NON-NLS-1$
}
- return sb.toString();
+ return msg;
}
public List<FunctionMethod> getPushDownFunctions(){
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-13
13:14:44 UTC (rev 4237)
+++ trunk/jboss-integration/src/main/java/org/teiid/jboss/VDBDeployer.java 2012-07-15
11:25:56 UTC (rev 4238)
@@ -103,22 +103,22 @@
// 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);
- 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.addRuntimeError(msg);
- LogManager.logWarning(LogConstants.CTX_RUNTIME, msg);
- }
+ if (!model.isSource() || model.getSourceNames().isEmpty()) {
+ continue;
+ }
+ for (String source:model.getSourceNames()) {
+
+ String translatorName = model.getSourceTranslatorName(source);
+ 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());
+ LogManager.logWarning(LogConstants.CTX_RUNTIME, msg);
+ }
}
}
@@ -256,6 +256,9 @@
// Need to make the data source service as dependency; otherwise dynamic vdbs will
not work correctly.
String dsName = model.getSourceConnectionJndiName(sourceName);
+ if (dsName == null) {
+ continue;
+ }
final ContextNames.BindInfo bindInfo =
ContextNames.bindInfoFor(getJndiName(dsName));
svcListener.dependentService(dsName, bindInfo.getBinderServiceName());
}
Modified: trunk/jboss-integration/src/main/java/org/teiid/jboss/VDBService.java
===================================================================
--- trunk/jboss-integration/src/main/java/org/teiid/jboss/VDBService.java 2012-07-13
13:14:44 UTC (rev 4237)
+++ trunk/jboss-integration/src/main/java/org/teiid/jboss/VDBService.java 2012-07-15
11:25:56 UTC (rev 4238)
@@ -24,7 +24,14 @@
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.IdentityHashMap;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.ServiceLoader;
+import java.util.Set;
import java.util.concurrent.Executor;
import java.util.concurrent.atomic.AtomicInteger;
@@ -34,7 +41,13 @@
import org.jboss.modules.ModuleIdentifier;
import org.jboss.modules.ModuleLoadException;
import org.jboss.modules.ModuleLoader;
-import org.jboss.msc.service.*;
+import org.jboss.msc.service.Service;
+import org.jboss.msc.service.ServiceBuilder;
+import org.jboss.msc.service.ServiceContainer;
+import org.jboss.msc.service.ServiceController;
+import org.jboss.msc.service.StartContext;
+import org.jboss.msc.service.StartException;
+import org.jboss.msc.service.StopContext;
import org.jboss.msc.value.InjectedValue;
import org.teiid.adminapi.AdminProcessingException;
import org.teiid.adminapi.Translator;
@@ -42,13 +55,21 @@
import org.teiid.adminapi.impl.VDBMetaData;
import org.teiid.adminapi.impl.VDBMetadataParser;
import org.teiid.adminapi.impl.VDBTranslatorMetaData;
+import org.teiid.adminapi.impl.ModelMetaData.ValidationError.Severity;
import org.teiid.common.buffer.BufferManager;
import org.teiid.core.TeiidException;
-import org.teiid.deployers.*;
+import org.teiid.deployers.CompositeVDB;
+import org.teiid.deployers.RuntimeVDB;
+import org.teiid.deployers.TranslatorUtil;
+import org.teiid.deployers.UDFMetaData;
+import org.teiid.deployers.VDBLifeCycleListener;
+import org.teiid.deployers.VDBRepository;
+import org.teiid.deployers.VDBStatusChecker;
+import org.teiid.deployers.VirtualDatabaseException;
import org.teiid.dqp.internal.datamgr.ConnectorManager;
import org.teiid.dqp.internal.datamgr.ConnectorManagerRepository;
+import org.teiid.dqp.internal.datamgr.TranslatorRepository;
import
org.teiid.dqp.internal.datamgr.ConnectorManagerRepository.ConnectorManagerException;
-import org.teiid.dqp.internal.datamgr.TranslatorRepository;
import org.teiid.logging.LogConstants;
import org.teiid.logging.LogManager;
import org.teiid.metadata.Datatype;
@@ -312,7 +333,7 @@
protected void loadMetadata(final VDBMetaData vdb, final ModelMetaData model, final
ConnectorManagerRepository cmr, final MetadataRepository metadataRepo, final MetadataStore
vdbMetadataStore, final AtomicInteger loadCount) {
String msg =
IntegrationPlugin.Util.gs(IntegrationPlugin.Event.TEIID50029,vdb.getName(),
vdb.getVersion(), model.getName(), SimpleDateFormat.getInstance().format(new Date()));
- model.addRuntimeError(msg);
+ model.addRuntimeError(Severity.INFO, msg);
LogManager.logInfo(LogConstants.CTX_RUNTIME, msg);
Runnable job = new Runnable() {
@@ -321,7 +342,7 @@
boolean metadataLoaded = false;
boolean cached = false;
- List<String> errorMessages = new ArrayList<String>();
+ Exception ex = null;
final File cachedFile = getSerializer().buildModelFile(vdb, model.getName());
MetadataFactory factory = getSerializer().loadSafe(cachedFile,
MetadataFactory.class);
@@ -357,34 +378,26 @@
metadataRepo.loadMetadata(factory, ef, cf);
metadataLoaded = true;
LogManager.logInfo(LogConstants.CTX_RUNTIME,
IntegrationPlugin.Util.gs(IntegrationPlugin.Event.TEIID50030,vdb.getName(),
vdb.getVersion(), model.getName(), SimpleDateFormat.getInstance().format(new
Date())));
- } catch (TranslatorException e) {
- errorMessages.add(e.getMessage());
- LogManager.logInfo(LogConstants.CTX_RUNTIME,
IntegrationPlugin.Util.gs(IntegrationPlugin.Event.TEIID50036,vdb.getName(),
vdb.getVersion(), model.getName(), e.getMessage()));
+ } catch (Exception e) {
+ ex = e;
}
}
synchronized (vdb) {
if (metadataLoaded) {
-
if (!cached) {
// cache the schema to disk
cacheMetadataStore(model, factory);
}
metadataLoaded(vdb, model, vdbMetadataStore, loadCount, factory);
- }
- else {
- for (String errorMsg:errorMessages) {
- model.addRuntimeError(errorMsg);
- LogManager.logWarning(LogConstants.CTX_RUNTIME, errorMsg);
- }
+ } else {
+ model.addRuntimeError(ex.getMessage());
+ LogManager.logWarning(LogConstants.CTX_RUNTIME,
IntegrationPlugin.Util.gs(IntegrationPlugin.Event.TEIID50036,vdb.getName(),
vdb.getVersion(), model.getName(), ex.getMessage()));
+ //defer the load to the status checker if/when a source is available/redeployed
+ model.addAttchment(Runnable.class, this);
}
}
-
- if (!metadataLoaded) {
- //defer the load to the status checker if/when a source is available/redeployed
- model.addAttchment(Runnable.class, this);
- }
}
};
Modified: trunk/runtime/src/main/java/org/teiid/deployers/VDBRepository.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/deployers/VDBRepository.java 2012-07-13 13:14:44
UTC (rev 4237)
+++ trunk/runtime/src/main/java/org/teiid/deployers/VDBRepository.java 2012-07-15 11:25:56
UTC (rev 4238)
@@ -338,8 +338,8 @@
if (cm != null) {
String msg = cm.getStausMessage();
if (msg != null && msg.length() > 0) {
- model.addRuntimeError(cm.getStausMessage());
- LogManager.logInfo(LogConstants.CTX_RUNTIME, cm.getStausMessage());
+ model.addRuntimeError(msg);
+ LogManager.logInfo(LogConstants.CTX_RUNTIME, msg);
}
}
}
Modified: trunk/runtime/src/main/java/org/teiid/deployers/VDBStatusChecker.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/deployers/VDBStatusChecker.java 2012-07-13
13:14:44 UTC (rev 4237)
+++ trunk/runtime/src/main/java/org/teiid/deployers/VDBStatusChecker.java 2012-07-15
11:25:56 UTC (rev 4238)
@@ -26,10 +26,12 @@
import java.util.concurrent.Executor;
import org.teiid.adminapi.AdminProcessingException;
-import org.teiid.adminapi.Model;
+import org.teiid.adminapi.VDB.Status;
import org.teiid.adminapi.impl.ModelMetaData;
+import org.teiid.adminapi.impl.SourceMappingMetadata;
import org.teiid.adminapi.impl.VDBMetaData;
import org.teiid.adminapi.impl.VDBTranslatorMetaData;
+import org.teiid.adminapi.impl.ModelMetaData.ValidationError.Severity;
import org.teiid.core.TeiidException;
import org.teiid.dqp.internal.datamgr.ConnectorManager;
import org.teiid.dqp.internal.datamgr.ConnectorManagerRepository;
@@ -44,26 +46,30 @@
private static final String JAVA_CONTEXT = "java:/"; //$NON-NLS-1$
private TranslatorRepository translatorRepository;
+ /**
+ * @param translatorName
+ */
public void translatorAdded(String translatorName) {
- resourceAdded(translatorName, true);
}
+ /**
+ * @param translatorName
+ */
public void translatorRemoved(String translatorName) {
- resourceRemoved(translatorName, true);
}
public void dataSourceAdded(String dataSourceName) {
if (dataSourceName.startsWith(JAVA_CONTEXT)) {
dataSourceName = dataSourceName.substring(5);
}
- resourceAdded(dataSourceName, false);
+ resourceAdded(dataSourceName);
}
public void dataSourceRemoved(String dataSourceName) {
if (dataSourceName.startsWith(JAVA_CONTEXT)) {
dataSourceName = dataSourceName.substring(5);
}
- resourceRemoved(dataSourceName, false);
+ resourceRemoved(dataSourceName);
}
public void dataSourceReplaced(String vdbName, int vdbVersion,
@@ -82,7 +88,7 @@
ExecutionFactory<Object, Object> ef = cm.getExecutionFactory();
boolean dsReplaced = false;
- if (!cm.getConnectionName().equals(dsName)){
+ if ((dsName != null && !dsName.equals(cm.getConnectionName())) || (dsName ==
null && cm.getConnectionName() != null)) {
LogManager.logInfo(LogConstants.CTX_RUNTIME,
RuntimePlugin.Util.gs(RuntimePlugin.Event.TEIID40076, vdb.getName(), vdb.getVersion(),
model.getSourceTranslatorName(sourceName), dsName));
cm = new ConnectorManager(translatorName, dsName);
cm.setExecutionFactory(ef);
@@ -111,97 +117,104 @@
}
if (dsReplaced) {
- resourceAdded(dsName, false);
+ ArrayList<Runnable> runnables = new ArrayList<Runnable>(1);
+ checkStatus(runnables, vdb, model, cm);
+ updateVDB(runnables, vdb);
}
}
}
- public void resourceAdded(String resourceName, boolean translator) {
+ public void resourceAdded(String resourceName) {
List<Runnable> runnables = new ArrayList<Runnable>();
for (VDBMetaData vdb:getVDBRepository().getVDBs()) {
synchronized (vdb) {
ConnectorManagerRepository cmr =
vdb.getAttachment(ConnectorManagerRepository.class);
-
+ boolean usesResourse = false;
for (ModelMetaData model:vdb.getModelMetaDatas().values()) {
if (!model.hasRuntimeErrors()) {
continue;
}
- String sourceName = getSourceName(resourceName, model, translator);
+ String sourceName = getSourceName(resourceName, model);
if (sourceName == null) {
continue;
}
+ usesResourse = true;
ConnectorManager cm = cmr.getConnectorManager(sourceName);
- String status = cm.getStausMessage();
- if (status != null && status.length() > 0) {
- model.addRuntimeError(status);
- LogManager.logInfo(LogConstants.CTX_RUNTIME, status);
- } else {
- //get the pending metadata load
- Runnable r = model.removeAttachment(Runnable.class);
- if (r != null) {
- runnables.add(r);
- } else {
- model.clearRuntimeErrors();
- }
- }
+ checkStatus(runnables, vdb, model, cm);
}
- boolean valid = !vdb.hasErrors();
-
- if (!runnables.isEmpty()) {
- //the task themselves will set the status on completion/failure
- for (Runnable runnable : runnables) {
- getExecutor().execute(runnable);
- }
- runnables.clear();
- } else if (valid) {
- LogManager.logInfo(LogConstants.CTX_RUNTIME,
RuntimePlugin.Util.gs(RuntimePlugin.Event.TEIID40003,vdb.getName(), vdb.getVersion(),
vdb.getStatus()));
+ if (usesResourse) {
+ updateVDB(runnables, vdb);
}
}
}
}
+
+ private void updateVDB(List<Runnable> runnables, VDBMetaData vdb) {
+ if (!runnables.isEmpty()) {
+ //the task themselves will set the status on completion/failure
+ for (Runnable runnable : runnables) {
+ getExecutor().execute(runnable);
+ }
+ runnables.clear();
+ } else if (vdb.hasErrors()) {
+ LogManager.logInfo(LogConstants.CTX_RUNTIME,
RuntimePlugin.Util.gs(RuntimePlugin.Event.TEIID40003,vdb.getName(), vdb.getVersion(),
vdb.getStatus()));
+ }
+ }
+
+ private void checkStatus(List<Runnable> runnables, VDBMetaData vdb,
+ ModelMetaData model, ConnectorManager cm) {
+ //get the pending metadata load
+ Runnable r = model.removeAttachment(Runnable.class);
+ if (r != null) {
+ runnables.add(r);
+ } else {
+ String status = cm.getStausMessage();
+ if (status != null && status.length() > 0) {
+ Severity severity = vdb.getStatus() ==
Status.LOADING?Severity.WARNING:Severity.ERROR;
+ model.addRuntimeError(severity, status);
+ LogManager.logInfo(LogConstants.CTX_RUNTIME, status);
+ } else if (vdb.getStatus() != Status.LOADING){
+ model.clearRuntimeErrors();
+ }
+ }
+ }
- public void resourceRemoved(String resourceName, boolean translator) {
+ public void resourceRemoved(String resourceName) {
for (VDBMetaData vdb:getVDBRepository().getVDBs()) {
synchronized (vdb) {
- for (Model m:vdb.getModels()) {
- ModelMetaData model = (ModelMetaData)m;
-
- String sourceName = getSourceName(resourceName, model, translator);
- if (sourceName != null) {
- String msg = null;
- if (translator) {
- msg = RuntimePlugin.Util.gs(RuntimePlugin.Event.TEIID40005, vdb.getName(),
vdb.getVersion(), model.getSourceTranslatorName(sourceName));
- }
- else {
- msg = RuntimePlugin.Util.gs(RuntimePlugin.Event.TEIID40012, vdb.getName(),
vdb.getVersion(), resourceName);
- }
- model.addRuntimeError(msg);
- LogManager.logInfo(LogConstants.CTX_RUNTIME, msg);
- LogManager.logInfo(LogConstants.CTX_RUNTIME,
RuntimePlugin.Util.gs(RuntimePlugin.Event.TEIID40003,vdb.getName(), vdb.getVersion(),
vdb.getStatus()));
+ ConnectorManagerRepository cmr =
vdb.getAttachment(ConnectorManagerRepository.class);
+ for (ModelMetaData model:vdb.getModelMetaDatas().values()) {
+ String sourceName = getSourceName(resourceName, model);
+ if (sourceName == null) {
+ continue;
}
+ ConnectorManager cm = cmr.getConnectorManager(sourceName);
+ if (cm.getExecutionFactory().isSourceRequired()) {
+ String msg = RuntimePlugin.Util.gs(RuntimePlugin.Event.TEIID40012, vdb.getName(),
vdb.getVersion(), resourceName);
+ Severity severity = vdb.getStatus() ==
Status.LOADING?Severity.WARNING:Severity.ERROR;
+ model.addRuntimeError(severity, msg);
+ LogManager.logInfo(LogConstants.CTX_RUNTIME, msg);
+ }
}
}
}
}
- private String getSourceName(String translatorName, ModelMetaData model, boolean
translator) {
- for (String sourceName:model.getSourceNames()) {
- if (translator) {
- if (translatorName.equals(model.getSourceTranslatorName(sourceName))) {
- return sourceName;
- }
- } else {
- String jndiName = model.getSourceConnectionJndiName(sourceName);
- if (jndiName.startsWith(JAVA_CONTEXT)) {
- jndiName = jndiName.substring(5);
- }
- if (translatorName.equals(jndiName)) {
- return sourceName;
- }
+ private String getSourceName(String factoryName, ModelMetaData model) {
+ for (SourceMappingMetadata source:model.getSources().values()) {
+ String jndiName = source.getConnectionJndiName();
+ if (jndiName == null) {
+ continue;
}
+ if (jndiName.startsWith(JAVA_CONTEXT)) {
+ jndiName = jndiName.substring(5);
+ }
+ if (factoryName.equals(jndiName)) {
+ return source.getName();
+ }
}
return null;
}
Modified: trunk/runtime/src/main/java/org/teiid/runtime/RuntimePlugin.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/runtime/RuntimePlugin.java 2012-07-13 13:14:44
UTC (rev 4237)
+++ trunk/runtime/src/main/java/org/teiid/runtime/RuntimePlugin.java 2012-07-15 11:25:56
UTC (rev 4238)
@@ -35,7 +35,6 @@
TEIID40001, // undefined translator properties
TEIID40002, // failed to load ODBC metadata
TEIID40003, // VDB status
- TEIID40005, // datasource or translator not found
TEIID40007, // keep alive failed
TEIID40008, // expired session
TEIID40009, // terminate session
Modified: trunk/runtime/src/main/resources/org/teiid/runtime/i18n.properties
===================================================================
--- trunk/runtime/src/main/resources/org/teiid/runtime/i18n.properties 2012-07-13 13:14:44
UTC (rev 4237)
+++ trunk/runtime/src/main/resources/org/teiid/runtime/i18n.properties 2012-07-15 11:25:56
UTC (rev 4238)
@@ -47,7 +47,6 @@
TEIID40035=VDB with given name and version already exists! {0}.{1}
TEIID40021=System.vdb not found in classpath
-TEIID40005=For {0}.{1} VDB, Translator "{2}" not found.
TEIID40012=For {0}.{1} VDB, Data Source "{2}" not found.
TEIID40076=For {0}.{1} VDB, Data Source "{2}" replaced with "{3}"
TEIID40024={0} invalid type of class specified. Must be of type
org.teiid.connector.api.Connector
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-13
13:14:44 UTC (rev 4237)
+++
trunk/test-integration/common/src/test/java/org/teiid/arquillian/IntegrationTestDeployment.java 2012-07-15
11:25:56 UTC (rev 4238)
@@ -79,7 +79,11 @@
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")));
+ try {
+ admin.deploy("chained-vdb.xml",new
FileInputStream(UnitTestUtil.getTestDataFile("chained-vdb.xml")));
+ } finally {
+ admin.undeploy("fake.jar");
+ }
}
@Test