[jboss-svn-commits] JBL Code SVN: r35556 - labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Oct 18 13:49:52 EDT 2010


Author: KrisVerlaenen
Date: 2010-10-18 13:49:52 -0400 (Mon, 18 Oct 2010)
New Revision: 35556

Modified:
   labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/XmlBPMNProcessDumper.java
Log:
- fixed issue where constraint name could not include "

Modified: labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/XmlBPMNProcessDumper.java
===================================================================
--- labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/XmlBPMNProcessDumper.java	2010-10-18 11:24:40 UTC (rev 35555)
+++ labs/jbossrules/trunk/drools-process/drools-bpmn2/src/main/java/org/drools/bpmn2/xml/XmlBPMNProcessDumper.java	2010-10-18 17:49:52 UTC (rev 35556)
@@ -552,7 +552,7 @@
     					"      <conditionExpression xs:type=\"tFormalExpression\" />");
         		} else {
                     if (constraint.getName() != null && constraint.getName().trim().length() > 0) {
-            			xmlDump.append("name=\"" + XmlDumper.replaceIllegalChars(constraint.getName()) + "\" ");
+            			xmlDump.append("name=\"" + XmlBPMNProcessDumper.replaceIllegalCharsAttribute(constraint.getName()) + "\" ");
             		}
             		xmlDump.append(">" + EOL +
     				"      <conditionExpression xs:type=\"tFormalExpression\" ");
@@ -663,4 +663,34 @@
     	return "_" + result;
     }
     
+    public static String replaceIllegalCharsAttribute(final String code) {
+        final StringBuilder sb = new StringBuilder();
+        if ( code != null ) {
+            final int n = code.length();
+            for ( int i = 0; i < n; i++ ) {
+                final char c = code.charAt( i );
+                switch ( c ) {
+	                case '<' :
+	                    sb.append( "&lt;" );
+	                    break;
+	                case '>' :
+	                    sb.append( "&gt;" );
+	                    break;
+	                case '&' :
+	                    sb.append( "&amp;" );
+	                    break;
+                    case '"' :
+                        sb.append( "&quot;" );
+                        break;
+                    default :
+                        sb.append( c );
+                        break;
+                }
+            }
+        } else {
+            sb.append( "null" );
+        }
+        return sb.toString();
+    }
+    
 }



More information about the jboss-svn-commits mailing list