1 package org.argeo.connect.resources.core;
2
3 import javax.jcr.Node;
4 import javax.jcr.Property;
5
6 import org.argeo.connect.ConnectException;
7 import org.argeo.connect.resources.ResourcesNames;
8 import org.argeo.connect.resources.ResourcesTypes;
9 import org.argeo.connect.util.ConnectJcrUtils;
10
11 public class TagUtils {
12 public static Node retrieveTagParentFromTag(Node tag) {
13 Node parent = tag;
14 while (!ConnectJcrUtils.isNodeType(parent, ResourcesTypes.RESOURCES_TAG_PARENT))
15 parent = ConnectJcrUtils.getParent(parent);
16 return parent;
17 }
18
19 public static String retrieveTagId(Node tag) {
20 if (ConnectJcrUtils.isNodeType(tag, ResourcesTypes.RESOURCES_TAG))
21 return ConnectJcrUtils.get(tag, Property.JCR_TITLE);
22 else if (ConnectJcrUtils.isNodeType(tag, ResourcesTypes.RESOURCES_ENCODED_TAG))
23 return ConnectJcrUtils.get(tag, ResourcesNames.RESOURCES_TAG_CODE);
24 else
25 throw new ConnectException(tag + " is not a valid tag");
26 }
27
28 private TagUtils() {
29 }
30 }