Browse Source

Move TreeNamingService stuff into own package

René Beckmann 7 years ago
parent
commit
18f5bec423

+ 1 - 0
plugins/org.yakindu.sct.model.sexec/META-INF/MANIFEST.MF

@@ -11,6 +11,7 @@ Export-Package: org.yakindu.sct.model.sexec,
  org.yakindu.sct.model.sexec.extensions,
  org.yakindu.sct.model.sexec.impl,
  org.yakindu.sct.model.sexec.naming,
+ org.yakindu.sct.model.sexec.naming.tree,
  org.yakindu.sct.model.sexec.transformation,
  org.yakindu.sct.model.sexec.util
 Require-Bundle: com.google.inject,

+ 1 - 1
plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/naming/ElementNameProvider.xtend

@@ -30,7 +30,7 @@ import java.util.ArrayList
 class ElementNameProvider {
 	@Inject private StextNameProvider provider
 
-	def protected List<String> elementNameSegments(NamedElement e) {
+	def public List<String> elementNameSegments(NamedElement e) {
 		val name = elementName(e);
 		var ArrayList<String> l;
 		if (name !== null) {

+ 4 - 0
plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/naming/IStringShortener.java

@@ -12,6 +12,8 @@ package org.yakindu.sct.model.sexec.naming;
 
 import java.util.List;
 
+import org.yakindu.sct.model.sexec.naming.tree.TreeStringShortener;
+
 import com.google.inject.ImplementedBy;
 
 /**
@@ -24,4 +26,6 @@ public interface IStringShortener {
 	public StorageToken addString(List<String> s);
 	
 	public String getString(StorageToken token);
+	
+	public void reset();
 }

+ 1 - 1
plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/naming/ShortString.xtend

@@ -9,7 +9,7 @@
  * 		@author René Beckmann (beckmann@itemis.de)
  */
 
-package org.yakindu.sct.model.sexec.naming
+package org.yakindu.sct.model.sexec.naming.tree
 
 import org.eclipse.xtend.lib.annotations.Accessors
 

+ 1 - 1
plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/naming/ShortStringUtils.xtend

@@ -8,7 +8,7 @@
  * 	rbeckmann - initial API and implementation
  * 
  */
-package org.yakindu.sct.model.sexec.naming
+package org.yakindu.sct.model.sexec.naming.tree
 
 import java.util.List
 

+ 1 - 1
plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/naming/StringTreeNode.xtend

@@ -9,7 +9,7 @@
  * 		@author René Beckmann (beckmann@itemis.de)
  */
 
-package org.yakindu.sct.model.sexec.naming
+package org.yakindu.sct.model.sexec.naming.tree
 
 import java.util.ArrayList
 import java.util.List

+ 16 - 6
plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/naming/TreeNamingService.xtend

@@ -9,11 +9,10 @@
  * 		@author René Beckmann (beckmann@itemis.de)
  */
 
-package org.yakindu.sct.model.sexec.naming
+package org.yakindu.sct.model.sexec.naming.tree
 
 import com.google.common.collect.Maps
 import java.util.ArrayList
-import java.util.HashMap
 import java.util.List
 import java.util.Map
 import javax.inject.Inject
@@ -25,6 +24,10 @@ import org.yakindu.sct.model.sexec.ExecutionScope
 import org.yakindu.sct.model.sexec.ExecutionState
 import org.yakindu.sct.model.sexec.Step
 import org.yakindu.sct.model.sexec.extensions.SExecExtensions
+import org.yakindu.sct.model.sexec.naming.ElementNameProvider
+import org.yakindu.sct.model.sexec.naming.INamingService
+import org.yakindu.sct.model.sexec.naming.IStringShortener
+import org.yakindu.sct.model.sexec.naming.StorageToken
 import org.yakindu.sct.model.sexec.transformation.StatechartExtensions
 import org.yakindu.sct.model.sgraph.CompositeElement
 import org.yakindu.sct.model.sgraph.Region
@@ -76,11 +79,19 @@ class TreeNamingService implements INamingService {
 		this.maxLength = 0
 		this.separator = '_'
 	}
+	
+	def protected void reset() {
+		map = newHashMap
+		tokens = newHashMap
+		activeFlow = null
+		activeStatechart = null
+		
+		shortener.reset()
+	}
 
 	override initializeNamingService(Statechart statechart) {
 		if (activeStatechart != statechart) {
-			map = Maps.newHashMap
-			activeFlow = null;
+			reset()
 			activeStatechart = statechart;
 			
 			collectNames(statechart)
@@ -110,9 +121,8 @@ class TreeNamingService implements INamingService {
 
 	override initializeNamingService(ExecutionFlow flow) {
 		if (activeFlow != flow) {
-			map = Maps.newHashMap
+			reset()
 			activeFlow = flow;
-			activeStatechart = null;
 
 			collectNames(flow);
 		}

+ 1 - 1
plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/naming/TreeServiceNamesValidator.xtend

@@ -8,7 +8,7 @@
  * 	rbeckmann - initial API and implementation
  * 
  */
-package org.yakindu.sct.model.sexec.naming
+package org.yakindu.sct.model.sexec.naming.tree
 
 import com.google.inject.Inject
 import java.util.List

+ 8 - 2
plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/naming/TreeStringShortener.xtend

@@ -8,13 +8,14 @@
  * 	rbeckmann - initial API and implementation
  * 
  */
-package org.yakindu.sct.model.sexec.naming
+package org.yakindu.sct.model.sexec.naming.tree
 
 import com.google.inject.Inject
 import java.util.List
 import java.util.Map
 import org.eclipse.xtend.lib.annotations.Accessors
-import com.google.inject.ImplementedBy
+import org.yakindu.sct.model.sexec.naming.IStringShortener
+import org.yakindu.sct.model.sexec.naming.StorageToken
 
 /**
  * @author rbeckmann
@@ -33,6 +34,11 @@ class TreeStringShortener implements IStringShortener {
 	protected Map<StorageToken, String> result
 	protected Map<StorageToken, StringTreeNode> storage
 	protected Map<StorageToken, List<String>> originalStrings = newHashMap
+	
+	override reset() {
+		originalStrings = newHashMap
+		validState = false
+	}
 
 	override addString(List<String> s) {
 		validState = false

+ 1 - 5
test-plugins/org.yakindu.sct.model.sexec.test/src/org/yakindu/sct/model/sexec/transformation/test/ShortStringTest.java

@@ -12,13 +12,9 @@
 package org.yakindu.sct.model.sexec.transformation.test;
 
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
 
-import org.junit.Before;
 import org.junit.Test;
-import org.yakindu.sct.model.sexec.naming.ShortString;
-
-import com.google.common.primitives.Shorts;
+import org.yakindu.sct.model.sexec.naming.tree.ShortString;
 
 public class ShortStringTest {
 	private ShortString shortstr;

+ 4 - 6
test-plugins/org.yakindu.sct.model.sexec.test/src/org/yakindu/sct/model/sexec/transformation/test/StringTreeNodeTest.java

@@ -11,18 +11,16 @@
 package org.yakindu.sct.model.sexec.transformation.test;
 
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
-
-import org.junit.Before;
-import org.junit.Test;
-
-import org.yakindu.sct.model.sexec.naming.StringTreeNode;
 
 import java.text.Collator;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
+import org.junit.Before;
+import org.junit.Test;
+import org.yakindu.sct.model.sexec.naming.tree.StringTreeNode;
+
 public class StringTreeNodeTest {
 	private StringTreeNode tree;
 

+ 1 - 1
test-plugins/org.yakindu.sct.model.sexec.test/src/org/yakindu/sct/model/sexec/transformation/test/TreeNamingServiceTest.java

@@ -23,7 +23,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.yakindu.sct.model.sexec.ExecutionFlow;
 import org.yakindu.sct.model.sexec.ExecutionState;
-import org.yakindu.sct.model.sexec.naming.TreeNamingService;
+import org.yakindu.sct.model.sexec.naming.tree.TreeNamingService;
 import org.yakindu.sct.model.sexec.transformation.FlowOptimizer;
 import org.yakindu.sct.model.sgraph.Statechart;
 import org.yakindu.sct.test.models.SCTUnitTestModels;