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