Author: thn
Date: 2011-03-30 22:28:41-0700
New Revision: 19154

Modified:
   
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLExpressionLanguageField.java
   
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLExpressionModel.java
   
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLExpressionPanel.java

Log:
simple fix for issue 6215: initial values is created as OpaqueExpression, but 
when imported from other models, it can be of another type but is readonly then

Modified: 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLExpressionLanguageField.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLExpressionLanguageField.java?view=diff&pathrev=19154&r1=19153&r2=19154
==============================================================================
--- 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLExpressionLanguageField.java
     (original)
+++ 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLExpressionLanguageField.java
     2011-03-30 22:28:41-0700
@@ -8,6 +8,7 @@
  *
  * Contributors:
  *    mvw
+ *    Thomas Neustupny
  *****************************************************************************
  *
  * Some portions of this file was previously release using the BSD License:
@@ -79,6 +80,9 @@
                 setText(newText);
             }
         }
+        if (newText == null) {
+            setEditable(false);
+        }
     }
 
     /*

Modified: 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLExpressionModel.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLExpressionModel.java?view=diff&pathrev=19154&r1=19153&r2=19154
==============================================================================
--- 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLExpressionModel.java
     (original)
+++ 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLExpressionModel.java
     2011-03-30 22:28:41-0700
@@ -8,6 +8,7 @@
  *
  * Contributors:
  *    mvw
+ *    Thomas Neustupny
  *****************************************************************************
  *
  * Some portions of this file was previously release using the BSD License:
@@ -155,7 +156,14 @@
         if (expression == null) {
             return EMPTYSTRING;
         }
-        return Model.getDataTypesHelper().getLanguage(expression);
+        String language = null;
+        try {
+            language = Model.getDataTypesHelper().getLanguage(expression);
+        } catch (Exception ex) {
+            // if it has no language, then we assume it is not an instance of
+            // OpaqueExpression, so we leave it null and handle elsewhere
+        }
+        return language;
     }
 
     /**
@@ -166,7 +174,7 @@
         if (expression == null) {
             return EMPTYSTRING;
         }
-        return Model.getDataTypesHelper().getBody(expression);
+        return Model.getFacade().getBody(expression).toString();
     }
 
     /**
@@ -202,7 +210,7 @@
        Object expression = getExpression();
         boolean mustChange = true;
         if (expression != null) {
-            Object oldValue = Model.getDataTypesHelper().getBody(expression);
+            Object oldValue = Model.getFacade().getBody(expression).toString();
             if (oldValue != null && oldValue.equals(body)) {
                 mustChange = false;
             }

Modified: 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLExpressionPanel.java
Url: 
http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLExpressionPanel.java?view=diff&pathrev=19154&r1=19153&r2=19154
==============================================================================
--- 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLExpressionPanel.java
     (original)
+++ 
trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLExpressionPanel.java
     2011-03-30 22:28:41-0700
@@ -8,6 +8,7 @@
  *
  * Contributors:
  *    mvw
+ *    Thomas Neustupny
  *****************************************************************************
  *
  * Some portions of this file was previously release using the BSD License:
@@ -78,7 +79,12 @@
         this.bodyField = new UMLExpressionBodyField(
                 model, true);
 
-        add(languageField);
+        boolean isReadOnly = !languageField.isEditable();
+        if (isReadOnly) {
+            bodyField.setEditable(false);
+        } else {
+            add(languageField);
+        }
         add(new JScrollPane(bodyField));
 
         model.addChangeListener(this);

------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2715515

To unsubscribe from this discussion, e-mail: 
[[email protected]].

Reply via email to