[teiid-commits] teiid SVN: r2930 - in trunk: runtime/src/main/java/org/teiid/deployers and 1 other directory.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Wed Feb 23 12:57:40 EST 2011


Author: shawkins
Date: 2011-02-23 12:57:40 -0500 (Wed, 23 Feb 2011)
New Revision: 2930

Modified:
   trunk/client/src/main/java/org/teiid/adminapi/impl/ModelMetaData.java
   trunk/runtime/src/main/java/org/teiid/deployers/VDBDeployer.java
   trunk/runtime/src/main/java/org/teiid/deployers/VDBStatusChecker.java
Log:
TEIID-1470 updating dynamic vdb deployment logic

Modified: trunk/client/src/main/java/org/teiid/adminapi/impl/ModelMetaData.java
===================================================================
--- trunk/client/src/main/java/org/teiid/adminapi/impl/ModelMetaData.java	2011-02-23 16:03:16 UTC (rev 2929)
+++ trunk/client/src/main/java/org/teiid/adminapi/impl/ModelMetaData.java	2011-02-23 17:57:40 UTC (rev 2930)
@@ -25,6 +25,7 @@
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.LinkedList;
 import java.util.List;
 
 import javax.xml.bind.annotation.XmlAccessType;
@@ -52,6 +53,7 @@
 @ManagementObject(properties=ManagementProperties.EXPLICIT)
 public class ModelMetaData extends AdminObjectImpl implements Model {
 	
+	private static final int DEFAULT_ERROR_HISTORY = 10;
 	private static final String SUPPORTS_MULTI_SOURCE_BINDINGS_KEY = "supports-multi-source-bindings"; //$NON-NLS-1$
 	private static final long serialVersionUID = 3714234763056162230L;
 		
@@ -229,10 +231,13 @@
 	
     public synchronized ValidationError addError(String severity, String message) {
         if (this.errors == null) {
-            this.errors = new ArrayList<ValidationError>();
+            this.errors = new LinkedList<ValidationError>();
         }
         ValidationError ve = new ValidationError(severity, message);
         this.errors.add(ve);
+        if (this.errors.size() > DEFAULT_ERROR_HISTORY) {
+        	this.errors.remove(0);
+        }
         return ve;
     }
     

Modified: trunk/runtime/src/main/java/org/teiid/deployers/VDBDeployer.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/deployers/VDBDeployer.java	2011-02-23 16:03:16 UTC (rev 2929)
+++ trunk/runtime/src/main/java/org/teiid/deployers/VDBDeployer.java	2011-02-23 17:57:40 UTC (rev 2930)
@@ -43,7 +43,6 @@
 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;
 import org.teiid.dqp.internal.datamgr.ConnectorManager;
 import org.teiid.dqp.internal.datamgr.ConnectorManagerRepository;
 import org.teiid.dqp.internal.datamgr.TranslatorRepository;
@@ -323,7 +322,7 @@
      */
     private Boolean loadMetadata(VDBMetaData vdb, ModelMetaData model, boolean cache, File cacheFile, MetadataStoreGroup vdbStore, ConnectorManagerRepository cmr) {
 		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$
-		final ValidationError addedError = model.addError(ModelMetaData.ValidationError.Severity.ERROR.toString(), msg); 
+		model.addError(ModelMetaData.ValidationError.Severity.ERROR.toString(), msg); 
 		LogManager.logInfo(LogConstants.CTX_RUNTIME, msg);
 
     	String exceptionMessage = null;
@@ -342,7 +341,6 @@
     				this.serializer.saveAttachment(cacheFile, store);
     			}
     			vdbStore.addStore(store);
-    			model.removeError(addedError);
     			loaded = true;
     			break;
 			} catch (TranslatorException e) {
@@ -366,10 +364,13 @@
 		    		model.addError(ModelMetaData.ValidationError.Severity.ERROR.toString(), exceptionMessage);     		
 		    	}
 		    	LogManager.logWarning(LogConstants.CTX_RUNTIME, failed_msg);
-	    	} else if (vdb.isValid()) {
-    			this.vdbRepository.updateVDB(vdb.getName(), vdb.getVersion());
-				vdb.setStatus(VDB.Status.ACTIVE);
-				LogManager.logInfo(LogConstants.CTX_RUNTIME, RuntimePlugin.Util.getString("vdb_activated",vdb.getName(), vdb.getVersion())); //$NON-NLS-1$    			
+	    	} else {
+	    		model.clearErrors();
+	    		if (vdb.isValid()) {
+	    			this.vdbRepository.updateVDB(vdb.getName(), vdb.getVersion());
+					vdb.setStatus(VDB.Status.ACTIVE);
+					LogManager.logInfo(LogConstants.CTX_RUNTIME, RuntimePlugin.Util.getString("vdb_activated",vdb.getName(), vdb.getVersion())); //$NON-NLS-1$    			
+	    		}
 	    	}
     	}
     	

Modified: trunk/runtime/src/main/java/org/teiid/deployers/VDBStatusChecker.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/deployers/VDBStatusChecker.java	2011-02-23 16:03:16 UTC (rev 2929)
+++ trunk/runtime/src/main/java/org/teiid/deployers/VDBStatusChecker.java	2011-02-23 17:57:40 UTC (rev 2930)
@@ -84,7 +84,6 @@
 					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);
@@ -94,6 +93,8 @@
 							Runnable r = model.removeAttachment(Runnable.class);
 							if (r != null) {
 								runnables.add(r);
+							} else {
+								model.clearErrors();
 							}
 						}
 					}



More information about the teiid-commits mailing list