[118087] UDDI custom taxonomies cannot be loaded into the WSExplorer
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddToUDDIPerspectiveAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddToUDDIPerspectiveAction.java
index e8390ba..a2d02e5 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddToUDDIPerspectiveAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddToUDDIPerspectiveAction.java
@@ -14,8 +14,8 @@
 import java.io.File;
 import java.util.Enumeration;
 import java.util.Hashtable;
-import java.util.Iterator;
 import java.util.Vector;
+
 import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs;
 import org.eclipse.wst.ws.internal.explorer.platform.datamodel.TreeElement;
 import org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel.FavoritesElement;
@@ -37,7 +37,6 @@
 import org.eclipse.wst.ws.internal.explorer.platform.util.URLUtils;
 import org.eclipse.wst.ws.internal.explorer.platform.util.Validator;
 import org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy;
-import org.eclipse.wst.ws.internal.model.v10.uddiregistry.Taxonomies;
 
 public abstract class AddToUDDIPerspectiveAction extends MultipleLinkAction {
     public AddToUDDIPerspectiveAction(Controller controller) {
@@ -73,7 +72,7 @@
       return createRegistryInUDDIPerspective(inquiryAPI, publishAPI, registryName, registrationURL, null, null, null, useExisting);
     }
 
-    protected boolean createRegistryInUDDIPerspective(String inquiryAPI, String publishAPI, String registryName, String registrationURL, String defaultLogin, String defaultPassword, Taxonomies taxonomies, boolean useExisting) {
+    protected boolean createRegistryInUDDIPerspective(String inquiryAPI, String publishAPI, String registryName, String registrationURL, String defaultLogin, String defaultPassword, Taxonomy[] taxonomies, boolean useExisting) {
       Vector registryNodes = getRegistryNodesByInquiryURL(inquiryAPI);
         if (registryNodes != null)
         {
@@ -132,9 +131,9 @@
         if (taxonomies != null)
         {
           Hashtable taxonomyTable = new Hashtable();
-          for (Iterator it = taxonomies.getTaxonomy().iterator(); it.hasNext();)
+          for (int i=0; i<taxonomies.length; i++)
           {
-            Taxonomy taxonomy = (Taxonomy)it.next();
+            Taxonomy taxonomy = taxonomies[i];
             String name = taxonomy.getName();
             String tmodelKey = taxonomy.getTmodelKey();
             CategoryModel catModel = new CategoryModel();
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddUserDefRegistryToUDDIPerspectiveAction.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddUserDefRegistryToUDDIPerspectiveAction.java
index d8380e9..7809538 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddUserDefRegistryToUDDIPerspectiveAction.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/actions/AddUserDefRegistryToUDDIPerspectiveAction.java
@@ -18,7 +18,7 @@
 import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
 import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
 import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
-import org.eclipse.wst.ws.internal.model.v10.uddiregistry.Taxonomies;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy;
 
 public class AddUserDefRegistryToUDDIPerspectiveAction extends AddToUDDIPerspectiveAction
 {
@@ -40,7 +40,7 @@
     String publishAPI = regElement.getPublishURL();
     String defaultLogin = regElement.getDefaultLogin();
     String defaultPassword = regElement.getDefaultPassword();
-    Taxonomies taxonomies = regElement.getTaxonomies();
+    Taxonomy[] taxonomies = regElement.getTaxonomies();
     if (!createRegistryInUDDIPerspective(inquiryAPI, publishAPI, registryName, null, defaultLogin, defaultPassword, taxonomies, false))
       return false;
     favPerspective.getMessageQueue().addMessage(favPerspective.getMessage("MSG_INFO_ADD_TO_UDDI_PERSPECTIVE_SUCCESSFUL", registryName));
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUserDefUDDIRegistryElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUserDefUDDIRegistryElement.java
index 794172b..19df577 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUserDefUDDIRegistryElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUserDefUDDIRegistryElement.java
@@ -12,8 +12,9 @@
 package org.eclipse.wst.ws.internal.explorer.platform.favorites.datamodel;
 
 import java.util.List;
+
 import org.eclipse.wst.ws.internal.datamodel.Model;
-import org.eclipse.wst.ws.internal.model.v10.uddiregistry.Taxonomies;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy;
 
 public class FavoritesUserDefUDDIRegistryElement extends FavoritesElement
 {
@@ -26,7 +27,7 @@
   private String publishURL;
   private String secureInquiryURL;
   private String securePublishURL;
-  private Taxonomies taxonomies;
+  private Taxonomy[] taxonomies;
 
   public String getDefaultLogin()
   {
@@ -48,12 +49,12 @@
     this.defaultPassword = defaultPassword;
   }
 
-  public Taxonomies getTaxonomies()
+  public Taxonomy[] getTaxonomies()
   {
     return taxonomies;
   }
 
-  public void setTaxonomies(Taxonomies taxonomies)
+  public void setTaxonomies(Taxonomy[] taxonomies)
   {
     this.taxonomies = taxonomies;
   }
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUserDefUDDIRegistryFolderElement.java b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUserDefUDDIRegistryFolderElement.java
index 0931bf4..d99a3cd 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUserDefUDDIRegistryFolderElement.java
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer-src/org/eclipse/wst/ws/internal/explorer/platform/favorites/datamodel/FavoritesUserDefUDDIRegistryFolderElement.java
@@ -13,6 +13,7 @@
 import java.util.Enumeration;
 import java.util.Hashtable;
 import java.util.List;
+
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.wst.ws.internal.datamodel.Model;
 import org.eclipse.wst.ws.internal.explorer.platform.constants.ModelConstants;
@@ -20,9 +21,11 @@
 import org.eclipse.wst.ws.internal.explorer.platform.perspective.NodeManager;
 import org.eclipse.wst.ws.internal.model.v10.registry.Name;
 import org.eclipse.wst.ws.internal.model.v10.registry.Registry;
+import org.eclipse.wst.ws.internal.model.v10.taxonomy.Taxonomy;
 import org.eclipse.wst.ws.internal.model.v10.uddiregistry.UDDIRegistry;
 import org.eclipse.wst.ws.internal.registry.IRegistryManager;
 import org.eclipse.wst.ws.internal.registry.RegistryService;
+import org.eclipse.wst.ws.internal.registry.UDDIRegistryService;
 
 /**
  * The data model element that represents a WSIL document
@@ -59,7 +62,8 @@
           favUserDefUDDIRegElement.setPublishURL(uddiReg.getPublicationURL());
           favUserDefUDDIRegElement.setSecureInquiryURL(uddiReg.getSecuredDiscoveryURL());
           favUserDefUDDIRegElement.setSecurePublishURL(uddiReg.getSecuredPublicationURL());
-          favUserDefUDDIRegElement.setTaxonomies(uddiReg.getTaxonomies());
+          Taxonomy[] taxonomies = regManager.loadTaxonomies(UDDIRegistryService.instance().getTaxonomyURIs(uddiReg));
+          favUserDefUDDIRegElement.setTaxonomies(taxonomies);
           connect(favUserDefUDDIRegElement, FavoritesModelConstants.REL_USER_DEF_UDDI_REGISTRY_NODE, ModelConstants.REL_OWNER);
         }
       }
diff --git a/bundles/org.eclipse.wst.ws.explorer/wsexplorer/favorites/forms/FavoritesUserDefUDDIRegistryDetailsPage.jsp b/bundles/org.eclipse.wst.ws.explorer/wsexplorer/favorites/forms/FavoritesUserDefUDDIRegistryDetailsPage.jsp
index 1b88ee7..eba10a0 100644
--- a/bundles/org.eclipse.wst.ws.explorer/wsexplorer/favorites/forms/FavoritesUserDefUDDIRegistryDetailsPage.jsp
+++ b/bundles/org.eclipse.wst.ws.explorer/wsexplorer/favorites/forms/FavoritesUserDefUDDIRegistryDetailsPage.jsp
@@ -268,34 +268,30 @@
      %>
      
      <%
-     Taxonomies taxonomies = regElement.getTaxonomies();
-     if (taxonomies != null)
+     Taxonomy[] taxonomies = regElement.getTaxonomies();
+     if (taxonomies != null && taxonomies.length > 0)
      {
-       List t = taxonomies.getTaxonomy();
-       if (t != null && !t.isEmpty())
-       {
-       %>
-         <br>
-         <table width="95%" border=0 cellpadding=3 cellspacing=0 class="tableborder">
-           <tr>
-             <th class="singleheadercolor" height=20 valign="bottom" align="left">
-               <%=favPerspective.getMessage("FORM_LABEL_TAXONOMY")%>
-             </th>
-           </tr>
-           <%
-           for (Iterator it = t.iterator(); it.hasNext();)
-           {
-             Taxonomy taxonomy = (Taxonomy)it.next();
-           %>
-           <tr>
-             <td class="tablecells"><%=taxonomy.getName()%></td>
-           </tr>
-           <%
-           }
-           %>
-         </table>
+     %>
+       <br>
+       <table width="95%" border=0 cellpadding=3 cellspacing=0 class="tableborder">
+         <tr>
+           <th class="singleheadercolor" height=20 valign="bottom" align="left">
+             <%=favPerspective.getMessage("FORM_LABEL_TAXONOMY")%>
+           </th>
+         </tr>
          <%
-       }
+         for (int i=0; i<taxonomies.length; i++)
+         {
+           Taxonomy taxonomy = taxonomies[i];
+         %>
+         <tr>
+           <td class="tablecells"><%=taxonomy.getName()%></td>
+         </tr>
+         <%
+         }
+         %>
+       </table>
+       <%
      }
      %>