Package de.FeatureModellingTool.DupHelper

Source Code of de.FeatureModellingTool.DupHelper.UIDupHelper

package de.FeatureModellingTool.DupHelper;

import java.util.HashMap;

import research.ConnectionFigure;
import research.DrawingView;
import research.Figure;
import research.FigureEnumeration;
import de.FeatureModellingTool.FeatureModel.FeatureProperties;
import de.FeatureModellingTool.GraphicalEditor.ConstraintConnection;
import de.FeatureModellingTool.GraphicalEditor.ConstraintFigure;
import de.FeatureModellingTool.GraphicalEditor.AttributeConnection;
import de.FeatureModellingTool.GraphicalEditor.FeatureFigure;
import de.FeatureModellingTool.GraphicalEditor.GroupConstraintFigure;
import de.FeatureModellingTool.GraphicalEditor.DecomposeConnection;
import de.FeatureModellingTool.GraphicalEditor.PLConnection;
import de.FeatureModellingTool.GraphicalEditor.PLFigure;
import de.FeatureModellingTool.GraphicalEditor.VPConstraintFigure;

public class UIDupHelper {
  public static String FIGURE_ID_PREFIX = "FIGURE_ID_PREFIX_";
 
  public static FeatureFigure dupFeatureFigure(FeatureFigure ffSrc
      , HashMap<String,String> mName , HashMap<String,Figure> mFigure
      , DrawingView dvDest) {
    FeatureFigure result = new FeatureFigure();
   
    result.setAttribute("id", mName.get(ffSrc.getAttribute("id")));
    result.setAttribute(FeatureFigure.IS_A_LINK, ffSrc.getAttribute(FeatureFigure.IS_A_LINK));
    result.setAttribute("text", ffSrc.getAttribute("text"));
    result.setAttribute(FeatureProperties.VARIABILITY, ffSrc.getAttribute(FeatureProperties.VARIABILITY));
    result.setAttribute(FeatureProperties.BINDINGTIME, ffSrc.getAttribute(FeatureProperties.BINDINGTIME));
   
    dvDest.add(result);
    result.moveBy(ffSrc.getDisplayBox().x , ffSrc.getDisplayBox().y);
   
    mName.put((String)ffSrc.getAttribute("id") , UIDupHelper.FIGURE_ID_PREFIX + ffSrc.getAttribute("id"));
    mFigure.put(UIDupHelper.FIGURE_ID_PREFIX + ffSrc.getAttribute("id") , result);
   
    return result;
  }
 
  public static ConnectionFigure dupConnectionFigure(ConnectionFigure cfSrc
      , HashMap<String,String> mName , HashMap<String,Figure> mFigure
      , DrawingView dvDest) {
    ConnectionFigure result = null;
    if (cfSrc instanceof AttributeConnection) {
      result = new AttributeConnection();
    } else if (cfSrc instanceof DecomposeConnection) {
      result = new DecomposeConnection();
    } else if (cfSrc instanceof ConstraintConnection) {
      result = new ConstraintConnection((String)cfSrc.getAttribute("type"));
      ((ConstraintConnection)result).setStartDecoration(((ConstraintConnection)cfSrc).getStartDecoration());
      ((ConstraintConnection)result).setMidDecoration(((ConstraintConnection)cfSrc).getMidDecoration());
      ((ConstraintConnection)result).setEndDecoration(((ConstraintConnection)cfSrc).getEndDecoration());
    } else if (cfSrc instanceof PLConnection){
      result = new PLConnection();
      result.setAttribute("frameColor" , cfSrc.getAttribute("frameColor"));
      result.setAttribute("type" , cfSrc.getAttribute("type"));
      result.setAttribute("CFRModifier" , cfSrc.getAttribute("CFRModifier"));
    } else {
      return null;
    }
   
    result.setAttribute("id" , mName.get(cfSrc.getAttribute("id")));
    result.startPoint(cfSrc.startPoint().x , cfSrc.startPoint().y);
    result.endPoint(cfSrc.endPoint().x , cfSrc.endPoint().y);

    dvDest.add(result);
   
    mName.put((String)cfSrc.getAttribute("id") , UIDupHelper.FIGURE_ID_PREFIX + cfSrc.getAttribute("id"));
    mFigure.put(UIDupHelper.FIGURE_ID_PREFIX + cfSrc.getAttribute("id") , result);
   
    return result;
  }
 
  public static GroupConstraintFigure dupGroupConstraintFigure(GroupConstraintFigure gcfSrc
      , HashMap<String,String> mName , HashMap<String,Figure> mFigure
      , DrawingView dvDest) {
    GroupConstraintFigure result = new GroupConstraintFigure();
   
    result.setAttribute("id" , mName.get(gcfSrc.getAttribute("id")));
    result.setAttribute("GroupType" , gcfSrc.getAttribute("GroupType"));
    result.setAttribute("PortPosition" , gcfSrc.getAttribute("PortPosition"));
    result.setAttribute("bounds" , gcfSrc.getAttribute("bounds"));
    result.setAttribute("frameColor" , gcfSrc.getAttribute("frameColor"));

    dvDest.add(result);
    result.moveBy(gcfSrc.getDisplayBox().x , gcfSrc.getDisplayBox().y);
   
    mName.put((String)gcfSrc.getAttribute("id") , UIDupHelper.FIGURE_ID_PREFIX + gcfSrc.getAttribute("id"));
    mFigure.put(UIDupHelper.FIGURE_ID_PREFIX + gcfSrc.getAttribute("id") , result);
   
    return result;
  }
 
  public static PLFigure dupPLFigure(PLFigure gcfSrc
      , HashMap<String,String> mName , HashMap<String,Figure> mFigure
      , DrawingView dvDest) {
    PLFigure result = new PLFigure();
   
    result.setAttribute("id" , mName.get(gcfSrc.getAttribute("id")));
    result.setAttribute("bounds" , gcfSrc.getAttribute("bounds"));
    result.setAttribute("frameColor" , gcfSrc.getAttribute("frameColor"));
    result.setAttribute("PLType" , gcfSrc.getAttribute("PLType"));
    result.setAttribute("SourceType" , gcfSrc.getAttribute("SourceType"));
    result.setAttribute("SinkType" , gcfSrc.getAttribute("SinkType"));

    dvDest.add(result);
    result.moveBy(gcfSrc.getDisplayBox().x , gcfSrc.getDisplayBox().y);
   
    mName.put((String)gcfSrc.getAttribute("id") , UIDupHelper.FIGURE_ID_PREFIX + gcfSrc.getAttribute("id"));
    mFigure.put(UIDupHelper.FIGURE_ID_PREFIX + gcfSrc.getAttribute("id") , result);
   
    return result;
  }
 
  public static VPConstraintFigure dupVPConstraintFigure(VPConstraintFigure vpcfSrc
      , HashMap<String,String> mName , HashMap<String,Figure> mFigure
      , DrawingView dvDest) {
    VPConstraintFigure result = new VPConstraintFigure();
   
    result.setAttribute("id" , mName.get(vpcfSrc.getAttribute("id")));
    result.setAttribute("bounds" , vpcfSrc.getAttribute("bounds"));
    result.setAttribute("topLeg" , vpcfSrc.getAttribute("topLeg"));
    result.setAttribute("botLeg" , vpcfSrc.getAttribute("botLeg"));
    result.setAttribute("frameColor" , vpcfSrc.getAttribute("frameColor"));
    result.setAttribute("VPType" , vpcfSrc.getAttribute("VPType"));

    dvDest.add(result);
    result.moveBy(vpcfSrc.getDisplayBox().x , vpcfSrc.getDisplayBox().y);
   
    mName.put((String)vpcfSrc.getAttribute("id") , UIDupHelper.FIGURE_ID_PREFIX + vpcfSrc.getAttribute("id"));
    mFigure.put(UIDupHelper.FIGURE_ID_PREFIX + vpcfSrc.getAttribute("id") , result);
   
    return result;
  }
 
  public static ConstraintFigure dupConstraintFigure(ConstraintFigure cfSrc
      , HashMap<String,String> mName , HashMap<String,Figure> mFigure
      , DrawingView dvDest) {
    if (cfSrc instanceof GroupConstraintFigure) {
      return dupGroupConstraintFigure((GroupConstraintFigure)cfSrc , mName , mFigure , dvDest);
    } else if (cfSrc instanceof PLFigure) {
      return dupPLFigure((PLFigure)cfSrc , mName , mFigure , dvDest);
    } else if (cfSrc instanceof VPConstraintFigure) {
      return dupVPConstraintFigure((VPConstraintFigure)cfSrc , mName , mFigure , dvDest);
    } else {
      return null;
    }
  }
 
//  public static PLConnection dupPLConnection(PLConnection plcSrc
//      , HashMap<String,String> mName , HashMap<String,Figure> mFigure
//      , DrawingView dvDest) {
//    PLConnection result = new PLConnection();
//   
//    result.setAttribute("id" , mName.get(plcSrc.getAttribute("id")));
//    result.setAttribute("frameColor" , plcSrc.getAttribute("frameColor"));
//    result.setAttribute("type" , plcSrc.getAttribute("type"));
//    result.setAttribute("CFRModifier" , plcSrc.getAttribute("CFRModifier"));
//
//    dvDest.add(result);
//    result.startPoint(plcSrc.startPoint().x , plcSrc.startPoint().y);
//    result.endPoint(plcSrc.endPoint().x , plcSrc.endPoint().y);
//   
//    mName.put((String)plcSrc.getAttribute("id") , UIDupHelper.FIGURE_ID_PREFIX + plcSrc.getAttribute("id"));
//    mFigure.put(UIDupHelper.FIGURE_ID_PREFIX + plcSrc.getAttribute("id") , result);
//   
//    return result;
//  }
 
  public static void dupDrawingViews(DrawingView[] dvsSrc
      , HashMap<String,String> mName , HashMap<String,Figure> mFigure
      , DrawingView[] dvsDest) {
    for (int i=0 ; i<dvsSrc.length ; i++) {
      FigureEnumeration feSrc = dvsSrc[i].getDrawing().getFigures();
      while (feSrc.hasMoreElements()) {
        Figure fSrc = feSrc.nextFigure();
        if (fSrc instanceof FeatureFigure) {
          dupFeatureFigure((FeatureFigure)fSrc , mName , mFigure , dvsDest[i]);
        }
      }

      feSrc = dvsSrc[i].getDrawing().getFigures();
      while (feSrc.hasMoreElements()) {
        Figure fSrc = feSrc.nextFigure();
        if (fSrc instanceof ConstraintFigure) {
          dupConstraintFigure((ConstraintFigure)fSrc , mName , mFigure , dvsDest[i]);
        }
      }

      feSrc = dvsSrc[i].getDrawing().getFigures();
      while (feSrc.hasMoreElements()) {
        Figure fSrc = feSrc.nextFigure();
        if (fSrc instanceof ConnectionFigure) {
          dupConnectionFigure((ConnectionFigure)fSrc , mName , mFigure , dvsDest[i]);
        }
      }
    }
  }
}
TOP

Related Classes of de.FeatureModellingTool.DupHelper.UIDupHelper

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.