import org.argeo.jcr.JcrUtils;\r
import org.argeo.slc.akb.AkbException;\r
import org.argeo.slc.akb.AkbNames;\r
+import org.argeo.slc.akb.AkbService;\r
import org.argeo.slc.akb.AkbTypes;\r
import org.argeo.slc.akb.ui.AkbUiPlugin;\r
import org.argeo.slc.akb.ui.AkbUiUtils;\r
import org.argeo.slc.akb.ui.providers.AkbTreeLabelProvider;\r
import org.argeo.slc.akb.ui.providers.TemplatesTreeContentProvider;\r
import org.argeo.slc.akb.ui.utils.Refreshable;\r
-import org.argeo.slc.akb.ui.views.AkbTemplatesTreeView.ViewDoubleClickListener;\r
+import org.argeo.slc.akb.utils.AkbJcrUtils;\r
import org.eclipse.jface.action.IContributionItem;\r
import org.eclipse.jface.action.IMenuListener;\r
import org.eclipse.jface.action.IMenuManager;\r
\r
/* DEPENDENCY INJECTION */\r
private Session session;\r
+ private AkbService akbService;\r
\r
// This page widgets\r
private TreeViewer envTreeViewer;\r
.getSelection();\r
\r
Node selected = (Node) selection.getFirstElement();\r
+ Node currEnv = null;\r
\r
boolean hasSelection = selected != null;\r
+\r
+ if (hasSelection)\r
+ currEnv = AkbJcrUtils.getCurrentTemplate(selected);\r
+\r
boolean isTemplate = hasSelection ? selected\r
.isNodeType(AkbTypes.AKB_ENV_TEMPLATE) : false;\r
boolean isParentItemsFolder = hasSelection ? selected\r
\r
// Add Connector Alias\r
Map<String, String> params = new HashMap<String, String>();\r
- if (hasSelection && isTemplate)\r
+ if (hasSelection && isTemplate) {\r
params.put(OpenAkbNodeEditor.PARAM_PARENT_NODE_JCR_ID,\r
selected.getIdentifier());\r
+ params.put(OpenAkbNodeEditor.PARAM_CURR_ENV_JCR_ID,\r
+ currEnv.getIdentifier());\r
+ }\r
params.put(OpenAkbNodeEditor.PARAM_NODE_TYPE,\r
AkbTypes.AKB_CONNECTOR_ALIAS);\r
\r
\r
// Item Submenu\r
params = new HashMap<String, String>();\r
- if (hasSelection)\r
+ if (hasSelection) {\r
params.put(OpenAkbNodeEditor.PARAM_PARENT_NODE_JCR_ID,\r
selected.getIdentifier());\r
+ params.put(OpenAkbNodeEditor.PARAM_CURR_ENV_JCR_ID,\r
+ currEnv.getIdentifier());\r
+ }\r
refreshItemsSubmenu(menuManager, window, "menu.itemsSubmenu",\r
"Add Item", isParentItemsFolder || isTemplate, params);\r
\r
// Add Item Folder\r
params = new HashMap<String, String>();\r
- if (hasSelection)\r
+ if (hasSelection) {\r
params.put(OpenAkbNodeEditor.PARAM_PARENT_NODE_JCR_ID,\r
selected.getIdentifier());\r
+ params.put(OpenAkbNodeEditor.PARAM_CURR_ENV_JCR_ID,\r
+ currEnv.getIdentifier());\r
+ }\r
params.put(OpenAkbNodeEditor.PARAM_NODE_TYPE,\r
AkbTypes.AKB_ITEM_FOLDER);\r
+\r
AkbUiUtils.refreshParameterizedCommand(menuManager, window,\r
"cmd.addItemFolder", OpenAkbNodeEditor.ID,\r
"Add item folder", null, isParentItemsFolder || isTemplate,\r
try {\r
if (obj instanceof Node) {\r
Node node = (Node) obj;\r
- CommandUtils.callCommand(OpenAkbNodeEditor.ID,\r
- OpenAkbNodeEditor.PARAM_NODE_JCR_ID,\r
+ Node currEnv = AkbJcrUtils.getCurrentTemplate(node);\r
+\r
+ // Add Connector Alias\r
+ Map<String, String> params = new HashMap<String, String>();\r
+ params.put(OpenAkbNodeEditor.PARAM_NODE_JCR_ID,\r
node.getIdentifier());\r
+ params.put(OpenAkbNodeEditor.PARAM_CURR_ENV_JCR_ID,\r
+ currEnv.getIdentifier());\r
+\r
+ CommandUtils.callCommand(OpenAkbNodeEditor.ID, params);\r
}\r
} catch (RepositoryException e) {\r
throw new AkbException("Cannot open " + obj, e);\r
throw new AkbException("unable to log in for " + ID + " view");\r
}\r
}\r
+\r
+ public void setAkbService(AkbService akbService) {\r
+ this.akbService = akbService;\r
+\r
+ }\r
}
\ No newline at end of file