@@ -630,6 +630,7 @@ public String toOcl(java.util.Map env, boolean local)
630630 return le + " " + operator + " " + re;
631631 } // - on collections is excludesAll in OCL? Plus set < elem, etc
632632
633+ // saveTextModel
633634 public String saveModelData(PrintWriter out)
634635 { String id = Identifier.nextIdentifier("binaryexpression_");
635636 out.println(id + " : BinaryExpression");
@@ -3535,7 +3536,8 @@ else if (operator.equals("->sequenceRange"))
35353536 elementType = left.elementType;
35363537 type.setElementType(left.elementType);
35373538 }
3538- else if (comparitors.contains(operator))
3539+ else if (operator.equals("<>=") ||
3540+ comparitors.contains(operator))
35393541 { tcEq(tleft,tright,eleft,eright); }
35403542 else if (operator.equals("+"))
35413543 { tcPlus(tleft,tright,eleft,eright); }
@@ -4684,7 +4686,9 @@ else if (left instanceof SetExpression)
46844686 }
46854687
46864688 if (!lmult && !rmult)
4687- { if (operator.equals("=")) // and comparitors
4689+ { if (operator.equals("<>="))
4690+ { res = lqf + " == " + rqf; }
4691+ else if (operator.equals("=")) // and comparitors
46884692 { res = composeEqQueryForms(lqf,rqf,lprim,rprim); }
46894693 else if (operator.equals("/=") || operator.equals("!=") || operator.equals("<>"))
46904694 { res = composeNeqQueryForms(lqf,rqf,lprim,rprim); }
@@ -4761,6 +4765,8 @@ else if (operator.equals("->prepend"))
47614765 {
47624766 res = "Set.concatenate(" + rss + "," + lqf + ")";
47634767 }
4768+ else if (operator.equals("<>="))
4769+ { res = lqf + " == " + rqf; }
47644770 else if (operator.equals("="))
47654771 { if (Type.isSetType(left.getType()))
47664772 { res = "Set.equals(" + lqf + "," + rss + ")"; }
@@ -4815,6 +4821,8 @@ else if (rmult && !lmult)
48154821 else
48164822 { res = ls + ".equals(" + rqf + ")"; }
48174823 }
4824+ else if (operator.equals("<>="))
4825+ { res = lqf + " == " + rqf; }
48184826 else if (operator.equals("/=") || operator.equals("!=") || operator.equals("<>"))
48194827 { if (Type.isSetType(right.getType()))
48204828 { res = "!(Set.equals(" + ls + "," + rqf + "))"; }
@@ -4843,6 +4851,8 @@ else if (operator.equals("->lastIndexOf"))
48434851 { res = "Collections.lastIndexOfSubList(" + lqf + "," + rqf + ") + 1";
48444852 bNeeded = true;
48454853 }
4854+ else if (operator.equals("<>="))
4855+ { res = lqf + " == " + rqf; }
48464856 else
48474857 { // res = lqf + " " + operator + " " + rqf;
48484858 res = composeSetQueryForms(lqf,rqf);
@@ -4967,6 +4977,13 @@ else if (left.hasSequenceType() && right.hasSequenceType())
49674977 if (operator.equals("->gcd"))
49684978 { return "Set.gcd(" + lqf + "," + rqf + ")"; }
49694979
4980+ if (operator.equals("<>="))
4981+ { res = lqf + " == " + rqf;
4982+ if (needsBracket)
4983+ { res = "(" + res + ")"; }
4984+ return res;
4985+ }
4986+
49704987 if (operator.equals("->isUnique")) // and define for B
49714988 { String fcollect = collectQueryFormJava6(lqf,rqf,rprim,env,local);
49724989 return "Set.isUnique(" + fcollect + ")";
@@ -5322,6 +5339,13 @@ else if (left.hasSequenceType() && right.hasSequenceType())
53225339 if (operator.equals("->gcd"))
53235340 { return "Ocl.gcd(" + lqf + "," + rqf + ")"; }
53245341
5342+ if (operator.equals("<>="))
5343+ { res = lqf + " == " + rqf;
5344+ if (needsBracket)
5345+ { res = "(" + res + ")"; }
5346+ return res;
5347+ }
5348+
53255349 if (operator.equals("->isUnique")) // and define for B
53265350 { String fcollect = collectQueryFormJava7(lqf,rqf,rprim,env,local);
53275351 return "Ocl.isUnique(" + fcollect + ")";
@@ -5683,6 +5707,13 @@ public String queryFormCSharp(java.util.Map env, boolean local)
56835707 if (operator.equals("->gcd"))
56845708 { return "SystemTypes.gcd(" + lqf + "," + rqf + ")"; }
56855709
5710+ if (operator.equals("<>="))
5711+ { res = lqf + " == " + rqf;
5712+ if (needsBracket)
5713+ { res = "(" + res + ")"; }
5714+ return res;
5715+ }
5716+
56865717 if (operator.equals("->compareTo"))
56875718 { if (left.isNumeric() && right.isNumeric())
56885719 { res = "((" + lqf + " < " + rqf + ") ? -1 : ((" + lqf + " > " + rqf + ") ? 1 : 0))"; }
@@ -6085,6 +6116,13 @@ else if (entity != null)
60856116 if (operator.equals("->equalsIgnoreCase"))
60866117 { return "UmlRsdsLib<" + lcet + ">::equalsIgnoreCase(" + lqf + "," + rqf + ")"; }
60876118
6119+ if (operator.equals("<>="))
6120+ { res = lqf + " == " + rqf;
6121+ if (needsBracket)
6122+ { res = "(" + res + ")"; }
6123+ return res;
6124+ }
6125+
60886126 if (operator.equals("->compareTo"))
60896127 { res = "(" + lqf + " < " + rqf + ")?-1:((" + lqf + " > " + rqf + ")?1:0)";
60906128 return res;
0 commit comments