コード例 #1
0
  private void copyAction(Action attr, IAction xmlAttr) {
    copyAttribute(attr, xmlAttr);
    xmlAttr.setFilter(attr.getFilter());

    if (!attr.getPrerequisites().isEmpty()) {
      IPrerequisites xps = ICSpecXMLFactory.eINSTANCE.createPrerequisites();
      xmlAttr.getPrerequisites().add(xps);
      xps.setAlias(attr.getPrerequisitesAlias());
      xps.setRebase(createStringFromPath(attr.getPrerequisitesRebase()));
      copyPrerequisites(attr.getPrerequisites(), xps.getAttribute());
    }
    IProductsType pt = ICSpecXMLFactory.eINSTANCE.createProductsType();
    xmlAttr.getProducts().add(pt);
    PathGroup product = attr.getProduct();
    if (product != null) {
      pt.setBase(createStringFromPath(product.getBase()));
      copyPathGroup(product, pt);
    } else {
      for (ActionAttribute aa : attr.getProducts()) {
        IActionArtifact xmlAa = ICSpecXMLFactory.eINSTANCE.createActionArtifact();
        xmlAa.setAlias(aa.getAlias());
        copyArtifact(aa, xmlAa);
        if (aa.isPublic()) pt.getPublic().add(xmlAa);
        else pt.getPrivate().add(xmlAa);
      }
    }
    pt.setAlias(attr.getProductAlias());
    pt.setFileCount(attr.getProductFileCount());
    pt.setUpToDatePolicy(
        org.eclipse.buckminster.cspecxml.UpToDatePolicy.valueOf(
            attr.getUpToDatePolicy().getName()));
    pt.setPattern(attr.getPattern());
    pt.setReplacement(attr.getReplacement());
  }
コード例 #2
0
  private void copyPathGroup(PathGroup attr, IProductsType product) {
    product.setBase(createStringFromPath(attr.getBase()));
    List<IPath> paths = attr.getPaths();
    if (paths.size() == 0) return;

    List<org.eclipse.buckminster.cspecxml.IPath> xmlPaths = product.getPath();
    for (IPath path : paths) {
      org.eclipse.buckminster.cspecxml.IPath xmlPath = ICSpecXMLFactory.eINSTANCE.createPath();
      xmlPath.setPath(createStringFromPath(path));
      xmlPaths.add(xmlPath);
    }
  }