01: // THIS SOFTWARE IS PROVIDED BY SOFTARIS PTY.LTD. AND OTHER METABOSS
02: // CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING,
03: // BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
04: // FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SOFTARIS PTY.LTD.
05: // OR OTHER METABOSS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
06: // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
07: // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
08: // OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
09: // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
10: // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
11: // EVEN IF SOFTARIS PTY.LTD. OR OTHER METABOSS CONTRIBUTORS ARE ADVISED OF THE
12: // POSSIBILITY OF SUCH DAMAGE.
13: //
14: // Copyright 2000-2005 © Softaris Pty.Ltd. All Rights Reserved.
15: package com.metaboss.sdlctools.models.impl.metabossmodel.visualmodel;
16:
17: import java.util.Iterator;
18:
19: import org.netbeans.mdr.storagemodel.StorableObject;
20:
21: import com.metaboss.sdlctools.models.impl.metabossmodel.ModelElementImpl;
22: import com.metaboss.sdlctools.models.metabossmodel.ModelElement;
23: import com.metaboss.sdlctools.models.metabossmodel.visualmodel.Diagram;
24: import com.metaboss.sdlctools.models.metabossmodel.visualmodel.DiagramElement;
25: import com.metaboss.sdlctools.models.metabossmodel.visualmodel.DiagramModelElement;
26:
27: public abstract class DiagramImpl extends ModelElementImpl implements
28: Diagram {
29: // Required constructor
30: protected DiagramImpl(StorableObject storable) {
31: super (storable);
32: }
33:
34: /**
35: * @param pAssociatedElement
36: * @return DiagramModelElement associated with specified model element or null if none found
37: */
38: public DiagramModelElement getDiagramModelElement(
39: ModelElement pAssociatedElement) {
40: DiagramModelElement lFoundDiagramModelElement = findDiagramModelElement(pAssociatedElement);
41: // Throw exception if nothing found
42: if (lFoundDiagramModelElement == null)
43: throw new IllegalArgumentException(
44: "Unable to locate DiagramModelElement associated with "
45: + pAssociatedElement.getRef()
46: + " ModelElement. DiagramRef: " + getRef());
47: return lFoundDiagramModelElement;
48: }
49:
50: /**
51: * @param pAssociatedElement
52: * @return DiagramModelElement associated with specified model element or null if none found
53: */
54: public DiagramModelElement findDiagramModelElement(
55: ModelElement pAssociatedElement) {
56: for (Iterator lDiagramElementsIterator = getElements()
57: .iterator(); lDiagramElementsIterator.hasNext();) {
58: DiagramElement lElement = (DiagramElement) lDiagramElementsIterator
59: .next();
60: if ((lElement instanceof DiagramModelElement)
61: && ((DiagramModelElement) lElement)
62: .getModelElement().equals(
63: pAssociatedElement))
64: return (DiagramModelElement) lElement;
65: }
66: return null;
67: }
68: }
|