You can use the UDDI registry administrative interface to set publish tier limits, which control the number of each type of UDDI entity that a publisher can save in the UDDI registry.
In the samples for WebSphere® Application Server, the ManageTiersSample class in the UDDI registry samples demonstrates these operations.
String tierName = "Tier 100";
String tierDescription = "A tier with all limits set to 100.";
TierInfo tierInfo = new TierInfo(null, tierName, tierDescription);
List limits = new ArrayList();
Limit businessLimit = new Limit();
businessLimit.setIntegerValue(100);
businessLimit.setId(LimitConstants.BUSINESS_LIMIT);
Limit serviceLimit = new Limit();
serviceLimit.setIntegerValue(100);
serviceLimit.setId(LimitConstants.SERVICE_LIMIT);
Limit bindingLimit = new Limit();
bindingLimit.setIntegerValue(100);
bindingLimit.setId(LimitConstants.BINDING_LIMIT);
Limit tModelLimit = new Limit();
tModelLimit.setIntegerValue(100);
tModelLimit.setId(LimitConstants.TMODEL_LIMIT);
Limit assertionLimit = new Limit();
assertionLimit.setIntegerValue(100);
assertionLimit.setId(LimitConstants.ASSERTION_LIMIT);
limits.add(businessLimit);
limits.add(serviceLimit);
limits.add(bindingLimit);
limits.add(tModelLimit);
limits.add(assertionLimit);
Tier tier = new Tier(tierInfo, limits);
Tier createdTier = uddiNode.createTier(tier);
tierId = createdTier.getId();
System.out.println("created tier has ID: " + tierId);
Tier tier = uddiNode.getTierDetail("2");
modifiedTier.setName(tier.getName());
modifiedTier.setDescription(tier.getDescription());
Limit tModelLimit = new Limit();
tModelLimit.setId(LimitConstants.TMODEL_LIMIT);
tModelLimit.setIntegerValue(50);
List updatedLimits = new ArrayList();
updatedLimits.add(tModelLimit);
modifiedTier.setLimits(updatedLimits);
uddiNode.updateTier(modifiedTier);
List tierInfos = uddiNode.getTierInfos();
if (tierInfos != null) {
for (Iterator iter = tierInfos.iterator(); iter.hasNext();) {
TierInfo tierInfo = (TierInfo) iter.next();
System.out.println(tierInfo);
}
}
uddiNode.setDefaultTier("4");
uddiNode.deleteTier("4");
Integer userCount = uddiNode.getUserCount("4");
System.out.println("users in tier 4: " + userCount.intValue());
getLimitInfos:
List limits = uddiNode.getLimitInfos();
for (Iterator iter = limits.iterator(); iter.hasNext();) {
Limit limit = (Limit) iter.next();
System.out.println("limit ID: " + limit.getId() + ", limit value: "
+ limit.getIntegerValue());
}