/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.diagram.ui.util; import org.eclipse.draw2d.geometry.Dimension; import org.eclipse.draw2d.geometry.Point; import org.eclipse.emf.ecore.EObject; import org.teiid.core.designer.util.CoreArgCheck; import org.teiid.designer.core.ModelerCore; import org.teiid.designer.metamodels.diagram.DiagramEntity; /** * DiagramEntityAdapter * This class provides transaction-based access to diagram entities for any "write" access methods, * as well as read access methods. * * @since 8.0 */ public class DiagramEntityAdapter { // private static final int MAX_POS_INT = 99999; private static final int MAX_NEG_INT = -99999; // --------- // GETTER METHODS // --------- public static int getXPosition(final DiagramEntity diagramEntity) { CoreArgCheck.isNotNull(diagramEntity); return diagramEntity.getXPosition(); } public static int getYPosition(final DiagramEntity diagramEntity) { CoreArgCheck.isNotNull(diagramEntity); int yPos = diagramEntity.getYPosition(); if( yPos < MAX_NEG_INT ) { yPos = 10; diagramEntity.setYPosition(yPos); } return yPos; } public static Point getPosition(final DiagramEntity diagramEntity) { CoreArgCheck.isNotNull(diagramEntity); return new Point(diagramEntity.getXPosition(), diagramEntity.getYPosition()); } public static String getName(final DiagramEntity diagramEntity) { CoreArgCheck.isNotNull(diagramEntity); return diagramEntity.getName(); } public static int getWidth(final DiagramEntity diagramEntity) { CoreArgCheck.isNotNull(diagramEntity); return diagramEntity.getWidth(); } public static int getHeight(final DiagramEntity diagramEntity) { CoreArgCheck.isNotNull(diagramEntity); return diagramEntity.getHeight(); } public static Dimension getSize(final DiagramEntity diagramEntity) { CoreArgCheck.isNotNull(diagramEntity); return new Dimension(diagramEntity.getWidth(), diagramEntity.getHeight()); } public static String getUserString(final DiagramEntity diagramEntity) { CoreArgCheck.isNotNull(diagramEntity); return diagramEntity.getUserString(); } public static String getUserType(final DiagramEntity diagramEntity) { CoreArgCheck.isNotNull(diagramEntity); return diagramEntity.getUserType(); } public static String getAlias(final DiagramEntity diagramEntity) { CoreArgCheck.isNotNull(diagramEntity); return diagramEntity.getAlias(); } // ----------- // SETTER METHODS // ----------- public static void setXPosition(final DiagramEntity diagramEntity, final int iValue) { CoreArgCheck.isNotNull(diagramEntity); boolean requiredStart = ModelerCore.startTxn(false, false, "Set DE X Position", diagramEntity); //$NON-NLS-1$ boolean succeeded = false; try { diagramEntity.setXPosition(iValue); succeeded = true; } finally { if (requiredStart) { if ( succeeded ) { ModelerCore.commitTxn( ); } else { ModelerCore.rollbackTxn( ); } } } } public static void setXPosition( final DiagramEntity diagramEntity, final int iValue, final boolean significance, final boolean undoable) { CoreArgCheck.isNotNull(diagramEntity); boolean requiredStart = ModelerCore.startTxn(significance, undoable, "Set DE X Position", diagramEntity); //$NON-NLS-1$ boolean succeeded = false; try { diagramEntity.setXPosition(iValue); succeeded = true; } finally { if (requiredStart) { if ( succeeded ) { ModelerCore.commitTxn( ); } else { ModelerCore.rollbackTxn( ); } } } } public static void setYPosition(final DiagramEntity diagramEntity, final int iValue) { CoreArgCheck.isNotNull(diagramEntity); boolean requiredStart = ModelerCore.startTxn(false, false, "Set DE Y Position", diagramEntity); //$NON-NLS-1$ boolean succeeded = false; try { diagramEntity.setYPosition(iValue); succeeded = true; } finally { if (requiredStart) { if ( succeeded ) { ModelerCore.commitTxn( ); } else { ModelerCore.rollbackTxn( ); } } } } public static void setYPosition( final DiagramEntity diagramEntity, final int iValue, final boolean significance, final boolean undoable) { CoreArgCheck.isNotNull(diagramEntity); boolean requiredStart = ModelerCore.startTxn(significance, undoable, "Set DE Y Position", diagramEntity); //$NON-NLS-1$ boolean succeeded = false; try { diagramEntity.setYPosition(iValue); succeeded = true; } finally { if (requiredStart) { if ( succeeded ) { ModelerCore.commitTxn( ); } else { ModelerCore.rollbackTxn( ); } } } } public static void setPosition(final DiagramEntity diagramEntity, final int xValue, final int yValue) { CoreArgCheck.isNotNull(diagramEntity); boolean requiredStart = ModelerCore.startTxn(false, false, "Set DE Position", diagramEntity); //$NON-NLS-1$ boolean succeeded = false; try { diagramEntity.setXPosition(xValue); diagramEntity.setYPosition(yValue); succeeded = true; } finally { if (requiredStart) { if ( succeeded ) { ModelerCore.commitTxn( ); } else { ModelerCore.rollbackTxn( ); } } } } public static void setPosition( final DiagramEntity diagramEntity, final int xValue, final int yValue, final boolean significance, final boolean undoable) { CoreArgCheck.isNotNull(diagramEntity); boolean requiredStart = ModelerCore.startTxn(significance, undoable, "Set DE Position", diagramEntity); //$NON-NLS-1$ boolean succeeded = false; try { diagramEntity.setXPosition(xValue); diagramEntity.setYPosition(yValue); succeeded = true; } finally { if (requiredStart) { if ( succeeded ) { ModelerCore.commitTxn( ); } else { ModelerCore.rollbackTxn( ); } } } } public static void setName(final DiagramEntity diagramEntity, final String sValue) { CoreArgCheck.isNotNull(diagramEntity); boolean requiredStart = ModelerCore.startTxn(false, false, "Set DE Name", diagramEntity); //$NON-NLS-1$ boolean succeeded = false; try { diagramEntity.setName(sValue); succeeded = true; } finally { if (requiredStart) { if ( succeeded ) { ModelerCore.commitTxn( ); } else { ModelerCore.rollbackTxn( ); } } } } public static void setWidth(final DiagramEntity diagramEntity, final int iValue) { CoreArgCheck.isNotNull(diagramEntity); boolean requiredStart = ModelerCore.startTxn(false, false, "Set DE Width", diagramEntity); //$NON-NLS-1$ boolean succeeded = false; try { diagramEntity.setWidth(iValue); succeeded = true; } finally { if (requiredStart) { if ( succeeded ) { ModelerCore.commitTxn( ); } else { ModelerCore.rollbackTxn( ); } } } } public static void setHeight(final DiagramEntity diagramEntity, final int iValue) { CoreArgCheck.isNotNull(diagramEntity); boolean requiredStart = ModelerCore.startTxn(false, false, "Set DE Height", diagramEntity); //$NON-NLS-1$ boolean succeeded = false; try { diagramEntity.setHeight(iValue); succeeded = true; } finally { if (requiredStart) { if ( succeeded ) { ModelerCore.commitTxn( ); } else { ModelerCore.rollbackTxn( ); } } } } public static void setSize(final DiagramEntity diagramEntity, final int wValue, final int hValue) { CoreArgCheck.isNotNull(diagramEntity); boolean requiredStart = ModelerCore.startTxn(false, false, "Set DE Size", diagramEntity); //$NON-NLS-1$ boolean succeeded = false; try { diagramEntity.setWidth(wValue); diagramEntity.setHeight(hValue); succeeded = true; } finally { if (requiredStart) { if ( succeeded ) { ModelerCore.commitTxn( ); } else { ModelerCore.rollbackTxn( ); } } } } public static void setUserString(final DiagramEntity diagramEntity, final String sValue) { CoreArgCheck.isNotNull(diagramEntity); boolean requiredStart = ModelerCore.startTxn(false, false, "Set DE User String", diagramEntity); //$NON-NLS-1$ boolean succeeded = false; try { diagramEntity.setUserString(sValue); succeeded = true; } finally { if (requiredStart) { if ( succeeded ) { ModelerCore.commitTxn( ); } else { ModelerCore.rollbackTxn( ); } } } } public static void setUserType(final DiagramEntity diagramEntity, final String sValue) { CoreArgCheck.isNotNull(diagramEntity); boolean requiredStart = ModelerCore.startTxn(false, false, "Set DE User Type", diagramEntity); //$NON-NLS-1$ boolean succeeded = false; try { diagramEntity.setUserType(sValue); succeeded = true; } finally { if (requiredStart) { if ( succeeded ) { ModelerCore.commitTxn( ); } else { ModelerCore.rollbackTxn( ); } } } } public static void setAlias(final DiagramEntity diagramEntity, final String sValue) { CoreArgCheck.isNotNull(diagramEntity); boolean requiredStart = ModelerCore.startTxn(false, false, "Set DE Alias", diagramEntity); //$NON-NLS-1$ boolean succeeded = false; try { diagramEntity.setAlias(sValue); succeeded = true; } finally { if (requiredStart) { if ( succeeded ) { ModelerCore.commitTxn( ); } else { ModelerCore.rollbackTxn( ); } } } } public static void setModelObject(final DiagramEntity diagramEntity, final EObject eObject) { CoreArgCheck.isNotNull(diagramEntity); boolean requiredStart = ModelerCore.startTxn(false, false, "Set Model Object", diagramEntity); //$NON-NLS-1$ boolean succeeded = false; try { diagramEntity.setModelObject(eObject); succeeded = true; } finally { if (requiredStart) { if ( succeeded ) { ModelerCore.commitTxn( ); } else { ModelerCore.rollbackTxn( ); } } } } }