+ // //////////////////////////
+ // ENVIRONMENTS
+ @Override
+ public Node createActiveEnv(Node template, String name,
+ boolean copyDefaultConnectors) throws RepositoryException {
+
+ Session session = template.getSession();
+ Node parentEnvNode = session.getNode(AKB_ENVIRONMENTS_BASE_PATH);
+ Node createdEnv = parentEnvNode.addNode(name, AkbTypes.AKB_ENV);
+ createdEnv.setProperty(AKB_ENV_TEMPLATE_PATH, template.getPath());
+ createdEnv.setProperty(Property.JCR_TITLE, name);
+
+ Node connectorParent = createdEnv.addNode(
+ AkbTypes.AKB_CONNECTOR_FOLDER, AkbTypes.AKB_CONNECTOR_FOLDER);
+
+ NodeIterator ni = template.getNode(AkbTypes.AKB_CONNECTOR_FOLDER)
+ .getNodes();
+ while (ni.hasNext()) {
+ Node currNode = ni.nextNode();
+ if (currNode.isNodeType(AkbTypes.AKB_CONNECTOR_ALIAS)) {
+ Node newConnector = connectorParent.addNode(currNode.getName(),
+ AkbTypes.AKB_CONNECTOR);
+ newConnector.setProperty(AKB_CONNECTOR_ALIAS_PATH,
+ currNode.getPath());
+ if (copyDefaultConnectors
+ && currNode
+ .hasNode(AkbNames.AKB_DEFAULT_TEST_CONNECTOR)) {
+ Node defaultConn = currNode
+ .getNode(AkbNames.AKB_DEFAULT_TEST_CONNECTOR);
+ if (defaultConn.hasProperty(AkbNames.AKB_CONNECTOR_URL))
+ newConnector
+ .setProperty(
+ AkbNames.AKB_CONNECTOR_URL,
+ defaultConn.getProperty(
+ AkbNames.AKB_CONNECTOR_URL)
+ .getString());
+ if (defaultConn.hasProperty(AkbNames.AKB_CONNECTOR_USER))
+ newConnector.setProperty(
+ AkbNames.AKB_CONNECTOR_USER,
+ defaultConn.getProperty(
+ AkbNames.AKB_CONNECTOR_USER)
+ .getString());
+ }
+ }
+ }
+ return createdEnv;
+ }
+