Beispiel #1
0
 private PathwayElement createPathwayELement(Xref xref) {
   PathwayElement pwe = PathwayElement.createPathwayElement(ObjectType.DATANODE);
   pwe.setDataSource(xref.getDataSource());
   pwe.setElementID(xref.getId());
   pwe.setTextLabel(xref.toString());
   pwe.setTransparent(false);
   pwe.setColor(Color.BLACK);
   pwe.setShapeType(ShapeType.RECTANGLE);
   pwe.setLineStyle(LineStyle.SOLID);
   pwe.setInitialSize();
   pwe.setMWidth(120);
   pwe.setMCenterX(60);
   pwe.setMCenterY((35 * x) + 14);
   return pwe;
 }
  /**
   * Shape values are added to the pathway element model.
   *
   * @param centerX
   * @param centerY
   * @param width
   * @param height
   * @param fontStyle
   * @param fontDecoration
   * @param fontStrikeThru
   * @param fontWeight
   * @param fontName
   * @param fontSize
   * @param align
   * @param vAlign
   * @param color
   * @param lineStyle
   * @param lnThickness
   * @param fillColor
   * @param shapeType
   * @param zOrder
   * @param rotation
   * @return pwElt
   */
  public static PathwayElement createShape(
      double centerX,
      double centerY,
      double width,
      double height,
      boolean fontStyle,
      boolean fontDecoration,
      boolean fontStrikeThru,
      boolean fontWeight,
      String fontName,
      double fontSize,
      AlignType align,
      ValignType vAlign,
      Color color,
      int lineStyle,
      double lnThickness,
      Color fillColor,
      IShape shapeType,
      int zOrder,
      double rotation) {

    // create pathwayElement Shape
    PathwayElement pwElt = PathwayElement.createPathwayElement(ObjectType.SHAPE);

    pwElt.setMCenterX(centerX);
    pwElt.setMCenterY(centerY);
    pwElt.setMWidth(width);
    pwElt.setMHeight(height);
    pwElt.setItalic(fontStyle);
    pwElt.setUnderline(fontDecoration);
    pwElt.setStrikethru(fontStrikeThru);
    pwElt.setBold(fontWeight);
    pwElt.setFontName(fontName);
    pwElt.setMFontSize(fontSize);
    pwElt.setAlign(align);
    pwElt.setValign(vAlign);
    pwElt.setColor(color);
    pwElt.setLineStyle(lineStyle);
    pwElt.setLineThickness(lnThickness);
    pwElt.setFillColor(fillColor);
    pwElt.setShapeType(shapeType);
    pwElt.setZOrder(zOrder);
    pwElt.setRotation(rotation);

    return pwElt;
  }
  /**
   * Label values are added to the pathway element model.
   *
   * @param centerX
   * @param centerY
   * @param width
   * @param height
   * @param fontName
   * @param fontStyle
   * @param fontDecoration
   * @param fontStrikeThru
   * @param fontWeight
   * @param fontSize
   * @param align
   * @param vAlign
   * @param color
   * @param lnThickness
   * @param fillcolor
   * @param zOrder
   * @param bioPaxRefs
   * @param graphId
   * @param groupId
   * @param textLabel
   * @return pwElt
   */
  public static PathwayElement createLabel(
      Double centerX,
      Double centerY,
      Double width,
      Double height,
      String fontName,
      Boolean fontStyle,
      Boolean fontDecoration,
      Boolean fontStrikeThru,
      Boolean fontWeight,
      Double fontSize,
      String align,
      String vAlign,
      Color color,
      Double lnThickness,
      Color fillcolor,
      Integer zOrder,
      List<String> bioPaxRefs,
      String graphId,
      String groupId,
      String textLabel) {

    // create pathwayElement label
    PathwayElement pwElt = PathwayElement.createPathwayElement(ObjectType.LABEL);

    // put variables in element
    if (centerX != null) {
      pwElt.setMCenterX(centerX);
    } else {
      System.out.println("No CenterX for label!!");
      throw new EmptyStackException();
    }
    if (centerY != null) {
      pwElt.setMCenterY(centerY);
    } else {
      System.out.println("No centerY for label!!");
      throw new EmptyStackException();
    }
    if (width != null) {
      pwElt.setMWidth(width);
    } else {
      System.out.println("No width for label!!");
      throw new EmptyStackException();
    }
    if (height != null) {
      pwElt.setMHeight(height);
    } else {
      System.out.println("No height for label!!");
      throw new EmptyStackException();
    }
    if (fontSize != null) pwElt.setMFontSize(fontSize);
    if (color != null) {
      pwElt.setColor(color);
    }
    if (lnThickness != null) pwElt.setLineThickness(lnThickness);
    if (fillcolor != null) pwElt.setFillColor(fillcolor);
    if (!(graphId.equals(""))) {
      pwElt.setGraphId(graphId);
    } else {
      System.out.println("No GraphId for label!!");
      throw new EmptyStackException();
    }
    if (!(textLabel.equals(""))) {
      pwElt.setTextLabel(textLabel);
    } else {
      System.out.println("No label name for label!!");
      throw new EmptyStackException();
    }
    if (fontStyle == true) pwElt.setItalic(fontStyle);
    if (fontDecoration == true) pwElt.setUnderline(fontDecoration);
    if (fontStrikeThru == true) pwElt.setStrikethru(fontStrikeThru);
    if (fontWeight == true) pwElt.setBold(fontWeight);
    if (!(fontName.equals(""))) pwElt.setFontName(fontName);
    if (zOrder != -1) pwElt.setZOrder(zOrder);
    if (!(groupId.equals(""))) pwElt.setGraphRef(groupId);

    if (align.toLowerCase() == "center") {
      pwElt.setAlign(AlignType.CENTER);
    } else if (align.toLowerCase() == "left") {
      pwElt.setAlign(AlignType.LEFT);
    } else if (align.toLowerCase() == "right") {
      pwElt.setAlign(AlignType.RIGHT);
    } else {
      pwElt.setAlign(AlignType.CENTER);
    }

    if (vAlign.toLowerCase() == "middle") {
      pwElt.setValign(ValignType.MIDDLE);
    } else if (vAlign.toLowerCase() == "bottom") {
      pwElt.setValign(ValignType.BOTTOM);
    } else if (vAlign.toLowerCase() == "top") {
      pwElt.setValign(ValignType.TOP);
    } else {
      pwElt.setValign(ValignType.MIDDLE);
    }

    if (bioPaxRefs.size() > 0) {
      for (int i = 0; i < bioPaxRefs.size(); i++) {
        pwElt.addBiopaxRef(bioPaxRefs.get(i));
      }
    }
    return pwElt;
  }
  /**
   * DataNode values are added to the pathway element model.
   *
   * @param centerX
   * @param centerY
   * @param width
   * @param height
   * @param textLabel
   * @param identifier
   * @param source
   * @param dnType
   * @param graphId
   * @param color
   * @param fontSize
   * @param zOrder
   * @param vAlign
   * @param groupRef
   * @param bioPaxRefs
   * @param commentList
   * @return pwElt
   */
  public static PathwayElement createDataNode(
      Double centerX,
      Double centerY,
      Double width,
      Double height,
      String textLabel,
      String identifier,
      DataSource source,
      String dnType,
      String graphId,
      Color color,
      Double fontSize,
      Integer zOrder,
      String vAlign,
      String groupRef,
      List<String> bioPaxRefs,
      List<String> commentList) {

    // create pathwayElement data node
    PathwayElement pwElt = PathwayElement.createPathwayElement(ObjectType.DATANODE);

    // for better definition of identifier and database
    Xref ref = new Xref(identifier, source);

    // put variables in element
    if (centerX != null) {
      pwElt.setMCenterX(centerX);
    } else {
      System.out.println("No CenterX for datanode!!");
      throw new EmptyStackException();
    }
    if (centerY != null) {
      pwElt.setMCenterY(centerY);
    } else {
      System.out.println("No centerY for datanode!!");
      throw new EmptyStackException();
    }
    if (width != null) {
      pwElt.setMWidth(width);
    } else {
      System.out.println("No width for datanode!!");
      throw new EmptyStackException();
    }
    if (height != null) {
      pwElt.setMHeight(height);
    } else {
      System.out.println("No height for datanode!!");
      throw new EmptyStackException();
    }
    if (!(textLabel.equals(""))) pwElt.setTextLabel(textLabel);
    else {
      System.out.println("No label name for datanode!!");
      throw new EmptyStackException();
    }
    if (!(ref.getId().isEmpty())) pwElt.setElementID(ref.getId());
    if (ref.getDataSource() != null) pwElt.setDataSource(ref.getDataSource());
    if (dnType != null) pwElt.setDataNodeType(dnType);
    if (!(graphId.equals(""))) {
      pwElt.setGraphId(graphId);
    } else {
      System.out.println("No GraphId for datanode!!");
      throw new EmptyStackException();
    }
    if (color != null) {
      pwElt.setColor(color);
    }
    if (fontSize != null) pwElt.setMFontSize(fontSize);
    if (zOrder != -1) pwElt.setZOrder(zOrder);
    // System.out.println(groupRef);
    // if (!(groupRef.equals(""))) pwElt.setGraphRef(groupRef);

    if (vAlign.toLowerCase() == "middle") {
      pwElt.setValign(ValignType.MIDDLE);
    } else if (vAlign.toLowerCase() == "bottom") {
      pwElt.setValign(ValignType.BOTTOM);
    } else if (vAlign.toLowerCase() == "top") {
      pwElt.setValign(ValignType.TOP);
    } else {
      pwElt.setValign(ValignType.MIDDLE);
    }

    if (bioPaxRefs.size() > 0) {
      for (int i = 0; i < bioPaxRefs.size(); i++) {
        pwElt.addBiopaxRef(bioPaxRefs.get(i));
      }
    }

    if (commentList.size() > 0) {
      for (int i = 0; i < commentList.size(); i += 2) {
        pwElt.addComment(commentList.get(i), commentList.get(i + 1));
      }
    }
    return pwElt;
  }