[jbosstools-commits] JBoss Tools SVN: r30542 - trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Tue Apr 12 19:53:00 EDT 2011


Author: scabanovich
Date: 2011-04-12 19:53:00 -0400 (Tue, 12 Apr 2011)
New Revision: 30542

Modified:
   trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/ConfigDefinitionContext.java
Log:
JBIDE-8717
https://issues.jboss.org/browse/JBIDE-8717

Modified: trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/ConfigDefinitionContext.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/ConfigDefinitionContext.java	2011-04-12 23:51:35 UTC (rev 30541)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.seam.config.core/src/org/jboss/tools/cdi/seam/config/core/ConfigDefinitionContext.java	2011-04-12 23:53:00 UTC (rev 30542)
@@ -16,8 +16,7 @@
 import java.util.Set;
 
 import org.eclipse.core.runtime.IPath;
-import org.jboss.tools.cdi.core.IRootDefinitionContext;
-import org.jboss.tools.cdi.core.extension.IDefinitionContextExtension;
+import org.jboss.tools.cdi.core.extension.AbstractDefinitionContextExtension;
 import org.jboss.tools.cdi.seam.config.core.definition.SeamBeansDefinition;
 
 /**
@@ -25,16 +24,15 @@
  * @author Viacheslav Kabanovich
  *
  */
-public class ConfigDefinitionContext implements IDefinitionContextExtension {
-	IRootDefinitionContext root;
-
+public class ConfigDefinitionContext extends AbstractDefinitionContextExtension {
 	private Map<IPath, SeamBeansDefinition> beanXMLs = new HashMap<IPath, SeamBeansDefinition>();
 	private Map<IPath, SeamBeansDefinition> seambeanXMLs = new HashMap<IPath, SeamBeansDefinition>();
 
-	ConfigDefinitionContext workingCopy;
-	ConfigDefinitionContext original;
+	public ConfigDefinitionContext getWorkingCopy() {
+		return (ConfigDefinitionContext)super.getWorkingCopy();
+	}
 
-	private ConfigDefinitionContext copy(boolean clean) {
+	protected ConfigDefinitionContext copy(boolean clean) {
 		ConfigDefinitionContext copy = new ConfigDefinitionContext();
 		copy.root = root;
 		if(!clean) {
@@ -46,27 +44,11 @@
 		return copy;
 	}
 
-	public void newWorkingCopy(boolean forFullBuild) {
-		if(original != null) return;
-		workingCopy = copy(forFullBuild);
-		workingCopy.original = this;
+	protected void doApplyWorkingCopy() {
+		beanXMLs = ((ConfigDefinitionContext)workingCopy).beanXMLs;
+		seambeanXMLs = ((ConfigDefinitionContext)workingCopy).seambeanXMLs;
 	}
 
-	public void applyWorkingCopy() {
-		if(original != null) {
-			original.applyWorkingCopy();
-			return;
-		}
-		if(workingCopy == null) {
-			return;
-		}
-		
-		beanXMLs = workingCopy.beanXMLs;
-		seambeanXMLs = workingCopy.seambeanXMLs;
-		
-		workingCopy = null;
-	}
-
 	public void clean() {
 		synchronized (beanXMLs) {
 			beanXMLs.clear();
@@ -85,26 +67,6 @@
 		}
 	}
 
-	public void setRootContext(IRootDefinitionContext context) {
-		root = context;
-	}
-
-	public IRootDefinitionContext getRootContext() {
-		return root;
-	}
-
-	public ConfigDefinitionContext getWorkingCopy() {
-		if(original != null) {
-			return this;
-		}
-		if(workingCopy != null) {
-			return workingCopy;
-		}
-		workingCopy = copy(false);
-		workingCopy.original = this;
-		return workingCopy;
-	}
-
 	public void addBeanXML(IPath path, SeamBeansDefinition def) {
 		synchronized (beanXMLs) {
 			beanXMLs.put(path, def);



More information about the jbosstools-commits mailing list