Author: penyaskito
Date: 2007-10-08 11:09:41-0700
New Revision: 13647
Modified:
trunk/src_new/org/argouml/notation/providers/uml/NodeInstanceNotationUml.java
trunk/src_new/org/argouml/notation/providers/uml/NotationUtilityUml.java
trunk/src_new/org/argouml/notation/providers/uml/ObjectNotationUml.java
trunk/src_new/org/argouml/notation/providers/uml/OperationNotationUml.java
trunk/src_new/org/argouml/uml/cognitive/critics/CrUnconventionalPackName.java
trunk/src_new/org/argouml/uml/generator/AbstractSection.java
trunk/src_new/org/argouml/uml/reveng/ImportClassLoader.java
trunk/src_new/org/argouml/uml/ui/TabSrc.java
Log:
Removed string concatenation in loops, using instead StringBuilder.
Important consideration: If anyone gets thread-related exceptions, the StringBuilder must be changed by StringBuffer.
Modified: trunk/src_new/org/argouml/notation/providers/uml/NodeInstanceNotationUml.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/notation/providers/uml/NodeInstanceNotationUml.java?view=diff&rev=13647&p1=trunk/src_new/org/argouml/notation/providers/uml/NodeInstanceNotationUml.java&p2=trunk/src_new/org/argouml/notation/providers/uml/NodeInstanceNotationUml.java&r1=13646&r2=13647
==============================================================================
--- trunk/src_new/org/argouml/notation/providers/uml/NodeInstanceNotationUml.java (original)
+++ trunk/src_new/org/argouml/notation/providers/uml/NodeInstanceNotationUml.java 2007-10-08 11:09:41-0700
@@ -107,24 +107,24 @@
nameStr = Model.getFacade().getName(modelElement).trim();
}
// construct bases string (comma separated)
- String baseStr = "";
+ StringBuilder baseStr = new StringBuilder();
Collection col = Model.getFacade().getClassifiers(modelElement);
if (col != null && col.size() > 0) {
Iterator it = col.iterator();
- baseStr = Model.getFacade().getName(it.next());
+ baseStr.append(Model.getFacade().getName(it.next()));
while (it.hasNext()) {
- baseStr += ", " + Model.getFacade().getName(it.next());
+ baseStr.append(", " + Model.getFacade().getName(it.next()));
}
}
if ((nameStr.length() == 0) && (baseStr.length() == 0)) {
return "";
}
- baseStr = baseStr.trim();
- if (baseStr.length() < 1) {
+ String base = baseStr.toString().trim();
+ if (base.length() < 1) {
return nameStr.trim();
}
- return nameStr.trim() + " : " + baseStr;
+ return nameStr.trim() + " : " + base;
}
}
Modified: trunk/src_new/org/argouml/notation/providers/uml/NotationUtilityUml.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/notation/providers/uml/NotationUtilityUml.java?view=diff&rev=13647&p1=trunk/src_new/org/argouml/notation/providers/uml/NotationUtilityUml.java&p2=trunk/src_new/org/argouml/notation/providers/uml/NotationUtilityUml.java&r1=13646&r2=13647
==============================================================================
--- trunk/src_new/org/argouml/notation/providers/uml/NotationUtilityUml.java (original)
+++ trunk/src_new/org/argouml/notation/providers/uml/NotationUtilityUml.java 2007-10-08 11:09:41-0700
@@ -270,7 +270,7 @@
Vector path = null;
String name = null;
- String stereotype = null;
+ StringBuilder stereotype = null;
String token;
try {
@@ -286,13 +286,13 @@
st.getTokenIndex());
}
- stereotype = "";
+ stereotype = new StringBuilder();
while (true) {
token = st.nextToken();
if (">>".equals(token) || "\u00BB".equals(token)) {
break;
}
- stereotype += token;
+ stereotype.append(token);
}
} else if ("::".equals(token)) {
if (name != null) {
@@ -366,7 +366,7 @@
Model.getCoreHelper().setName(me, name);
}
- StereotypeUtility.dealWithStereotypes(me, stereotype, false);
+ StereotypeUtility.dealWithStereotypes(me, stereotype.toString(), false);
if (path != null) {
Object nspe =
@@ -446,7 +446,7 @@
* @return a string which represents the path
*/
protected static String generatePath(Object modelElement) {
- String s = "";
+ StringBuilder s = new StringBuilder();
Object p = modelElement;
Stack<String> stack = new Stack<String>();
Object ns = Model.getFacade().getNamespace(p);
@@ -455,13 +455,13 @@
ns = Model.getFacade().getNamespace(ns);
}
while (!stack.isEmpty()) {
- s += stack.pop() + "::";
+ s.append(stack.pop() + "::");
}
- if (s.length() > 0 && !s.endsWith(":")) {
- s += "::";
+ if (s.length() > 0 && !(s.lastIndexOf(":") == s.length() - 1)) {
+ s.append("::");
}
- return s;
+ return s.toString();
}
/**
@@ -521,7 +521,7 @@
String name = null;
String tok;
String type = null;
- String value = null;
+ StringBuilder value = null;
Object p = null;
boolean hasColon = false;
boolean hasEq = false;
@@ -540,7 +540,7 @@
break;
} else if (" ".equals(tok) || "\t".equals(tok)) {
if (hasEq) {
- value += tok;
+ value.append(tok);
}
} else if (":".equals(tok)) {
hasColon = true;
@@ -554,7 +554,7 @@
}
hasEq = true;
hasColon = false;
- value = "";
+ value = new StringBuilder();
} else if (hasColon) {
if (type != null) {
String msg = "parsing.error.notation-utility.two-types";
@@ -578,7 +578,7 @@
type = tok;
} else if (hasEq) {
- value += tok;
+ value.append(tok);
} else {
if (name != null && kind != null) {
String msg =
@@ -640,7 +640,7 @@
.createExpression(
// TODO: Find a better default language
ps.getNotationLanguage(),
- value.trim());
+ value.toString().trim());
Model.getCoreHelper().setDefaultValue(p, initExpr);
}
}
@@ -1067,7 +1067,7 @@
Collection c;
Iterator it;
String s;
- String p;
+ StringBuilder p;
boolean first;
if (m == null) {
return "";
@@ -1081,7 +1081,7 @@
s = "";
}
- p = "";
+ p = new StringBuilder();
c = Model.getFacade().getActualArguments(m);
if (c != null) {
it = c.iterator();
@@ -1089,11 +1089,11 @@
while (it.hasNext()) {
Object arg = it.next();
if (!first) {
- p += ", ";
+ p.append(", ");
}
if (Model.getFacade().getValue(arg) != null) {
- p += generateExpression(Model.getFacade().getValue(arg));
+ p.append(generateExpression(Model.getFacade().getValue(arg)));
}
first = false;
}
Modified: trunk/src_new/org/argouml/notation/providers/uml/ObjectNotationUml.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/notation/providers/uml/ObjectNotationUml.java?view=diff&rev=13647&p1=trunk/src_new/org/argouml/notation/providers/uml/ObjectNotationUml.java&p2=trunk/src_new/org/argouml/notation/providers/uml/ObjectNotationUml.java&r1=13646&r2=13647
==============================================================================
--- trunk/src_new/org/argouml/notation/providers/uml/ObjectNotationUml.java (original)
+++ trunk/src_new/org/argouml/notation/providers/uml/ObjectNotationUml.java 2007-10-08 11:09:41-0700
@@ -107,26 +107,26 @@
Vector bases = new Vector(
Model.getFacade().getClassifiers(modelElement));
- String baseString = "";
+ StringBuilder baseString = new StringBuilder();
if (Model.getFacade().getClassifiers(modelElement) != null
&& Model.getFacade().getClassifiers(modelElement).size() > 0) {
- baseString += Model.getFacade().getName(bases.elementAt(0));
+ baseString.append(Model.getFacade().getName(bases.elementAt(0)));
for (int i = 1; i < bases.size(); i++) {
- baseString +=
- ", " + Model.getFacade().getName(bases.elementAt(i));
+ baseString.append(
+ ", " + Model.getFacade().getName(bases.elementAt(i)));
}
}
if ((nameStr.length() == 0) && (baseString.length() == 0)) {
return "";
}
- baseString = baseString.trim();
- if (baseString.length() < 1) {
+ String base = baseString.toString().trim();
+ if (base.length() < 1) {
return nameStr.trim();
}
- return nameStr.trim() + " : " + baseString;
+ return nameStr.trim() + " : " + base;
}
}
Modified: trunk/src_new/org/argouml/notation/providers/uml/OperationNotationUml.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/notation/providers/uml/OperationNotationUml.java?view=diff&rev=13647&p1=trunk/src_new/org/argouml/notation/providers/uml/OperationNotationUml.java&p2=trunk/src_new/org/argouml/notation/providers/uml/OperationNotationUml.java&r1=13646&r2=13647
==============================================================================
--- trunk/src_new/org/argouml/notation/providers/uml/OperationNotationUml.java (original)
+++ trunk/src_new/org/argouml/notation/providers/uml/OperationNotationUml.java 2007-10-08 11:09:41-0700
@@ -190,7 +190,7 @@
boolean hasColon = false;
String name = null;
String parameterlist = null;
- String stereotype = null;
+ StringBuilder stereotype = null;
String token;
String type = null;
String visibility = null;
@@ -219,13 +219,13 @@
parseError("operation.stereotypes",
st.getTokenIndex());
}
- stereotype = "";
+ stereotype = new StringBuilder();
while (true) {
token = st.nextToken();
if (">>".equals(token) || "\u00BB".equals(token)) {
break;
}
- stereotype += token;
+ stereotype.append(token);
}
} else if ("{".equals(token)) {
properties = tokenOpenBrace(st, properties);
@@ -350,7 +350,8 @@
// but create any other parsed stereotypes as needed
if (!Model.getFacade().isAReception(op)
|| !RECEPTION_KEYWORD.equals(stereotype)) {
- StereotypeUtility.dealWithStereotypes(op, stereotype, true);
+ StereotypeUtility.dealWithStereotypes(op,
+ stereotype.toString(), true);
}
}
@@ -383,8 +384,8 @@
private Vector tokenOpenBrace(MyTokenizer st, Vector properties)
throws ParseException {
String token;
- String propname = "";
- String propvalue = null;
+ StringBuilder propname = new StringBuilder();
+ StringBuilder propvalue = null;
if (properties == null) {
properties = new Vector();
@@ -396,7 +397,7 @@
properties.add(propname);
properties.add(propvalue);
}
- propname = "";
+ propname = new StringBuilder();
propvalue = null;
if ("}".equals(token)) {
@@ -412,16 +413,16 @@
args),
st.getTokenIndex());
}
- propvalue = "";
+ propvalue = new StringBuilder();
} else if (propvalue == null) {
- propname += token;
+ propname.append(token);
} else {
- propvalue += token;
+ propvalue.append(token);
}
}
if (propname.length() > 0) {
- properties.add(propname);
- properties.add(propvalue);
+ properties.add(propname.toString());
+ properties.add(propvalue.toString());
}
return properties;
}
Modified: trunk/src_new/org/argouml/uml/cognitive/critics/CrUnconventionalPackName.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/cognitive/critics/CrUnconventionalPackName.java?view=diff&rev=13647&p1=trunk/src_new/org/argouml/uml/cognitive/critics/CrUnconventionalPackName.java&p2=trunk/src_new/org/argouml/uml/cognitive/critics/CrUnconventionalPackName.java&r1=13646&r2=13647
==============================================================================
--- trunk/src_new/org/argouml/uml/cognitive/critics/CrUnconventionalPackName.java (original)
+++ trunk/src_new/org/argouml/uml/cognitive/critics/CrUnconventionalPackName.java 2007-10-08 11:09:41-0700
@@ -106,22 +106,22 @@
*/
public String computeSuggestion(String nameStr) {
- String sug = "";
+ StringBuilder sug = new StringBuilder();
if (nameStr != null) {
int size = nameStr.length();
for (int i = 0; i < size; i++) {
char c = nameStr.charAt(i);
if (Character.isLowerCase(c)) {
- sug += c;
+ sug.append(c);
} else if (Character.isUpperCase(c)) {
- sug += Character.toLowerCase(c);
+ sug.append(Character.toLowerCase(c));
}
}
}
- if (sug.equals("")) {
- sug = "packageName";
+ if (sug.toString().equals("")) {
+ return "packageName";
}
- return sug;
+ return sug.toString();
}
/*
Modified: trunk/src_new/org/argouml/uml/generator/AbstractSection.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/generator/AbstractSection.java?view=diff&rev=13647&p1=trunk/src_new/org/argouml/uml/generator/AbstractSection.java&p2=trunk/src_new/org/argouml/uml/generator/AbstractSection.java&r1=13646&r2=13647
==============================================================================
--- trunk/src_new/org/argouml/uml/generator/AbstractSection.java (original)
+++ trunk/src_new/org/argouml/uml/generator/AbstractSection.java 2007-10-08 11:09:41-0700
@@ -54,14 +54,13 @@
private static final String LINE_SEPARATOR =
System.getProperty("line.separator");
- private Map mAry;
+ private Map<String, String> mAry;
/**
* Creates a new instance of Section.
*/
public AbstractSection() {
- mAry = new HashMap();
- mAry.clear();
+ mAry = new HashMap<String, String>();
}
/**
@@ -93,7 +92,7 @@
while (line != null) {
String sectionId = getSectId(line);
if (sectionId != null) {
- String content = (String) mAry.get(sectionId);
+ String content = mAry.get(sectionId);
if (content != null) {
fw.write(line + LINE_SEPARATOR);
fw.write(content);
@@ -154,7 +153,7 @@
BufferedReader fr = new BufferedReader(f);
String line = "";
- String content = "";
+ StringBuilder content = new StringBuilder();
boolean inSection = false;
while (line != null) {
line = fr.readLine();
@@ -163,10 +162,10 @@
String sectionId = getSectId(line);
if (sectionId != null) {
inSection = false;
- mAry.put(sectionId, content);
- content = "";
+ mAry.put(sectionId, content.toString());
+ content = new StringBuilder();
} else {
- content += line + LINE_SEPARATOR;
+ content.append(line + LINE_SEPARATOR);
}
} else {
String sectionId = getSectId(line);
Modified: trunk/src_new/org/argouml/uml/reveng/ImportClassLoader.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/reveng/ImportClassLoader.java?view=diff&rev=13647&p1=trunk/src_new/org/argouml/uml/reveng/ImportClassLoader.java&p2=trunk/src_new/org/argouml/uml/reveng/ImportClassLoader.java&r1=13646&r2=13647
==============================================================================
--- trunk/src_new/org/argouml/uml/reveng/ImportClassLoader.java (original)
+++ trunk/src_new/org/argouml/uml/reveng/ImportClassLoader.java 2007-10-08 11:09:41-0700
@@ -267,16 +267,16 @@
public String toString() {
URL[] urls = this.getURLs();
- String path = "";
+ StringBuilder path = new StringBuilder();
for (int i = 0; i < urls.length; i++) {
- path = path + urls[i].getFile();
+ path.append(urls[i].getFile());
if (i < urls.length - 1) {
- path += ";";
+ path.append(";");
}
}
- return path;
+ return path.toString();
}
}
Modified: trunk/src_new/org/argouml/uml/ui/TabSrc.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/ui/TabSrc.java?view=diff&rev=13647&p1=trunk/src_new/org/argouml/uml/ui/TabSrc.java&p2=trunk/src_new/org/argouml/uml/ui/TabSrc.java&r1=13646&r2=13647
==============================================================================
--- trunk/src_new/org/argouml/uml/ui/TabSrc.java (original)
+++ trunk/src_new/org/argouml/uml/ui/TabSrc.java 2007-10-08 11:09:41-0700
@@ -113,9 +113,9 @@
files = new SourceUnit[code.size()];
files = (SourceUnit[]) code.toArray(files);
for (int i = 0; i < files.length; i++) {
- String title = files[i].getName();
+ StringBuilder title = new StringBuilder(files[i].getName());
if (files[i].getBasePath().length() > 0) {
- title += " ( " + files[i].getFullName() + ")";
+ title.append(" ( " + files[i].getFullName() + ")");
}
cbFiles.addItem(title);
}
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.