Author: rareddy
Date: 2010-10-28 14:02:05 -0400 (Thu, 28 Oct 2010)
New Revision: 2687
Modified:
branches/7.1.x/client/src/main/java/org/teiid/adminapi/impl/ModelMetaData.java
branches/7.1.x/runtime/src/main/java/org/teiid/deployers/VDBDeployer.java
Log:
TEIID-1333: Remove the only error the has been added as result of metadata load from vdb
validation errors, removing all the errors will cause to make a VDB active which should
not be.
Modified: branches/7.1.x/client/src/main/java/org/teiid/adminapi/impl/ModelMetaData.java
===================================================================
---
branches/7.1.x/client/src/main/java/org/teiid/adminapi/impl/ModelMetaData.java 2010-10-28
14:46:37 UTC (rev 2686)
+++
branches/7.1.x/client/src/main/java/org/teiid/adminapi/impl/ModelMetaData.java 2010-10-28
18:02:05 UTC (rev 2687)
@@ -227,13 +227,22 @@
return list;
}
- public void addError(String severity, String message) {
+ public ValidationError addError(String severity, String message) {
if (this.errors == null) {
this.errors = new ArrayList<ValidationError>();
}
- this.errors.add(new ValidationError(severity, message));
+ ValidationError ve = new ValidationError(severity, message);
+ this.errors.add(ve);
+ return ve;
}
+ public boolean removeError(ValidationError remove) {
+ if (this.errors == null) {
+ return false;
+ }
+ return this.errors.remove(remove);
+ }
+
public void clearErrors() {
this.errors.clear();
}
@@ -290,5 +299,27 @@
public void setPath(String path) {
this.path = path;
}
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ ValidationError other = (ValidationError) obj;
+ if (severity == null) {
+ if (other.severity != null)
+ return false;
+ } else if (!severity.equals(other.severity))
+ return false;
+ if (value == null) {
+ if (other.value != null)
+ return false;
+ } else if (!value.equals(other.value))
+ return false;
+ return true;
+ }
}
}
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 2010-10-28
14:46:37 UTC (rev 2686)
+++ branches/7.1.x/runtime/src/main/java/org/teiid/deployers/VDBDeployer.java 2010-10-28
18:02:05 UTC (rev 2687)
@@ -42,7 +42,7 @@
import org.teiid.adminapi.impl.SourceMappingMetadata;
import org.teiid.adminapi.impl.VDBMetaData;
import org.teiid.adminapi.impl.VDBTranslatorMetaData;
-import org.teiid.core.CoreConstants;
+import org.teiid.adminapi.impl.ModelMetaData.ValidationError;
import org.teiid.core.util.FileUtils;
import org.teiid.dqp.internal.datamgr.ConnectorManager;
import org.teiid.dqp.internal.datamgr.ConnectorManagerRepository;
@@ -285,19 +285,19 @@
if (!loaded) {
String msg = RuntimePlugin.Util.getString("model_metadata_loading",
vdb.getName()+"-"+vdb.getVersion(), model.getName(),
SimpleDateFormat.getInstance().format(new Date())); //$NON-NLS-1$ //$NON-NLS-2$
- model.addError(ModelMetaData.ValidationError.Severity.ERROR.toString(), msg);
+ final ValidationError addedError =
model.addError(ModelMetaData.ValidationError.Severity.ERROR.toString(), msg);
LogManager.logInfo(LogConstants.CTX_RUNTIME, msg);
threadPool.run(new Runnable() {
@Override
public void run() {
- loadMetadata(vdb, model, cache, cacheFile, vdbStore, cmr);
+ loadMetadata(vdb, model, cache, cacheFile, vdbStore, cmr, addedError);
}
});
}
}
}
- private void loadMetadata(VDBMetaData vdb, ModelMetaData model, boolean cache, File
cacheFile, MetadataStoreGroup vdbStore, ConnectorManagerRepository cmr) {
+ private void loadMetadata(VDBMetaData vdb, ModelMetaData model, boolean cache, File
cacheFile, MetadataStoreGroup vdbStore, ConnectorManagerRepository cmr, ValidationError
addedError) {
Exception exception = null;
boolean loaded = false;
@@ -312,7 +312,7 @@
this.serializer.saveAttachment(cacheFile, store);
}
vdbStore.addStore(store);
- model.clearErrors();
+ model.removeError(addedError);
loaded = true;
break;
} catch (TranslatorException e) {