}
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);