blob: 7229a3e38bb8aa73c2958eda77a30276ce7d1c94 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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.
*/
using org.uddi.apiv3;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace org.apache.juddi.v3.client.mapping
{
class MapUDDIv2to3
{
public static uddi.apiv3.bindingDetail MapBindingDetail(uddi.apiv2.bindingDetail bindingDetail)
{
if (bindingDetail == null) return null;
uddi.apiv3.bindingDetail r = new uddi.apiv3.bindingDetail();
r.bindingTemplate = MapBinding(bindingDetail.bindingTemplate);
r.truncated = bindingDetail.truncated == uddi.apiv2.truncated.@true;
r.truncatedSpecified = bindingDetail.truncatedSpecified;
return r;
}
public static uddi.apiv3.businessList MapBusinessList(uddi.apiv2.businessList businessList)
{
if (businessList == null) return null;
uddi.apiv3.businessList r = new uddi.apiv3.businessList();
r.truncated = (businessList.truncated != null && businessList.truncated == uddi.apiv2.truncated.@true);
r.truncatedSpecified = businessList.truncatedSpecified;
r.listDescription = new uddi.apiv3.listDescription();
r.businessInfos = MapBusinessInfo(businessList.businessInfos);
return r;
}
public static uddi.apiv3.businessInfo[] MapBusinessInfo(uddi.apiv2.businessInfo[] businessInfo)
{
if (businessInfo == null)
return null;
List<uddi.apiv3.businessInfo> r = new List<uddi.apiv3.businessInfo>();
for (int i = 0; i < businessInfo.Length; i++)
{
uddi.apiv3.businessInfo x = new uddi.apiv3.businessInfo();
x.businessKey = businessInfo[i].businessKey;
x.description = MapDescription(businessInfo[i].description);
x.name = MapNames(businessInfo[i].name);
x.serviceInfos = MapServiceInfos(businessInfo[i].serviceInfos);
r.Add(x);
}
return r.ToArray();
}
public static uddi.apiv3.serviceInfo[] MapServiceInfos(uddi.apiv2.serviceInfo[] serviceInfo)
{
if (serviceInfo == null) return null;
List<uddi.apiv3.serviceInfo> r = new List<uddi.apiv3.serviceInfo>();
for (int i = 0; i < serviceInfo.Length; i++)
{
uddi.apiv3.serviceInfo x = new uddi.apiv3.serviceInfo();
x.businessKey = serviceInfo[i].businessKey;
x.serviceKey = serviceInfo[i].serviceKey;
x.name = MapNames(serviceInfo[i].name);
r.Add(x);
}
return r.ToArray();
}
public static uddi.apiv3.name[] MapNames(uddi.apiv2.name[] name)
{
if (name == null) return null;
List<uddi.apiv3.name> r = new List<uddi.apiv3.name>();
for (int i = 0; i < name.Length; i++)
{
uddi.apiv3.name x = new uddi.apiv3.name();
x.Value = name[i].Value;
x.lang = name[i].lang;
r.Add(x);
}
return r.ToArray();
}
public static uddi.apiv3.description[] MapDescription(uddi.apiv2.description[] description)
{
if (description == null) return null;
List<uddi.apiv3.description> r = new List<uddi.apiv3.description>();
for (int i = 0; i < description.Length; i++)
{
uddi.apiv3.description x = new uddi.apiv3.description();
x.Value = description[i].Value;
x.lang = description[i].lang;
r.Add(x);
}
return r.ToArray();
}
public static uddi.apiv3.assertionStatusItem[] MapAssertionStatusItems(uddi.apiv2.assertionStatusReport assertionStatusReport)
{
if (assertionStatusReport == null || assertionStatusReport.assertionStatusItem == null)
return null;
List<uddi.apiv3.assertionStatusItem> r = new List<uddi.apiv3.assertionStatusItem>();
for (int i = 0; i < assertionStatusReport.assertionStatusItem.Length; i++)
{
uddi.apiv3.assertionStatusItem x = new assertionStatusItem();
x.fromKey = assertionStatusReport.assertionStatusItem[i].fromKey;
x.toKey = assertionStatusReport.assertionStatusItem[i].toKey;
x.keysOwned = MapKeysOwned(assertionStatusReport.assertionStatusItem[i].keysOwned);
if (assertionStatusReport.assertionStatusItem[i].keyedReference != null)
{
x.keyedReference = new keyedReference(assertionStatusReport.assertionStatusItem[i].keyedReference.tModelKey,
assertionStatusReport.assertionStatusItem[i].keyedReference.keyName,
assertionStatusReport.assertionStatusItem[i].keyedReference.keyValue);
}
switch (assertionStatusReport.assertionStatusItem[i].completionStatus.ToLower())
{
case "status:complete":
x.completionStatus = completionStatus.statuscomplete;
break;
case "status:toKey_incomplete":
x.completionStatus = completionStatus.statustoKey_incomplete;
break;
case "status:fromKey_incomplete":
x.completionStatus = completionStatus.statusfromKey_incomplete;
break;
default:
x.completionStatus = completionStatus.statusboth_incomplete;
break;
}
r.Add(x);
}
return r.ToArray();
}
private static keysOwned MapKeysOwned(uddi.apiv2.keysOwned keysOwned)
{
if (keysOwned == null) return null;
keysOwned r = new uddi.apiv3.keysOwned();
r.Items = new string[] { keysOwned.fromKey, keysOwned.toKey };
r.ItemsElementName = new ItemsChoiceType3[] { ItemsChoiceType3.fromKey, ItemsChoiceType3.toKey };
return r;
}
public static uddi.apiv3.publisherAssertion[] MapPublisherAssertions(uddi.apiv2.publisherAssertions publisherAssertions)
{
if (publisherAssertions == null) return null;
return MapPublisherAssertions(publisherAssertions.publisherAssertion);
}
public static uddi.apiv3.publisherAssertion[] MapPublisherAssertions(uddi.apiv2.publisherAssertion[] publisherAssertions)
{
if (publisherAssertions == null) return null;
List<uddi.apiv3.publisherAssertion> r = new List<publisherAssertion>();
for (int i = 0; i < publisherAssertions.Length; i++)
{
uddi.apiv3.publisherAssertion x = new publisherAssertion();
x.fromKey = publisherAssertions[i].fromKey;
x.toKey = publisherAssertions[i].toKey;
if (publisherAssertions[i].keyedReference != null)
x.keyedReference = new keyedReference(publisherAssertions[i].keyedReference.tModelKey,
publisherAssertions[i].keyedReference.keyName, publisherAssertions[i].keyedReference.keyValue);
r.Add(x);
}
return r.ToArray();
}
public static uddi.apiv3.serviceList MapServiceList(uddi.apiv2.serviceList serviceList)
{
if (serviceList == null)
return null;
uddi.apiv3.serviceList r = new serviceList();
r.listDescription = new listDescription();
r.listDescription.actualCount = serviceList.serviceInfos.Length;
r.truncated = serviceList.truncated == uddi.apiv2.truncated.@true;
r.truncatedSpecified = serviceList.truncatedSpecified;
r.serviceInfos = MapServiceInfos(serviceList.serviceInfos);
return r;
}
public static uddi.apiv3.relatedBusinessesList MapRelatedBusinessList(uddi.apiv2.relatedBusinessesList relatedBusinessesList)
{
if (relatedBusinessesList == null)
return null;
uddi.apiv3.relatedBusinessesList r = new relatedBusinessesList();
r.businessKey = relatedBusinessesList.businessKey;
List<relatedBusinessInfo> x = new List<relatedBusinessInfo>();
for (int i = 0; i < relatedBusinessesList.relatedBusinessInfos.Length; i++)
{
relatedBusinessInfo s = new relatedBusinessInfo();
s.businessKey = relatedBusinessesList.relatedBusinessInfos[i].businessKey;
s.description = MapDescription(relatedBusinessesList.relatedBusinessInfos[i].description);
s.name = MapNames(relatedBusinessesList.relatedBusinessInfos[i].name);
s.sharedRelationships = MapSharedRelationships(relatedBusinessesList.relatedBusinessInfos[i].sharedRelationships);
x.Add(s);
}
r.relatedBusinessInfos = x.ToArray();
r.listDescription = new listDescription();
return r;
}
private static sharedRelationships[] MapSharedRelationships(uddi.apiv2.sharedRelationships[] sharedRelationships)
{
if (sharedRelationships == null) return null;
List<sharedRelationships> r = new List<sharedRelationships>();
for (int i = 0; i < sharedRelationships.Length; i++)
{
sharedRelationships x = new sharedRelationships();
switch (sharedRelationships[i].direction)
{
case uddi.apiv2.direction.fromKey:
x.direction = direction.fromKey;
break;
case uddi.apiv2.direction.toKey:
x.direction = direction.toKey;
break;
}
x.keyedReference = MapIdentifierBag(sharedRelationships[i].keyedReference);
r.Add(x);
}
return r.ToArray();
}
public static uddi.apiv3.tModelList MapTModelList(uddi.apiv2.tModelList tModelList)
{
if (tModelList == null) return null;
uddi.apiv3.tModelList r = new tModelList();
List<tModelInfo> x = new List<tModelInfo>();
if (tModelList.tModelInfos != null)
for (int i = 0; i < tModelList.tModelInfos.Length; i++)
{
tModelInfo s = new tModelInfo();
s.tModelKey = tModelList.tModelInfos[i].tModelKey;
if (tModelList.tModelInfos[i].name != null)
s.name = new name(tModelList.tModelInfos[i].name.Value, tModelList.tModelInfos[i].name.lang);
x.Add(s);
}
r.tModelInfos = x.ToArray();
r.listDescription = new listDescription();
r.listDescription.actualCount = r.tModelInfos.Length;
r.listDescription.includeCount = r.tModelInfos.Length;
r.truncated = tModelList.truncated == uddi.apiv2.truncated.@true;
r.truncatedSpecified = tModelList.truncatedSpecified;
return r;
}
public static uddi.apiv2.get_businessDetail MapGetBusinessDetail(uddi.apiv3.get_businessDetail get_businessDetail1)
{
if (get_businessDetail1 == null) return null;
uddi.apiv2.get_businessDetail r = new uddi.apiv2.get_businessDetail();
r.businessKey = get_businessDetail1.businessKey;
r.generic = MapUDDIv3to2.VERSION;
return r;
}
public static uddi.apiv3.businessDetail MapBusinessDetail(uddi.apiv2.businessDetail businessDetail)
{
if (businessDetail == null) return null;
uddi.apiv3.businessDetail r = new uddi.apiv3.businessDetail();
List<businessEntity> tx = new List<businessEntity>();
if (businessDetail.businessEntity != null)
for (int i = 0; i < businessDetail.businessEntity.Length; i++)
{
tx.Add(MapBusinessEntity(businessDetail.businessEntity[i]));
}
r.businessEntity = tx.ToArray();
r.truncated = businessDetail.truncated == uddi.apiv2.truncated.@true;
r.truncatedSpecified = businessDetail.truncatedSpecified;
return r;
}
public static businessEntity MapBusinessEntity(uddi.apiv2.businessEntity businessEntity)
{
if (businessEntity == null) return null;
businessEntity be = new businessEntity();
be.businessKey = businessEntity.businessKey;
be.categoryBag = MapCategoryBag(businessEntity.categoryBag);
be.contacts = MapContacts(businessEntity.contacts);
be.description = MapDescription(businessEntity.description);
be.discoveryURLs = MapDiscoUrls(businessEntity.discoveryURLs);
be.name = MapNames(businessEntity.name);
be.identifierBag = MapIdentifierBag(businessEntity.identifierBag);
be.businessServices = MapBusinessServices(businessEntity.businessServices);
return be;
}
public static businessService[] MapBusinessServices(uddi.apiv2.businessService[] businessService)
{
if (businessService == null) return null;
List<businessService> r = new List<businessService>();
for (int i = 0; i < businessService.Length; i++)
{
businessService x = MapService(businessService[i]);
r.Add(x);
}
return r.ToArray();
}
public static businessService MapService(uddi.apiv2.businessService businessService)
{
if (businessService == null) return null;
businessService r = new businessService();
r.bindingTemplates = MapBinding(businessService.bindingTemplates);
r.businessKey = businessService.businessKey;
r.categoryBag = MapCategoryBag(businessService.categoryBag);
r.description = MapDescription(businessService.description);
r.name = MapNames(businessService.name);
r.serviceKey = businessService.serviceKey;
return r;
}
public static bindingTemplate[] MapBinding(uddi.apiv2.bindingTemplate[] bindingTemplate)
{
if (bindingTemplate == null) return null;
List<bindingTemplate> r = new List<bindingTemplate>();
for (int i = 0; i < bindingTemplate.Length; i++)
{
r.Add(MapBindingTemplate(bindingTemplate[i]));
}
return r.ToArray();
}
public static bindingTemplate MapBindingTemplate(uddi.apiv2.bindingTemplate bindingTemplate)
{
if (bindingTemplate == null) return null;
bindingTemplate r = new bindingTemplate();
r.bindingKey = bindingTemplate.bindingKey;
r.description = MapDescription(bindingTemplate.description);
r.serviceKey = bindingTemplate.serviceKey;
if (bindingTemplate.Item is org.uddi.apiv2.accessPoint)
{
org.uddi.apiv2.accessPoint old = new uddi.apiv2.accessPoint();
accessPoint a = new accessPoint();
a.Value = old.Value;
a.useType = old.URLType.ToString();
r.Item = a;
}
r.tModelInstanceDetails = MapTmodelInstanceDetail(bindingTemplate.tModelInstanceDetails);
return r;
}
public static tModelInstanceInfo[] MapTmodelInstanceDetail(uddi.apiv2.tModelInstanceInfo[] tModelInstanceInfo)
{
if (tModelInstanceInfo == null) return null;
List<tModelInstanceInfo> r = new List<tModelInstanceInfo>();
for (int i = 0; i < tModelInstanceInfo.Length; i++)
{
tModelInstanceInfo x = new tModelInstanceInfo();
x.description = MapDescription(tModelInstanceInfo[i].description);
x.tModelKey = tModelInstanceInfo[i].tModelKey;
x.instanceDetails = MapInstanceDetails(tModelInstanceInfo[i].instanceDetails);
r.Add(x);
}
return r.ToArray();
}
public static instanceDetails MapInstanceDetails(uddi.apiv2.instanceDetails instanceDetails)
{
if (instanceDetails == null) return null;
instanceDetails r = new instanceDetails();
r.description = MapDescription(instanceDetails.description);
r.instanceParms = instanceDetails.instanceParms;
r.Items = MapOverviewDoc(instanceDetails.overviewDoc);
return r;
}
public static overviewDoc[] MapOverviewDoc(uddi.apiv2.overviewDoc overviewDoc)
{
if (overviewDoc == null) return null;
overviewDoc x = new overviewDoc();
x.descriptions = MapDescription(overviewDoc.description);
x.overviewURLs = MapOverviewUrl(overviewDoc.overviewURL);
return new overviewDoc[] { x };
}
public static overviewURL[] MapOverviewUrl(string p)
{
if (p == null) return null;
overviewURL xx = new overviewURL();
xx.Value = p;
return new overviewURL[] { xx };
}
public static contact[] MapContacts(uddi.apiv2.contact[] contact)
{
if (contact == null) return null;
List<contact> r = new List<contact>();
for (int i = 0; i < contact.Length; i++)
{
contact x = new uddi.apiv3.contact();
x.personName = new personName[] { new personName(contact[i].personName, null) };
x.useType = contact[i].useType;
x.description = MapDescription(contact[i].description);
x.email = MapEmail(contact[i].email);
x.address = MapAddress(contact[i].address);
x.phone = MapPhone(contact[i].phone);
r.Add(x);
}
return r.ToArray();
}
public static phone[] MapPhone(uddi.apiv2.phone[] phone)
{
if (phone == null) return null;
List<phone> r = new List<phone>();
for (int i = 0; i < phone.Length; i++)
{
phone x = new phone();
x.Value = phone[i].Value;
x.useType = phone[i].useType;
r.Add(x);
}
return r.ToArray();
}
public static address[] MapAddress(uddi.apiv2.address[] address)
{
if (address == null) return null;
List<address> r = new List<address>();
for (int i = 0; i < address.Length; i++)
{
address x = new address();
x.sortCode = address[i].sortCode;
x.tModelKey = address[i].tModelKey;
x.addressLine = MapAddressLine(address[i].addressLine);
x.useType = address[i].useType;
r.Add(x);
}
return r.ToArray();
}
public static addressLine[] MapAddressLine(uddi.apiv2.addressLine[] addressLine)
{
if (addressLine == null) return null;
List<addressLine> r = new List<addressLine>();
for (int i = 0; i < addressLine.Length; i++)
{
addressLine x = new addressLine();
x.Value = addressLine[i].Value;
x.keyValue = addressLine[i].keyValue;
x.keyName = addressLine[i].keyName;
r.Add(x);
}
return r.ToArray();
}
public static email[] MapEmail(uddi.apiv2.email[] email)
{
if (email == null) return null;
List<email> r = new List<email>();
for (int i = 0; i < email.Length; i++)
{
email x = new email();
x.Value = email[i].Value;
x.useType = email[i].useType;
r.Add(x);
}
return r.ToArray();
}
public static discoveryURL[] MapDiscoUrls(uddi.apiv2.discoveryURL[] discoveryURL)
{
if (discoveryURL == null) return null;
List<discoveryURL> r = new List<discoveryURL>();
for (int i = 0; i < discoveryURL.Length; i++)
{
discoveryURL x = new discoveryURL();
x.Value = discoveryURL[i].Value;
x.useType = discoveryURL[i].useType;
r.Add(x);
}
return r.ToArray();
}
public static keyedReference[] MapIdentifierBag(uddi.apiv2.keyedReference[] keyedReference)
{
if (keyedReference == null)
return null;
List<keyedReference> r = new List<keyedReference>();
for (int i = 0; i < keyedReference.Length; i++)
{
keyedReference x = new keyedReference();
x.tModelKey = keyedReference[i].tModelKey;
x.keyValue = keyedReference[i].keyValue;
x.keyName = keyedReference[i].keyName;
r.Add(x);
}
return r.ToArray();
}
public static categoryBag MapCategoryBag(uddi.apiv2.keyedReference[] keyedReference)
{
if (keyedReference == null || keyedReference.Length == 0)
return null;
categoryBag c = new categoryBag();
c.Items = MapIdentifierBag(keyedReference);
return c;
}
public static uddi.apiv3.serviceDetail MapServiceDetail(uddi.apiv2.serviceDetail serviceDetail)
{
if (serviceDetail == null) return null;
uddi.apiv3.serviceDetail r = new serviceDetail();
r.businessService = MapBusinessServices(serviceDetail.businessService);
r.truncated = serviceDetail.truncated == uddi.apiv2.truncated.@true;
r.truncatedSpecified = serviceDetail.truncatedSpecified;
return r;
}
public static uddi.apiv3.tModelDetail MapTModelDetail(uddi.apiv2.tModelDetail tModelDetail)
{
if (tModelDetail == null) return null;
uddi.apiv3.tModelDetail r = new tModelDetail();
r.truncated = tModelDetail.truncated == uddi.apiv2.truncated.@true;
r.truncatedSpecified = tModelDetail.truncatedSpecified;
r.tModel = MapTModels(tModelDetail.tModel);
return r;
}
public static tModel[] MapTModels(uddi.apiv2.tModel[] tModel)
{
if (tModel == null) return null;
List<tModel> r = new List<tModel>();
for (int i = 0; i < tModel.Length; i++)
{
tModel x = new tModel();
x.categoryBag = MapCategoryBag(tModel[i].categoryBag);
x.deleted = false;
x.description = MapDescription(tModel[i].description);
x.identifierBag = MapIdentifierBag(tModel[i].identifierBag);
x.name = new name(tModel[i].name.Value, tModel[i].name.lang);
x.tModelKey = tModel[i].tModelKey;
r.Add(x);
}
return r.ToArray();
}
public static registeredInfo MapRegisteredInfo(uddi.apiv2.registeredInfo registeredInfo)
{
if (registeredInfo == null) return null;
registeredInfo r = new registeredInfo();
r.businessInfos = MapBusinessInfo(registeredInfo.businessInfos);
r.truncated = registeredInfo.truncated == uddi.apiv2.truncated.@true;
r.truncatedSpecified = registeredInfo.truncatedSpecified;
List<tModelInfo> x = new List<tModelInfo>();
if (registeredInfo.tModelInfos != null)
{
for (int i = 0; i < registeredInfo.tModelInfos.Length; i++)
{
tModelInfo t = new tModelInfo();
t.tModelKey = registeredInfo.tModelInfos[i].tModelKey;
if (registeredInfo.tModelInfos[i].name != null)
t.name = new name(
registeredInfo.tModelInfos[i].name.Value, registeredInfo.tModelInfos[i].name.lang);
x.Add(t);
}
}
r.tModelInfos = x.ToArray();
return r;
}
}
}