Every object in the Registry has two identifiers, a unique identifier (also called a Key) and a logical identifier. Often, the unique identifier is the same as the logical identifier. However, when an object exists in more than one version, the unique identifiers are different for each version, but the logical identifier remains the same. (See Retrieving the Version of an Object.)
If you know the value of the unique identifier for an object, you can retrieve the object by calling the QueryManager.getRegistryObject method with the String value as an argument. For example, if bqm is your BusinessQueryManager instance and idString is the String value, the following line of code retrieves the object:
RegistryObject obj = bqm.getRegistryObject(idString);
After you have the object, you can obtain its type, name, description, and other attributes.
Finding objects by identifier is the most efficient way to retrieve objects from the Registry.
For an example of finding objects by unique identifier, see JAXRSearchById.java in the directory install/registry-samples/search-id/src, which searches for objects that have a specified unique identifier.
Go to the directory install/registry-samples/search-id.
Type the following command:
Ant-base/ant run -Did=urn-value |
For example, if you specify the following ID, you retrieve information on the ObjectType classification scheme.
urn:oasis:names:tc:ebxml-regrep:classificationScheme:ObjectType |
If you specify this argument, the output of the run target looks something like this:
run: [java] ID string is urn:oasis:names:tc:ebxml-regrep:classificationScheme:ObjectType [java] Query URL is http://localhost:6480/soar/registry/soap [java] Created connection to registry [java] Got registry service and query manager [java] Object type is ClassificationScheme [java] Object name is ObjectType [java] Object description is Canonical ClassificationScheme that defines the different types of RegistryObjects a registry may support |