public static XDIAddress getTemplateAuthorityAndId(XDIAddress XDIaddress) { int index = XDIAddressUtil.indexOfXDIArc(XDIaddress, XDILinkContractConstants.XDI_ARC_V_CONTRACT); if (index < 0) return null; return XDIAddressUtil.subXDIAddress(XDIaddress, 0, index); }
XDIAddress contractTargetAddress = XDIAddressUtil.subXDIAddress(targetXDIAddress, 0, XDIAddressUtil.indexOfXDIArc(targetXDIAddress, XDILinkContractConstants.XDI_ARC_CONTRACT));
public static XDIAddress getTemplateAuthorityAndId(XDIAddress XDIaddress) { XDIaddress = XDIAddressUtil.extractXDIAddress(XDIaddress, XdiInnerRoot.class, false, true, false, false, true); if (XDIaddress == null) return null; int index = XDIAddressUtil.indexOfXDIArc(XDIaddress, XDILinkContractConstants.XDI_ARC_CONTRACT); if (index < 0) index = XDIAddressUtil.indexOfXDIArc(XDIaddress, XdiEntityCollection.createXDIArc(XDILinkContractConstants.XDI_ARC_CONTRACT)); XDIAddress templateAuthorityAndId = XDIAddressUtil.subXDIAddress(XDIaddress, 1, index); if (XDIConstants.XDI_ADD_ROOT.equals(templateAuthorityAndId)) return null; return templateAuthorityAndId; }
public void testSubXDIAddress() throws Exception { XDIAddress XDIaddress1 = XDIAddress.create("=bob#x=alice#y+registration#z"); int index1_1 = XDIAddressUtil.indexOfXDIArc(XDIaddress1, XDIArc.create("#x")); int index1_2 = XDIAddressUtil.indexOfXDIArc(XDIaddress1, XDIArc.create("#y")); assertEquals(index1_1, 1); assertEquals(index1_2, 3); assertEquals(XDIAddressUtil.subXDIAddress(XDIaddress1, 0, index1_1), XDIAddress.create("=bob")); assertEquals(XDIAddressUtil.subXDIAddress(XDIaddress1, index1_1 + 1, index1_2), XDIAddress.create("=alice")); XDIAddress XDIaddress2 = XDIAddress.create("=!1111#x=!2222#y+registration#z"); int index2_1 = XDIAddressUtil.indexOfXDIArc(XDIaddress2, XDIArc.create("#x")); int index2_2 = XDIAddressUtil.indexOfXDIArc(XDIaddress2, XDIArc.create("#y")); assertEquals(index2_1, 1); assertEquals(index2_2, 3); assertEquals(XDIAddressUtil.subXDIAddress(XDIaddress2, 0, index2_1), XDIAddress.create("=!1111")); assertEquals(XDIAddressUtil.subXDIAddress(XDIaddress2, index2_1 + 1, index2_2), XDIAddress.create("=!2222")); }