Author: tfmorris
Date: 2008-11-26 09:17:09-0800
New Revision: 16188
Modified:
trunk/src/argouml-app/src/org/argouml/persistence/ModelMemberFilePersister.java
trunk/src/argouml-app/src/org/argouml/uml/diagram/DiagramFactory.java
trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigPackage.java
trunk/src/argouml-app/src/org/argouml/uml/reveng/DiagramInterface.java
trunk/src/argouml-app/src/org/argouml/uml/ui/ActionClassDiagram.java
trunk/src/argouml-app/src/org/argouml/uml/ui/ActionCollaborationDiagram.java
trunk/src/argouml-app/src/org/argouml/uml/ui/ActionDeploymentDiagram.java
trunk/src/argouml-app/src/org/argouml/uml/ui/ActionSequenceDiagram.java
trunk/src/argouml-app/src/org/argouml/uml/ui/ActionUseCaseDiagram.java
Log:
Rename new method to decrease ambiguity between its signature and old method. Refactor common code in DiagramFactory.
Modified: trunk/src/argouml-app/src/org/argouml/persistence/ModelMemberFilePersister.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/persistence/ModelMemberFilePersister.java?view=diff&rev=16188&p1=trunk/src/argouml-app/src/org/argouml/persistence/ModelMemberFilePersister.java&p2=trunk/src/argouml-app/src/org/argouml/persistence/ModelMemberFilePersister.java&r1=16187&r2=16188
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/persistence/ModelMemberFilePersister.java (original)
+++ trunk/src/argouml-app/src/org/argouml/persistence/ModelMemberFilePersister.java 2008-11-26 09:17:09-0800
@@ -366,7 +366,7 @@
// ISSUE 3516 : Make sure there is at least one diagram because
// ArgoUML requires it for correct operation
if (atLeastOne && project.getDiagramCount() < 1) {
- ArgoDiagram d = diagramFactory.createDiagram(
+ ArgoDiagram d = diagramFactory.create(
DiagramType.Class, curModel, null);
project.addMember(d);
}
Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/DiagramFactory.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/DiagramFactory.java?view=diff&rev=16188&p1=trunk/src/argouml-app/src/org/argouml/uml/diagram/DiagramFactory.java&p2=trunk/src/argouml-app/src/org/argouml/uml/diagram/DiagramFactory.java&r1=16187&r2=16188
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/DiagramFactory.java (original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/DiagramFactory.java 2008-11-26 09:17:09-0800
@@ -1,5 +1,5 @@
// $Id$
-// Copyright (c) 1996-2007 The Regents of the University of California. All
+// Copyright (c) 1996-2008 The Regents of the University of California. All
// Rights Reserved. Permission to use, copy, modify, and distribute this
// software and its documentation without fee, and without a written
// agreement is hereby granted, provided that the above copyright notice
@@ -28,7 +28,6 @@
import java.util.HashMap;
import java.util.Map;
-import org.apache.log4j.Logger;
import org.argouml.kernel.ProjectManager;
import org.argouml.model.ActivityDiagram;
import org.argouml.model.ClassDiagram;
@@ -56,13 +55,6 @@
*/
public final class DiagramFactory {
-
- /**
- * Logger.
- */
- private static final Logger LOG =
- Logger.getLogger(DiagramFactory.class);
-
private final Map noStyleProperties = new HashMap();
/**
@@ -122,7 +114,7 @@
* @return the newly instantiated class diagram
*/
public ArgoDiagram createDefaultDiagram(Object namespace) {
- return createDiagram(DiagramType.Class, namespace, null);
+ return create(DiagramType.Class, namespace, null);
}
/**
@@ -135,7 +127,10 @@
* (only: statemachine - activitygraph)
* @return the newly instantiated class diagram
* @deprecated for 0.27.3 by tfmorris. Use
- * {@link #createDiagram(DiagramType, Object, Object, DiagramSettings)}.
+ * {@link #create(DiagramType, Object, DiagramSettings)}. The 'owner'
+ * argument should be the 'machine' for a state diagram or activity diagram
+ * (which can figure out the correct namespace from that) and the
+ * 'namespace' for all others.
*/
@Deprecated
public ArgoDiagram createDiagram(final DiagramType type,
@@ -145,27 +140,10 @@
.getCurrentProject().getProjectSettings()
.getDefaultDiagramSettings();
- final ArgoDiagram diagram;
-
- Object factory = factories.get(type);
- if (factory != null) {
- if (factory instanceof DiagramFactoryInterface2) {
- diagram = ((DiagramFactoryInterface2) factory).createDiagram(
- machine, null, settings);
- } else {
- diagram = ((DiagramFactoryInterface) factory).createDiagram(
- namespace, machine);
- diagram.setDiagramSettings(settings);
- }
- } else {
- diagram = createDiagram(diagramClasses.get(type), namespace,
- machine);
- diagram.setDiagramSettings(settings);
- }
-
- return diagram;
+ return createInternal(type, namespace, machine, settings);
}
+
/**
* Factory method to create a new instance of an ArgoDiagram.
*
@@ -176,20 +154,41 @@
* @param settings default rendering settings for the diagram
* @return the newly instantiated class diagram
*/
- public ArgoDiagram createDiagram(
+ public ArgoDiagram create(
final DiagramType type,
final Object owner,
final DiagramSettings settings) {
+ return createInternal(type, owner, null, settings);
+ }
+
+
+ /*
+ * Create a diagram. This 4-arg version is only for internal use. The
+ * 'namespace' argument is deprecated and not used in the new APIs.
+ */
+ private ArgoDiagram createInternal(final DiagramType type,
+ final Object namespace, final Object machine,
+ DiagramSettings settings) {
final ArgoDiagram diagram;
Object factory = factories.get(type);
- if (factory != null && factory instanceof DiagramFactoryInterface2) {
- diagram = ((DiagramFactoryInterface2) factory).createDiagram(owner,
- null, settings);
+ if (factory != null) {
+ if (factory instanceof DiagramFactoryInterface2) {
+ diagram = ((DiagramFactoryInterface2) factory).createDiagram(
+ machine, (String) null, settings);
+ } else if (factory instanceof DiagramFactoryInterface) {
+ diagram = ((DiagramFactoryInterface) factory).createDiagram(
+ namespace, machine);
+ diagram.setDiagramSettings(settings);
+ } else {
+ // This shouldn't be possible, but just in case
+ throw new IllegalStateException(
+ "Unknown factory type registered");
+ }
} else {
- // TODO: Convert all to use standard factory registration
- diagram = createDiagram(type, owner, (Object) null);
+ diagram = createDiagram(diagramClasses.get(type), namespace,
+ machine);
diagram.setDiagramSettings(settings);
}
@@ -206,7 +205,10 @@
* (only: statemachine - activitygraph)
* @return the newly instantiated class diagram
* @deprecated for 0.25.4 by tfmorris. Use
- * {@link #createDiagram(DiagramType, Object, Object, DiagramSettings)}.
+ * {@link #create(DiagramType, Object, DiagramSettings)}. The 'owner'
+ * argument should be the 'machine' for a state diagram or activity diagram
+ * (which can figure out the correct namespace from that) and the
+ * 'namespace' for all others.
*/
@Deprecated
public ArgoDiagram createDiagram(Class type, Object namespace,
@@ -276,8 +278,6 @@
return diagram;
}
-
-
/**
* @deprecated for 0.27.2 by tfmorris. Undocumented and unused internally.
*/
Modified: trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigPackage.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigPackage.java?view=diff&rev=16188&p1=trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigPackage.java&p2=trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigPackage.java&r1=16187&r2=16188
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigPackage.java (original)
+++ trunk/src/argouml-app/src/org/argouml/uml/diagram/static_structure/ui/FigPackage.java 2008-11-26 09:17:09-0800
@@ -716,7 +716,7 @@
ArgoDiagram classDiagram =
DiagramFactory.getInstance().
- createDiagram(DiagramType.Class, namespace, null);
+ create(DiagramType.Class, namespace, null);
String diagramName = defaultName + "_" + classDiagram.getName();
Modified: trunk/src/argouml-app/src/org/argouml/uml/reveng/DiagramInterface.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/reveng/DiagramInterface.java?view=diff&rev=16188&p1=trunk/src/argouml-app/src/org/argouml/uml/reveng/DiagramInterface.java&p2=trunk/src/argouml-app/src/org/argouml/uml/reveng/DiagramInterface.java&r1=16187&r2=16188
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/reveng/DiagramInterface.java (original)
+++ trunk/src/argouml-app/src/org/argouml/uml/reveng/DiagramInterface.java 2008-11-26 09:17:09-0800
@@ -248,7 +248,7 @@
public void addClassDiagram(Object ns, String name) {
Project p = ProjectManager.getManager().getCurrentProject();
- ArgoDiagram d = DiagramFactory.getInstance().createDiagram(
+ ArgoDiagram d = DiagramFactory.getInstance().create(
DiagramFactory.DiagramType.Class,
ns == null ? p.getRoot() : ns, null);
Modified: trunk/src/argouml-app/src/org/argouml/uml/ui/ActionClassDiagram.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/ui/ActionClassDiagram.java?view=diff&rev=16188&p1=trunk/src/argouml-app/src/org/argouml/uml/ui/ActionClassDiagram.java&p2=trunk/src/argouml-app/src/org/argouml/uml/ui/ActionClassDiagram.java&r1=16187&r2=16188
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/ui/ActionClassDiagram.java (original)
+++ trunk/src/argouml-app/src/org/argouml/uml/ui/ActionClassDiagram.java 2008-11-26 09:17:09-0800
@@ -52,7 +52,7 @@
*/
public ArgoDiagram createDiagram(Object ns) {
if (Model.getFacade().isANamespace(ns)) {
- return DiagramFactory.getInstance().createDiagram(
+ return DiagramFactory.getInstance().create(
DiagramFactory.DiagramType.Class,
ns,
null);
Modified: trunk/src/argouml-app/src/org/argouml/uml/ui/ActionCollaborationDiagram.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/ui/ActionCollaborationDiagram.java?view=diff&rev=16188&p1=trunk/src/argouml-app/src/org/argouml/uml/ui/ActionCollaborationDiagram.java&p2=trunk/src/argouml-app/src/org/argouml/uml/ui/ActionCollaborationDiagram.java&r1=16187&r2=16188
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/ui/ActionCollaborationDiagram.java (original)
+++ trunk/src/argouml-app/src/org/argouml/uml/ui/ActionCollaborationDiagram.java 2008-11-26 09:17:09-0800
@@ -43,7 +43,7 @@
* @see org.argouml.uml.ui.ActionNewDiagram#createDiagram()
*/
public ArgoDiagram createDiagram(Object namespace) {
- return DiagramFactory.getInstance().createDiagram(
+ return DiagramFactory.getInstance().create(
DiagramFactory.DiagramType.Collaboration,
createCollaboration(namespace),
null);
Modified: trunk/src/argouml-app/src/org/argouml/uml/ui/ActionDeploymentDiagram.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/ui/ActionDeploymentDiagram.java?view=diff&rev=16188&p1=trunk/src/argouml-app/src/org/argouml/uml/ui/ActionDeploymentDiagram.java&p2=trunk/src/argouml-app/src/org/argouml/uml/ui/ActionDeploymentDiagram.java&r1=16187&r2=16188
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/ui/ActionDeploymentDiagram.java (original)
+++ trunk/src/argouml-app/src/org/argouml/uml/ui/ActionDeploymentDiagram.java 2008-11-26 09:17:09-0800
@@ -61,7 +61,7 @@
"The argument " + namespace
+ "is not a namespace.");
}
- return DiagramFactory.getInstance().createDiagram(
+ return DiagramFactory.getInstance().create(
DiagramFactory.DiagramType.Deployment,
namespace,
null);
Modified: trunk/src/argouml-app/src/org/argouml/uml/ui/ActionSequenceDiagram.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/ui/ActionSequenceDiagram.java?view=diff&rev=16188&p1=trunk/src/argouml-app/src/org/argouml/uml/ui/ActionSequenceDiagram.java&p2=trunk/src/argouml-app/src/org/argouml/uml/ui/ActionSequenceDiagram.java&r1=16187&r2=16188
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/ui/ActionSequenceDiagram.java (original)
+++ trunk/src/argouml-app/src/org/argouml/uml/ui/ActionSequenceDiagram.java 2008-11-26 09:17:09-0800
@@ -43,7 +43,7 @@
* @see org.argouml.uml.ui.ActionNewDiagram#createDiagram()
*/
public ArgoDiagram createDiagram(Object namespace) {
- return DiagramFactory.getInstance().createDiagram(
+ return DiagramFactory.getInstance().create(
DiagramFactory.DiagramType.Sequence,
createCollaboration(namespace),
null);
Modified: trunk/src/argouml-app/src/org/argouml/uml/ui/ActionUseCaseDiagram.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/uml/ui/ActionUseCaseDiagram.java?view=diff&rev=16188&p1=trunk/src/argouml-app/src/org/argouml/uml/ui/ActionUseCaseDiagram.java&p2=trunk/src/argouml-app/src/org/argouml/uml/ui/ActionUseCaseDiagram.java&r1=16187&r2=16188
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/uml/ui/ActionUseCaseDiagram.java (original)
+++ trunk/src/argouml-app/src/org/argouml/uml/ui/ActionUseCaseDiagram.java 2008-11-26 09:17:09-0800
@@ -54,7 +54,7 @@
throw new IllegalArgumentException(
"The argument " + namespace + "is not a namespace.");
}
- return DiagramFactory.getInstance().createDiagram(
+ return DiagramFactory.getInstance().create(
DiagramFactory.DiagramType.UseCase,
namespace,
null);
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.