Bad code on the stererotypeAsString methods.
diff --git a/core/org.eclipse.tigerstripe.core/src/main/java/org/eclipse/tigerstripe/workbench/internal/core/model/Method.java b/core/org.eclipse.tigerstripe.core/src/main/java/org/eclipse/tigerstripe/workbench/internal/core/model/Method.java
index 0ed2f41..763850f 100644
--- a/core/org.eclipse.tigerstripe.core/src/main/java/org/eclipse/tigerstripe/workbench/internal/core/model/Method.java
+++ b/core/org.eclipse.tigerstripe.core/src/main/java/org/eclipse/tigerstripe/workbench/internal/core/model/Method.java
@@ -50,6 +50,7 @@
import org.eclipse.tigerstripe.workbench.model.deprecated_.ossj.IOssjFlavorDefaults;
import org.eclipse.tigerstripe.workbench.model.deprecated_.ossj.IOssjMethod;
import org.eclipse.tigerstripe.workbench.profile.IWorkbenchProfile;
+import org.eclipse.tigerstripe.workbench.profile.stereotype.IStereotype;
import org.eclipse.tigerstripe.workbench.profile.stereotype.IStereotypeInstance;
import org.eclipse.tigerstripe.workbench.profile.stereotype.IStereotypeListener;
import org.eclipse.tigerstripe.workbench.project.ITigerstripeModelProject;
@@ -203,7 +204,31 @@
@Override
public String getStereotypeString(boolean includeInherited) {
- return getStereotypeString();
+ if (getStereotypeInstances().isEmpty()) {
+ return "";
+ }
+
+ StringBuilder result = new StringBuilder();
+
+ IWorkbenchProfile profile = getArtifactManager().getRuntime()
+ .getWorkbenchProfileSession().getActiveProfile();
+ for (IStereotypeInstance instance : getStereotypeInstances(includeInherited)) {
+ // Check that the stereotype is enabled in the profile
+ IStereotype stereotype = profile.getStereotypeByName(instance
+ .getName());
+ if (stereotype != null) {
+ if (result.length() == 0) {
+ result.append("<<");
+ } else {
+ result.append(",");
+ }
+ result.append(instance.getName());
+ }
+ }
+ if (result.length() > 0) {
+ result.append(">>");
+ }
+ return result.toString();
}
@@ -809,7 +834,31 @@
@Override
public String getStereotypeString(boolean includeInherited) {
- return getStereotypeString();
+ if (getStereotypeInstances().isEmpty()) {
+ return "";
+ }
+
+ StringBuilder result = new StringBuilder();
+
+ IWorkbenchProfile profile = getArtifactManager().getRuntime()
+ .getWorkbenchProfileSession().getActiveProfile();
+ for (IStereotypeInstance instance : getStereotypeInstances(includeInherited)) {
+ // Check that the stereotype is enabled in the profile
+ IStereotype stereotype = profile.getStereotypeByName(instance
+ .getName());
+ if (stereotype != null) {
+ if (result.length() == 0) {
+ result.append("<<");
+ } else {
+ result.append(",");
+ }
+ result.append(instance.getName());
+ }
+ }
+ if (result.length() > 0) {
+ result.append(">>");
+ }
+ return result.toString();
}