001: /*
002: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
003: *
004: * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
005: *
006: * The contents of this file are subject to the terms of either the GNU
007: * General Public License Version 2 only ("GPL") or the Common
008: * Development and Distribution License("CDDL") (collectively, the
009: * "License"). You may not use this file except in compliance with the
010: * License. You can obtain a copy of the License at
011: * http://www.netbeans.org/cddl-gplv2.html
012: * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
013: * specific language governing permissions and limitations under the
014: * License. When distributing the software, include this License Header
015: * Notice in each file and include the License file at
016: * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
017: * particular file as subject to the "Classpath" exception as provided
018: * by Sun in the GPL Version 2 section of the License file that
019: * accompanied this code. If applicable, add the following below the
020: * License Header, with the fields enclosed by brackets [] replaced by
021: * your own identifying information:
022: * "Portions Copyrighted [year] [name of copyright owner]"
023: *
024: * Contributor(s):
025: *
026: * The Original Software is NetBeans. The Initial Developer of the Original
027: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
028: * Microsystems, Inc. All Rights Reserved.
029: *
030: * If you wish your version of this file to be governed by only the CDDL
031: * or only the GPL Version 2, indicate your decision by adding
032: * "[Contributor] elects to include this software in this distribution
033: * under the [CDDL or GPL Version 2] license." If you do not indicate a
034: * single choice of license, a recipient has the option to distribute
035: * your version of this file under either the CDDL, the GPL Version 2 or
036: * to extend the choice of license to its licensees as provided above.
037: * However, if you add GPL Version 2 code and therefore, elected the GPL
038: * Version 2 license, then the option applies only if the new code is
039: * made subject to such option by the copyright holder.
040: */
041:
042: package org.netbeans.test.umllib.exceptions;
043:
044: import org.netbeans.test.umllib.DiagramElementOperator;
045: import org.netbeans.test.umllib.ElementTypes;
046: import org.netbeans.test.umllib.ExpandedElementTypes;
047:
048: /**
049: * Thrown when expected element can't be found on diagram
050: * @author Sergey Petrov
051: */
052: public class NotFoundOnDiagramException extends NotFoundException {
053:
054: /**
055: * Creates a new instance of NotFoundOnDiagramException
056: * @param elemenType
057: */
058: public NotFoundOnDiagramException(ElementTypes elemenType) {
059: super (elemenType.toString());
060: missedEl = elemenType;
061: }
062:
063: /**
064: * Creates a new instance of NotFoundOnDiagramException
065: * and specify history of creation (action for element creation)
066: * @param elemenType
067: * @param type
068: */
069: public NotFoundOnDiagramException(ExpandedElementTypes elemenType,
070: ActionTypes type) {
071: super (elemenType.toString());
072: missedElEx = elemenType;
073: missedEl = null;
074: preAction = type;
075: }
076:
077: /**
078: * Creates a new instance of NotFoundOnDiagramException
079: * and specify history of creation (action for element creation)
080: * @param elemenType
081: * @param type
082: */
083: public NotFoundOnDiagramException(ElementTypes elemenType,
084: ActionTypes type) {
085: super (elemenType.toString());
086: missedEl = elemenType;
087: preAction = type;
088: }
089:
090: /**
091: * Creates a new instance of NotFoundOnDiagramException
092: * and specify history of creation (action for element creation)
093: * @param elemenType
094: * @param type
095: * @param id
096: */
097: public NotFoundOnDiagramException(ElementTypes elemenType,
098: ActionTypes type, int id) {
099: super (elemenType.toString());
100: missedEl = elemenType;
101: preAction = type;
102: missedElEx = null;
103: this .id = id;
104: }
105:
106: /**
107: *
108: * @return
109: */
110: public String getMessage() {
111: return "element of type " + super .getMessage()
112: + " is not found on diagram.";
113: }
114:
115: private ActionTypes preAction = ActionTypes.UNKNOWN;
116: private ElementTypes missedEl = ElementTypes.ANY;
117: private ExpandedElementTypes missedElEx = ExpandedElementTypes.ANY;
118: private int id;
119:
120: /**
121: * get type of action invoked for element creation
122: * @return
123: */
124: public ActionTypes getPreAction() {
125: return preAction;
126: }
127:
128: /**
129: *
130: * @return
131: */
132: public int getId() {
133: return id;
134: }
135:
136: /**
137: *
138: * @return
139: */
140: public ElementTypes getType() {
141: return missedEl;
142: }
143:
144: /**
145: *
146: * @return
147: */
148: public ExpandedElementTypes getExpandedType() {
149: return missedElEx;
150: }
151:
152: /**
153: * Actions specific for ellement creation on diagram
154: */
155: static public enum ActionTypes {
156: UNKNOWN("Any or unknown type of creation."), FROMPALETTE(
157: "Element created with with palette."), FROMTREE(
158: "Drag from prject tree."), SHORTCUT(
159: "Put with specific shortcut."), CDFS(
160: "Element created with Create Diagram from Selected elements action."), DEPENDENCY(
161: "Element created with Create Dependency Diagram action."), PATTERN(
162: "Element created with design pattern applying."), PASTE(
163: "Any type of paste operation.");
164:
165: private String description = "";
166:
167: /**
168: *
169: * @param desc
170: */
171: ActionTypes(String desc) {
172: description = desc;
173: }
174:
175: ActionTypes() {
176: description = name();
177: }
178:
179: }
180: }
|