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.applications.designstudio.userobjects;
16:
17: import com.metaboss.applications.designstudio.Application;
18: import com.metaboss.applications.designstudio.BaseUserObject;
19: import com.metaboss.sdlctools.models.metabossmodel.MetaBossModelPackage;
20: import com.metaboss.sdlctools.models.metabossmodel.ModelElement;
21: import com.metaboss.sdlctools.models.metabossmodel.ModelElementTag;
22: import com.metaboss.sdlctools.models.metabossmodel.ModelElementTagClass;
23:
24: /* Model Element Tag user object */
25:
26: public class ModelElementTagUserObject extends BaseUserObject {
27: private ModelElementTag mTag = null;
28:
29: public ModelElementTagUserObject(ModelElementTag pTag) {
30: super (pTag, null);
31: mTag = pTag;
32: }
33:
34: // create new ModelElementTag
35: public static void addNewTag(MetaBossModelPackage pPackage)
36: throws Exception {
37: new ModelElementTagUserObject(null).addNewObject(pPackage);
38: }
39:
40: public BaseUserObject createNewObject(MetaBossModelPackage pPackage) {
41: ModelElementTagClass lClass = pPackage.getModelElementTag();
42: return new ModelElementTagUserObject(lClass
43: .createModelElementTag());
44: }
45:
46: // create new tag
47: public static void createNewTag(ModelElement pElement)
48: throws Exception {
49: ModelElementTagUserObject lResult = null;
50: Application.beginTransaction();
51: try {
52: lResult = (ModelElementTagUserObject) new ModelElementTagUserObject(
53: null).createNewObject(BaseUserObject
54: .getObjectPackage(pElement));
55: if (lResult != null) {
56: pElement.getTags().add(lResult.getTag());
57: }
58: Application.commit();
59: } finally {
60: if (Application.isInTransaction()) {
61: Application.rollback();
62: lResult = null;
63: }
64: }
65: }
66:
67: public ModelElementTag getTag() {
68: return mTag;
69: }
70:
71: public boolean addToTree() {
72: return false;
73: }
74: }
|