blob: 91269fe23ae35893eb61894055dd85f3f6f749ea [file] [log] [blame]
/**
*
* Copyright 2004 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.ws.scout;
import java.util.Collection;
import java.util.Iterator;
import javax.xml.registry.JAXRException;
import javax.xml.registry.infomodel.Classification;
import javax.xml.registry.infomodel.Concept;
import javax.xml.registry.infomodel.EmailAddress;
import javax.xml.registry.infomodel.ExternalLink;
import javax.xml.registry.infomodel.Organization;
import javax.xml.registry.infomodel.PersonName;
import javax.xml.registry.infomodel.RegistryObject;
import javax.xml.registry.infomodel.Service;
import javax.xml.registry.infomodel.ServiceBinding;
import javax.xml.registry.infomodel.TelephoneNumber;
import javax.xml.registry.infomodel.User;
/**
* Print out code for Registry Objects
* @author <mailto:kstam@apache.org>Kurt Stam
*/
public class Printer
{
public void printOrganisation(Organization org) throws JAXRException
{
System.out.println("Org name: " + getName(org));
System.out.println("Org description: " + getDescription(org));
System.out.println("Org key id: " + getKey(org));
printUser(org);
printServices(org);
printClassifications(org);
}
public void printServices(Organization org)
throws JAXRException
{
// Display service and binding information
Collection services = org.getServices();
for (Iterator svcIter = services.iterator(); svcIter.hasNext();)
{
Service svc = (Service) svcIter.next();
System.out.println(" Service name: " + getName(svc));
System.out.println(" Service description: " + getDescription(svc));
Collection serviceBindings = svc.getServiceBindings();
for (Iterator sbIter = serviceBindings.iterator(); sbIter.hasNext();)
{
ServiceBinding sb = (ServiceBinding) sbIter.next();
System.out.println(" Binding Description: " + getDescription(sb));
System.out.println(" Access URI: " + sb.getAccessURI());
}
}
}
public void printUser(Organization org)
throws JAXRException
{
// Display primary contact information
User pc = org.getPrimaryContact();
if (pc != null)
{
PersonName pcName = pc.getPersonName();
System.out.println(" Contact name: " + pcName.getFullName());
Collection phNums = pc.getTelephoneNumbers(pc.getType());
for (Iterator phIter = phNums.iterator(); phIter.hasNext();)
{
TelephoneNumber num = (TelephoneNumber) phIter.next();
System.out.println(" Phone number: " + num.getNumber());
}
Collection eAddrs = pc.getEmailAddresses();
for (Iterator eaIter = eAddrs.iterator(); eaIter.hasNext();)
{
System.out.println(" Email Address: " + (EmailAddress) eaIter.next());
}
}
}
public void printExternalLinks(Concept concept)
throws JAXRException
{
Collection links = concept.getExternalLinks();
for (Iterator lnkIter = links.iterator(); lnkIter.hasNext();)
{
System.out.println("Link: " + ((ExternalLink) lnkIter.next()).getExternalURI().charAt(0));
}
}
public String getName(RegistryObject ro) throws JAXRException
{
if (ro != null && ro.getName() != null)
{
return ro.getName().getValue();
}
return "";
}
public String getDescription(RegistryObject ro) throws JAXRException
{
if (ro != null && ro.getDescription() != null)
{
return ro.getDescription().getValue();
}
return "";
}
public String getKey(RegistryObject ro) throws JAXRException
{
if (ro != null && ro.getKey() != null)
{
return ro.getKey().getId();
}
return "";
}
public void printClassifications(Organization ro) throws JAXRException
{
Collection c = ro.getClassifications();
Iterator i = c.iterator();
System.out.println("Classification: " + ro.getClassifications());
while (i.hasNext()) {
Classification cl = (Classification)i.next();
System.out.println("Classification: " + cl.getName());
}
}
}