private static final int AUTH_INSTANCE_TOKEN = 2; // name(Entry Methods)'Entry Methods'\r
private static final int ITEMS_TOKEN = 3; // 'item', 'person', etc.\r
private static final int ITEM_INSTANCE_TOKEN = 4; // name(Entry Methods)'Entry Methods'\r
+ private static final int AUTH_REFNAME_TOKENS = 3; // domain, resource, auth\r
+ private static final int AUTH_ITEM_REFNAME_TOKENS = 5; // domain, resource, auth, "items", item\r
// Tokenizing the INSTANCE, these are indices for each item-part\r
private static final int INSTANCE_SPEC_TYPE_TOKEN = 0; // 'name' or 'id' \r
private static final int INSTANCE_SPEC_TOKEN = 1; // name or id value\r
throws IllegalArgumentException {\r
if(refName==null || !refName.startsWith(URN_PREFIX))\r
throw new IllegalArgumentException( "Null or invalid refName syntax");\r
- return new AuthorityInfo(refName.substring(URN_PREFIX_LEN).split(SEPARATOR));\r
+ String[] refNameTokens = refName.substring(URN_PREFIX_LEN).split(SEPARATOR, AUTH_REFNAME_TOKENS);\r
+ return new AuthorityInfo(refNameTokens);\r
}\r
\r
public static AuthorityTermInfo parseAuthorityTermInfo(String refName)\r
throws IllegalArgumentException {\r
if(refName==null || !refName.startsWith(URN_PREFIX))\r
throw new IllegalArgumentException( "Null or invalid refName syntax");\r
- return new AuthorityTermInfo(refName.substring(URN_PREFIX_LEN).split(SEPARATOR));\r
+ String[] refNameTokens = refName.substring(URN_PREFIX_LEN).split(SEPARATOR, AUTH_ITEM_REFNAME_TOKENS);\r
+ return new AuthorityTermInfo(refNameTokens);\r
}\r
\r
public static String implodeStringArray(String tokens[], String separator) {\r
public static String getItemShortId(String refName) {\r
String name = "";\r
try {\r
- String [] refNameTokens = refName.substring(URN_PREFIX_LEN).split(SEPARATOR);\r
+ String[] refNameTokens = refName.substring(URN_PREFIX_LEN).split(SEPARATOR, AUTH_ITEM_REFNAME_TOKENS);\r
AuthorityTermInfo authTermInfo = new AuthorityTermInfo(refNameTokens);\r
name = authTermInfo.name;\r
} catch(Exception e) {\r