package org.jssl.serviceregistry;

import org.jssl.serviceregistry.uti.registryaccess.*;
import java.util.*;
import javax.xml.registry.*;

public class ServiceRegistryImpl implements ServiceRegistryIF
{
    private static ServiceRegistry impl = new ServiceRegistry();

    public String setDefaultPublishUrl(RegistryPublishUrl purl[], String uname, String pword) {
        String sid = new String();
        sid = impl.setDefaultPublishUrl(purl, uname, pword);
        return (sid);
    }

    public RegistryPublishUrl[] getDefaultPublishUrl(String sid) {
        RegistryPublishUrl result[] = null;
        result = impl.getDefaultPublishUrl(sid);
        return (result);
    }

    public String setDefaultInquiryUrl(RegistryInquiryUrl qurl[], String uname, String pword) {
        String sid = new String();
        sid = impl.setDefaultInquiryUrl(qurl, uname, pword);
        return (sid);
    }

    public RegistryInquiryUrl[] getDefaultInquiryUrl(String sid) {
        RegistryInquiryUrl result[] = null;
        result = impl.getDefaultInquiryUrl(sid);
        return (result);
    }

  public String[] registerBusinessByUrl(String publishurl[], String username[], String password[], Organization org[])
    {
    String result[] = null;
    javax.xml.registry.infomodel.Organization iorgs[] = null;
    try
    {
    BusinessLifeCycleManager blcm = null;
    if  (!(publishurl==null || (publishurl.length/3)==0))
        {
        for (int i=0;i<publishurl.length/3;i++)
            blcm = impl.getBusinessLifeCycleManager();
        if (org!=null)
        {
        iorgs = new javax.xml.registry.infomodel.Organization[org.length];                
        for (int i=0;i<org.length;i++)    
        {
        javax.xml.registry.infomodel.Organization iorg = blcm.createOrganization(org[i].getName().getValue());
        InternationalString orgdesc = org[i].getDescription();
        javax.xml.registry.infomodel.InternationalString iorgdesc = blcm.createInternationalString(orgdesc.getValue());
        iorg.setDescription(iorgdesc);
        Collection srvs = org[i].getServices();
        if (srvs!=null)
           {
           Iterator srvsiter = srvs.iterator();
           Collection temp = new ArrayList();
           while (srvsiter.hasNext())
                 {
                 Service x = (Service) srvsiter.next();
                 javax.xml.registry.infomodel.Service ix = blcm.createService(x.getName().getValue());
                 InternationalString xdesc = x.getDescription();
                 javax.xml.registry.infomodel.InternationalString ixdesc = blcm.createInternationalString(xdesc.getValue());
                 ix.setDescription(ixdesc);
                 temp.add(ix);
                 }
           iorg.addServices(temp);
           }
        iorgs[i] = iorg;
        }
        result = impl.registerBusinessByUrl(publishurl, username, password, iorgs);
        }
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }

  public int[] updateBusinessByUrl(String publishurl[], String username[], String password[], Organization org[])
    {
    int result[] = null;
    try
    {
    BusinessLifeCycleManager blcm = null;
    if  (!(publishurl==null || (publishurl.length/3)==0))
        {
        for (int i=0;i<publishurl.length/3;i++)
            blcm = impl.getBusinessLifeCycleManager();
        javax.xml.registry.infomodel.Organization iorgs[] = new javax.xml.registry.infomodel.Organization[org.length];            
        for (int j=0;j<org.length;j++)
        {
        javax.xml.registry.infomodel.Organization iorg = blcm.createOrganization(org[j].getName().getValue());
        InternationalString orgdesc = org[j].getDescription();
        Key orgkey = org[j].getKey();
        javax.xml.registry.infomodel.Key iorgkey = blcm.createKey(orgkey.getId());
        javax.xml.registry.infomodel.InternationalString iorgdesc = blcm.createInternationalString(orgdesc.getValue());
        iorg.setKey(iorgkey);
        iorg.setDescription(iorgdesc);
        Collection srvs = org[j].getServices();
        if (srvs!=null)
           {
           Iterator srvsiter = srvs.iterator();
           Collection temp = new ArrayList();
           while (srvsiter.hasNext())
                 {
                 Service x = (Service) srvsiter.next();
                 javax.xml.registry.infomodel.Service ix = blcm.createService(x.getName().getValue());
                 InternationalString xdesc = x.getDescription();
                 Key xkey = x.getKey();
                 javax.xml.registry.infomodel.InternationalString ixdesc = blcm.createInternationalString(xdesc.getValue());
                 javax.xml.registry.infomodel.Key ixkey = blcm.createKey(xkey.getId());
                 ix.setKey(ixkey);
                 ix.setDescription(ixdesc);
                 temp.add(ix);
                 }
           iorg.addServices(temp);
           }
        iorgs[j] = iorg;   
        }   
        result = impl.updateBusinessByUrl(publishurl, username, password, iorgs);
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }

  public int[] updateBusiness(String sid, Organization org[])
    {
    int result[] = null;
    try
    {
    BusinessLifeCycleManager blcm = null;
    if  (!(sid==null || sid.equals("")))
        {
        RegistryPublishUrl publishurl[] = impl.getDefaultPublishUrl(sid);
        if  (!(publishurl==null || publishurl.length==0))
            {
            for (int i=0;i<publishurl.length;i++)
                blcm = impl.getBusinessLifeCycleManager();
            javax.xml.registry.infomodel.Organization iorgs[] = new javax.xml.registry.infomodel.Organization[org.length];                
            for (int j=0;j<org.length;j++)                  
                {
                javax.xml.registry.infomodel.Organization iorg = blcm.createOrganization(org[j].getName().getValue());
                InternationalString orgdesc = org[j].getDescription();
                javax.xml.registry.infomodel.InternationalString iorgdesc = blcm.createInternationalString(orgdesc.getValue());
                iorg.setDescription(iorgdesc);
                Key orgkey = org[j].getKey();
                javax.xml.registry.infomodel.Key iorgkey = blcm.createKey(orgkey.getId());
                iorg.setKey(iorgkey);
                Collection srvs = org[j].getServices();
                if (srvs!=null)
                   {
                   Iterator srvsiter = srvs.iterator();
                   Collection temp = new ArrayList();
                   while (srvsiter.hasNext())
                         {
                         Service x = (Service) srvsiter.next();
                         javax.xml.registry.infomodel.Service ix = blcm.createService(x.getName().getValue());
                         InternationalString xdesc = x.getDescription();
                         javax.xml.registry.infomodel.InternationalString ixdesc = blcm.createInternationalString(xdesc.getValue());
                         ix.setDescription(ixdesc);
                         Key xkey = x.getKey();
                         javax.xml.registry.infomodel.Key ixkey = blcm.createKey(xkey.getId());
                         ix.setKey(ixkey);
                         temp.add(ix);
                         }
                   iorg.addServices(temp);
                   }
                iorgs[j] = iorg;   
                }                   
            result = impl.updateBusiness(sid, iorgs);
            }
       }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }

  public int[] updateServiceByUrl(String publishurl[], String username[], String password[], String businessid[], Service srv[], Collection srvbdgs)
    {
    int result[] = null;
    try
    {
    BusinessLifeCycleManager blcm = null;
    if  (!(publishurl==null || (publishurl.length/3)==0))
        {
        for (int i=0;i<publishurl.length/3;i++)
            blcm = impl.getBusinessLifeCycleManager();
        javax.xml.registry.infomodel.Service isrvs[] = new javax.xml.registry.infomodel.Service[srv.length];            
        for (int j=0;j<srv.length;j++)
        {
        javax.xml.registry.infomodel.Service isrv = blcm.createService(srv[j].getName().getValue());
        InternationalString srvdesc = srv[j].getDescription();
        javax.xml.registry.infomodel.InternationalString isrvdesc = blcm.createInternationalString(srvdesc.getValue());
        isrv.setDescription(isrvdesc);
        Key srvkey = srv[j].getKey();
        javax.xml.registry.infomodel.Key isrvkey = blcm.createKey(srvkey.getId());
        isrv.setKey(isrvkey);
        if (srvbdgs!=null)
           {
           Iterator srvbdgsiter = srvbdgs.iterator();
           Collection temp = new ArrayList();
           while (srvbdgsiter.hasNext())
                 {
                 ServiceBinding x = (ServiceBinding) srvbdgsiter.next();
                 javax.xml.registry.infomodel.ServiceBinding ix = blcm.createServiceBinding();
                 InternationalString xdesc = x.getDescription();
                 javax.xml.registry.infomodel.InternationalString ixdesc = blcm.createInternationalString(xdesc.getValue());
                 ix.setDescription(ixdesc);
                 Key xkey = x.getKey();
                 javax.xml.registry.infomodel.Key ixkey = blcm.createKey(xkey.getId());
                 ix.setKey(ixkey);
                 temp.add(ix);
                 }
           isrv.addServiceBindings(temp);
           }
        isrvs[j] = isrv;           
        }
        result = impl.updateServiceByUrl(publishurl, username, password, businessid, isrvs);
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }

  public int[] updateService(String sid, String businessid[], Service srv[], Collection srvbdgs)
    {
    int result[] = null;
    try
    {
    BusinessLifeCycleManager blcm = null;
    if  (!(sid==null || sid.equals("")))
        {
        RegistryPublishUrl publishurl[] = impl.getDefaultPublishUrl(sid);
        if  (!(publishurl==null || publishurl.length==0))
            {
            for (int i=0;i<publishurl.length;i++)
                blcm = impl.getBusinessLifeCycleManager();
            javax.xml.registry.infomodel.Service isrvs[] = new javax.xml.registry.infomodel.Service[srv.length];
            for (int j=0;j<srv.length;j++)  
            {
            javax.xml.registry.infomodel.Service isrv = blcm.createService(srv[j].getName().getValue());
            InternationalString srvdesc = srv[j].getDescription();
            javax.xml.registry.infomodel.InternationalString isrvdesc = blcm.createInternationalString(srvdesc.getValue());
            isrv.setDescription(isrvdesc);
            Key srvkey = srv[j].getKey();
            javax.xml.registry.infomodel.Key isrvkey = blcm.createKey(srvkey.getId());
            isrv.setKey(isrvkey);
            if (srvbdgs!=null)
               {
               Iterator srvbdgsiter = srvbdgs.iterator();
               Collection temp = new ArrayList();
               while (srvbdgsiter.hasNext())
                     {
                     ServiceBinding x = (ServiceBinding) srvbdgsiter.next();
                     javax.xml.registry.infomodel.ServiceBinding ix = blcm.createServiceBinding();
                     InternationalString xdesc = x.getDescription();
                     javax.xml.registry.infomodel.InternationalString ixdesc = blcm.createInternationalString(xdesc.getValue());
                     ix.setDescription(ixdesc);
                     Key xkey = x.getKey();
                     javax.xml.registry.infomodel.Key ixkey = blcm.createKey(xkey.getId());
                     ix.setKey(ixkey);
                     temp.add(ix);
                     }
               isrv.addServiceBindings(temp);
               }
            isrvs[j] = isrv;   
            }   
            result = impl.updateService(sid, businessid, isrvs);
            }
       }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }

  public int[] updateServiceBindingByUrl(String publishurl[], String username[], String password[], String serviceid[], ServiceBinding srv[])
    {
    int result[] = null;
    try
    {
    BusinessLifeCycleManager blcm = null;
    if  (!(publishurl==null || (publishurl.length/3)==0))
        {
        for (int i=0;i<publishurl.length/3;i++)
            blcm = impl.getBusinessLifeCycleManager();
        javax.xml.registry.infomodel.ServiceBinding isrvs[] = new javax.xml.registry.infomodel.ServiceBinding[srv.length];    
        for (int j=0;j<srv.length;j++)
        {
        javax.xml.registry.infomodel.ServiceBinding isrv = blcm.createServiceBinding();
        InternationalString srvdesc = srv[j].getDescription();
        javax.xml.registry.infomodel.InternationalString isrvdesc = blcm.createInternationalString(srvdesc.getValue());
        isrv.setDescription(isrvdesc);
        Key srvkey = srv[j].getKey();
        javax.xml.registry.infomodel.Key isrvkey = blcm.createKey(srvkey.getId());
        isrv.setKey(isrvkey);
        isrv.setAccessURI(srv[j].getAccessURI());
        isrvs[j] = isrv;
        }
        result = impl.updateServiceBindingByUrl(publishurl, username, password, serviceid, isrvs);
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }

  public int[] updateServiceBinding(String sid, String serviceid[], ServiceBinding srv[])
    {
    int result[] = null;
    try
    {
    BusinessLifeCycleManager blcm = null;
    if  (!(sid==null || sid.equals("")))
        {
        RegistryPublishUrl publishurl[] = impl.getDefaultPublishUrl(sid);
        if  (!(publishurl==null || publishurl.length==0))
            {
            for (int i=0;i<publishurl.length;i++)
                blcm = impl.getBusinessLifeCycleManager();
            javax.xml.registry.infomodel.ServiceBinding isrvs[] = new javax.xml.registry.infomodel.ServiceBinding[srv.length];    
            for (int j=0;j<srv.length;j++)
            {
            javax.xml.registry.infomodel.ServiceBinding isrv = blcm.createServiceBinding();
            InternationalString srvdesc = srv[j].getDescription();
            javax.xml.registry.infomodel.InternationalString isrvdesc = blcm.createInternationalString(srvdesc.getValue());
            isrv.setDescription(isrvdesc);
            Key srvkey = srv[j].getKey();
            javax.xml.registry.infomodel.Key isrvkey = blcm.createKey(srvkey.getId());
            isrv.setKey(isrvkey);
            isrv.setAccessURI(srv[j].getAccessURI());
            isrvs[j] = isrv;
            }
            result = impl.updateServiceBinding(sid, serviceid, isrvs);
            }
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }

  public int[] updateCategoryByUrl(String publishurl[], String username[], String password[], ClassificationScheme category[])
    {
    int result[] = null;
    try
    {
    BusinessLifeCycleManager blcm = null;
    if  (!(publishurl==null || (publishurl.length/3)==0))
        {
        for (int i=0;i<publishurl.length/3;i++)
            blcm = impl.getBusinessLifeCycleManager();
        javax.xml.registry.infomodel.ClassificationScheme ictgys[] = new javax.xml.registry.infomodel.ClassificationScheme[category.length];
        for (int j=0;j<category.length;j++)
        {
        javax.xml.registry.infomodel.ClassificationScheme icategory = blcm.createClassificationScheme(category[j].getName().getValue(), category[j].getDescription().getValue());
        Key categorykey = category[j].getKey();
        javax.xml.registry.infomodel.Key icategorykey = blcm.createKey(categorykey.getId());
        icategory.setKey(icategorykey);
        ictgys[j] = icategory;
        }
        result = impl.updateCategoryByUrl(publishurl, username, password, ictgys);
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }

  public int[] updateCategory(String sid, ClassificationScheme category[])
    {
    int result[] = null;
    try
    {
    BusinessLifeCycleManager blcm = null;
    if  (!(sid==null || sid.equals("")))
        {
        RegistryPublishUrl publishurl[] = impl.getDefaultPublishUrl(sid);
        if  (!(publishurl==null || publishurl.length==0))
            {
            for (int i=0;i<publishurl.length;i++)
                blcm = impl.getBusinessLifeCycleManager();
            javax.xml.registry.infomodel.ClassificationScheme ictgys[] = new javax.xml.registry.infomodel.ClassificationScheme[category.length];     
            for (int j=0;j<category.length;j++)    
            {
            javax.xml.registry.infomodel.ClassificationScheme icategory = blcm.createClassificationScheme(category[j].getName().getValue(), category[j].getDescription().getValue());
            Key categorykey = category[j].getKey();
            javax.xml.registry.infomodel.Key icategorykey = blcm.createKey(categorykey.getId());
            icategory.setKey(icategorykey);
            ictgys[j] = icategory;
            }
            result = impl.updateCategory(sid, ictgys);
            }
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }

  public int[] updateConceptByUrl(String publishurl[], String username[], String password[], Concept concept[])
    {
    int result[] = null;
    try
    {
    BusinessLifeCycleManager blcm = null;
    if  (!(publishurl==null || (publishurl.length/3)==0))
        {
        for (int i=0;i<publishurl.length/3;i++)
            blcm = impl.getBusinessLifeCycleManager();
        javax.xml.registry.infomodel.Concept icpts[] = new javax.xml.registry.infomodel.Concept[concept.length];
        for (int j=0;j<concept.length;j++)
        {
        javax.xml.registry.infomodel.Concept iconcept = blcm.createConcept(null, concept[j].getName().getValue(), "");
        javax.xml.registry.infomodel.InternationalString conceptdesc = blcm.createInternationalString(concept[j].getDescription().getValue());
        iconcept.setDescription(conceptdesc);
        javax.xml.registry.infomodel.Key conceptkey = blcm.createKey(concept[j].getKey().getId());
        iconcept.setKey(conceptkey);
        icpts[j] = iconcept;
        }
        result = impl.updateConceptByUrl(publishurl, username, password, icpts);
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }

  public int[] updateConcept(String sid, Concept concept[])
    {
    int result[] = null;
    try
    {
    BusinessLifeCycleManager blcm = null;
    if  (!(sid==null || sid.equals("")))
        {
        RegistryPublishUrl publishurl[] = impl.getDefaultPublishUrl(sid);
        if  (!(publishurl==null || publishurl.length==0))
            {
            for (int i=0;i<publishurl.length;i++)
                blcm = impl.getBusinessLifeCycleManager();
            javax.xml.registry.infomodel.Concept icpts[] = new javax.xml.registry.infomodel.Concept[concept.length];
            for (int j=0;j<concept.length;j++)
            {                
            javax.xml.registry.infomodel.Concept iconcept = blcm.createConcept(null, concept[j].getName().getValue(), "");
            javax.xml.registry.infomodel.InternationalString conceptdesc = blcm.createInternationalString(concept[j].getDescription().getValue());
            iconcept.setDescription(conceptdesc);
            javax.xml.registry.infomodel.Key conceptkey = blcm.createKey(concept[j].getKey().getId());
            iconcept.setKey(conceptkey);
            icpts[j] = iconcept;
            }
            result = impl.updateConcept(sid, icpts);
            }
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }

  public String[] registerBusiness(String sid, Organization org[])
    {
    String result[] = null;
    try
    {
    BusinessLifeCycleManager blcm = null;
    javax.xml.registry.infomodel.Organization iorgs[] = null;
    if  (!(sid==null || sid.equals("")))
        {
        RegistryPublishUrl publishurl[] = impl.getDefaultPublishUrl(sid);
        if  (!(publishurl==null || publishurl.length==0))
            {
            for (int i=0;i<publishurl.length;i++)
                blcm = impl.getBusinessLifeCycleManager();
            if (org!=null)    
            {
            iorgs = new javax.xml.registry.infomodel.Organization[org.length];            
            for (int i=0;i<org.length;i++)
            {   
            javax.xml.registry.infomodel.Organization iorg = blcm.createOrganization(org[i].getName().getValue());
            InternationalString orgdesc = org[i].getDescription();
            javax.xml.registry.infomodel.InternationalString iorgdesc = blcm.createInternationalString(orgdesc.getValue());
            iorg.setDescription(iorgdesc);
            Collection srvs = org[i].getServices();
            if (srvs!=null)
               {
               Iterator srvsiter = srvs.iterator();
               Collection temp = new ArrayList();
               while (srvsiter.hasNext())
                     {
                     Service x = (Service) srvsiter.next();
                     javax.xml.registry.infomodel.Service ix = blcm.createService(x.getName().getValue());
                     InternationalString xdesc = x.getDescription();
                     javax.xml.registry.infomodel.InternationalString ixdesc = blcm.createInternationalString(xdesc.getValue());
                     ix.setDescription(ixdesc);
                     temp.add(ix);
                     }
               iorg.addServices(temp);
               }
            iorgs[i] = iorg;
            }
            result = impl.registerBusiness(sid, iorgs);
            }
            }
       }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }

  public String[] registerCategoryByUrl(String publishurl[], String username[], String password[], ClassificationScheme category[])
    {
    String result[] = null;
    javax.xml.registry.infomodel.ClassificationScheme icategorys[] = null;
    try
    {
    BusinessLifeCycleManager blcm = null;
    if  (!(publishurl==null || (publishurl.length/3)==0))
        {
        for (int i=0;i<publishurl.length/3;i++)
            blcm = impl.getBusinessLifeCycleManager();
        if (category!=null)    
        {
        icategorys = new javax.xml.registry.infomodel.ClassificationScheme[category.length];
        for (int i=0;i<category.length;i++)
            {
            javax.xml.registry.infomodel.ClassificationScheme icategory = blcm.createClassificationScheme(category[i].getName().getValue(), category[i].getDescription().getValue());
            icategorys[i] = icategory;
            }
        }
        result = impl.registerCategoryByUrl(publishurl, username, password, icategorys);
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }

  public String[] registerCategory(String sid, ClassificationScheme category[])
    {
    String result[] = null;
    javax.xml.registry.infomodel.ClassificationScheme icategorys[] = null;
    try
    {
    BusinessLifeCycleManager blcm = null;
    if  (!(sid==null || sid.equals("")))
        {
        RegistryPublishUrl publishurl[] = impl.getDefaultPublishUrl(sid);
        if  (!(publishurl==null || publishurl.length==0))
            {
            for (int i=0;i<publishurl.length;i++)
                blcm = impl.getBusinessLifeCycleManager();
            if (category!=null)
            {
            icategorys = new javax.xml.registry.infomodel.ClassificationScheme[category.length];
            for (int i=0;i<category.length;i++)
                {
                javax.xml.registry.infomodel.ClassificationScheme icategory = blcm.createClassificationScheme(category[i].getName().getValue(), category[i].getDescription().getValue());
                icategorys[i] = icategory;
                }
            }
            result = impl.registerCategory(sid, icategorys);
            }
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }

  public String[] registerConcept(String sid, Concept concept[])
    {
    String result[] = null;
    javax.xml.registry.infomodel.Concept iconcepts[] = null;
    try
    {
    BusinessLifeCycleManager blcm = null;
    if  (!(sid==null || sid.equals("")))
        {
        RegistryPublishUrl publishurl[] = impl.getDefaultPublishUrl(sid);
        if  (!(publishurl==null || publishurl.length==0))
            {
            for (int i=0;i<publishurl.length;i++)
                blcm = impl.getBusinessLifeCycleManager();
            if (concept!=null)
            {
            iconcepts = new javax.xml.registry.infomodel.Concept[concept.length];
            for (int i=0;i<concept.length;i++)   
                {
                javax.xml.registry.infomodel.Concept iconcept = blcm.createConcept(null, concept[i].getName().getValue(), "");
                javax.xml.registry.infomodel.InternationalString conceptdesc = blcm.createInternationalString(concept[i].getDescription().getValue());
                iconcept.setDescription(conceptdesc);
                Collection els = concept[i].getExternalLinks();
                if (els!=null)
                   {
                   Collection iels = new ArrayList();
                   Iterator x = els.iterator();
                   while  (x.hasNext())
                          {
                          ExternalLink el = (ExternalLink) x.next();
                          javax.xml.registry.infomodel.InternationalString eldesc = blcm.createInternationalString(el.getDescription().getValue());
                          javax.xml.registry.infomodel.ExternalLink iel = blcm.createExternalLink(el.getExternalURI(), eldesc);
                          iels.add(iel);
                          }
                   iconcept.addExternalLinks(iels);       
                   }
                iconcepts[i] = iconcept;
                }
            result = impl.registerConcept(sid, iconcepts);
            }
            }
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }


  public String[] registerServiceByUrl(String publishurl[], String username[], String password[], String businessid[], Service srv[])
    {
    String result[] = null;
    javax.xml.registry.infomodel.Service isrvs[] = null;
    try
    {
    BusinessLifeCycleManager blcm = null;
    if  (!(publishurl==null || (publishurl.length/3)==0))
        {
        for (int i=0;i<publishurl.length/3;i++)
            blcm = impl.getBusinessLifeCycleManager();
        if (srv!=null)
        {
        isrvs = new javax.xml.registry.infomodel.Service[srv.length];    
        for (int i=0;i<srv.length;i++)
        {
        javax.xml.registry.infomodel.Service isrv = blcm.createService(srv[i].getName().getValue());
        InternationalString srvdesc = srv[i].getDescription();
        javax.xml.registry.infomodel.InternationalString isrvdesc = blcm.createInternationalString(srvdesc.getValue());
        isrv.setDescription(isrvdesc);
        isrvs[i] = isrv;
        }
        }
        result = impl.registerServiceByUrl(publishurl, username, password, businessid, isrvs);
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }

  public String[] registerServiceBindingByUrl(String publishurl[], String username[], String password[], String serviceid[], ServiceBinding srv[])
    {
    String result[] = null;
    javax.xml.registry.infomodel.ServiceBinding isrvs[] = null;
    try
    {
    BusinessLifeCycleManager blcm = null;
    if  (!(publishurl==null || (publishurl.length/3)==0))
        {
        for (int i=0;i<publishurl.length/3;i++)
            blcm = impl.getBusinessLifeCycleManager();
        if (srv!=null)
        {
        isrvs = new javax.xml.registry.infomodel.ServiceBinding[srv.length];    
        for (int i=0;i<srv.length;i++)
        {
        javax.xml.registry.infomodel.ServiceBinding isrv = blcm.createServiceBinding();
        InternationalString srvdesc = srv[i].getDescription();
        javax.xml.registry.infomodel.InternationalString isrvdesc = blcm.createInternationalString(srvdesc.getValue());
        isrv.setDescription(isrvdesc);
        isrv.setAccessURI(srv[i].getAccessURI());
        isrvs[i] = isrv;
        }
        }
        result = impl.registerServiceBindingByUrl(publishurl, username, password, serviceid, isrvs);
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }

  public String[] registerConceptByUrl(String publishurl[], String username[], String password[], Concept concept[])
    {
    String result[] = null;
    javax.xml.registry.infomodel.Concept iconcepts[] = null; 
    try
    {
    BusinessLifeCycleManager blcm = null;
    if  (!(publishurl==null || (publishurl.length/3)==0))
        {
        for (int i=0;i<publishurl.length/3;i++)
            blcm = impl.getBusinessLifeCycleManager();
        if (concept!=null)    
        {
        iconcepts = new javax.xml.registry.infomodel.Concept[concept.length];
        for (int i=0;i<concept.length;i++)
        {
        javax.xml.registry.infomodel.Concept iconcept = blcm.createConcept(null, concept[i].getName().getValue(), "");
        javax.xml.registry.infomodel.InternationalString conceptdesc = blcm.createInternationalString(concept[i].getDescription().getValue());
        iconcept.setDescription(conceptdesc);
        Collection els = concept[i].getExternalLinks();
        if (els!=null)
           {
           Collection iels = new ArrayList();
           Iterator x = els.iterator();
           while  (x.hasNext())
                  {
                  ExternalLink el = (ExternalLink) x.next();
                  javax.xml.registry.infomodel.InternationalString eldesc = blcm.createInternationalString(el.getDescription().getValue());
                  javax.xml.registry.infomodel.ExternalLink iel = blcm.createExternalLink(el.getExternalURI(), eldesc);
                  iels.add(iel);
                  }
           iconcept.addExternalLinks(iels);       
           }
        iconcepts[i] = iconcept;
        }
        }
        result = impl.registerConceptByUrl(publishurl, username, password, iconcepts);
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }

  public String[] registerService(String sid, String businessid[], Service srv[])
    {
    String result[] = null;
    javax.xml.registry.infomodel.Service isrvs[] = null;
    try
    {
    BusinessLifeCycleManager blcm = null;
    if  (!(sid==null || sid.equals("")))
        {
        RegistryPublishUrl publishurl[] = impl.getDefaultPublishUrl(sid);
        if  (!(publishurl==null || publishurl.length==0))
            {
            for (int i=0;i<publishurl.length;i++)
                blcm = impl.getBusinessLifeCycleManager();
            if (srv!=null)
            {
            isrvs = new javax.xml.registry.infomodel.Service[srv.length];    
            for (int i=0;i<srv.length;i++)
            {
            javax.xml.registry.infomodel.Service isrv = blcm.createService(srv[i].getName().getValue());
            InternationalString srvdesc = srv[i].getDescription();
            javax.xml.registry.infomodel.InternationalString isrvdesc = blcm.createInternationalString(srvdesc.getValue());
            isrv.setDescription(isrvdesc);
            isrvs[i] = isrv;
            }
            }
            result = impl.registerService(sid, businessid, isrvs);
            }
       }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }

  public String[] registerServiceBinding(String sid, String serviceid[], ServiceBinding srv[])
    {
    String result[] = null;
    javax.xml.registry.infomodel.ServiceBinding isrvs[] = null;
    try
    {
    BusinessLifeCycleManager blcm = null;
    if  (!(sid==null || sid.equals("")))
        {
        RegistryPublishUrl publishurl[] = impl.getDefaultPublishUrl(sid);
        if  (!(publishurl==null || publishurl.length==0))
            {
            for (int i=0;i<publishurl.length;i++)
                blcm = impl.getBusinessLifeCycleManager();
            if (srv!=null)
            {
            isrvs = new javax.xml.registry.infomodel.ServiceBinding[srv.length];    
            for (int i=0;i<srv.length;i++)
            {
            javax.xml.registry.infomodel.ServiceBinding isrv = blcm.createServiceBinding();
            InternationalString srvdesc = srv[i].getDescription();
            javax.xml.registry.infomodel.InternationalString isrvdesc = blcm.createInternationalString(srvdesc.getValue());
            isrv.setDescription(isrvdesc);
            isrv.setAccessURI(srv[i].getAccessURI());
            isrvs[i] = isrv;
            }
            }
            result = impl.registerServiceBinding(sid, serviceid, isrvs);
            }
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }

  public Organization[] viewBusinessesByKey(String inquiryurl[], String businessid[])
    {
    Organization[] result = null;
    try
    {
    javax.xml.registry.infomodel.Organization[] orgs = impl.viewBusinessesByKey(inquiryurl, businessid);
    if  (orgs!=null)
        {
        result = new Organization[orgs.length];
        for (int i=0;i<orgs.length;i++)
            {
            result[i] = new Organization();
            Key xkey = new Key();
            if (orgs[i]!=null)
               xkey.setId(orgs[i].getKey().getId());
            InternationalString xname = new InternationalString();
            if (orgs[i]!=null)
               xname.setValue(orgs[i].getName().getValue());
            InternationalString xdesc = new InternationalString();
            if (orgs[i]!=null)
               xdesc.setValue(orgs[i].getDescription().getValue());
            result[i].setKey(xkey);
            result[i].setName(xname);
            result[i].setDescription(xdesc);
            }
        }
    }
    catch(JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }

  public Organization[] viewBusinessByName(String inquiryurl[], String businessname)
    {
    Organization[] result = null;
    try
    {
    javax.xml.registry.infomodel.Organization[] orgs = impl.viewBusinessByName(inquiryurl, businessname);
    if  (orgs!=null)
        {
        result = new Organization[orgs.length];
        for (int i=0;i<orgs.length;i++)
            {
            result[i] = new Organization();
            Key xkey = new Key();
            if (orgs[i]!=null)            
               xkey.setId(orgs[i].getKey().getId());
            InternationalString xname = new InternationalString();
            if (orgs[i]!=null)            
               xname.setValue(orgs[i].getName().getValue());
            InternationalString xdesc = new InternationalString();
            if (orgs[i]!=null)            
               xdesc.setValue(orgs[i].getDescription().getValue());
            result[i].setKey(xkey);
            result[i].setName(xname);
            result[i].setDescription(xdesc);
            }
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }

  public Organization[] viewBusinessByUrl(String inquiryurl[], String businessname)
    {
    Organization[] result = null;
    try
    {
    javax.xml.registry.infomodel.Organization[] orgs = impl.viewBusinessByUrl(inquiryurl, businessname);
    if  (orgs!=null)
        {
        result = new Organization[orgs.length];
        for (int i=0;i<orgs.length;i++)
            {
            result[i] = new Organization();
            Key xkey = new Key();
            if (orgs[i]!=null)
               xkey.setId(orgs[i].getKey().getId());
            InternationalString xname = new InternationalString();
            if (orgs[i]!=null)
               xname.setValue(orgs[i].getName().getValue());
            InternationalString xdesc = new InternationalString();
            if (orgs[i]!=null)
               xdesc.setValue(orgs[i].getDescription().getValue());
            result[i].setKey(xkey);
            result[i].setName(xname);
            result[i].setDescription(xdesc);
            }
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }
  public Organization[] viewBusiness(String sid, String businessname)
    {
    Organization[] result = null;
    try
    {
    javax.xml.registry.infomodel.Organization[] orgs = impl.viewBusiness(sid, businessname);
    if  (orgs!=null)
        {
        result = new Organization[orgs.length];
        for (int i=0;i<orgs.length;i++)
            {
            result[i] = new Organization();
            Key xkey = new Key();
            if (orgs[i]!=null)
               xkey.setId(orgs[i].getKey().getId());
            InternationalString xname = new InternationalString();
            if (orgs[i]!=null)            
               xname.setValue(orgs[i].getName().getValue());
            InternationalString xdesc = new InternationalString();
            if (orgs[i]!=null)
               xdesc.setValue(orgs[i].getDescription().getValue());
            result[i].setKey(xkey);
            result[i].setName(xname);
            result[i].setDescription(xdesc);
            }
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }

  public ClassificationScheme[] viewCategoryByName(String inquiryurl[], String categoryid)
    {
    ClassificationScheme[] result = null;
    try
    {
    javax.xml.registry.infomodel.ClassificationScheme[] orgs = impl.viewCategoryByName(inquiryurl, categoryid);
    if  (orgs!=null)
        {
        result = new ClassificationScheme[orgs.length];
        for (int i=0;i<orgs.length;i++)
            {
            result[i] = new ClassificationScheme();
            Key xkey = new Key();
            if  (orgs[i] != null)                        
                xkey.setId(orgs[i].getKey().getId());
            InternationalString xname = new InternationalString();
            if  (orgs[i] != null)            
                xname.setValue(orgs[i].getName().getValue());
            InternationalString xdesc = new InternationalString();
            if  (orgs[i] != null)            
                xdesc.setValue(orgs[i].getDescription().getValue());
            result[i].setKey(xkey);
            result[i].setName(xname);
            result[i].setDescription(xdesc);
            }
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }

  public ClassificationScheme[] viewCategoryByUrl(String inquiryurl[], String categoryid)
    {
    ClassificationScheme[] result = null;
    try
    {
    javax.xml.registry.infomodel.ClassificationScheme[] orgs = impl.viewCategoryByUrl(inquiryurl, categoryid);
    if  (orgs!=null)
        {
        result = new ClassificationScheme[orgs.length];
        for (int i=0;i<orgs.length;i++)
            {
            result[i] = new ClassificationScheme();
            Key xkey = new Key();
            if  (orgs[i] != null)                        
                xkey.setId(orgs[i].getKey().getId());
            InternationalString xname = new InternationalString();
            if  (orgs[i] != null)            
                xname.setValue(orgs[i].getName().getValue());
            InternationalString xdesc = new InternationalString();
            if  (orgs[i] != null)            
                xdesc.setValue(orgs[i].getDescription().getValue());
            result[i].setKey(xkey);
            result[i].setName(xname);
            result[i].setDescription(xdesc);
            }
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }
    
  public ClassificationScheme[] viewCategory(String sid, String categoryid)
    {
    ClassificationScheme[] result = null;
    try
    {
    javax.xml.registry.infomodel.ClassificationScheme[] orgs = impl.viewCategory(sid, categoryid);
    if  (orgs!=null)
        {
        result = new ClassificationScheme[orgs.length];
        for (int i=0;i<orgs.length;i++)
            {
            result[i] = new ClassificationScheme();
            Key xkey = new Key();
            if  (orgs[i] != null)            
                xkey.setId(orgs[i].getKey().getId());
            InternationalString xname = new InternationalString();
            if  (orgs[i] != null)            
                xname.setValue(orgs[i].getName().getValue());
            InternationalString xdesc = new InternationalString();
            if  (orgs[i] != null)            
                xdesc.setValue(orgs[i].getDescription().getValue());
            result[i].setKey(xkey);
            result[i].setName(xname);
            result[i].setDescription(xdesc);
            }
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }

  public ServiceBinding[] viewServiceBinding(String sid, String conceptid)
    {
    ServiceBinding[] result = null;
    try
    {
    javax.xml.registry.infomodel.ServiceBinding[] orgs = impl.viewServiceBinding(sid, conceptid);
    if  (orgs!=null)
        {
        result = new ServiceBinding[orgs.length];
        for (int i=0;i<orgs.length;i++)
            {
            result[i] = new ServiceBinding();
            Key xkey = new Key();
            if (orgs[i]!=null)            
               xkey.setId(orgs[i].getKey().getId());
            InternationalString xname = new InternationalString();
            if (orgs[i]!=null)
               xname.setValue(orgs[i].getName().getValue());
            InternationalString xdesc = new InternationalString();
            if (orgs[i]!=null)            
               xdesc.setValue(orgs[i].getDescription().getValue());
            result[i].setKey(xkey);
            result[i].setName(xname);
            result[i].setDescription(xdesc);
            }
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }
/*
  public Concept[] viewConceptByUrl(String inquiryurl[], String conceptid)
    {
    Concept[] result = null;
    try
    {
    javax.xml.registry.infomodel.Concept[] orgs = impl.viewConceptByUrl(inquiryurl, conceptid);
    if  (orgs!=null)
        {
        result = new Concept[orgs.length];
        for (int i=0;i<orgs.length;i++)
            {
            result[i] = new Concept();
            Key xkey = new Key();
            xkey.setId(orgs[i].getKey().getId());
            InternationalString xname = new InternationalString();
            xname.setValue(orgs[i].getName().getValue());
            InternationalString xdesc = new InternationalString();
            xdesc.setValue(orgs[i].getDescription().getValue());
            result[i].setKey(xkey);
            result[i].setName(xname);
            result[i].setDescription(xdesc);
            }
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }
*/    
  public Concept[] viewConcept(String sid, String conceptid)
    {
    Concept[] result = null;
    try
    {
    BusinessLifeCycleManager blcm = null;
    javax.xml.registry.infomodel.Concept[] orgs = impl.viewConcept(sid, conceptid);
    if  (orgs!=null)
        {
        result = new Concept[orgs.length];
        for (int i=0;i<orgs.length;i++)
            {
            blcm = impl.getBusinessLifeCycleManager();
            result[i] = new Concept();
            Key xkey = new Key();
            if (orgs[i]!=null)            
               xkey.setId(orgs[i].getKey().getId());
            InternationalString xname = new InternationalString();
            if (orgs[i]!=null)            
               xname.setValue(orgs[i].getName().getValue());
            InternationalString xdesc = new InternationalString();
            if (orgs[i]!=null)            
               xdesc.setValue(orgs[i].getDescription().getValue());
            result[i].setKey(xkey);
            result[i].setName(xname);
            result[i].setDescription(xdesc);
            if (orgs[i]!=null)
               {
               Collection ielcol = new ArrayList();
               Collection elcol = orgs[i].getExternalLinks();
               Iterator eliter = elcol.iterator();
               while (eliter.hasNext())
                     {
                     javax.xml.registry.infomodel.ExternalLink iel = (javax.xml.registry.infomodel.ExternalLink) eliter.next();
                     ExternalLink el = new ExternalLink();
                     InternationalString eldesc = new InternationalString();
                     eldesc.setValue(iel.getDescription().getValue());  
                     el.setDescription(eldesc);
                     el.setExternalURI(iel.getExternalURI());
                     ielcol.add(el);
                     }
               result[i].setExternalLinks(ielcol);      
               }   
            }
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }

  public Service[] viewService(String sid, String servicename)
    {
    Service[] result = null;
    try
    {
    javax.xml.registry.infomodel.Service[] orgs = impl.viewService(sid, servicename);
    if  (orgs!=null)
        {
        result = new Service[orgs.length];
        for (int i=0;i<orgs.length;i++)
            {
            result[i] = new Service();
            Key xkey = new Key();
            if (orgs[i]!=null)            
               xkey.setId(orgs[i].getKey().getId());
            InternationalString xname = new InternationalString();
            if (orgs[i]!=null)
               xname.setValue(orgs[i].getName().getValue());
            InternationalString xdesc = new InternationalString();
            if (orgs[i]!=null)            
               xdesc.setValue(orgs[i].getDescription().getValue());
            result[i].setKey(xkey);
            result[i].setName(xname);
            result[i].setDescription(xdesc);
            }
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }

  public Service[] viewServiceByName(String inquiryurl[], String servicename)
    {
    Service[] result = null;
    try
    {
    javax.xml.registry.infomodel.Service[] orgs = impl.viewServiceByName(inquiryurl, servicename);
    if  (orgs!=null)
        {
        result = new Service[orgs.length];
        for (int i=0;i<orgs.length;i++)
            {
            result[i] = new Service();
            Key xkey = new Key();
            if (orgs[i]!=null)            
               xkey.setId(orgs[i].getKey().getId());
            InternationalString xname = new InternationalString();
            if (orgs[i]!=null)
               xname.setValue(orgs[i].getName().getValue());
            InternationalString xdesc = new InternationalString();
            if (orgs[i]!=null)
               xdesc.setValue(orgs[i].getDescription().getValue());
            result[i].setKey(xkey);
            result[i].setName(xname);
            result[i].setDescription(xdesc);
            }
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }

  public Service[] viewServiceByUrl(String inquiryurl[], String servicename)
    {
    Service[] result = null;
    try
    {
    javax.xml.registry.infomodel.Service[] orgs = impl.viewServiceByUrl(inquiryurl, servicename);
    if  (orgs!=null)
        {
        result = new Service[orgs.length];
        for (int i=0;i<orgs.length;i++)
            {
            result[i] = new Service();
            Key xkey = new Key();
            if (orgs[i]!=null)            
               xkey.setId(orgs[i].getKey().getId());
            InternationalString xname = new InternationalString();
            if (orgs[i]!=null)
               xname.setValue(orgs[i].getName().getValue());
            InternationalString xdesc = new InternationalString();
            if (orgs[i]!=null)
               xdesc.setValue(orgs[i].getDescription().getValue());
            result[i].setKey(xkey);
            result[i].setName(xname);
            result[i].setDescription(xdesc);
            }
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }
    
/*
  public ServiceBinding[] viewServiceBindingByUrl(String inquiryurl[], String srvbdgid)
    {
    ServiceBinding[] result = null;
    try
    {
    javax.xml.registry.infomodel.ServiceBinding[] orgs = impl.viewServiceBindingByUrl(inquiryurl, srvbdgid);
    if  (orgs!=null)
        {
        result = new ServiceBinding[orgs.length];
        for (int i=0;i<orgs.length;i++)
            {
            result[i] = new ServiceBinding();
            Key xkey = new Key();
            xkey.setId(orgs[i].getKey().getId());
            InternationalString xname = new InternationalString();
            xname.setValue(orgs[i].getName().getValue());
            InternationalString xdesc = new InternationalString();
            xdesc.setValue(orgs[i].getDescription().getValue());
            result[i].setKey(xkey);
            result[i].setName(xname);
            result[i].setDescription(xdesc);
            }
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }
*/
  public int[] deleteServiceBindingByUrl(String publishurl[], String username[], String password[], String srvbdgid[])
    {
    int[] result = null;
    result = impl.deleteServiceBindingByUrl(publishurl, username, password, srvbdgid);
    return (result);
    }

  public Service[] viewServicesByKey(String inquiryurl[], String serviceid[])
    {
    Service[] result = null;
    try
    {
    javax.xml.registry.infomodel.Service[] orgs = impl.viewServicesByKey(inquiryurl, serviceid);
    if  (orgs!=null)
        {
        result = new Service[orgs.length];
        for (int i=0;i<orgs.length;i++)
            {
            result[i] = new Service();
            Key xkey = new Key();
            if (orgs[i]!=null)            
               xkey.setId(orgs[i].getKey().getId());
            InternationalString xname = new InternationalString();
            if (orgs[i]!=null)            
               xname.setValue(orgs[i].getName().getValue());
            InternationalString xdesc = new InternationalString();
            if (orgs[i]!=null)            
               xdesc.setValue(orgs[i].getDescription().getValue());
            result[i].setKey(xkey);
            result[i].setName(xname);
            result[i].setDescription(xdesc);
            }
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }

  public ServiceBinding[] viewServiceBindingsByKey(String inquiryurl[], String srvbdgid[])
    {
    ServiceBinding[] result = null;
    try
    {
    javax.xml.registry.infomodel.ServiceBinding[] orgs = impl.viewServiceBindingsByKey(inquiryurl, srvbdgid);
    if  (orgs!=null)
        {
        result = new ServiceBinding[orgs.length];
        for (int i=0;i<orgs.length;i++)
            {
            result[i] = new ServiceBinding();
            Key xkey = new Key();
            if (orgs[i]!=null)            
               xkey.setId(orgs[i].getKey().getId());
            InternationalString xname = new InternationalString();
            if (orgs[i]!=null)            
               xname.setValue(orgs[i].getName().getValue());
            InternationalString xdesc = new InternationalString();
            if (orgs[i]!=null)            
               xdesc.setValue(orgs[i].getDescription().getValue());
            result[i].setKey(xkey);
            result[i].setName(xname);
            result[i].setDescription(xdesc);
            }
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }

  public ClassificationScheme[] viewCategoriesByKey(String inquiryurl[], String categoryid[])
    {
    ClassificationScheme[] result = null;
    try
    {
    javax.xml.registry.infomodel.ClassificationScheme[] orgs = impl.viewCategoriesByKey(inquiryurl, categoryid);
    if  (orgs!=null)
        {
        result = new ClassificationScheme[orgs.length];
        for (int i=0;i<orgs.length;i++)
            {
            result[i] = new ClassificationScheme();
            Key xkey = new Key();
            if  (orgs[i] != null)                        
                xkey.setId(orgs[i].getKey().getId());
            InternationalString xname = new InternationalString();
            if  (orgs[i] != null)            
                xname.setValue(orgs[i].getName().getValue());
            InternationalString xdesc = new InternationalString();
            if  (orgs[i] != null)            
                xdesc.setValue(orgs[i].getDescription().getValue());
            result[i].setKey(xkey);
            result[i].setName(xname);
            result[i].setDescription(xdesc);
            }
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }

  public Concept[] viewConceptsByKey(String inquiryurl[], String categoryid[])
    {
    Concept[] result = null;
    try
    {
    javax.xml.registry.infomodel.Concept[] orgs = impl.viewConceptsByKey(inquiryurl, categoryid);
    if  (orgs!=null)
        {
        result = new Concept[orgs.length];
        for (int i=0;i<orgs.length;i++)
            {
            result[i] = new Concept();
            Key xkey = new Key();
            if (orgs[i]!=null)            
               xkey.setId(orgs[i].getKey().getId());
            InternationalString xname = new InternationalString();
            if (orgs[i]!=null)            
               xname.setValue(orgs[i].getName().getValue());
            InternationalString xdesc = new InternationalString();
            if (orgs[i]!=null)            
               xdesc.setValue(orgs[i].getDescription().getValue());
            result[i].setKey(xkey);
            result[i].setName(xname);
            result[i].setDescription(xdesc);
            if (orgs[i]!=null)
               {
               Collection ielcol = new ArrayList();
               Collection elcol = orgs[i].getExternalLinks();
               Iterator eliter = elcol.iterator();
               while (eliter.hasNext())
                     {
                     javax.xml.registry.infomodel.ExternalLink iel = (javax.xml.registry.infomodel.ExternalLink) eliter.next();
                     ExternalLink el = new ExternalLink();
                     InternationalString eldesc = new InternationalString();
                     eldesc.setValue(iel.getDescription().getValue());  
                     el.setDescription(eldesc);
                     el.setExternalURI(iel.getExternalURI());
                     ielcol.add(el);
                     }
               result[i].setExternalLinks(ielcol);      
               }               
            }
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }

  public Concept[] viewConceptByName(String inquiryurl[], String categoryid)
    {
    Concept[] result = null;
    try
    {
    javax.xml.registry.infomodel.Concept[] orgs = impl.viewConceptByName(inquiryurl, categoryid);
    if  (orgs!=null)
        {
        result = new Concept[orgs.length];
        for (int i=0;i<orgs.length;i++)
            {
            result[i] = new Concept();
            Key xkey = new Key();
            if (orgs[i]!=null)            
               xkey.setId(orgs[i].getKey().getId());
            InternationalString xname = new InternationalString();
            if (orgs[i]!=null)            
               xname.setValue(orgs[i].getName().getValue());
            InternationalString xdesc = new InternationalString();
            if (orgs[i]!=null)            
               xdesc.setValue(orgs[i].getDescription().getValue());
            result[i].setKey(xkey);
            result[i].setName(xname);
            result[i].setDescription(xdesc);
            if (orgs[i]!=null)
               {
               Collection ielcol = new ArrayList();
               Collection elcol = orgs[i].getExternalLinks();
               Iterator eliter = elcol.iterator();
               while (eliter.hasNext())
                     {
                     javax.xml.registry.infomodel.ExternalLink iel = (javax.xml.registry.infomodel.ExternalLink) eliter.next();
                     ExternalLink el = new ExternalLink();
                     InternationalString eldesc = new InternationalString();
                     eldesc.setValue(iel.getDescription().getValue());  
                     el.setDescription(eldesc);
                     el.setExternalURI(iel.getExternalURI());
                     ielcol.add(el);
                     }
               result[i].setExternalLinks(ielcol);      
               }               
            }
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }

  public Concept[] viewConceptByUrl(String inquiryurl[], String categoryid)
    {
    Concept[] result = null;
    try
    {
    javax.xml.registry.infomodel.Concept[] orgs = impl.viewConceptByUrl(inquiryurl, categoryid);
    if  (orgs!=null)
        {
        result = new Concept[orgs.length];
        for (int i=0;i<orgs.length;i++)
            {
            result[i] = new Concept();
            Key xkey = new Key();
            if (orgs[i]!=null)            
               xkey.setId(orgs[i].getKey().getId());
            InternationalString xname = new InternationalString();
            if (orgs[i]!=null)            
               xname.setValue(orgs[i].getName().getValue());
            InternationalString xdesc = new InternationalString();
            if (orgs[i]!=null)
               xdesc.setValue(orgs[i].getDescription().getValue());
            result[i].setKey(xkey);
            result[i].setName(xname);
            result[i].setDescription(xdesc);
            if (orgs[i]!=null)
               {
               Collection ielcol = new ArrayList();
               Collection elcol = orgs[i].getExternalLinks();
               Iterator eliter = elcol.iterator();
               while (eliter.hasNext())
                     {
                     javax.xml.registry.infomodel.ExternalLink iel = (javax.xml.registry.infomodel.ExternalLink) eliter.next();
                     ExternalLink el = new ExternalLink();
                     InternationalString eldesc = new InternationalString();
                     eldesc.setValue(iel.getDescription().getValue());  
                     el.setDescription(eldesc);
                     el.setExternalURI(iel.getExternalURI());
                     ielcol.add(el);
                     }
               result[i].setExternalLinks(ielcol);      
               }               
            }
        }
    }
    catch (JAXRException jaxre)
    {
    jaxre.printStackTrace();
    }
    return (result);
    }
    
  public int[] deleteBusinessByUrl(String publishurl[], String username[], String password[], String businesskey[])
    {
    int[] result = null;
    result = impl.deleteBusinessByUrl(publishurl, username, password, businesskey);
    return (result);
    }

  public int[] deleteBusiness(String sid, String businesskey[])
    {
    int[] result = null;
    result = impl.deleteBusiness(sid,businesskey);
    return (result);
    }

  public int[] deleteCategoryByUrl(String publishurl[], String username[], String password[], String categoryid[])
    {
    int[] result = null;
    result = impl.deleteCategoryByUrl(publishurl, username, password, categoryid);
    return (result);
    }

  public int[] deleteConceptByUrl(String publishurl[], String username[], String password[], String conceptid[])
    {
    int[] result = null;
    result = impl.deleteConceptByUrl(publishurl, username, password, conceptid);
    return (result);
    }

  public int[] deleteCategory(String sid, String categorykey[])
    {
    int[] result = null;
    result = impl.deleteCategory(sid, categorykey);
    return (result);
    }

  public int[] deleteConcept(String sid, String conceptkey[])
    {
    int[] result = null;
    result = impl.deleteConcept(sid, conceptkey);
    return (result);
    }

  public int[] deleteServiceByUrl(String publishurl[], String username[], String password[], String servicekey[])
    {
    int[] result = null;
    result = impl.deleteServiceByUrl(publishurl, username, password, servicekey);
    return (result);
    }

  public int[] deleteService(String sid, String servicekey[])
    {
    int[] result = null;
    result = impl.deleteService(sid, servicekey);
    return (result);
    }

  public int[] deleteServiceBinding(String sid, String servicekey[])
    {
    int[] result = null;
    result = impl.deleteServiceBinding(sid, servicekey);
    return (result);
    }
}