public void buildResourceList() { extendedRegistryList = new ArrayList<ExtendedRegistry>(); int extendedRegistryListCounter = 0; if (tempDoc == null) { registryBrowser(); } try { XQuerySearchResponseDocument responseDoc = XQuerySearchResponseDocument.Factory.parse(tempDoc); XQuerySearchResponse response = responseDoc.getXQuerySearchResponse(); /* * xmlns:ri="http://www.ivoa.net/xml/RegistryInterface/v1.0" * <ri:Resource> </ri:Resource> */ XmlObject xmlObject[] = response.selectChildren( new QName("http://www.ivoa.net/xml/RegistryInterface/v1.0", "Resource")); log.info("Number of Resources: " + xmlObject.length); Resource resourceTemp = null; ExtendedRegistry extendedRegistry = null; for (int i = 0; i < xmlObject.length; i++) { resourceTemp = Resource.Factory.parse(xmlObject[i].xmlText()); /* * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" * xsi:type="vr:Service" */ String resourceTypeComplete = resourceTemp .selectAttribute("http://www.w3.org/2001/XMLSchema-instance", "type") .getDomNode() .getNodeValue(); int index = resourceTypeComplete.indexOf(':') + 1; String resourceType = resourceTypeComplete.substring(index); log.info("Resource Type: " + resourceType); /* * Ignore Resource Type Registry, Authority * CeaApplication reduced only 3 resources * Organisation reduced only 1 resource * Service reduced 16 resources */ if (!resourceType.equals("Registry") && !resourceType.equals("Authority") && !resourceType.equals("CeaApplication") && !resourceType.equals("Organisation") && !resourceType.equals("Service")) { if (resourceTemp.getStatus().toString().equals("active")) { // System.out.println("resourceType: " + resourceType); // resourceList.add(resourceTemp); // System.out.println("i: " + i); extendedRegistry = new ExtendedRegistry(extendedRegistryListCounter++, resourceTemp); String webURL = resourceTemp.getContent().getReferenceURL(); log.info("web URL: " + webURL); if (webURL != null && webURL.trim().length() > 0) { extendedRegistry.setWebURL(webURL); } // Here Logic needs to be changed .....! // I need to capture TAP-XSAMS also ....! String[] accessURLs = buildCapabilityList(resourceTemp); log.info("Tap URL: " + accessURLs[0]); log.info("Tap XSAMs URL: " + accessURLs[1]); extendedRegistry.setTapURL(accessURLs[0]); if (accessURLs[1] != null && accessURLs[1].trim().length() > 0) { extendedRegistry.setXsamURL(accessURLs[1]); xsamsListForCheckBoxes.put(resourceTemp.getTitle(), accessURLs[1]); } if (resourceTemp.getCuration().getContactArray().length > 0) { extendedRegistry.setContactEmail( resourceTemp.getCuration().getContactArray()[0].getEmail()); extendedRegistry.setContactID( resourceTemp.getCuration().getContactArray()[0].getName().getIvoId()); } extendedRegistryList.add(extendedRegistry); XmlObject tempObject = resourceTemp.copy(); XmlObject xmlObjectApplicationChild[] = tempObject.selectChildren(new QName("", "applicationDefinition")); System.out.println("Application Definitition: " + xmlObjectApplicationChild.length); XmlObject xmlObjectTableChild[] = tempObject.selectChildren(new QName("", "table")); // System.out.println("Table: " + xmlObjectTableChild.length); for (int x = 0; x < xmlObjectTableChild.length; x++) { XmlObject xmlObjectTableName[] = xmlObjectTableChild[x].selectChildren(new QName("", "name")); // tableList.add(xmlObjectTableChild[x]); String tableXML = xmlObjectTableName[0].xmlText(); int indexGreaterThan = tableXML.indexOf(">") + 1; int indexSecondLessThan = tableXML.indexOf("</"); @SuppressWarnings("unused") String tableName = tableXML.substring(indexGreaterThan, indexSecondLessThan); // tableNamesList.add(tableName); @SuppressWarnings("unused") XmlObject xmlObjectColumnChild[] = xmlObjectTableChild[x].selectChildren(new QName("", "column")); /* System.out.println(tableName + " Column: " + xmlObjectColumnChild.length);*/ } } } } } catch (XmlException ex) { } }