Author: linus
Date: 2010-04-27 10:56:41-0700
New Revision: 18339
Added:
branches/BRANCH_0_30_x/src/argouml-core-model-euml/lib/emf/org.eclipse.emf.ecore.xmi.source_2.5.0.v200906151043.zip
- copied unchanged from r18338, /trunk/src/argouml-core-model-euml/lib/emf/org.eclipse.emf.ecore.xmi.source_2.5.0.v200906151043.zip
branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLActivityGraphContextComboBoxModel.java
- copied unchanged from r18338, /trunk/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLActivityGraphContextComboBoxModel.java
Removed:
branches/BRANCH_0_30_x/src/argouml-app/tests/org/argouml/uml/ui/foundation/core/TestActionAddEnumerationLiteral.java
branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLEnumerationLiteralsListModel.java
branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLInstanceClassifierListModel.java
Modified:
branches/BRANCH_0_30_x/ (props changed)
branches/BRANCH_0_30_x/src/argouml-app/ (props changed)
branches/BRANCH_0_30_x/src/argouml-app/src/org/argouml/application/helpers/ResourceLoaderWrapper.java
branches/BRANCH_0_30_x/src/argouml-app/src/org/argouml/profile/ProfileFacade.java
branches/BRANCH_0_30_x/src/argouml-app/src/org/argouml/profile/UserDefinedProfile.java
branches/BRANCH_0_30_x/src/argouml-app/src/org/argouml/profile/internal/DependencyResolver.java
branches/BRANCH_0_30_x/src/argouml-app/src/org/argouml/profile/internal/ProfileManagerImpl.java
branches/BRANCH_0_30_x/src/argouml-app/tests/org/argouml/profile/ (props changed)
branches/BRANCH_0_30_x/src/argouml-app/tests/org/argouml/uml/ui/foundation/extension_mechanisms/TestUMLTagDefinitionComboBoxModel.java (props changed)
branches/BRANCH_0_30_x/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/UMLSequenceDiagram.java
branches/BRANCH_0_30_x/src/argouml-core-model-euml/.classpath
branches/BRANCH_0_30_x/src/argouml-core-model-euml/src/org/argouml/model/euml/CoreHelperEUMLImpl.java
branches/BRANCH_0_30_x/src/argouml-core-model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java
branches/BRANCH_0_30_x/src/argouml-core-model-mdr/src/org/argouml/model/mdr/CoreHelperMDRImpl.java
branches/BRANCH_0_30_x/src/argouml-core-model-mdr/src/org/argouml/model/mdr/FacadeMDRImpl.java
branches/BRANCH_0_30_x/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java
branches/BRANCH_0_30_x/src/argouml-core-model/src/org/argouml/model/Model.java
branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/meta/panels.xml
branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/GetterSetterManagerImpl.java
branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/ListFactory.java
branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SimpleListModel.java
branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SwingUIFactory.java
branches/BRANCH_0_30_x/www/index.html
branches/BRANCH_0_30_x/www/psf/index.html
Log:
Merged r18298:18338 from trunk.
Modified: branches/BRANCH_0_30_x/src/argouml-app/src/org/argouml/application/helpers/ResourceLoaderWrapper.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/src/argouml-app/src/org/argouml/application/helpers/ResourceLoaderWrapper.java?view=diff&pathrev=18339&r1=18338&r2=18339
==============================================================================
--- branches/BRANCH_0_30_x/src/argouml-app/src/org/argouml/application/helpers/ResourceLoaderWrapper.java (original)
+++ branches/BRANCH_0_30_x/src/argouml-app/src/org/argouml/application/helpers/ResourceLoaderWrapper.java 2010-04-27 10:56:41-0700
@@ -402,7 +402,7 @@
images.put("button.new-dependency", "Dependency");
images.put("button.new-destroyaction", "DestroyAction");
images.put("button.new-enumeration", "Enumeration");
- images.put("button.new-enumeration-literal", "EnumerationLiteral");
+ images.put("button.new-enumerationliteral", "EnumerationLiteral");
images.put("button.new-extension-point", "New Extension Point");
images.put("button.new-extend", "Extend");
images.put("button.new-exception", "Exception");
Modified: branches/BRANCH_0_30_x/src/argouml-app/src/org/argouml/profile/ProfileFacade.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/src/argouml-app/src/org/argouml/profile/ProfileFacade.java?view=diff&pathrev=18339&r1=18338&r2=18339
==============================================================================
--- branches/BRANCH_0_30_x/src/argouml-app/src/org/argouml/profile/ProfileFacade.java (original)
+++ branches/BRANCH_0_30_x/src/argouml-app/src/org/argouml/profile/ProfileFacade.java 2010-04-27 10:56:41-0700
@@ -105,7 +105,7 @@
try {
manager.removeProfile(p);
} catch (InvalidElementException e) {
- LOG.debug("Attempted to delete extent twice in removeAllProfiles " + p);
+ LOG.debug("Attempted to delete extent twice in removeAllProfiles ");
}
}
}
Modified: branches/BRANCH_0_30_x/src/argouml-app/src/org/argouml/profile/UserDefinedProfile.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/src/argouml-app/src/org/argouml/profile/UserDefinedProfile.java?view=diff&pathrev=18339&r1=18338&r2=18339
==============================================================================
--- branches/BRANCH_0_30_x/src/argouml-app/src/org/argouml/profile/UserDefinedProfile.java (original)
+++ branches/BRANCH_0_30_x/src/argouml-app/src/org/argouml/profile/UserDefinedProfile.java 2010-04-27 10:56:41-0700
@@ -87,6 +87,7 @@
private File modelFile;
private Collection profilePackages = null;
+ private Object packageLock = new Object();
private UserDefinedFigNodeStrategy figNodeStrategy
= new UserDefinedFigNodeStrategy();
@@ -310,17 +311,22 @@
* dependencies
*/
private void loadModel() {
- if (profilePackages == null) {
- try {
- if (modelFile != null) {
- profilePackages = new FileModelLoader().loadModel(reference);
- } else {
- profilePackages = new URLModelLoader().loadModel(reference);
+ synchronized (packageLock) {
+ if (profilePackages == null) {
+ try {
+ if (modelFile != null) {
+ profilePackages = new FileModelLoader()
+ .loadModel(reference);
+ } else {
+ profilePackages = new URLModelLoader()
+ .loadModel(reference);
+ }
+ } catch (ProfileException e1) {
+ LOG.error("Exception loading profile "
+ + reference.getPath(), e1);
+ profilePackages = Collections.emptySet();
+ return;
}
- } catch (ProfileException e1) {
- LOG.error("Exception loading profile " + reference.getPath(),
- e1);
- return;
}
Collection packagesInProfile = filterPackages(profilePackages);
Modified: branches/BRANCH_0_30_x/src/argouml-app/src/org/argouml/profile/internal/DependencyResolver.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/src/argouml-app/src/org/argouml/profile/internal/DependencyResolver.java?view=diff&pathrev=18339&r1=18338&r2=18339
==============================================================================
--- branches/BRANCH_0_30_x/src/argouml-app/src/org/argouml/profile/internal/DependencyResolver.java (original)
+++ branches/BRANCH_0_30_x/src/argouml-app/src/org/argouml/profile/internal/DependencyResolver.java 2010-04-27 10:56:41-0700
@@ -7,13 +7,12 @@
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
- * euluis
+ * Luis Sergio Oliveira (euluis)
*****************************************************************************
*/
package org.argouml.profile.internal;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.Collection;
@@ -60,12 +59,14 @@
if (unresolvedItems.isEmpty()) {
return;
}
- final Collection<T> items = Collections.unmodifiableCollection(
- new ArrayList<T>());
+ final Collection<T> items = Collections.emptyList();
resolve(items);
}
/**
+ * Attempt to resolve the dependencies of the items already handed over to
+ * the resolver instance and the additional items handed over now.
+ *
* @param items additional items to resolve.
*/
void resolve(Collection<T> items) {
Modified: branches/BRANCH_0_30_x/src/argouml-app/src/org/argouml/profile/internal/ProfileManagerImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/src/argouml-app/src/org/argouml/profile/internal/ProfileManagerImpl.java?view=diff&pathrev=18339&r1=18338&r2=18339
==============================================================================
--- branches/BRANCH_0_30_x/src/argouml-app/src/org/argouml/profile/internal/ProfileManagerImpl.java (original)
+++ branches/BRANCH_0_30_x/src/argouml-app/src/org/argouml/profile/internal/ProfileManagerImpl.java 2010-04-27 10:56:41-0700
@@ -279,21 +279,28 @@
* from the configuration.
*/
private boolean registerProfileInternal(Profile p) {
- boolean loadDefaultProfilesFromConfiguration = false;
- if (p != null && !profiles.contains(p)) {
- if (p instanceof UserDefinedProfile
- || getProfileForClass(p.getClass().getName()) == null) {
- loadDefaultProfilesFromConfiguration = true;
- profiles.add(p);
- for (Critic critic : p.getCritics()) {
- for (Object meta : critic.getCriticizedDesignMaterials()) {
- Agency.register(critic, meta);
+
+ try {
+ boolean loadDefaultProfilesFromConfiguration = false;
+ if (p != null && !profiles.contains(p)) {
+ if (p instanceof UserDefinedProfile
+ || getProfileForClass(p.getClass().getName()) == null) {
+ loadDefaultProfilesFromConfiguration = true;
+ profiles.add(p);
+ for (Critic critic : p.getCritics()) {
+ for (Object meta : critic.getCriticizedDesignMaterials()) {
+ Agency.register(critic, meta);
+ }
+ critic.setEnabled(false);
}
- critic.setEnabled(false);
}
}
+ return loadDefaultProfilesFromConfiguration;
+ } catch (RuntimeException e) {
+ // TODO: Better if we wrap in a ProfileException and throw that
+ LOG.error("Error registering profile " + p.getDisplayName());
+ throw e;
}
- return loadDefaultProfilesFromConfiguration;
}
public void removeProfile(Profile p) {
Removed: branches/BRANCH_0_30_x/src/argouml-app/tests/org/argouml/uml/ui/foundation/core/TestActionAddEnumerationLiteral.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/src/argouml-app/tests/org/argouml/uml/ui/foundation/core/TestActionAddEnumerationLiteral.java?view=markup&pathrev=18338
Modified: branches/BRANCH_0_30_x/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/UMLSequenceDiagram.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/UMLSequenceDiagram.java?view=diff&pathrev=18339&r1=18338&r2=18339
==============================================================================
--- branches/BRANCH_0_30_x/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/UMLSequenceDiagram.java (original)
+++ branches/BRANCH_0_30_x/src/argouml-core-diagrams-sequence2/src/org/argouml/sequence2/diagram/UMLSequenceDiagram.java 2010-04-27 10:56:41-0700
@@ -348,7 +348,7 @@
super.postLoad();
final Facade facade = Model.getFacade();
-
+ LOG.info("doing postLoad on " + getName());
// See issue 5811. We have collaborationroles, associationroles
// and messages and actions saved to the incorrect interaction and
// and collaboration. If we detect this circumstance at load then
@@ -372,6 +372,7 @@
for (final Fig f : getLayer().getContents()) {
if (f instanceof FigMessage) {
final Object message = f.getOwner();
+ LOG.info("Checking message " + f.getOwner());
final Object interaction = facade.getInteraction(message);
final Object context = facade.getContext(interaction);
final Object action = facade.getAction(message);
@@ -417,12 +418,6 @@
assRole, collaboration);
}
}
-
- if (facade.getOwnedElements(namespace).isEmpty()) {
- LOG.warn("Deleting empty collaboration "
- + collaboration);
- Model.getUmlFactory().delete(collaboration);
- }
}
}
}
Modified: branches/BRANCH_0_30_x/src/argouml-core-model-euml/.classpath
Url: http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/src/argouml-core-model-euml/.classpath?view=diff&pathrev=18339&r1=18338&r2=18339
==============================================================================
--- branches/BRANCH_0_30_x/src/argouml-core-model-euml/.classpath (original)
+++ branches/BRANCH_0_30_x/src/argouml-core-model-euml/.classpath 2010-04-27 10:56:41-0700
@@ -8,7 +8,7 @@
<classpathentry exported="true" kind="lib" path="lib/emf/org.eclipse.emf.ecore.change_2.5.0.v200906151043.jar"/>
<classpathentry exported="true" kind="lib" path="lib/emf/org.eclipse.emf.ecore.change.edit_2.5.0.v200906151043.jar"/>
<classpathentry exported="true" kind="lib" path="lib/emf/org.eclipse.emf.ecore.edit_2.5.0.v200906151043.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/emf/org.eclipse.emf.ecore.xmi_2.5.0.v200906151043.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/emf/org.eclipse.emf.ecore.xmi_2.5.0.v200906151043.jar" sourcepath="lib/emf/org.eclipse.emf.ecore.xmi.source_2.5.0.v200906151043.zip"/>
<classpathentry exported="true" kind="lib" path="lib/emf/org.eclipse.emf.edit_2.5.0.v200906151043.jar" sourcepath="lib/emf/org.eclipse.emf.edit.source_2.5.0.v200906151043.zip"/>
<classpathentry exported="true" kind="lib" path="lib/emf/org.eclipse.emf.mapping_2.5.0.v200906151043.jar"/>
<classpathentry exported="true" kind="lib" path="lib/emf/org.eclipse.emf.mapping.ecore2xml_2.5.0.v200906151043.jar"/>
Modified: branches/BRANCH_0_30_x/src/argouml-core-model-euml/src/org/argouml/model/euml/CoreHelperEUMLImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/src/argouml-core-model-euml/src/org/argouml/model/euml/CoreHelperEUMLImpl.java?view=diff&pathrev=18339&r1=18338&r2=18339
==============================================================================
--- branches/BRANCH_0_30_x/src/argouml-core-model-euml/src/org/argouml/model/euml/CoreHelperEUMLImpl.java (original)
+++ branches/BRANCH_0_30_x/src/argouml-core-model-euml/src/org/argouml/model/euml/CoreHelperEUMLImpl.java 2010-04-27 10:56:41-0700
@@ -53,6 +53,7 @@
import org.eclipse.uml2.uml.NamedElement;
import org.eclipse.uml2.uml.Namespace;
import org.eclipse.uml2.uml.Node;
+import org.eclipse.uml2.uml.OpaqueBehavior;
import org.eclipse.uml2.uml.Operation;
import org.eclipse.uml2.uml.Parameter;
import org.eclipse.uml2.uml.ParameterDirectionKind;
@@ -65,6 +66,7 @@
import org.eclipse.uml2.uml.StructuralFeature;
import org.eclipse.uml2.uml.Type;
import org.eclipse.uml2.uml.TypedElement;
+import org.eclipse.uml2.uml.UMLFactory;
import org.eclipse.uml2.uml.UMLPackage;
import org.eclipse.uml2.uml.ValueSpecification;
import org.eclipse.uml2.uml.VisibilityKind;
@@ -1313,14 +1315,62 @@
}
public void setBody(Object handle, Object expr) {
- throw new NotYetImplementedException();
+ throw new NotYetImplementedException();
}
public void setBody(Object handle, String body) {
- if (!(handle instanceof Comment)) {
- throw new IllegalArgumentException();
- }
- ((Comment) handle).setBody(body);
+
+ if( handle instanceof Comment) {
+ ((Comment) handle).setBody(body);
+ return;
+ }
+
+ if( handle instanceof Operation) {
+
+ // We need a method (operation implementation) to store the method body.
+ OpaqueBehavior methodImpl = null;
+
+ // Maybe this operation already has a method, that fits our purpose?
+ // In this case, try to reuse it, instead of creating a new implementation.
+ for( Behavior impl : ((Operation)handle).getMethods()) {
+ if( impl instanceof OpaqueBehavior) {
+ methodImpl = (OpaqueBehavior)impl;
+ break;
+ }
+ }
+
+ // Check, if we have to create a new implementation.
+ if( methodImpl == null) {
+ methodImpl = UMLFactory.eINSTANCE.createOpaqueBehavior(); // Create a new implementation.
+ methodImpl.setSpecification( (Operation)handle); // And set the specification to the current operation.
+ ((Operation)handle).getMethods().add( methodImpl); // Add it to the operation's methods.
+ }
+
+ // Look, if there's already a java implementation
+ if( methodImpl.isSetLanguages()) {
+ int bodyIndex = 0;
+
+ // Search for our current target language.
+ for( String language : methodImpl.getLanguages()) {
+ if( "java".equals( language)) {
+
+ // Try to get the corresponding body and set it to the current body
+ // This _should_ work, if all the bodies were stored with their corresponding languages.
+ methodImpl.getBodies().set( bodyIndex, body);
+ return; // Job done.
+ }
+ bodyIndex++;
+ }
+ }
+
+ // It seems, there was no implementation of our current target language, so we just add one.
+ methodImpl.getLanguages().add( "java");
+ methodImpl.getBodies().add( body);
+ return;
+ }
+
+ // We cannot set the body of this model element type.
+ throw new IllegalArgumentException();
}
@Deprecated
@@ -1464,6 +1514,19 @@
} else {
upper = Integer.parseInt(pieces[1]);
}
+ } else if (s.contains("_")) { //$NON-NLS-1$
+ // also parse 1_* or 0_N etc.
+ String[] pieces = s.trim().split("_"); //$NON-NLS-1$
+ if (pieces.length > 2) {
+ throw new IllegalArgumentException((String) arg);
+ }
+ lower = Integer.parseInt(pieces[0]);
+ if ("*".equals(pieces[1]) //$NON-NLS-1$
+ || "N".equals(pieces[1])) { //$NON-NLS-1$
+ upper = -1;
+ } else {
+ upper = Integer.parseInt(pieces[1]);
+ }
} else {
lower = Integer.parseInt(s);
upper = lower;
Modified: branches/BRANCH_0_30_x/src/argouml-core-model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/src/argouml-core-model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java?view=diff&pathrev=18339&r1=18338&r2=18339
==============================================================================
--- branches/BRANCH_0_30_x/src/argouml-core-model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java (original)
+++ branches/BRANCH_0_30_x/src/argouml-core-model-euml/src/org/argouml/model/euml/FacadeEUMLImpl.java 2010-04-27 10:56:41-0700
@@ -87,6 +87,7 @@
import org.eclipse.uml2.uml.Node;
import org.eclipse.uml2.uml.ObjectFlow;
import org.eclipse.uml2.uml.ObjectNode;
+import org.eclipse.uml2.uml.OpaqueBehavior;
import org.eclipse.uml2.uml.OpaqueExpression;
import org.eclipse.uml2.uml.Operation;
import org.eclipse.uml2.uml.OutputPin;
@@ -344,7 +345,22 @@
} else if (handle instanceof ValueSpecification) {
return getValueSpecification((ValueSpecification) handle);
} else if (handle instanceof Operation) {
- throw new NotYetImplementedException();
+
+ // Get the implementations of this operations and look for an OpaqueBehavior.
+ for( Behavior impl : ((Operation)handle).getMethods()) {
+ if( impl instanceof OpaqueBehavior) {
+ if( ((OpaqueBehavior)impl).isSetLanguages()) {
+ int bodyIndex = 0;
+ for( String targetLanguage : ((OpaqueBehavior)impl).getLanguages()) {
+ if( "java".equals( targetLanguage)) {
+ return ((OpaqueBehavior)impl).getBodies().get( bodyIndex);
+ }
+ bodyIndex++;
+ }
+ }
+ }
+ }
+ return null; // No body found.
}
throw new IllegalArgumentException(
"Unsupported argument type - must be Comment, Constraint," +
Modified: branches/BRANCH_0_30_x/src/argouml-core-model-mdr/src/org/argouml/model/mdr/CoreHelperMDRImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/src/argouml-core-model-mdr/src/org/argouml/model/mdr/CoreHelperMDRImpl.java?view=diff&pathrev=18339&r1=18338&r2=18339
==============================================================================
--- branches/BRANCH_0_30_x/src/argouml-core-model-mdr/src/org/argouml/model/mdr/CoreHelperMDRImpl.java (original)
+++ branches/BRANCH_0_30_x/src/argouml-core-model-mdr/src/org/argouml/model/mdr/CoreHelperMDRImpl.java 2010-04-27 10:56:41-0700
@@ -2936,32 +2936,32 @@
if (arg == null || arg instanceof Multiplicity) {
Multiplicity mult = (Multiplicity) arg;
-
+ Multiplicity previousMult =
+ (Multiplicity) Model.getFacade().getMultiplicity(handle);
if (handle instanceof AssociationRole) {
((AssociationRole) handle).setMultiplicity(mult);
- return;
- }
- if (handle instanceof ClassifierRole) {
+ } else if (handle instanceof ClassifierRole) {
((ClassifierRole) handle).setMultiplicity(mult);
- return;
- }
- if (handle instanceof StructuralFeature) {
+ } else if (handle instanceof StructuralFeature) {
((StructuralFeature) handle).setMultiplicity(mult);
- return;
- }
- if (handle instanceof AssociationEnd) {
- LOG.debug("Setting association end mult to " + mult);
+ } else if (handle instanceof AssociationEnd) {
((AssociationEnd) handle).setMultiplicity(mult);
- return;
- }
- if (handle instanceof TagDefinition) {
+ } else if (handle instanceof TagDefinition) {
((TagDefinition) handle).setMultiplicity(mult);
- return;
}
+ if (previousMult != null &&
+ Model.getFacade().getModelElementContainer(previousMult)
+ == null) {
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Previous multiplicity of " + handle + " will be deleted." + mult);
+ }
+ Model.getUmlFactory().delete(previousMult);
+ }
+ return;
+ } else {
+ throw new IllegalArgumentException("handle: " + handle + " or arg: "
+ + arg);
}
-
- throw new IllegalArgumentException("handle: " + handle + " or arg: "
- + arg);
}
Modified: branches/BRANCH_0_30_x/src/argouml-core-model-mdr/src/org/argouml/model/mdr/FacadeMDRImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/src/argouml-core-model-mdr/src/org/argouml/model/mdr/FacadeMDRImpl.java?view=diff&pathrev=18339&r1=18338&r2=18339
==============================================================================
--- branches/BRANCH_0_30_x/src/argouml-core-model-mdr/src/org/argouml/model/mdr/FacadeMDRImpl.java (original)
+++ branches/BRANCH_0_30_x/src/argouml-core-model-mdr/src/org/argouml/model/mdr/FacadeMDRImpl.java 2010-04-27 10:56:41-0700
@@ -2130,18 +2130,18 @@
if (handle instanceof StructuralFeature) {
StructuralFeature sf = (StructuralFeature) handle;
return sf.getMultiplicity();
- }
- if (handle instanceof TagDefinition) {
+ } else if (handle instanceof TagDefinition) {
TagDefinition td = (TagDefinition) handle;
return td.getMultiplicity();
- }
- if (handle instanceof ClassifierRole) {
+ } else if (handle instanceof ClassifierRole) {
ClassifierRole cr = (ClassifierRole) handle;
return cr.getMultiplicity();
- }
- if (handle instanceof AssociationEnd) {
+ } else if (handle instanceof AssociationEnd) {
AssociationEnd ae = (AssociationEnd) handle;
return ae.getMultiplicity();
+ } else if (handle instanceof AssociationRole) {
+ AssociationRole ar = (AssociationRole) handle;
+ return ar.getMultiplicity();
}
} catch (InvalidObjectException e) {
throw new InvalidElementException(e);
Modified: branches/BRANCH_0_30_x/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java?view=diff&pathrev=18339&r1=18338&r2=18339
==============================================================================
--- branches/BRANCH_0_30_x/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java (original)
+++ branches/BRANCH_0_30_x/src/argouml-core-model-mdr/src/org/argouml/model/mdr/UmlFactoryMDRImpl.java 2010-04-27 10:56:41-0700
@@ -1,6 +1,6 @@
/* $Id$
*****************************************************************************
- * Copyright (c) 2009 Contributors - see below
+ * Copyright (c) 2009-2010 Contributors - see below
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -8,6 +8,7 @@
*
* Contributors:
* Bob Tarling
+ * Luis Sergio Oliveira (euluis)
*****************************************************************************
*
* Some portions of this file was previously release using the BSD License:
@@ -1624,7 +1625,15 @@
if (pkg == null) {
return null;
}
- return pkg.getModelManagement().getUmlPackage().refAllOfType();
+ Collection<Object> packages = pkg.getModelManagement().getUmlPackage().
+ refAllOfType();
+ Collection<Object> topLevelPackages = new ArrayList<Object>();
+ for (Object pack : packages) {
+ if (Model.getFacade().getNamespace(pack) == null) {
+ topLevelPackages.add(pack);
+ }
+ }
+ return topLevelPackages;
}
}
Modified: branches/BRANCH_0_30_x/src/argouml-core-model/src/org/argouml/model/Model.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/src/argouml-core-model/src/org/argouml/model/Model.java?view=diff&pathrev=18339&r1=18338&r2=18339
==============================================================================
--- branches/BRANCH_0_30_x/src/argouml-core-model/src/org/argouml/model/Model.java (original)
+++ branches/BRANCH_0_30_x/src/argouml-core-model/src/org/argouml/model/Model.java 2010-04-27 10:56:41-0700
@@ -129,15 +129,27 @@
*/
public static void setImplementation(ModelImplementation newImpl) {
impl = newImpl;
- activityGraphsHelper = impl.getActivityGraphsHelper();
- collaborationsHelper = impl.getCollaborationsHelper();
- commonBehaviorHelper = impl.getCommonBehaviorHelper();
- coreHelper = impl.getCoreHelper();
- dataTypesHelper = impl.getDataTypesHelper();
- extensionMechanismsHelper = impl.getExtensionMechanismsHelper();
- stateMachinesHelper = impl.getStateMachinesHelper();
- umlHelper = impl.getUmlHelper();
- useCasesHelper = impl.getUseCasesHelper();
+ if (impl == null) {
+ activityGraphsHelper = null;
+ collaborationsHelper = null;
+ commonBehaviorHelper = null;
+ coreHelper = null;
+ dataTypesHelper = null;
+ extensionMechanismsHelper = null;
+ stateMachinesHelper = null;
+ umlHelper = null;
+ useCasesHelper = null;
+ } else {
+ activityGraphsHelper = impl.getActivityGraphsHelper();
+ collaborationsHelper = impl.getCollaborationsHelper();
+ commonBehaviorHelper = impl.getCommonBehaviorHelper();
+ coreHelper = impl.getCoreHelper();
+ dataTypesHelper = impl.getDataTypesHelper();
+ extensionMechanismsHelper = impl.getExtensionMechanismsHelper();
+ stateMachinesHelper = impl.getStateMachinesHelper();
+ umlHelper = impl.getUmlHelper();
+ useCasesHelper = impl.getUseCasesHelper();
+ }
}
/**
Modified: branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/meta/panels.xml
Url: http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/meta/panels.xml?view=diff&pathrev=18339&r1=18338&r2=18339
==============================================================================
--- branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/meta/panels.xml (original)
+++ branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/meta/panels.xml 2010-04-27 10:56:41-0700
@@ -1196,7 +1196,7 @@
<list name="specialization" type="GeneralizableElement" />
<separator />
<list name="feature" type="org.omg.uml.foundation.core.Operation,org.omg.uml.behavioralelements.commonbehavior.Reception" label="label.operations" />
- <list name="literal" type="EnumerationLiteral" label="label.literals" />
+ <list name="literal" type="org.omg.uml.foundation.core.EnumerationLiteral" label="label.literals" />
<debug />
<attribute name="targetFlow" type="Flow" />
@@ -1297,8 +1297,8 @@
<combo name="multiplicity" type="Multiplicity" />
<optionbox name="visibility" type="VisibilityKind" />
<separator />
- <combo name="tagType" type="Name" />
- <list name="typedValue" type="TagDefinition" />
+ <combo name="tagType" type="Name" label="label.type"/>
+ <list name="typedValue" type="TagDefinition" label="label.tagged-values" />
<attribute name="modifiers">
<attribute name="isSpecification" type="Boolean" />
Modified: branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/GetterSetterManagerImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/GetterSetterManagerImpl.java?view=diff&pathrev=18339&r1=18338&r2=18339
==============================================================================
--- branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/GetterSetterManagerImpl.java (original)
+++ branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/model/GetterSetterManagerImpl.java 2010-04-27 10:56:41-0700
@@ -17,7 +17,10 @@
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
+import java.util.HashSet;
+import java.util.LinkedList;
import java.util.List;
+import java.util.Set;
import java.util.StringTokenizer;
import javax.swing.Icon;
@@ -30,8 +33,11 @@
import org.argouml.i18n.Translator;
import org.argouml.kernel.Command;
import org.argouml.kernel.NonUndoableCommand;
+import org.argouml.kernel.Project;
import org.argouml.kernel.ProjectManager;
import org.argouml.model.Model;
+import org.argouml.profile.Profile;
+import org.argouml.profile.ProfileException;
import org.argouml.ui.targetmanager.TargetManager;
import org.argouml.uml.ui.UMLAddDialog;
import org.argouml.util.ArgoFrame;
@@ -78,6 +84,7 @@
addGetterSetter("parameter", new ParameterGetterSetter());
addGetterSetter("receiver", new ReceiverGetterSetter());
addGetterSetter("sender", new SenderGetterSetter());
+ addGetterSetter("literal", new LiteralGetterSetter());
addGetterSetter("body", new MethodExpressionGetterSetter());
addGetterSetter("ownedElement", new OwnedElementGetterSetter());
addGetterSetter("raisedSignal", new RaisedExceptionGetterSetter());
@@ -97,6 +104,8 @@
addGetterSetter("action", new ActionGetterSetter());
addGetterSetter("subvertex", new SubvertexGetterSetter());
addGetterSetter("internalTransition", new InternalTransitionGetterSetter());
+ addGetterSetter("classifier", new ClassifierGetterSetter());
+ addGetterSetter("baseClass", new BaseClassGetterSetter());
// UML2 only
addGetterSetter("ownedOperation", new FeatureGetterSetter());
@@ -1698,6 +1707,31 @@
}
}
+ private class LiteralGetterSetter extends ListGetterSetter {
+
+ public Collection getOptions(Object modelElement, String type) {
+ return Model.getFacade().getEnumerationLiterals(modelElement);
+ }
+
+ public Object get(Object modelElement, String type) {
+ // not needed
+ return null;
+ }
+
+ public void set(Object element, Object x) {
+ // not needed
+ }
+
+ public boolean isValidElement(Object element, String type) {
+
+ return getOptions(element, type).contains(element);
+ }
+
+ public Object getMetaType() {
+ return Model.getMetaTypes().getEnumerationLiteral();
+ }
+ }
+
private class ReceiverGetterSetter extends ListGetterSetter {
public Collection getOptions(Object modelElement, String type) {
@@ -1746,4 +1780,251 @@
return Model.getMetaTypes().getTransition();
}
}
+
+
+ private class ClassifierGetterSetter extends ListGetterSetter implements Addable, Removeable {
+
+ public Collection getOptions(Object modelElement, String type) {
+ return Model.getFacade().getClassifiers(modelElement);
+ }
+
+ public Object get(Object modelElement, String type) {
+ // not needed
+ return null;
+ }
+
+ public void set(Object element, Object x) {
+ // not needed
+ }
+
+ public boolean isValidElement(Object element, String type) {
+ return getOptions(element, type).contains(element);
+ }
+
+ public Object getMetaType() {
+ return Model.getMetaTypes().getClassifier();
+ }
+
+ public Command getAddCommand(Object modelElement) {
+ return new AddCommand(modelElement);
+ }
+
+ public Command getRemoveCommand(Object modelElement, Object objectToRemove) {
+ return new RemoveCommand(modelElement, objectToRemove);
+ }
+
+ private class AddCommand extends AddModelElementCommand {
+
+ /**
+ * Constructor for ActionAddPackageImport.
+ */
+ public AddCommand(Object target) {
+ super(target);
+ }
+
+ protected List getChoices() {
+ List list = new ArrayList();
+
+ // Get all classifiers in our model
+ // TODO: We need the property panels to have some reference to the
+ // project they belong to instead of using deprecated functionality
+ Project p = ProjectManager.getManager().getCurrentProject();
+ Object model = p.getRoot();
+ list.addAll(Model.getModelManagementHelper()
+ .getAllModelElementsOfKindWithModel(model, Model.getMetaTypes().getClassifier()));
+
+ // Get all classifiers in all top level packages of all profiles
+ for (Profile profile : p.getProfileConfiguration().getProfiles()) {
+ try {
+ for (Object topPackage : profile.getProfilePackages()) {
+ list.addAll(Model.getModelManagementHelper()
+ .getAllModelElementsOfKindWithModel(topPackage,
+ Model.getMetaTypes().getClassifier()));
+ }
+ } catch (ProfileException e) {
+ // TODO: We need to rethrow this as some other exception
+ // type but that is too much change for the moment.
+ LOG.error("Exception", e);
+ }
+ }
+ return list;
+ }
+
+ protected List getSelected() {
+ List list = new ArrayList();
+ list.addAll(Model.getFacade().getClassifiers(getTarget()));
+ return list;
+ }
+
+
+ protected String getDialogTitle() {
+ return Translator.localize("dialog.title.add-specifications");
+ }
+
+
+ @Override
+ protected void doIt(Collection selected) {
+ Model.getCommonBehaviorHelper().setClassifiers(getTarget(), selected);
+ }
+ }
+
+ private class RemoveCommand
+ extends NonUndoableCommand {
+
+ private final Object target;
+ private final Object objectToRemove;
+
+ /**
+ * Constructor for ActionRemovePackageImport.
+ */
+ public RemoveCommand(final Object target, final Object objectToRemove) {
+ this.target = target;
+ this.objectToRemove = objectToRemove;
+ }
+
+ /*
+ * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
+ */
+ public Object execute() {
+ Model.getCommonBehaviorHelper()
+ .removeClassifier(target, objectToRemove);
+ return null;
+ }
+ }
+ }
+
+ private class BaseClassGetterSetter extends ListGetterSetter implements Addable, Removeable {
+
+ public Collection getOptions(Object modelElement, String type) {
+ LinkedList<String> list = new LinkedList<String>(
+ Model.getFacade().getBaseClasses(modelElement));
+ Collections.sort(list);
+ return list;
+ }
+
+ public Object get(Object modelElement, String type) {
+ // not needed
+ return null;
+ }
+
+ public void set(Object element, Object x) {
+ // not needed
+ }
+
+ public boolean isValidElement(Object element, String type) {
+ return getOptions(element, type).contains(element);
+ }
+
+ public Object getMetaType() {
+ return Class.class;
+ }
+
+ public Command getAddCommand(Object modelElement) {
+ return new AddCommand(modelElement);
+ }
+
+ public Command getRemoveCommand(Object modelElement, Object objectToRemove) {
+ return new RemoveCommand(modelElement, objectToRemove);
+ }
+
+ private class AddCommand extends AddModelElementCommand {
+
+ final private List<String> metaClasses;
+
+ /**
+ * Constructor for ActionAddPackageImport.
+ */
+ public AddCommand(Object target) {
+ super(target);
+ metaClasses = initMetaClasses();
+ }
+
+ /**
+ * Initialize the meta-classes list. <p>
+ *
+ * All this code is necessary to be independent of
+ * model repository implementation,
+ * i.e. to ensure that we have a
+ * sorted list of strings.
+ */
+ private List<String> initMetaClasses() {
+ Collection<String> tmpMetaClasses =
+ Model.getCoreHelper().getAllMetatypeNames();
+ List<String> metaClasses;
+ if (tmpMetaClasses instanceof List) {
+ metaClasses = (List<String>) tmpMetaClasses;
+ } else {
+ metaClasses = new LinkedList<String>(tmpMetaClasses);
+ }
+ try {
+ Collections.sort(metaClasses);
+ } catch (UnsupportedOperationException e) {
+ // We got passed an unmodifiable List. Copy it and sort the result
+ metaClasses = new LinkedList<String>(tmpMetaClasses);
+ Collections.sort(metaClasses);
+ }
+
+ return metaClasses;
+ }
+
+ protected List getChoices() {
+ return Collections.unmodifiableList(metaClasses);
+ }
+
+ protected List getSelected() {
+ LinkedList<String> list = new LinkedList<String>(
+ Model.getFacade().getBaseClasses(getTarget()));
+ Collections.sort(list);
+ return list;
+ }
+
+
+ protected String getDialogTitle() {
+ return Translator.localize("dialog.title.add-baseclasses");
+ }
+
+
+ @Override
+ protected void doIt(Collection selected) {
+ Object stereo = getTarget();
+ Set<Object> oldSet = new HashSet<Object>(getSelected());
+ Set toBeRemoved = new HashSet<Object>(oldSet);
+
+ for (Object o : selected) {
+ if (oldSet.contains(o)) {
+ toBeRemoved.remove(o);
+ } else {
+ Model.getExtensionMechanismsHelper()
+ .addBaseClass(stereo, o);
+ }
+ }
+ for (Object o : toBeRemoved) {
+ Model.getExtensionMechanismsHelper().removeBaseClass(stereo, o);
+ }
+ }
+ }
+
+ private class RemoveCommand
+ extends NonUndoableCommand {
+
+ private final Object target;
+ private final Object objectToRemove;
+
+ /**
+ * Constructor for RemoveCommand.
+ */
+ public RemoveCommand(final Object target, final Object objectToRemove) {
+ this.target = target;
+ this.objectToRemove = objectToRemove;
+ }
+
+ /*
+ * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
+ */
+ public Object execute() {
+ Model.getExtensionMechanismsHelper().removeBaseClass(target, objectToRemove);
+ return null;
+ }
+ }
+ }
}
Modified: branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/ListFactory.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/ListFactory.java?view=diff&pathrev=18339&r1=18338&r2=18339
==============================================================================
--- branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/ListFactory.java (original)
+++ branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/ListFactory.java 2010-04-27 10:56:41-0700
@@ -71,10 +71,6 @@
model = new UMLClassifierRoleAvailableFeaturesListModel(modelElement);
} else if ("base".equals(propName)) {
model = new UMLClassifierRoleBaseListModel(modelElement);
- } else if ("baseClass".equals(propName)) {
- model = new UMLStereotypeBaseClassListModel(modelElement);
- } else if ("classifier".equals(propName)) {
- model = new UMLInstanceClassifierListModel(modelElement);
} else if ("classifierInState".equals(propName)) {
model = new UMLOFSStateListModel(modelElement);
} else if ("client".equals(propName)) {
@@ -107,8 +103,6 @@
model = new UMLCreateActionClassifierListModel(modelElement);
} else if ("link".equals(propName)) {
model = new UMLAssociationLinkListModel(modelElement);
- } else if ("literal".equals(propName)) {
- model = new UMLEnumerationLiteralsListModel(modelElement);
} else if ("outgoing".equals(propName)) {
model = new UMLStateVertexOutgoingListModel(modelElement);
} else if ("partition".equals(propName)) {
Modified: branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SimpleListModel.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SimpleListModel.java?view=diff&pathrev=18339&r1=18338&r2=18339
==============================================================================
--- branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SimpleListModel.java (original)
+++ branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SimpleListModel.java 2010-04-27 10:56:41-0700
@@ -27,6 +27,7 @@
import org.argouml.core.propertypanels.model.GetterSetterManager;
import org.argouml.kernel.Command;
import org.argouml.model.AddAssociationEvent;
+import org.argouml.model.AttributeChangeEvent;
import org.argouml.model.InvalidElementException;
import org.argouml.model.Model;
import org.argouml.model.RemoveAssociationEvent;
@@ -130,44 +131,55 @@
Runnable doWorkRunnable = new Runnable() {
public void run() {
try {
- if (getterSetterManager.isFullBuildOnly(propertyName)) {
- removeAllElements();
- build();
- } else {
- if (e instanceof RemoveAssociationEvent) {
- final Object objectToRemove =
+ if (getterSetterManager.isFullBuildOnly(propertyName)) {
+ removeAllElements();
+ build();
+ } else {
+ if (e instanceof RemoveAssociationEvent) {
+ final Object objectToRemove =
((RemoveAssociationEvent) e).getChangedValue();
- removeElement(objectToRemove);
- } else if (e instanceof AddAssociationEvent) {
- Object newElement = ((AddAssociationEvent) e).getChangedValue();
+ removeElement(objectToRemove);
+ } else if (e instanceof AddAssociationEvent) {
+ Object newElement = ((AddAssociationEvent) e).getChangedValue();
- if (Model.getUmlHelper().isMovable(getMetaType())) {
- final Collection c =
- (Collection) getterSetterManager.getOptions(
- umlElement,
- propertyName,
- type);
- final int index =
- CollectionUtil.indexOf(c, newElement);
- if (index < 0 || index > getSize() - 1) {
- LOG.warn(
- "Unable to add element at correct position "
- + index + " added to end instead");
- addElement(newElement);
- } else {
- add(index, newElement);
- }
- } else {
- addElement(newElement);
- }
+ if (!SimpleListModel.this.contains(newElement)) {
+ if (Model.getUmlHelper().isMovable(getMetaType())) {
+ final Collection c =
+ (Collection) getterSetterManager.getOptions(
+ umlElement,
+ propertyName,
+ type);
+ final int index =
+ CollectionUtil.indexOf(c, newElement);
+ if (index < 0 || index > getSize() - 1) {
+ LOG.warn(
+ "Unable to add element at correct position "
+ + index + " added to end instead");
+ addElement(newElement);
+ } else {
+ add(index, newElement);
+ }
+ } else {
+ addElement(newElement);
+ }
}
- }
+ }
+ }
} catch (InvalidElementException e) {
LOG.debug("propertyChange accessed a deleted element ", e);
}
}
};
SwingUtilities.invokeLater(doWorkRunnable);
+ } else if (e.getPropertyName().equals("baseClass")
+ && e.getPropertyName().equals(propertyName)
+ && e instanceof AttributeChangeEvent) {
+ // TODO: We have some quirk that the a baseClass addition or
+ // removal from a steroetype comes back as an AttributeChangeEvent
+ // rather than an AssociationChangeEvent. This needs further
+ // investigation to see if this can be made consistent.
+ removeAllElements();
+ build();
} else {
if (LOG.isDebugEnabled()) {
LOG.debug("We are listening for too much here. An event we don't need " + e);
Modified: branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SwingUIFactory.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SwingUIFactory.java?view=diff&pathrev=18339&r1=18338&r2=18339
==============================================================================
--- branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SwingUIFactory.java (original)
+++ branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/SwingUIFactory.java 2010-04-27 10:56:41-0700
@@ -444,8 +444,14 @@
"label.represented-operation.navigate.tooltip"),
combo);
} else if ("context".equals(prop.getName())) {
- final UMLComboBoxModel model =
- new UMLStateMachineContextComboBoxModel(propertyName, target);
+ final UMLComboBoxModel model;
+ if (Model.getFacade().isAActivityGraph(target)) {
+ model =
+ new UMLActivityGraphContextComboBoxModel(propertyName, target);
+ } else {
+ model =
+ new UMLStateMachineContextComboBoxModel(propertyName, target);
+ }
UMLComboBox combo = new UMLComboBox(model);
comp = new UMLComboBoxNavigator(Translator.localize(
"label.context.navigate.tooltip"),
Removed: branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLEnumerationLiteralsListModel.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLEnumerationLiteralsListModel.java?view=markup&pathrev=18338
Removed: branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLInstanceClassifierListModel.java
Url: http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/src/argouml-core-umlpropertypanels/src/org/argouml/core/propertypanels/ui/UMLInstanceClassifierListModel.java?view=markup&pathrev=18338
Modified: branches/BRANCH_0_30_x/www/index.html
Url: http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/www/index.html?view=diff&pathrev=18339&r1=18338&r2=18339
==============================================================================
--- branches/BRANCH_0_30_x/www/index.html (original)
+++ branches/BRANCH_0_30_x/www/index.html 2010-04-27 10:56:41-0700
@@ -141,13 +141,13 @@
<script type="text/javascript">
document.write("<div style='display:none;'>");
</script>
-<a href="http://argouml-downloads.tigris.org/argouml-0.30.1.BETA_1/" >Download and test ArgoUML 0.30.1 BETA 1</a>
+<a href="http://argouml-downloads.tigris.org/argouml-0.30.1.BETA_3/" >Download and test ArgoUML 0.30.1.beta3</a>
<script type="text/javascript">
document.write("</div>");
</script>
<script type="text/javascript">
- var LAST_BETA_VERSION = "0.30.1.BETA_1";
+ var LAST_BETA_VERSION = "0.30.1.BETA_3";
if (navigator.appVersion.indexOf("Win")!=-1) {
document.write("<a href='http://argouml-downloads.tigris.org/nonav/argouml-"+LAST_BETA_VERSION+"/ArgoUML-" + LAST_BETA_VERSION +"-setup.exe' onClick=\"javascript:urchinTracker('DOWNLOAD/ArgoUML-"+LAST_BETA_VERSION+"-setup.exe')\">Download and test ArgoUML "+LAST_BETA_VERSION + " (Windows)</a>");
}
Modified: branches/BRANCH_0_30_x/www/psf/index.html
Url: http://argouml.tigris.org/source/browse/argouml/branches/BRANCH_0_30_x/www/psf/index.html?view=diff&pathrev=18339&r1=18338&r2=18339
==============================================================================
--- branches/BRANCH_0_30_x/www/psf/index.html (original)
+++ branches/BRANCH_0_30_x/www/psf/index.html 2010-04-27 10:56:41-0700
@@ -7,7 +7,7 @@
<h2>Team Project Set Files for ArgoUML</h2>
<p>
The information previously on this page can now be found here:
-<a href="http://argouml.tigris.org/wiki/Team_Project_Set_Files_For_ArgoUML>http://argouml.tigris.org/wiki/Team_Project_Set_Files_For_ArgoUML</a>
+<a href="http://argouml.tigris.org/wiki/Team_Project_Set_Files_For_ArgoUML">http://argouml.tigris.org/wiki/Team_Project_Set_Files_For_ArgoUML</a>
</p>
</div>
</body>
------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2597185
To unsubscribe from this discussion, e-mail: [[email protected]].
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.