+ // private String generatePomForBundle(Node n) throws RepositoryException {
+ // String ownSymbolicName = JcrUtils.get(n, SLC_SYMBOLIC_NAME);
+ //
+ // StringBuffer p = new StringBuffer();
+ //
+ // // XML header
+ // p.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
+ // p.append("<project xmlns=\"http://maven.apache.org/POM/4.0.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd\">\n");
+ // p.append("<modelVersion>4.0.0</modelVersion>");
+ //
+ // // Artifact
+ // p.append("<groupId>").append(JcrUtils.get(n, SLC_GROUP_ID))
+ // .append("</groupId>\n");
+ // p.append("<artifactId>").append(JcrUtils.get(n, SLC_ARTIFACT_ID))
+ // .append("</artifactId>\n");
+ // p.append("<version>").append(JcrUtils.get(n, SLC_ARTIFACT_VERSION))
+ // .append("</version>\n");
+ // p.append("<packaging>pom</packaging>\n");
+ // if (n.hasProperty(SLC_ + Constants.BUNDLE_NAME))
+ // p.append("<name>")
+ // .append(JcrUtils.get(n, SLC_ + Constants.BUNDLE_NAME))
+ // .append("</name>\n");
+ // if (n.hasProperty(SLC_ + Constants.BUNDLE_DESCRIPTION))
+ // p.append("<description>")
+ // .append(JcrUtils
+ // .get(n, SLC_ + Constants.BUNDLE_DESCRIPTION))
+ // .append("</description>\n");
+ //
+ // // Dependencies
+ // Set<String> dependenciesSymbolicNames = new TreeSet<String>();
+ // Set<String> optionalSymbolicNames = new TreeSet<String>();
+ // NodeIterator importPackages = n.getNodes(SLC_
+ // + Constants.IMPORT_PACKAGE);
+ // while (importPackages.hasNext()) {
+ // Node importPackage = importPackages.nextNode();
+ // String pkg = JcrUtils.get(importPackage, SLC_NAME);
+ // if (packagesToSymbolicNames.containsKey(pkg)) {
+ // String dependencySymbolicName = packagesToSymbolicNames
+ // .get(pkg);
+ // if (JcrUtils.check(importPackage, SLC_OPTIONAL))
+ // optionalSymbolicNames.add(dependencySymbolicName);
+ // else
+ // dependenciesSymbolicNames.add(dependencySymbolicName);
+ // } else {
+ // if (!JcrUtils.check(importPackage, SLC_OPTIONAL)
+ // && !systemPackages.contains(pkg))
+ // log.warn("No bundle found for pkg " + pkg);
+ // }
+ // }
+ //
+ // if (n.hasNode(SLC_ + Constants.FRAGMENT_HOST)) {
+ // String fragmentHost = JcrUtils.get(
+ // n.getNode(SLC_ + Constants.FRAGMENT_HOST),
+ // SLC_SYMBOLIC_NAME);
+ // dependenciesSymbolicNames.add(fragmentHost);
+ // }
+ //
+ // // TODO require bundles
+ //
+ // List<Node> dependencyNodes = new ArrayList<Node>();
+ // for (String depSymbName : dependenciesSymbolicNames) {
+ // if (depSymbName.equals(ownSymbolicName))
+ // continue;// skip self
+ //
+ // if (symbolicNamesToNodes.containsKey(depSymbName))
+ // dependencyNodes.add(symbolicNamesToNodes.get(depSymbName));
+ // else
+ // log.warn("Could not find node for " + depSymbName);
+ // }
+ // List<Node> optionalDependencyNodes = new ArrayList<Node>();
+ // for (String depSymbName : optionalSymbolicNames) {
+ // if (symbolicNamesToNodes.containsKey(depSymbName))
+ // optionalDependencyNodes.add(symbolicNamesToNodes
+ // .get(depSymbName));
+ // else
+ // log.warn("Could not find node for " + depSymbName);
+ // }
+ //
+ // p.append("<dependencies>\n");
+ // for (Node dependencyNode : dependencyNodes) {
+ // p.append("<dependency>\n");
+ // p.append("\t<groupId>")
+ // .append(JcrUtils.get(dependencyNode, SLC_GROUP_ID))
+ // .append("</groupId>\n");
+ // p.append("\t<artifactId>")
+ // .append(JcrUtils.get(dependencyNode, SLC_ARTIFACT_ID))
+ // .append("</artifactId>\n");
+ // p.append("</dependency>\n");
+ // }
+ //
+ // if (optionalDependencyNodes.size() > 0)
+ // p.append("<!-- OPTIONAL -->\n");
+ // for (Node dependencyNode : optionalDependencyNodes) {
+ // p.append("<dependency>\n");
+ // p.append("\t<groupId>")
+ // .append(JcrUtils.get(dependencyNode, SLC_GROUP_ID))
+ // .append("</groupId>\n");
+ // p.append("\t<artifactId>")
+ // .append(JcrUtils.get(dependencyNode, SLC_ARTIFACT_ID))
+ // .append("</artifactId>\n");
+ // p.append("\t<optional>true</optional>\n");
+ // p.append("</dependency>\n");
+ // }
+ // p.append("</dependencies>\n");
+ //
+ // // Dependency management
+ // p.append("<dependencyManagement>\n");
+ // p.append("<dependencies>\n");
+ // p.append("<dependency>\n");
+ // p.append("\t<groupId>").append(groupId).append("</groupId>\n");
+ // p.append("\t<artifactId>")
+ // .append(ownSymbolicName.endsWith(".source") ?
+ // RepoConstants.SOURCES_ARTIFACT_ID
+ // : RepoConstants.BINARIES_ARTIFACT_ID)
+ // .append("</artifactId>\n");
+ // p.append("\t<version>").append(version).append("</version>\n");
+ // p.append("\t<type>pom</type>\n");
+ // p.append("\t<scope>import</scope>\n");
+ // p.append("</dependency>\n");
+ // p.append("</dependencies>\n");
+ // p.append("</dependencyManagement>\n");
+ //
+ // p.append("</project>\n");
+ // return p.toString();
+ // }
+