[teiid-commits] teiid SVN: r2868 - branches/7.1.x/runtime/src/main/java/org/teiid/deployers.
teiid-commits at lists.jboss.org
teiid-commits at lists.jboss.org
Fri Jan 21 08:38:38 EST 2011
Author: shawkins
Date: 2011-01-21 08:38:38 -0500 (Fri, 21 Jan 2011)
New Revision: 2868
Modified:
branches/7.1.x/runtime/src/main/java/org/teiid/deployers/VDBDeployer.java
branches/7.1.x/runtime/src/main/java/org/teiid/deployers/VDBStatusChecker.java
Log:
TEIID-1445 expanding the fix to synchronize status sets against the vdb
Modified: branches/7.1.x/runtime/src/main/java/org/teiid/deployers/VDBDeployer.java
===================================================================
--- branches/7.1.x/runtime/src/main/java/org/teiid/deployers/VDBDeployer.java 2011-01-21 03:35:46 UTC (rev 2867)
+++ branches/7.1.x/runtime/src/main/java/org/teiid/deployers/VDBDeployer.java 2011-01-21 13:38:38 UTC (rev 2868)
@@ -148,21 +148,23 @@
} catch (IOException e1) {
LogManager.logWarning(LogConstants.CTX_RUNTIME, e1, RuntimePlugin.Util.getString("vdb_save_failed", deployment.getName()+"."+deployment.getVersion())); //$NON-NLS-1$ //$NON-NLS-2$
}
+
+ boolean valid = true;
+ synchronized (deployment) {
+ if (!preview) {
+ valid = validateSources(cmr, deployment);
- boolean valid = true;
- if (!preview) {
- valid = validateSources(cmr, deployment);
-
- // Check if the VDB is fully configured.
- if (valid) {
+ // Check if the VDB is fully configured.
+ if (valid) {
+ deployment.setStatus(VDB.Status.ACTIVE);
+ } else {
+ deployment.setStatus(VDB.Status.INACTIVE);
+ }
+ }
+ else {
deployment.setStatus(VDB.Status.ACTIVE);
- } else {
- deployment.setStatus(VDB.Status.INACTIVE);
- }
+ }
}
- else {
- deployment.setStatus(VDB.Status.ACTIVE);
- }
LogManager.logInfo(LogConstants.CTX_RUNTIME, RuntimePlugin.Util.getString("vdb_deployed",deployment, valid?"active":"inactive")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
@@ -324,7 +326,7 @@
}
}
- synchronized (this) {
+ synchronized (vdb) {
if (!loaded) {
vdb.setStatus(VDB.Status.INACTIVE);
String msg = RuntimePlugin.Util.getString("failed_to_retrive_metadata", vdb.getName()+"-"+vdb.getVersion(), model.getName()); //$NON-NLS-1$ //$NON-NLS-2$
Modified: branches/7.1.x/runtime/src/main/java/org/teiid/deployers/VDBStatusChecker.java
===================================================================
--- branches/7.1.x/runtime/src/main/java/org/teiid/deployers/VDBStatusChecker.java 2011-01-21 03:35:46 UTC (rev 2867)
+++ branches/7.1.x/runtime/src/main/java/org/teiid/deployers/VDBStatusChecker.java 2011-01-21 13:38:38 UTC (rev 2868)
@@ -67,39 +67,41 @@
if (vdb.getStatus() == VDB.Status.ACTIVE || vdb.isPreview()) {
continue;
}
- ConnectorManagerRepository cmr = vdb.getAttachment(ConnectorManagerRepository.class);
-
- for (Model m:vdb.getModels()) {
- ModelMetaData model = (ModelMetaData)m;
- if (model.getErrors().isEmpty()) {
- continue;
+ synchronized (vdb) {
+ ConnectorManagerRepository cmr = vdb.getAttachment(ConnectorManagerRepository.class);
+
+ for (Model m:vdb.getModels()) {
+ ModelMetaData model = (ModelMetaData)m;
+ if (model.getErrors().isEmpty()) {
+ continue;
+ }
+
+ String sourceName = getSourceName(resourceName, model, translator);
+ if (sourceName != null) {
+ ConnectorManager cm = cmr.getConnectorManager(sourceName);
+ model.clearErrors();
+ String status = cm.getStausMessage();
+ if (status != null && status.length() > 0) {
+ model.addError(ModelMetaData.ValidationError.Severity.ERROR.name(), status);
+ LogManager.logInfo(LogConstants.CTX_RUNTIME, status);
+ }
+ }
}
-
- String sourceName = getSourceName(resourceName, model, translator);
- if (sourceName != null) {
- ConnectorManager cm = cmr.getConnectorManager(sourceName);
- model.clearErrors();
- String status = cm.getStausMessage();
- if (status != null && status.length() > 0) {
- model.addError(ModelMetaData.ValidationError.Severity.ERROR.name(), status);
- LogManager.logInfo(LogConstants.CTX_RUNTIME, status);
- }
+
+ boolean valid = true;
+ for (Model m:vdb.getModels()) {
+ ModelMetaData model = (ModelMetaData)m;
+ if (!model.getErrors().isEmpty()) {
+ valid = false;
+ break;
+ }
}
- }
-
- boolean valid = true;
- for (Model m:vdb.getModels()) {
- ModelMetaData model = (ModelMetaData)m;
- if (!model.getErrors().isEmpty()) {
- valid = false;
- break;
+
+ if (valid) {
+ vdb.setStatus(VDB.Status.ACTIVE);
+ LogManager.logInfo(LogConstants.CTX_RUNTIME, RuntimePlugin.Util.getString("vdb_activated",vdb.getName(), vdb.getVersion())); //$NON-NLS-1$
}
}
-
- if (valid) {
- vdb.setStatus(VDB.Status.ACTIVE);
- LogManager.logInfo(LogConstants.CTX_RUNTIME, RuntimePlugin.Util.getString("vdb_activated",vdb.getName(), vdb.getVersion())); //$NON-NLS-1$
- }
}
}
@@ -108,25 +110,26 @@
if (vdb.isPreview()) {
continue;
}
-
- for (Model m:vdb.getModels()) {
- ModelMetaData model = (ModelMetaData)m;
-
- String sourceName = getSourceName(resourceName, model, translator);
- if (sourceName != null) {
- vdb.setStatus(VDB.Status.INACTIVE);
- String msg = null;
- if (translator) {
- msg = RuntimePlugin.Util.getString("translator_not_found", vdb.getName(), vdb.getVersion(), model.getSourceTranslatorName(sourceName)); //$NON-NLS-1$
+ synchronized (vdb) {
+ for (Model m:vdb.getModels()) {
+ ModelMetaData model = (ModelMetaData)m;
+
+ String sourceName = getSourceName(resourceName, model, translator);
+ if (sourceName != null) {
+ vdb.setStatus(VDB.Status.INACTIVE);
+ String msg = null;
+ if (translator) {
+ msg = RuntimePlugin.Util.getString("translator_not_found", vdb.getName(), vdb.getVersion(), model.getSourceTranslatorName(sourceName)); //$NON-NLS-1$
+ }
+ else {
+ msg = RuntimePlugin.Util.getString("datasource_not_found", vdb.getName(), vdb.getVersion(), model.getSourceTranslatorName(sourceName)); //$NON-NLS-1$
+ }
+ model.addError(ModelMetaData.ValidationError.Severity.ERROR.name(), msg);
+ LogManager.logInfo(LogConstants.CTX_RUNTIME, msg);
+ LogManager.logInfo(LogConstants.CTX_RUNTIME, RuntimePlugin.Util.getString("vdb_inactivated",vdb.getName(), vdb.getVersion())); //$NON-NLS-1$
}
- else {
- msg = RuntimePlugin.Util.getString("datasource_not_found", vdb.getName(), vdb.getVersion(), model.getSourceTranslatorName(sourceName)); //$NON-NLS-1$
- }
- model.addError(ModelMetaData.ValidationError.Severity.ERROR.name(), msg);
- LogManager.logInfo(LogConstants.CTX_RUNTIME, msg);
- LogManager.logInfo(LogConstants.CTX_RUNTIME, RuntimePlugin.Util.getString("vdb_inactivated",vdb.getName(), vdb.getVersion())); //$NON-NLS-1$
}
- }
+ }
}
}
More information about the teiid-commits
mailing list