@Test public void testParseComputeCollectionResponse() { ComputeCollection results; OpenStackParser parser = new OpenStackParser(); try { results = parser.parseComputeCollectionResponse(COMPUTECOLLECTIONRESPONSE); assertEquals(1, results.getCompute().size()); assertEquals("b626796d-d585-4874-b178-78c65289bba4", results.getCompute().get(0).getHref()); assertEquals("new-server-test", results.getCompute().get(0).getName()); results = parser.parseComputeCollectionResponse( COMPUTECOLLECTIONMALFORMEDRESPONSE); fail(); } catch (OCCIException e) { assertTrue(true); } }
public ComputeCollection parseComputeCollectionResponse (String response) throws OCCIException { ComputeCollection ret = null; List<Link> linkList; Link link; SAXBuilder builder = new SAXBuilder(); builder.setValidation(false); builder.setIgnoringElementContentWhitespace(true); Document xmldoc; log.info("[OpenStackParser] Parsing compute collection response..."); try { xmldoc = builder.build(new StringReader(response)); XPath xpath = XPath.newInstance(" xpath.addNamespace("ns", COMPUTENAMESPACE); xpath.addNamespace("atom", ATOMNAMESPACE); List idList = xpath.selectNodes(xmldoc); xpath = XPath.newInstance(" xpath.addNamespace("ns", VOLUMENAMESPACE); List nameList = xpath.selectNodes(xmldoc); if (idList.size() == nameList.size()) { ret = new ComputeCollection(); linkList = new ArrayList<Link>(); for (int i = 0 ; i < idList.size() ; i++) { link = new Link(); link.setHref(((Attribute)idList.get(i)).getValue()); link.setName(((Attribute)nameList.get(i)).getValue()); linkList.add(link); } } else { OCCIException exception = new OCCIException(); exception.setMessage(MALFORMEDRESPONSE); log.error(MALFORMEDRESPONSE); throw exception; } } catch (JDOMException e) { log.error(e.getMessage()); } catch (IOException e) { log.error(e.getMessage()); } log.debug("[OpenStackParser] Compute collection response parsed..."); return ret; }
OpenStackParser { public ComputeCollection parseComputeCollectionResponse (String response) throws OCCIException { ComputeCollection ret = null; List<Link> linkList; Link link; SAXBuilder builder = new SAXBuilder(); builder.setValidation(false); builder.setIgnoringElementContentWhitespace(true); Document xmldoc; log.info("[OpenStackParser] Parsing compute collection response..."); try { xmldoc = builder.build(new StringReader(response)); XPath xpath = XPath.newInstance(" xpath.addNamespace("ns", COMPUTENAMESPACE); xpath.addNamespace("atom", ATOMNAMESPACE); List idList = xpath.selectNodes(xmldoc); xpath = XPath.newInstance(" xpath.addNamespace("ns", VOLUMENAMESPACE); List nameList = xpath.selectNodes(xmldoc); if (idList.size() == nameList.size()) { ret = new ComputeCollection(); linkList = new ArrayList<Link>(); for (int i = 0 ; i < idList.size() ; i++) { link = new Link(); link.setHref(((Attribute)idList.get(i)).getValue()); link.setName(((Attribute)nameList.get(i)).getValue()); linkList.add(link); } } else { OCCIException exception = new OCCIException(); exception.setMessage(MALFORMEDRESPONSE); log.error(MALFORMEDRESPONSE); throw exception; } } catch (JDOMException e) { log.error(e.getMessage()); } catch (IOException e) { log.error(e.getMessage()); } log.debug("[OpenStackParser] Compute collection response parsed..."); return ret; } }
OpenStackParser { public ComputeCollection parseComputeCollectionResponse (String response) throws OCCIException { ComputeCollection ret = null; List<Link> linkList; Link link; SAXBuilder builder = new SAXBuilder(); builder.setValidation(false); builder.setIgnoringElementContentWhitespace(true); Document xmldoc; log.info("[OpenStackParser] Parsing compute collection response..."); try { xmldoc = builder.build(new StringReader(response)); XPath xpath = XPath.newInstance(" xpath.addNamespace("ns", COMPUTENAMESPACE); xpath.addNamespace("atom", ATOMNAMESPACE); List idList = xpath.selectNodes(xmldoc); xpath = XPath.newInstance(" xpath.addNamespace("ns", VOLUMENAMESPACE); List nameList = xpath.selectNodes(xmldoc); if (idList.size() == nameList.size()) { ret = new ComputeCollection(); linkList = new ArrayList<Link>(); for (int i = 0 ; i < idList.size() ; i++) { link = new Link(); link.setHref(((Attribute)idList.get(i)).getValue()); link.setName(((Attribute)nameList.get(i)).getValue()); linkList.add(link); } } else { OCCIException exception = new OCCIException(); exception.setMessage(MALFORMEDRESPONSE); log.error(MALFORMEDRESPONSE); throw exception; } } catch (JDOMException e) { log.error(e.getMessage()); } catch (IOException e) { log.error(e.getMessage()); } log.debug("[OpenStackParser] Compute collection response parsed..."); return ret; }  }
OpenStackParser { public ComputeCollection parseComputeCollectionResponse (String response) throws OCCIException { ComputeCollection ret = null; List<Link> linkList; Link link; SAXBuilder builder = new SAXBuilder(); builder.setValidation(false); builder.setIgnoringElementContentWhitespace(true); Document xmldoc; log.info("[OpenStackParser] Parsing compute collection response..."); try { xmldoc = builder.build(new StringReader(response)); XPath xpath = XPath.newInstance(" xpath.addNamespace("ns", COMPUTENAMESPACE); xpath.addNamespace("atom", ATOMNAMESPACE); List idList = xpath.selectNodes(xmldoc); xpath = XPath.newInstance(" xpath.addNamespace("ns", VOLUMENAMESPACE); List nameList = xpath.selectNodes(xmldoc); if (idList.size() == nameList.size()) { ret = new ComputeCollection(); linkList = new ArrayList<Link>(); for (int i = 0 ; i < idList.size() ; i++) { link = new Link(); link.setHref(((Attribute)idList.get(i)).getValue()); link.setName(((Attribute)nameList.get(i)).getValue()); linkList.add(link); } } else { OCCIException exception = new OCCIException(); exception.setMessage(MALFORMEDRESPONSE); log.error(MALFORMEDRESPONSE); throw exception; } } catch (JDOMException e) { log.error(e.getMessage()); } catch (IOException e) { log.error(e.getMessage()); } log.debug("[OpenStackParser] Compute collection response parsed..."); return ret; }  String[] parseAuthorizationResponse(String response); String[][] parseNetworkCollectionResponse(String response); String[] parseCreatedNetworkResponse(String response); NetworkCollection parseSubnetCollectionResponse(String response); Network parseSubnetResponse(String response); StorageCollection parseStorageCollectionResponse(String response); Storage parseStorageResponse(String response); StorageCollection parseImageCollectionResponse(String response); Storage parseImageResponse(String response); ComputeCollection parseComputeCollectionResponse(String response); Compute parseComputeResponse(String response); String parseComputeInstanceTypeId(
    		String response,
    		HashMap<String, InstanceType> instanceTypes); List<Disk> parseAttachedStoragesResponse(String response); List<Nic> parseVirtualInterfacesResponse(String response); InstanceTypeCollection parseInstanceTypeCollectionResponse(String response); InstanceType parseInstanceTypeResponse(String response); Quota parseComputeQuotaResponse(String response); int parseStorageQuotaResponse(String response); ComputeState fromOpenStackComputeState(String state); String toOpenStackComputeState(ComputeState state); }
OpenStackParser { public ComputeCollection parseComputeCollectionResponse (String response) throws OCCIException { ComputeCollection ret = null; List<Link> linkList; Link link; SAXBuilder builder = new SAXBuilder(); builder.setValidation(false); builder.setIgnoringElementContentWhitespace(true); Document xmldoc; log.info("[OpenStackParser] Parsing compute collection response..."); try { xmldoc = builder.build(new StringReader(response)); XPath xpath = XPath.newInstance(" xpath.addNamespace("ns", COMPUTENAMESPACE); xpath.addNamespace("atom", ATOMNAMESPACE); List idList = xpath.selectNodes(xmldoc); xpath = XPath.newInstance(" xpath.addNamespace("ns", VOLUMENAMESPACE); List nameList = xpath.selectNodes(xmldoc); if (idList.size() == nameList.size()) { ret = new ComputeCollection(); linkList = new ArrayList<Link>(); for (int i = 0 ; i < idList.size() ; i++) { link = new Link(); link.setHref(((Attribute)idList.get(i)).getValue()); link.setName(((Attribute)nameList.get(i)).getValue()); linkList.add(link); } } else { OCCIException exception = new OCCIException(); exception.setMessage(MALFORMEDRESPONSE); log.error(MALFORMEDRESPONSE); throw exception; } } catch (JDOMException e) { log.error(e.getMessage()); } catch (IOException e) { log.error(e.getMessage()); } log.debug("[OpenStackParser] Compute collection response parsed..."); return ret; }  String[] parseAuthorizationResponse(String response); String[][] parseNetworkCollectionResponse(String response); String[] parseCreatedNetworkResponse(String response); NetworkCollection parseSubnetCollectionResponse(String response); Network parseSubnetResponse(String response); StorageCollection parseStorageCollectionResponse(String response); Storage parseStorageResponse(String response); StorageCollection parseImageCollectionResponse(String response); Storage parseImageResponse(String response); ComputeCollection parseComputeCollectionResponse(String response); Compute parseComputeResponse(String response); String parseComputeInstanceTypeId(
    		String response,
    		HashMap<String, InstanceType> instanceTypes); List<Disk> parseAttachedStoragesResponse(String response); List<Nic> parseVirtualInterfacesResponse(String response); InstanceTypeCollection parseInstanceTypeCollectionResponse(String response); InstanceType parseInstanceTypeResponse(String response); Quota parseComputeQuotaResponse(String response); int parseStorageQuotaResponse(String response); ComputeState fromOpenStackComputeState(String state); String toOpenStackComputeState(ComputeState state); static final String KEYSTONENAMESPACE; static final String QUANTUMNAMESPACE; static final String PROVIDERNAMESPACE; static final String ROUTERNAMESPACE; static final String XSINAMESPACE; static final String VOLUMENAMESPACE; static final String ATOMNAMESPACE; static final String COMPUTENAMESPACE; static final String VIFNAMESPACE; static final String COMMONNAMESPACE; static final String BLOCKNAMESPACE; static final String OSVOLHOSTATTRNAMESPACE; static final String OSVOLIMAGEMETANAMESPACE; static final String OSVOLTENANTATTRNAMESPACE; }