return address;
}
public static BindingTemplate getBindingTemplateFromJAXRSB(
ServiceBinding serviceBinding) throws JAXRException {
BindingTemplate bt = objectFactory.createBindingTemplate();
if (serviceBinding.getKey() != null && serviceBinding.getKey().getId() != null) {
bt.setBindingKey(serviceBinding.getKey().getId());
} else {
bt.setBindingKey("");
}
try {
// Set Access URI
String accessuri = serviceBinding.getAccessURI();
if (accessuri != null) {
AccessPoint accessPoint = objectFactory.createAccessPoint();
accessPoint.setURLType(getURLType(accessuri));
accessPoint.setValue(accessuri);
bt.setAccessPoint(accessPoint);
}
ServiceBinding sb = serviceBinding.getTargetBinding();
if (sb != null) {
HostingRedirector red = objectFactory.createHostingRedirector();
Key key = sb.getKey();
if (key != null && key.getId() != null) {
red.setBindingKey(key.getId());
} else {
red.setBindingKey("");
}
bt.setHostingRedirector(red);
} else {
if (bt.getAccessPoint() == null) {
bt.setAccessPoint(objectFactory.createAccessPoint());
}
}
// TODO:Need to look further at the mapping b/w BindingTemplate and
// Jaxr ServiceBinding
// Get Service information
Service svc = serviceBinding.getService();
if (svc != null && svc.getKey() != null && svc.getKey().getId() != null) {
bt.setServiceKey(svc.getKey().getId());
}
InternationalString idesc = serviceBinding.getDescription();
addDescriptions(bt.getDescription(), idesc);
// SpecificationLink
Collection<SpecificationLink> slcol = serviceBinding.getSpecificationLinks();
TModelInstanceDetails tid = objectFactory.createTModelInstanceDetails();
if (slcol != null && !slcol.isEmpty()) {
Iterator<SpecificationLink> iter = slcol.iterator();
while (iter.hasNext()) {
SpecificationLink slink = (SpecificationLink) iter.next();
TModelInstanceInfo emptyTInfo = objectFactory.createTModelInstanceInfo();
tid.getTModelInstanceInfo().add(emptyTInfo);
RegistryObject specificationObject = slink.getSpecificationObject();
if (specificationObject.getKey() != null && specificationObject.getKey().getId() != null) {
emptyTInfo.setTModelKey(specificationObject.getKey().getId());
if (specificationObject.getDescription()!=null) {
for (Object o : specificationObject.getDescription().getLocalizedStrings()) {
LocalizedString locDesc = (LocalizedString) o;
Description description = objectFactory.createDescription();
emptyTInfo.getDescription().add(description);
description.setValue(locDesc.getValue());
description.setLang(locDesc.getLocale().getLanguage());
}
}
Collection<ExternalLink> externalLinks = slink.getExternalLinks();
if (externalLinks!=null && externalLinks.size()>0) {
for (ExternalLink link : externalLinks) {
InstanceDetails ids = objectFactory.createInstanceDetails();
emptyTInfo.setInstanceDetails(ids);
if (link.getDescription()!=null) {
Description description = objectFactory.createDescription();
ids.getDescription().add(description);
description.setValue(link.getDescription().getValue());
}
if (link.getExternalURI()!=null) {
OverviewDoc overviewDoc = objectFactory.createOverviewDoc();
ids.setOverviewDoc(overviewDoc);
overviewDoc.setOverviewURL(link.getExternalURI());
}
}
}
}
}
}
bt.setTModelInstanceDetails(tid);
log.debug("BindingTemplate=" + bt.toString());
} catch (Exception ud) {
throw new JAXRException("Apache JAXR Impl:", ud);
}
return bt;
}