Example usage for javax.xml.bind DatatypeConverter parseDateTime

List of usage examples for javax.xml.bind DatatypeConverter parseDateTime

Introduction

In this page you can find the example usage for javax.xml.bind DatatypeConverter parseDateTime.

Prototype

public static java.util.Calendar parseDateTime(String lexicalXSDDateTime) 

Source Link

Document

Converts the string argument into a Calendar value.

Usage

From source file:com.microsoft.azure.management.notificationhubs.NotificationHubOperationsImpl.java

/**
* Lists the notification hubs associated with a namespace.
*
* @param resourceGroupName Required. The name of the resource group.
* @param namespaceName Required. The namespace name.
* @param notificationHubName Required. The notification hub name.
* @throws IOException Signals that an I/O exception of some sort has
* occurred. This class is the general class of exceptions produced by
* failed or interrupted I/O operations./*from  w  w  w. ja v a2 s. com*/
* @throws ServiceException Thrown if an unexpected response is found.
* @throws URISyntaxException Thrown if there was an error parsing a URI in
* the response.
* @return The response of the Get NotificationHub operation.
*/
@Override
public NotificationHubGetResponse get(String resourceGroupName, String namespaceName,
        String notificationHubName) throws IOException, ServiceException, URISyntaxException {
    // Validate
    if (resourceGroupName == null) {
        throw new NullPointerException("resourceGroupName");
    }
    if (namespaceName == null) {
        throw new NullPointerException("namespaceName");
    }
    if (notificationHubName == null) {
        throw new NullPointerException("notificationHubName");
    }

    // Tracing
    boolean shouldTrace = CloudTracing.getIsEnabled();
    String invocationId = null;
    if (shouldTrace) {
        invocationId = Long.toString(CloudTracing.getNextInvocationId());
        HashMap<String, Object> tracingParameters = new HashMap<String, Object>();
        tracingParameters.put("resourceGroupName", resourceGroupName);
        tracingParameters.put("namespaceName", namespaceName);
        tracingParameters.put("notificationHubName", notificationHubName);
        CloudTracing.enter(invocationId, this, "getAsync", tracingParameters);
    }

    // Construct URL
    String url = "";
    url = url + "/subscriptions/";
    if (this.getClient().getCredentials().getSubscriptionId() != null) {
        url = url + URLEncoder.encode(this.getClient().getCredentials().getSubscriptionId(), "UTF-8");
    }
    url = url + "/resourceGroups/";
    url = url + URLEncoder.encode(resourceGroupName, "UTF-8");
    url = url + "/providers/";
    url = url + "Microsoft.NotificationHubs";
    url = url + "/namespaces/";
    url = url + URLEncoder.encode(namespaceName, "UTF-8");
    url = url + "/notificationHubs/";
    url = url + URLEncoder.encode(notificationHubName, "UTF-8");
    ArrayList<String> queryParameters = new ArrayList<String>();
    queryParameters.add("api-version=" + "2014-09-01");
    if (queryParameters.size() > 0) {
        url = url + "?" + CollectionStringBuilder.join(queryParameters, "&");
    }
    String baseUrl = this.getClient().getBaseUri().toString();
    // Trim '/' character from the end of baseUrl and beginning of url.
    if (baseUrl.charAt(baseUrl.length() - 1) == '/') {
        baseUrl = baseUrl.substring(0, (baseUrl.length() - 1) + 0);
    }
    if (url.charAt(0) == '/') {
        url = url.substring(1);
    }
    url = baseUrl + "/" + url;
    url = url.replace(" ", "%20");

    // Create HTTP transport objects
    HttpGet httpRequest = new HttpGet(url);

    // Set Headers

    // Send Request
    HttpResponse httpResponse = null;
    try {
        if (shouldTrace) {
            CloudTracing.sendRequest(invocationId, httpRequest);
        }
        httpResponse = this.getClient().getHttpClient().execute(httpRequest);
        if (shouldTrace) {
            CloudTracing.receiveResponse(invocationId, httpResponse);
        }
        int statusCode = httpResponse.getStatusLine().getStatusCode();
        if (statusCode != HttpStatus.SC_OK) {
            ServiceException ex = ServiceException.createFromJson(httpRequest, null, httpResponse,
                    httpResponse.getEntity());
            if (shouldTrace) {
                CloudTracing.error(invocationId, ex);
            }
            throw ex;
        }

        // Create Result
        NotificationHubGetResponse result = null;
        // Deserialize Response
        if (statusCode == HttpStatus.SC_OK) {
            InputStream responseContent = httpResponse.getEntity().getContent();
            result = new NotificationHubGetResponse();
            ObjectMapper objectMapper = new ObjectMapper();
            JsonNode responseDoc = null;
            String responseDocContent = IOUtils.toString(responseContent);
            if (responseDocContent == null == false && responseDocContent.length() > 0) {
                responseDoc = objectMapper.readTree(responseDocContent);
            }

            if (responseDoc != null && responseDoc instanceof NullNode == false) {
                NotificationHubResource valueInstance = new NotificationHubResource();
                result.setValue(valueInstance);

                JsonNode idValue = responseDoc.get("id");
                if (idValue != null && idValue instanceof NullNode == false) {
                    String idInstance;
                    idInstance = idValue.getTextValue();
                    valueInstance.setId(idInstance);
                }

                JsonNode locationValue = responseDoc.get("location");
                if (locationValue != null && locationValue instanceof NullNode == false) {
                    String locationInstance;
                    locationInstance = locationValue.getTextValue();
                    valueInstance.setLocation(locationInstance);
                }

                JsonNode nameValue = responseDoc.get("name");
                if (nameValue != null && nameValue instanceof NullNode == false) {
                    String nameInstance;
                    nameInstance = nameValue.getTextValue();
                    valueInstance.setName(nameInstance);
                }

                JsonNode typeValue = responseDoc.get("type");
                if (typeValue != null && typeValue instanceof NullNode == false) {
                    String typeInstance;
                    typeInstance = typeValue.getTextValue();
                    valueInstance.setType(typeInstance);
                }

                JsonNode tagsSequenceElement = ((JsonNode) responseDoc.get("tags"));
                if (tagsSequenceElement != null && tagsSequenceElement instanceof NullNode == false) {
                    Iterator<Map.Entry<String, JsonNode>> itr = tagsSequenceElement.getFields();
                    while (itr.hasNext()) {
                        Map.Entry<String, JsonNode> property = itr.next();
                        String tagsKey = property.getKey();
                        String tagsValue = property.getValue().getTextValue();
                        valueInstance.getTags().put(tagsKey, tagsValue);
                    }
                }

                JsonNode propertiesValue = responseDoc.get("properties");
                if (propertiesValue != null && propertiesValue instanceof NullNode == false) {
                    NotificationHubProperties propertiesInstance = new NotificationHubProperties();
                    valueInstance.setProperties(propertiesInstance);

                    JsonNode nameValue2 = propertiesValue.get("name");
                    if (nameValue2 != null && nameValue2 instanceof NullNode == false) {
                        String nameInstance2;
                        nameInstance2 = nameValue2.getTextValue();
                        propertiesInstance.setName(nameInstance2);
                    }

                    JsonNode registrationTtlValue = propertiesValue.get("registrationTtl");
                    if (registrationTtlValue != null && registrationTtlValue instanceof NullNode == false) {
                        String registrationTtlInstance;
                        registrationTtlInstance = registrationTtlValue.getTextValue();
                        propertiesInstance.setRegistrationTtl(registrationTtlInstance);
                    }

                    JsonNode authorizationRulesArray = propertiesValue.get("authorizationRules");
                    if (authorizationRulesArray != null
                            && authorizationRulesArray instanceof NullNode == false) {
                        for (JsonNode authorizationRulesValue : ((ArrayNode) authorizationRulesArray)) {
                            SharedAccessAuthorizationRuleProperties sharedAccessAuthorizationRulePropertiesInstance = new SharedAccessAuthorizationRuleProperties();
                            propertiesInstance.getAuthorizationRules()
                                    .add(sharedAccessAuthorizationRulePropertiesInstance);

                            JsonNode primaryKeyValue = authorizationRulesValue.get("primaryKey");
                            if (primaryKeyValue != null && primaryKeyValue instanceof NullNode == false) {
                                String primaryKeyInstance;
                                primaryKeyInstance = primaryKeyValue.getTextValue();
                                sharedAccessAuthorizationRulePropertiesInstance
                                        .setPrimaryKey(primaryKeyInstance);
                            }

                            JsonNode secondaryKeyValue = authorizationRulesValue.get("secondaryKey");
                            if (secondaryKeyValue != null && secondaryKeyValue instanceof NullNode == false) {
                                String secondaryKeyInstance;
                                secondaryKeyInstance = secondaryKeyValue.getTextValue();
                                sharedAccessAuthorizationRulePropertiesInstance
                                        .setSecondaryKey(secondaryKeyInstance);
                            }

                            JsonNode keyNameValue = authorizationRulesValue.get("keyName");
                            if (keyNameValue != null && keyNameValue instanceof NullNode == false) {
                                String keyNameInstance;
                                keyNameInstance = keyNameValue.getTextValue();
                                sharedAccessAuthorizationRulePropertiesInstance.setKeyName(keyNameInstance);
                            }

                            JsonNode claimTypeValue = authorizationRulesValue.get("claimType");
                            if (claimTypeValue != null && claimTypeValue instanceof NullNode == false) {
                                String claimTypeInstance;
                                claimTypeInstance = claimTypeValue.getTextValue();
                                sharedAccessAuthorizationRulePropertiesInstance.setClaimType(claimTypeInstance);
                            }

                            JsonNode claimValueValue = authorizationRulesValue.get("claimValue");
                            if (claimValueValue != null && claimValueValue instanceof NullNode == false) {
                                String claimValueInstance;
                                claimValueInstance = claimValueValue.getTextValue();
                                sharedAccessAuthorizationRulePropertiesInstance
                                        .setClaimValue(claimValueInstance);
                            }

                            JsonNode rightsArray = authorizationRulesValue.get("rights");
                            if (rightsArray != null && rightsArray instanceof NullNode == false) {
                                for (JsonNode rightsValue : ((ArrayNode) rightsArray)) {
                                    sharedAccessAuthorizationRulePropertiesInstance.getRights()
                                            .add(Enum.valueOf(AccessRights.class, rightsValue.getTextValue()));
                                }
                            }

                            JsonNode createdTimeValue = authorizationRulesValue.get("createdTime");
                            if (createdTimeValue != null && createdTimeValue instanceof NullNode == false) {
                                Calendar createdTimeInstance;
                                createdTimeInstance = DatatypeConverter
                                        .parseDateTime(createdTimeValue.getTextValue());
                                sharedAccessAuthorizationRulePropertiesInstance
                                        .setCreatedTime(createdTimeInstance);
                            }

                            JsonNode modifiedTimeValue = authorizationRulesValue.get("modifiedTime");
                            if (modifiedTimeValue != null && modifiedTimeValue instanceof NullNode == false) {
                                Calendar modifiedTimeInstance;
                                modifiedTimeInstance = DatatypeConverter
                                        .parseDateTime(modifiedTimeValue.getTextValue());
                                sharedAccessAuthorizationRulePropertiesInstance
                                        .setModifiedTime(modifiedTimeInstance);
                            }

                            JsonNode revisionValue = authorizationRulesValue.get("revision");
                            if (revisionValue != null && revisionValue instanceof NullNode == false) {
                                int revisionInstance;
                                revisionInstance = revisionValue.getIntValue();
                                sharedAccessAuthorizationRulePropertiesInstance.setRevision(revisionInstance);
                            }
                        }
                    }

                    JsonNode apnsCredentialValue = propertiesValue.get("apnsCredential");
                    if (apnsCredentialValue != null && apnsCredentialValue instanceof NullNode == false) {
                        ApnsCredential apnsCredentialInstance = new ApnsCredential();
                        propertiesInstance.setApnsCredential(apnsCredentialInstance);

                        JsonNode propertiesValue2 = apnsCredentialValue.get("properties");
                        if (propertiesValue2 != null && propertiesValue2 instanceof NullNode == false) {
                            ApnsCredentialProperties propertiesInstance2 = new ApnsCredentialProperties();
                            apnsCredentialInstance.setProperties(propertiesInstance2);

                            JsonNode apnsCertificateValue = propertiesValue2.get("apnsCertificate");
                            if (apnsCertificateValue != null
                                    && apnsCertificateValue instanceof NullNode == false) {
                                String apnsCertificateInstance;
                                apnsCertificateInstance = apnsCertificateValue.getTextValue();
                                propertiesInstance2.setApnsCertificate(apnsCertificateInstance);
                            }

                            JsonNode certificateKeyValue = propertiesValue2.get("certificateKey");
                            if (certificateKeyValue != null
                                    && certificateKeyValue instanceof NullNode == false) {
                                String certificateKeyInstance;
                                certificateKeyInstance = certificateKeyValue.getTextValue();
                                propertiesInstance2.setCertificateKey(certificateKeyInstance);
                            }

                            JsonNode endpointValue = propertiesValue2.get("endpoint");
                            if (endpointValue != null && endpointValue instanceof NullNode == false) {
                                String endpointInstance;
                                endpointInstance = endpointValue.getTextValue();
                                propertiesInstance2.setEndpoint(endpointInstance);
                            }

                            JsonNode thumbprintValue = propertiesValue2.get("thumbprint");
                            if (thumbprintValue != null && thumbprintValue instanceof NullNode == false) {
                                String thumbprintInstance;
                                thumbprintInstance = thumbprintValue.getTextValue();
                                propertiesInstance2.setThumbprint(thumbprintInstance);
                            }
                        }
                    }

                    JsonNode wnsCredentialValue = propertiesValue.get("wnsCredential");
                    if (wnsCredentialValue != null && wnsCredentialValue instanceof NullNode == false) {
                        WnsCredential wnsCredentialInstance = new WnsCredential();
                        propertiesInstance.setWnsCredential(wnsCredentialInstance);

                        JsonNode propertiesValue3 = wnsCredentialValue.get("properties");
                        if (propertiesValue3 != null && propertiesValue3 instanceof NullNode == false) {
                            WnsCredentialProperties propertiesInstance3 = new WnsCredentialProperties();
                            wnsCredentialInstance.setProperties(propertiesInstance3);

                            JsonNode packageSidValue = propertiesValue3.get("packageSid");
                            if (packageSidValue != null && packageSidValue instanceof NullNode == false) {
                                String packageSidInstance;
                                packageSidInstance = packageSidValue.getTextValue();
                                propertiesInstance3.setPackageSid(packageSidInstance);
                            }

                            JsonNode secretKeyValue = propertiesValue3.get("secretKey");
                            if (secretKeyValue != null && secretKeyValue instanceof NullNode == false) {
                                String secretKeyInstance;
                                secretKeyInstance = secretKeyValue.getTextValue();
                                propertiesInstance3.setSecretKey(secretKeyInstance);
                            }

                            JsonNode windowsLiveEndpointValue = propertiesValue3.get("windowsLiveEndpoint");
                            if (windowsLiveEndpointValue != null
                                    && windowsLiveEndpointValue instanceof NullNode == false) {
                                String windowsLiveEndpointInstance;
                                windowsLiveEndpointInstance = windowsLiveEndpointValue.getTextValue();
                                propertiesInstance3.setWindowsLiveEndpoint(windowsLiveEndpointInstance);
                            }
                        }
                    }

                    JsonNode gcmCredentialValue = propertiesValue.get("gcmCredential");
                    if (gcmCredentialValue != null && gcmCredentialValue instanceof NullNode == false) {
                        GcmCredential gcmCredentialInstance = new GcmCredential();
                        propertiesInstance.setGcmCredential(gcmCredentialInstance);

                        JsonNode propertiesValue4 = gcmCredentialValue.get("properties");
                        if (propertiesValue4 != null && propertiesValue4 instanceof NullNode == false) {
                            GcmCredentialProperties propertiesInstance4 = new GcmCredentialProperties();
                            gcmCredentialInstance.setProperties(propertiesInstance4);

                            JsonNode gcmEndpointValue = propertiesValue4.get("gcmEndpoint");
                            if (gcmEndpointValue != null && gcmEndpointValue instanceof NullNode == false) {
                                String gcmEndpointInstance;
                                gcmEndpointInstance = gcmEndpointValue.getTextValue();
                                propertiesInstance4.setGcmEndpoint(gcmEndpointInstance);
                            }

                            JsonNode googleApiKeyValue = propertiesValue4.get("googleApiKey");
                            if (googleApiKeyValue != null && googleApiKeyValue instanceof NullNode == false) {
                                String googleApiKeyInstance;
                                googleApiKeyInstance = googleApiKeyValue.getTextValue();
                                propertiesInstance4.setGoogleApiKey(googleApiKeyInstance);
                            }
                        }
                    }

                    JsonNode mpnsCredentialValue = propertiesValue.get("mpnsCredential");
                    if (mpnsCredentialValue != null && mpnsCredentialValue instanceof NullNode == false) {
                        MpnsCredential mpnsCredentialInstance = new MpnsCredential();
                        propertiesInstance.setMpnsCredential(mpnsCredentialInstance);

                        JsonNode propertiesValue5 = mpnsCredentialValue.get("properties");
                        if (propertiesValue5 != null && propertiesValue5 instanceof NullNode == false) {
                            MpnsCredentialProperties propertiesInstance5 = new MpnsCredentialProperties();
                            mpnsCredentialInstance.setProperties(propertiesInstance5);

                            JsonNode mpnsCertificateValue = propertiesValue5.get("mpnsCertificate");
                            if (mpnsCertificateValue != null
                                    && mpnsCertificateValue instanceof NullNode == false) {
                                String mpnsCertificateInstance;
                                mpnsCertificateInstance = mpnsCertificateValue.getTextValue();
                                propertiesInstance5.setMpnsCertificate(mpnsCertificateInstance);
                            }

                            JsonNode certificateKeyValue2 = propertiesValue5.get("certificateKey");
                            if (certificateKeyValue2 != null
                                    && certificateKeyValue2 instanceof NullNode == false) {
                                String certificateKeyInstance2;
                                certificateKeyInstance2 = certificateKeyValue2.getTextValue();
                                propertiesInstance5.setCertificateKey(certificateKeyInstance2);
                            }

                            JsonNode thumbprintValue2 = propertiesValue5.get("thumbprint");
                            if (thumbprintValue2 != null && thumbprintValue2 instanceof NullNode == false) {
                                String thumbprintInstance2;
                                thumbprintInstance2 = thumbprintValue2.getTextValue();
                                propertiesInstance5.setThumbprint(thumbprintInstance2);
                            }
                        }
                    }

                    JsonNode admCredentialValue = propertiesValue.get("admCredential");
                    if (admCredentialValue != null && admCredentialValue instanceof NullNode == false) {
                        AdmCredential admCredentialInstance = new AdmCredential();
                        propertiesInstance.setAdmCredential(admCredentialInstance);

                        JsonNode propertiesValue6 = admCredentialValue.get("properties");
                        if (propertiesValue6 != null && propertiesValue6 instanceof NullNode == false) {
                            AdmCredentialProperties propertiesInstance6 = new AdmCredentialProperties();
                            admCredentialInstance.setProperties(propertiesInstance6);

                            JsonNode clientIdValue = propertiesValue6.get("clientId");
                            if (clientIdValue != null && clientIdValue instanceof NullNode == false) {
                                String clientIdInstance;
                                clientIdInstance = clientIdValue.getTextValue();
                                propertiesInstance6.setClientId(clientIdInstance);
                            }

                            JsonNode clientSecretValue = propertiesValue6.get("clientSecret");
                            if (clientSecretValue != null && clientSecretValue instanceof NullNode == false) {
                                String clientSecretInstance;
                                clientSecretInstance = clientSecretValue.getTextValue();
                                propertiesInstance6.setClientSecret(clientSecretInstance);
                            }

                            JsonNode authTokenUrlValue = propertiesValue6.get("authTokenUrl");
                            if (authTokenUrlValue != null && authTokenUrlValue instanceof NullNode == false) {
                                String authTokenUrlInstance;
                                authTokenUrlInstance = authTokenUrlValue.getTextValue();
                                propertiesInstance6.setAuthTokenUrl(authTokenUrlInstance);
                            }
                        }
                    }

                    JsonNode baiduCredentialValue = propertiesValue.get("baiduCredential");
                    if (baiduCredentialValue != null && baiduCredentialValue instanceof NullNode == false) {
                        BaiduCredential baiduCredentialInstance = new BaiduCredential();
                        propertiesInstance.setBaiduCredential(baiduCredentialInstance);

                        JsonNode propertiesValue7 = baiduCredentialValue.get("properties");
                        if (propertiesValue7 != null && propertiesValue7 instanceof NullNode == false) {
                            BaiduCredentialProperties propertiesInstance7 = new BaiduCredentialProperties();
                            baiduCredentialInstance.setProperties(propertiesInstance7);

                            JsonNode baiduApiKeyValue = propertiesValue7.get("baiduApiKey");
                            if (baiduApiKeyValue != null && baiduApiKeyValue instanceof NullNode == false) {
                                String baiduApiKeyInstance;
                                baiduApiKeyInstance = baiduApiKeyValue.getTextValue();
                                propertiesInstance7.setBaiduApiKey(baiduApiKeyInstance);
                            }

                            JsonNode baiduEndPointValue = propertiesValue7.get("baiduEndPoint");
                            if (baiduEndPointValue != null && baiduEndPointValue instanceof NullNode == false) {
                                String baiduEndPointInstance;
                                baiduEndPointInstance = baiduEndPointValue.getTextValue();
                                propertiesInstance7.setBaiduEndPoint(baiduEndPointInstance);
                            }

                            JsonNode baiduSecretKeyValue = propertiesValue7.get("baiduSecretKey");
                            if (baiduSecretKeyValue != null
                                    && baiduSecretKeyValue instanceof NullNode == false) {
                                String baiduSecretKeyInstance;
                                baiduSecretKeyInstance = baiduSecretKeyValue.getTextValue();
                                propertiesInstance7.setBaiduSecretKey(baiduSecretKeyInstance);
                            }
                        }
                    }
                }
            }

        }
        result.setStatusCode(statusCode);
        if (httpResponse.getHeaders("x-ms-request-id").length > 0) {
            result.setRequestId(httpResponse.getFirstHeader("x-ms-request-id").getValue());
        }

        if (shouldTrace) {
            CloudTracing.exit(invocationId, result);
        }
        return result;
    } finally {
        if (httpResponse != null && httpResponse.getEntity() != null) {
            httpResponse.getEntity().getContent().close();
        }
    }
}

From source file:com.marklogic.client.functionaltest.TestBiTemporal.java

@Test
// Test Period Compare Query using ALN_CONTAINS as the operator
public void testPeriodCompareQueryBasedOnALNContains() throws Exception {
    System.out.println("Inside testPeriodCompareQueryBasedOnALNContains");

    // Read documents based on document URI and ALN Contains. We are just
    // looking for count of documents to be correct
    String docId = "javaSingleJSONDoc.json";
    ConnectedRESTQA.updateTemporalCollectionForLSQT(dbName, temporalLsqtCollectionName, true);

    Calendar insertTime = DatatypeConverter.parseDateTime("2005-01-01T00:00:01");
    insertJSONSingleDocument(temporalLsqtCollectionName, docId, null, null, insertTime);

    Calendar updateTime = DatatypeConverter.parseDateTime("2010-01-01T00:00:01");
    updateJSONSingleDocument(temporalLsqtCollectionName, docId, null, updateTime);

    // Fetch documents associated with a search term (such as XML) in Address
    // element//ww  w . j a va 2s  . co  m
    QueryManager queryMgr = readerClient.newQueryManager();
    StructuredQueryBuilder sqb = queryMgr.newStructuredQueryBuilder();

    StructuredQueryBuilder.Axis validAxis = sqb.axis(axisValidName);
    StructuredQueryBuilder.Axis systemAxis = sqb.axis(axisSystemName);

    StructuredQueryDefinition termQuery = sqb.collection(docId);
    StructuredQueryDefinition periodQuery = sqb.and(termQuery,
            sqb.temporalPeriodCompare(validAxis, TemporalOperator.ALN_CONTAINS, systemAxis));

    long start = 1;
    JSONDocumentManager docMgr = readerClient.newJSONDocumentManager();
    docMgr.setMetadataCategories(Metadata.ALL); // Get all metadata
    DocumentPage termQueryResults = docMgr.search(periodQuery, start);

    long count = 0;
    while (termQueryResults.hasNext()) {
        ++count;
        DocumentRecord record = termQueryResults.next();
        System.out.println("URI = " + record.getUri());

        DocumentMetadataHandle metadataHandle = new DocumentMetadataHandle();
        record.getMetadata(metadataHandle);
        Iterator<String> resCollections = metadataHandle.getCollections().iterator();
        while (resCollections.hasNext()) {
            System.out.println("Collection = " + resCollections.next());
        }

        if (record.getFormat() == Format.XML) {
            DOMHandle recordHandle = new DOMHandle();
            record.getContent(recordHandle);
            System.out.println("Content = " + recordHandle.toString());
        } else {
            JacksonDatabindHandle<ObjectNode> recordHandle = new JacksonDatabindHandle<ObjectNode>(
                    ObjectNode.class);
            record.getContent(recordHandle);
            System.out.println("Content = " + recordHandle.toString());

            JsonFactory factory = new JsonFactory();
            ObjectMapper mapper = new ObjectMapper(factory);
            TypeReference<HashMap<String, Object>> typeRef = new TypeReference<HashMap<String, Object>>() {
            };

            HashMap<String, Object> docObject = mapper.readValue(recordHandle.toString(), typeRef);

            @SuppressWarnings("unchecked")
            HashMap<String, Object> systemNode = (HashMap<String, Object>) (docObject.get(systemNodeName));

            String systemStartDate = (String) systemNode.get(systemStartERIName);
            String systemEndDate = (String) systemNode.get(systemEndERIName);
            System.out.println("systemStartDate = " + systemStartDate);
            System.out.println("systemEndDate = " + systemEndDate);

            @SuppressWarnings("unchecked")
            HashMap<String, Object> validNode = (HashMap<String, Object>) (docObject.get(validNodeName));

            String validStartDate = (String) validNode.get(validStartERIName);
            String validEndDate = (String) validNode.get(validEndERIName);
            System.out.println("validStartDate = " + validStartDate);
            System.out.println("validEndDate = " + validEndDate);

            assertTrue("Valid start date check failed", (validStartDate.contains("2001-01-01T00:00:00")
                    && validEndDate.contains("2011-12-31T23:59:59")));

            assertTrue("System start date check failed", (systemStartDate.contains("2005-01-01T00:00:01")
                    && systemEndDate.contains("2010-01-01T00:00:01")));

        }
    }

    System.out.println("Number of results using SQB = " + count);
    assertEquals("Wrong number of results", 1, count);
}

From source file:com.microsoft.azure.management.resources.DeploymentOperationsImpl.java

/**
* Get a list of deployments./*from  w w  w. j  a  va2s .c  o  m*/
*
* @param nextLink Required. NextLink from the previous successful call to
* List operation.
* @throws IOException Signals that an I/O exception of some sort has
* occurred. This class is the general class of exceptions produced by
* failed or interrupted I/O operations.
* @throws ServiceException Thrown if an unexpected response is found.
* @throws URISyntaxException Thrown if there was an error parsing a URI in
* the response.
* @return List of deployments.
*/
@Override
public DeploymentListResult listNext(String nextLink) throws IOException, ServiceException, URISyntaxException {
    // Validate
    if (nextLink == null) {
        throw new NullPointerException("nextLink");
    }

    // Tracing
    boolean shouldTrace = CloudTracing.getIsEnabled();
    String invocationId = null;
    if (shouldTrace) {
        invocationId = Long.toString(CloudTracing.getNextInvocationId());
        HashMap<String, Object> tracingParameters = new HashMap<String, Object>();
        tracingParameters.put("nextLink", nextLink);
        CloudTracing.enter(invocationId, this, "listNextAsync", tracingParameters);
    }

    // Construct URL
    String url = "";
    url = url + nextLink;
    url = url.replace(" ", "%20");

    // Create HTTP transport objects
    HttpGet httpRequest = new HttpGet(url);

    // Set Headers
    httpRequest.setHeader("Content-Type", "application/json; charset=utf-8");

    // Send Request
    HttpResponse httpResponse = null;
    try {
        if (shouldTrace) {
            CloudTracing.sendRequest(invocationId, httpRequest);
        }
        httpResponse = this.getClient().getHttpClient().execute(httpRequest);
        if (shouldTrace) {
            CloudTracing.receiveResponse(invocationId, httpResponse);
        }
        int statusCode = httpResponse.getStatusLine().getStatusCode();
        if (statusCode != HttpStatus.SC_OK) {
            ServiceException ex = ServiceException.createFromJson(httpRequest, null, httpResponse,
                    httpResponse.getEntity());
            if (shouldTrace) {
                CloudTracing.error(invocationId, ex);
            }
            throw ex;
        }

        // Create Result
        DeploymentListResult result = null;
        // Deserialize Response
        if (statusCode == HttpStatus.SC_OK) {
            InputStream responseContent = httpResponse.getEntity().getContent();
            result = new DeploymentListResult();
            ObjectMapper objectMapper = new ObjectMapper();
            JsonNode responseDoc = null;
            String responseDocContent = IOUtils.toString(responseContent);
            if (responseDocContent == null == false && responseDocContent.length() > 0) {
                responseDoc = objectMapper.readTree(responseDocContent);
            }

            if (responseDoc != null && responseDoc instanceof NullNode == false) {
                JsonNode valueArray = responseDoc.get("value");
                if (valueArray != null && valueArray instanceof NullNode == false) {
                    for (JsonNode valueValue : ((ArrayNode) valueArray)) {
                        DeploymentExtended deploymentExtendedInstance = new DeploymentExtended();
                        result.getDeployments().add(deploymentExtendedInstance);

                        JsonNode idValue = valueValue.get("id");
                        if (idValue != null && idValue instanceof NullNode == false) {
                            String idInstance;
                            idInstance = idValue.getTextValue();
                            deploymentExtendedInstance.setId(idInstance);
                        }

                        JsonNode nameValue = valueValue.get("name");
                        if (nameValue != null && nameValue instanceof NullNode == false) {
                            String nameInstance;
                            nameInstance = nameValue.getTextValue();
                            deploymentExtendedInstance.setName(nameInstance);
                        }

                        JsonNode propertiesValue = valueValue.get("properties");
                        if (propertiesValue != null && propertiesValue instanceof NullNode == false) {
                            DeploymentPropertiesExtended propertiesInstance = new DeploymentPropertiesExtended();
                            deploymentExtendedInstance.setProperties(propertiesInstance);

                            JsonNode provisioningStateValue = propertiesValue.get("provisioningState");
                            if (provisioningStateValue != null
                                    && provisioningStateValue instanceof NullNode == false) {
                                String provisioningStateInstance;
                                provisioningStateInstance = provisioningStateValue.getTextValue();
                                propertiesInstance.setProvisioningState(provisioningStateInstance);
                            }

                            JsonNode correlationIdValue = propertiesValue.get("correlationId");
                            if (correlationIdValue != null && correlationIdValue instanceof NullNode == false) {
                                String correlationIdInstance;
                                correlationIdInstance = correlationIdValue.getTextValue();
                                propertiesInstance.setCorrelationId(correlationIdInstance);
                            }

                            JsonNode timestampValue = propertiesValue.get("timestamp");
                            if (timestampValue != null && timestampValue instanceof NullNode == false) {
                                Calendar timestampInstance;
                                timestampInstance = DatatypeConverter
                                        .parseDateTime(timestampValue.getTextValue());
                                propertiesInstance.setTimestamp(timestampInstance);
                            }

                            JsonNode outputsValue = propertiesValue.get("outputs");
                            if (outputsValue != null && outputsValue instanceof NullNode == false) {
                                String outputsInstance;
                                outputsInstance = outputsValue.getTextValue();
                                propertiesInstance.setOutputs(outputsInstance);
                            }

                            JsonNode providersArray = propertiesValue.get("providers");
                            if (providersArray != null && providersArray instanceof NullNode == false) {
                                for (JsonNode providersValue : ((ArrayNode) providersArray)) {
                                    Provider providerInstance = new Provider();
                                    propertiesInstance.getProviders().add(providerInstance);

                                    JsonNode idValue2 = providersValue.get("id");
                                    if (idValue2 != null && idValue2 instanceof NullNode == false) {
                                        String idInstance2;
                                        idInstance2 = idValue2.getTextValue();
                                        providerInstance.setId(idInstance2);
                                    }

                                    JsonNode namespaceValue = providersValue.get("namespace");
                                    if (namespaceValue != null && namespaceValue instanceof NullNode == false) {
                                        String namespaceInstance;
                                        namespaceInstance = namespaceValue.getTextValue();
                                        providerInstance.setNamespace(namespaceInstance);
                                    }

                                    JsonNode registrationStateValue = providersValue.get("registrationState");
                                    if (registrationStateValue != null
                                            && registrationStateValue instanceof NullNode == false) {
                                        String registrationStateInstance;
                                        registrationStateInstance = registrationStateValue.getTextValue();
                                        providerInstance.setRegistrationState(registrationStateInstance);
                                    }

                                    JsonNode resourceTypesArray = providersValue.get("resourceTypes");
                                    if (resourceTypesArray != null
                                            && resourceTypesArray instanceof NullNode == false) {
                                        for (JsonNode resourceTypesValue : ((ArrayNode) resourceTypesArray)) {
                                            ProviderResourceType providerResourceTypeInstance = new ProviderResourceType();
                                            providerInstance.getResourceTypes()
                                                    .add(providerResourceTypeInstance);

                                            JsonNode resourceTypeValue = resourceTypesValue.get("resourceType");
                                            if (resourceTypeValue != null
                                                    && resourceTypeValue instanceof NullNode == false) {
                                                String resourceTypeInstance;
                                                resourceTypeInstance = resourceTypeValue.getTextValue();
                                                providerResourceTypeInstance.setName(resourceTypeInstance);
                                            }

                                            JsonNode locationsArray = resourceTypesValue.get("locations");
                                            if (locationsArray != null
                                                    && locationsArray instanceof NullNode == false) {
                                                for (JsonNode locationsValue : ((ArrayNode) locationsArray)) {
                                                    providerResourceTypeInstance.getLocations()
                                                            .add(locationsValue.getTextValue());
                                                }
                                            }

                                            JsonNode apiVersionsArray = resourceTypesValue.get("apiVersions");
                                            if (apiVersionsArray != null
                                                    && apiVersionsArray instanceof NullNode == false) {
                                                for (JsonNode apiVersionsValue : ((ArrayNode) apiVersionsArray)) {
                                                    providerResourceTypeInstance.getApiVersions()
                                                            .add(apiVersionsValue.getTextValue());
                                                }
                                            }

                                            JsonNode propertiesSequenceElement = ((JsonNode) resourceTypesValue
                                                    .get("properties"));
                                            if (propertiesSequenceElement != null
                                                    && propertiesSequenceElement instanceof NullNode == false) {
                                                Iterator<Map.Entry<String, JsonNode>> itr = propertiesSequenceElement
                                                        .getFields();
                                                while (itr.hasNext()) {
                                                    Map.Entry<String, JsonNode> property = itr.next();
                                                    String propertiesKey = property.getKey();
                                                    String propertiesValue2 = property.getValue()
                                                            .getTextValue();
                                                    providerResourceTypeInstance.getProperties()
                                                            .put(propertiesKey, propertiesValue2);
                                                }
                                            }
                                        }
                                    }
                                }
                            }

                            JsonNode dependenciesArray = propertiesValue.get("dependencies");
                            if (dependenciesArray != null && dependenciesArray instanceof NullNode == false) {
                                for (JsonNode dependenciesValue : ((ArrayNode) dependenciesArray)) {
                                    Dependency dependencyInstance = new Dependency();
                                    propertiesInstance.getDependencies().add(dependencyInstance);

                                    JsonNode dependsOnArray = dependenciesValue.get("dependsOn");
                                    if (dependsOnArray != null && dependsOnArray instanceof NullNode == false) {
                                        for (JsonNode dependsOnValue : ((ArrayNode) dependsOnArray)) {
                                            BasicDependency basicDependencyInstance = new BasicDependency();
                                            dependencyInstance.getDependsOn().add(basicDependencyInstance);

                                            JsonNode idValue3 = dependsOnValue.get("id");
                                            if (idValue3 != null && idValue3 instanceof NullNode == false) {
                                                String idInstance3;
                                                idInstance3 = idValue3.getTextValue();
                                                basicDependencyInstance.setId(idInstance3);
                                            }

                                            JsonNode resourceTypeValue2 = dependsOnValue.get("resourceType");
                                            if (resourceTypeValue2 != null
                                                    && resourceTypeValue2 instanceof NullNode == false) {
                                                String resourceTypeInstance2;
                                                resourceTypeInstance2 = resourceTypeValue2.getTextValue();
                                                basicDependencyInstance.setResourceType(resourceTypeInstance2);
                                            }

                                            JsonNode resourceNameValue = dependsOnValue.get("resourceName");
                                            if (resourceNameValue != null
                                                    && resourceNameValue instanceof NullNode == false) {
                                                String resourceNameInstance;
                                                resourceNameInstance = resourceNameValue.getTextValue();
                                                basicDependencyInstance.setResourceName(resourceNameInstance);
                                            }
                                        }
                                    }

                                    JsonNode idValue4 = dependenciesValue.get("id");
                                    if (idValue4 != null && idValue4 instanceof NullNode == false) {
                                        String idInstance4;
                                        idInstance4 = idValue4.getTextValue();
                                        dependencyInstance.setId(idInstance4);
                                    }

                                    JsonNode resourceTypeValue3 = dependenciesValue.get("resourceType");
                                    if (resourceTypeValue3 != null
                                            && resourceTypeValue3 instanceof NullNode == false) {
                                        String resourceTypeInstance3;
                                        resourceTypeInstance3 = resourceTypeValue3.getTextValue();
                                        dependencyInstance.setResourceType(resourceTypeInstance3);
                                    }

                                    JsonNode resourceNameValue2 = dependenciesValue.get("resourceName");
                                    if (resourceNameValue2 != null
                                            && resourceNameValue2 instanceof NullNode == false) {
                                        String resourceNameInstance2;
                                        resourceNameInstance2 = resourceNameValue2.getTextValue();
                                        dependencyInstance.setResourceName(resourceNameInstance2);
                                    }
                                }
                            }

                            JsonNode templateValue = propertiesValue.get("template");
                            if (templateValue != null && templateValue instanceof NullNode == false) {
                                String templateInstance;
                                templateInstance = templateValue.getTextValue();
                                propertiesInstance.setTemplate(templateInstance);
                            }

                            JsonNode templateLinkValue = propertiesValue.get("templateLink");
                            if (templateLinkValue != null && templateLinkValue instanceof NullNode == false) {
                                TemplateLink templateLinkInstance = new TemplateLink();
                                propertiesInstance.setTemplateLink(templateLinkInstance);

                                JsonNode uriValue = templateLinkValue.get("uri");
                                if (uriValue != null && uriValue instanceof NullNode == false) {
                                    URI uriInstance;
                                    uriInstance = new URI(uriValue.getTextValue());
                                    templateLinkInstance.setUri(uriInstance);
                                }

                                JsonNode contentVersionValue = templateLinkValue.get("contentVersion");
                                if (contentVersionValue != null
                                        && contentVersionValue instanceof NullNode == false) {
                                    String contentVersionInstance;
                                    contentVersionInstance = contentVersionValue.getTextValue();
                                    templateLinkInstance.setContentVersion(contentVersionInstance);
                                }
                            }

                            JsonNode parametersValue = propertiesValue.get("parameters");
                            if (parametersValue != null && parametersValue instanceof NullNode == false) {
                                String parametersInstance;
                                parametersInstance = parametersValue.getTextValue();
                                propertiesInstance.setParameters(parametersInstance);
                            }

                            JsonNode parametersLinkValue = propertiesValue.get("parametersLink");
                            if (parametersLinkValue != null
                                    && parametersLinkValue instanceof NullNode == false) {
                                ParametersLink parametersLinkInstance = new ParametersLink();
                                propertiesInstance.setParametersLink(parametersLinkInstance);

                                JsonNode uriValue2 = parametersLinkValue.get("uri");
                                if (uriValue2 != null && uriValue2 instanceof NullNode == false) {
                                    URI uriInstance2;
                                    uriInstance2 = new URI(uriValue2.getTextValue());
                                    parametersLinkInstance.setUri(uriInstance2);
                                }

                                JsonNode contentVersionValue2 = parametersLinkValue.get("contentVersion");
                                if (contentVersionValue2 != null
                                        && contentVersionValue2 instanceof NullNode == false) {
                                    String contentVersionInstance2;
                                    contentVersionInstance2 = contentVersionValue2.getTextValue();
                                    parametersLinkInstance.setContentVersion(contentVersionInstance2);
                                }
                            }

                            JsonNode modeValue = propertiesValue.get("mode");
                            if (modeValue != null && modeValue instanceof NullNode == false) {
                                DeploymentMode modeInstance;
                                modeInstance = Enum.valueOf(DeploymentMode.class, modeValue.getTextValue());
                                propertiesInstance.setMode(modeInstance);
                            }
                        }
                    }
                }

                JsonNode nextLinkValue = responseDoc.get("nextLink");
                if (nextLinkValue != null && nextLinkValue instanceof NullNode == false) {
                    String nextLinkInstance;
                    nextLinkInstance = nextLinkValue.getTextValue();
                    result.setNextLink(nextLinkInstance);
                }
            }

        }
        result.setStatusCode(statusCode);
        if (httpResponse.getHeaders("x-ms-request-id").length > 0) {
            result.setRequestId(httpResponse.getFirstHeader("x-ms-request-id").getValue());
        }

        if (shouldTrace) {
            CloudTracing.exit(invocationId, result);
        }
        return result;
    } finally {
        if (httpResponse != null && httpResponse.getEntity() != null) {
            httpResponse.getEntity().getContent().close();
        }
    }
}

From source file:com.marklogic.client.functionaltest.TestBiTemporal.java

@Test
// Test LSQT Query using temporalLsqtQuery. Do the query as REST reader
public void testLsqtQuery() throws Exception {
    System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.http.wire", "debug");

    ConnectedRESTQA.updateTemporalCollectionForLSQT(dbName, temporalLsqtCollectionName, true);

    // Read documents based on document URI and ALN Contains. We are just
    // looking for count of documents to be correct
    String docId = "javaSingleJSONDoc.json";

    Calendar insertTime = DatatypeConverter.parseDateTime("2005-01-01T00:00:01");
    insertJSONSingleDocument(temporalLsqtCollectionName, docId, null, null, insertTime);

    Calendar updateTime = DatatypeConverter.parseDateTime("2010-01-01T00:00:01");
    updateJSONSingleDocument(temporalLsqtCollectionName, docId, null, updateTime);

    Thread.sleep(2000);//  w w  w  .ja va 2s .  co m

    validateLSQTQueryData(readerClient);
}

From source file:com.marklogic.client.functionaltest.TestBiTemporal.java

@Test
// Test LSQT Query using temporalLsqtQuery. Do the query as REST admin
public void testLsqtQueryAsAdmin() throws Exception {
    System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.http.wire", "debug");

    ConnectedRESTQA.updateTemporalCollectionForLSQT(dbName, temporalLsqtCollectionName, true);

    // Read documents based on document URI and ALN Contains. We are just
    // looking for count of documents to be correct
    String docId = "javaSingleJSONDoc.json";

    Calendar insertTime = DatatypeConverter.parseDateTime("2005-01-01T00:00:01");

    JacksonDatabindHandle<ObjectNode> handle = getJSONDocumentHandle("2001-01-01T00:00:00",
            "2011-12-31T23:59:59", "999 Skyway Park - JSON", docId);

    JSONDocumentManager docMgr = adminClient.newJSONDocumentManager();
    docMgr.setMetadataCategories(Metadata.ALL);

    // put meta-data
    DocumentMetadataHandle mh = setMetadata(false);
    docMgr.write(docId, mh, handle, null, null, temporalLsqtCollectionName, insertTime);

    Calendar updateTime = DatatypeConverter.parseDateTime("2010-01-01T00:00:01");
    docMgr.write(docId, mh, handle, null, null, temporalLsqtCollectionName, updateTime);

    Thread.sleep(2000);/*from   w ww  . j a va2 s . c  o m*/

    validateLSQTQueryData(adminClient);
}

From source file:com.microsoft.windowsazure.management.servicebus.TopicOperationsImpl.java

/**
* Enumerates the topics in the service namespace. An empty feed is returned
* if no topic exists in the service namespace.  (see
* http://msdn.microsoft.com/en-us/library/windowsazure/hh780744.aspx for
* more information)//from w w  w . j  av  a 2  s .c o m
*
* @param namespaceName Required. The namespace name.
* @throws IOException Signals that an I/O exception of some sort has
* occurred. This class is the general class of exceptions produced by
* failed or interrupted I/O operations.
* @throws ServiceException Thrown if an unexpected response is found.
* @throws ParserConfigurationException Thrown if there was a serious
* configuration error with the document parser.
* @throws SAXException Thrown if there was an error parsing the XML
* response.
* @throws URISyntaxException Thrown if there was an error parsing a URI in
* the response.
* @return A response to a request for a list of topics.
*/
@Override
public ServiceBusTopicsResponse list(String namespaceName)
        throws IOException, ServiceException, ParserConfigurationException, SAXException, URISyntaxException {
    // Validate
    if (namespaceName == null) {
        throw new NullPointerException("namespaceName");
    }

    // Tracing
    boolean shouldTrace = CloudTracing.getIsEnabled();
    String invocationId = null;
    if (shouldTrace) {
        invocationId = Long.toString(CloudTracing.getNextInvocationId());
        HashMap<String, Object> tracingParameters = new HashMap<String, Object>();
        tracingParameters.put("namespaceName", namespaceName);
        CloudTracing.enter(invocationId, this, "listAsync", tracingParameters);
    }

    // Construct URL
    String url = "";
    url = url + "/";
    if (this.getClient().getCredentials().getSubscriptionId() != null) {
        url = url + URLEncoder.encode(this.getClient().getCredentials().getSubscriptionId(), "UTF-8");
    }
    url = url + "/services/servicebus/namespaces/";
    url = url + URLEncoder.encode(namespaceName, "UTF-8");
    url = url + "/topics/";
    String baseUrl = this.getClient().getBaseUri().toString();
    // Trim '/' character from the end of baseUrl and beginning of url.
    if (baseUrl.charAt(baseUrl.length() - 1) == '/') {
        baseUrl = baseUrl.substring(0, (baseUrl.length() - 1) + 0);
    }
    if (url.charAt(0) == '/') {
        url = url.substring(1);
    }
    url = baseUrl + "/" + url;
    url = url.replace(" ", "%20");

    // Create HTTP transport objects
    HttpGet httpRequest = new HttpGet(url);

    // Set Headers
    httpRequest.setHeader("Content-Type", "application/xml; charset=utf-8");
    httpRequest.setHeader("x-ms-version", "2013-08-01");

    // Send Request
    HttpResponse httpResponse = null;
    try {
        if (shouldTrace) {
            CloudTracing.sendRequest(invocationId, httpRequest);
        }
        httpResponse = this.getClient().getHttpClient().execute(httpRequest);
        if (shouldTrace) {
            CloudTracing.receiveResponse(invocationId, httpResponse);
        }
        int statusCode = httpResponse.getStatusLine().getStatusCode();
        if (statusCode != HttpStatus.SC_OK) {
            ServiceException ex = ServiceException.createFromXml(httpRequest, null, httpResponse,
                    httpResponse.getEntity());
            if (shouldTrace) {
                CloudTracing.error(invocationId, ex);
            }
            throw ex;
        }

        // Create Result
        ServiceBusTopicsResponse result = null;
        // Deserialize Response
        if (statusCode == HttpStatus.SC_OK) {
            InputStream responseContent = httpResponse.getEntity().getContent();
            result = new ServiceBusTopicsResponse();
            DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
            documentBuilderFactory.setNamespaceAware(true);
            DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
            Document responseDoc = documentBuilder.parse(new BOMInputStream(responseContent));

            Element feedElement = XmlUtility.getElementByTagNameNS(responseDoc, "http://www.w3.org/2005/Atom",
                    "feed");
            if (feedElement != null) {
                if (feedElement != null) {
                    for (int i1 = 0; i1 < com.microsoft.windowsazure.core.utils.XmlUtility
                            .getElementsByTagNameNS(feedElement, "http://www.w3.org/2005/Atom", "entry")
                            .size(); i1 = i1 + 1) {
                        org.w3c.dom.Element entriesElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                .getElementsByTagNameNS(feedElement, "http://www.w3.org/2005/Atom", "entry")
                                .get(i1));
                        ServiceBusTopic entryInstance = new ServiceBusTopic();
                        result.getTopics().add(entryInstance);

                        Element titleElement = XmlUtility.getElementByTagNameNS(entriesElement,
                                "http://www.w3.org/2005/Atom", "title");
                        if (titleElement != null) {
                            String titleInstance;
                            titleInstance = titleElement.getTextContent();
                            entryInstance.setName(titleInstance);
                        }

                        Element contentElement = XmlUtility.getElementByTagNameNS(entriesElement,
                                "http://www.w3.org/2005/Atom", "content");
                        if (contentElement != null) {
                            Element topicDescriptionElement = XmlUtility.getElementByTagNameNS(contentElement,
                                    "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                    "TopicDescription");
                            if (topicDescriptionElement != null) {
                                Element defaultMessageTimeToLiveElement = XmlUtility.getElementByTagNameNS(
                                        topicDescriptionElement,
                                        "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                        "DefaultMessageTimeToLive");
                                if (defaultMessageTimeToLiveElement != null) {
                                    String defaultMessageTimeToLiveInstance;
                                    defaultMessageTimeToLiveInstance = defaultMessageTimeToLiveElement
                                            .getTextContent();
                                    entryInstance.setDefaultMessageTimeToLive(defaultMessageTimeToLiveInstance);
                                }

                                Element maxSizeInMegabytesElement = XmlUtility.getElementByTagNameNS(
                                        topicDescriptionElement,
                                        "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                        "MaxSizeInMegabytes");
                                if (maxSizeInMegabytesElement != null) {
                                    int maxSizeInMegabytesInstance;
                                    maxSizeInMegabytesInstance = DatatypeConverter
                                            .parseInt(maxSizeInMegabytesElement.getTextContent());
                                    entryInstance.setMaxSizeInMegabytes(maxSizeInMegabytesInstance);
                                }

                                Element requiresDuplicateDetectionElement = XmlUtility.getElementByTagNameNS(
                                        topicDescriptionElement,
                                        "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                        "RequiresDuplicateDetection");
                                if (requiresDuplicateDetectionElement != null) {
                                    boolean requiresDuplicateDetectionInstance;
                                    requiresDuplicateDetectionInstance = DatatypeConverter.parseBoolean(
                                            requiresDuplicateDetectionElement.getTextContent().toLowerCase());
                                    entryInstance
                                            .setRequiresDuplicateDetection(requiresDuplicateDetectionInstance);
                                }

                                Element duplicateDetectionHistoryTimeWindowElement = XmlUtility
                                        .getElementByTagNameNS(topicDescriptionElement,
                                                "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                                "DuplicateDetectionHistoryTimeWindow");
                                if (duplicateDetectionHistoryTimeWindowElement != null) {
                                    String duplicateDetectionHistoryTimeWindowInstance;
                                    duplicateDetectionHistoryTimeWindowInstance = duplicateDetectionHistoryTimeWindowElement
                                            .getTextContent();
                                    entryInstance.setDuplicateDetectionHistoryTimeWindow(
                                            duplicateDetectionHistoryTimeWindowInstance);
                                }

                                Element enableBatchedOperationsElement = XmlUtility.getElementByTagNameNS(
                                        topicDescriptionElement,
                                        "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                        "EnableBatchedOperations");
                                if (enableBatchedOperationsElement != null) {
                                    boolean enableBatchedOperationsInstance;
                                    enableBatchedOperationsInstance = DatatypeConverter.parseBoolean(
                                            enableBatchedOperationsElement.getTextContent().toLowerCase());
                                    entryInstance.setEnableBatchedOperations(enableBatchedOperationsInstance);
                                }

                                Element sizeInBytesElement = XmlUtility.getElementByTagNameNS(
                                        topicDescriptionElement,
                                        "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                        "SizeInBytes");
                                if (sizeInBytesElement != null) {
                                    int sizeInBytesInstance;
                                    sizeInBytesInstance = DatatypeConverter
                                            .parseInt(sizeInBytesElement.getTextContent());
                                    entryInstance.setSizeInBytes(sizeInBytesInstance);
                                }

                                Element filteringMessagesBeforePublishingElement = XmlUtility
                                        .getElementByTagNameNS(topicDescriptionElement,
                                                "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                                "FilteringMessagesBeforePublishing");
                                if (filteringMessagesBeforePublishingElement != null) {
                                    boolean filteringMessagesBeforePublishingInstance;
                                    filteringMessagesBeforePublishingInstance = DatatypeConverter
                                            .parseBoolean(filteringMessagesBeforePublishingElement
                                                    .getTextContent().toLowerCase());
                                    entryInstance.setFilteringMessagesBeforePublishing(
                                            filteringMessagesBeforePublishingInstance);
                                }

                                Element isAnonymousAccessibleElement = XmlUtility.getElementByTagNameNS(
                                        topicDescriptionElement,
                                        "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                        "IsAnonymousAccessible");
                                if (isAnonymousAccessibleElement != null) {
                                    boolean isAnonymousAccessibleInstance;
                                    isAnonymousAccessibleInstance = DatatypeConverter.parseBoolean(
                                            isAnonymousAccessibleElement.getTextContent().toLowerCase());
                                    entryInstance.setIsAnonymousAccessible(isAnonymousAccessibleInstance);
                                }

                                Element authorizationRulesSequenceElement = XmlUtility.getElementByTagNameNS(
                                        topicDescriptionElement,
                                        "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                        "AuthorizationRules");
                                if (authorizationRulesSequenceElement != null) {
                                    for (int i2 = 0; i2 < com.microsoft.windowsazure.core.utils.XmlUtility
                                            .getElementsByTagNameNS(authorizationRulesSequenceElement,
                                                    "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                                    "AuthorizationRule")
                                            .size(); i2 = i2 + 1) {
                                        org.w3c.dom.Element authorizationRulesElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                                .getElementsByTagNameNS(authorizationRulesSequenceElement,
                                                        "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                                        "AuthorizationRule")
                                                .get(i2));
                                        ServiceBusSharedAccessAuthorizationRule authorizationRuleInstance = new ServiceBusSharedAccessAuthorizationRule();
                                        entryInstance.getAuthorizationRules().add(authorizationRuleInstance);

                                        Element claimTypeElement = XmlUtility.getElementByTagNameNS(
                                                authorizationRulesElement,
                                                "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                                "ClaimType");
                                        if (claimTypeElement != null) {
                                            String claimTypeInstance;
                                            claimTypeInstance = claimTypeElement.getTextContent();
                                            authorizationRuleInstance.setClaimType(claimTypeInstance);
                                        }

                                        Element claimValueElement = XmlUtility.getElementByTagNameNS(
                                                authorizationRulesElement,
                                                "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                                "ClaimValue");
                                        if (claimValueElement != null) {
                                            String claimValueInstance;
                                            claimValueInstance = claimValueElement.getTextContent();
                                            authorizationRuleInstance.setClaimValue(claimValueInstance);
                                        }

                                        Element rightsSequenceElement = XmlUtility.getElementByTagNameNS(
                                                authorizationRulesElement,
                                                "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                                "Rights");
                                        if (rightsSequenceElement != null) {
                                            for (int i3 = 0; i3 < com.microsoft.windowsazure.core.utils.XmlUtility
                                                    .getElementsByTagNameNS(rightsSequenceElement,
                                                            "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                                            "AccessRights")
                                                    .size(); i3 = i3 + 1) {
                                                org.w3c.dom.Element rightsElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                                        .getElementsByTagNameNS(rightsSequenceElement,
                                                                "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                                                "AccessRights")
                                                        .get(i3));
                                                authorizationRuleInstance.getRights().add(
                                                        AccessRight.valueOf(rightsElement.getTextContent()));
                                            }
                                        }

                                        Element createdTimeElement = XmlUtility.getElementByTagNameNS(
                                                authorizationRulesElement,
                                                "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                                "CreatedTime");
                                        if (createdTimeElement != null) {
                                            Calendar createdTimeInstance;
                                            createdTimeInstance = DatatypeConverter
                                                    .parseDateTime(createdTimeElement.getTextContent());
                                            authorizationRuleInstance.setCreatedTime(createdTimeInstance);
                                        }

                                        Element keyNameElement = XmlUtility.getElementByTagNameNS(
                                                authorizationRulesElement,
                                                "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                                "KeyName");
                                        if (keyNameElement != null) {
                                            String keyNameInstance;
                                            keyNameInstance = keyNameElement.getTextContent();
                                            authorizationRuleInstance.setKeyName(keyNameInstance);
                                        }

                                        Element modifiedTimeElement = XmlUtility.getElementByTagNameNS(
                                                authorizationRulesElement,
                                                "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                                "ModifiedTime");
                                        if (modifiedTimeElement != null) {
                                            Calendar modifiedTimeInstance;
                                            modifiedTimeInstance = DatatypeConverter
                                                    .parseDateTime(modifiedTimeElement.getTextContent());
                                            authorizationRuleInstance.setModifiedTime(modifiedTimeInstance);
                                        }

                                        Element primaryKeyElement = XmlUtility.getElementByTagNameNS(
                                                authorizationRulesElement,
                                                "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                                "PrimaryKey");
                                        if (primaryKeyElement != null) {
                                            String primaryKeyInstance;
                                            primaryKeyInstance = primaryKeyElement.getTextContent();
                                            authorizationRuleInstance.setPrimaryKey(primaryKeyInstance);
                                        }

                                        Element secondaryKeyElement = XmlUtility.getElementByTagNameNS(
                                                authorizationRulesElement,
                                                "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                                "SecondaryKey");
                                        if (secondaryKeyElement != null) {
                                            String secondaryKeyInstance;
                                            secondaryKeyInstance = secondaryKeyElement.getTextContent();
                                            authorizationRuleInstance.setSecondaryKey(secondaryKeyInstance);
                                        }
                                    }
                                }

                                Element statusElement = XmlUtility.getElementByTagNameNS(
                                        topicDescriptionElement,
                                        "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                        "Status");
                                if (statusElement != null) {
                                    String statusInstance;
                                    statusInstance = statusElement.getTextContent();
                                    entryInstance.setStatus(statusInstance);
                                }

                                Element createdAtElement = XmlUtility.getElementByTagNameNS(
                                        topicDescriptionElement,
                                        "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                        "CreatedAt");
                                if (createdAtElement != null) {
                                    Calendar createdAtInstance;
                                    createdAtInstance = DatatypeConverter
                                            .parseDateTime(createdAtElement.getTextContent());
                                    entryInstance.setCreatedAt(createdAtInstance);
                                }

                                Element updatedAtElement = XmlUtility.getElementByTagNameNS(
                                        topicDescriptionElement,
                                        "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                        "UpdatedAt");
                                if (updatedAtElement != null) {
                                    Calendar updatedAtInstance;
                                    updatedAtInstance = DatatypeConverter
                                            .parseDateTime(updatedAtElement.getTextContent());
                                    entryInstance.setUpdatedAt(updatedAtInstance);
                                }

                                Element accessedAtElement = XmlUtility.getElementByTagNameNS(
                                        topicDescriptionElement,
                                        "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                        "AccessedAt");
                                if (accessedAtElement != null) {
                                    Calendar accessedAtInstance;
                                    accessedAtInstance = DatatypeConverter
                                            .parseDateTime(accessedAtElement.getTextContent());
                                    entryInstance.setAccessedAt(accessedAtInstance);
                                }

                                Element supportOrderingElement = XmlUtility.getElementByTagNameNS(
                                        topicDescriptionElement,
                                        "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                        "SupportOrdering");
                                if (supportOrderingElement != null) {
                                    boolean supportOrderingInstance;
                                    supportOrderingInstance = DatatypeConverter.parseBoolean(
                                            supportOrderingElement.getTextContent().toLowerCase());
                                    entryInstance.setSupportOrdering(supportOrderingInstance);
                                }

                                Element countDetailsElement = XmlUtility.getElementByTagNameNS(
                                        topicDescriptionElement,
                                        "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                        "CountDetails");
                                if (countDetailsElement != null) {
                                    CountDetails countDetailsInstance = new CountDetails();
                                    entryInstance.setCountDetails(countDetailsInstance);
                                }

                                Element subscriptionCountElement = XmlUtility.getElementByTagNameNS(
                                        topicDescriptionElement,
                                        "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                        "SubscriptionCount");
                                if (subscriptionCountElement != null) {
                                    int subscriptionCountInstance;
                                    subscriptionCountInstance = DatatypeConverter
                                            .parseInt(subscriptionCountElement.getTextContent());
                                    entryInstance.setSubscriptionCount(subscriptionCountInstance);
                                }

                                Element autoDeleteOnIdleElement = XmlUtility.getElementByTagNameNS(
                                        topicDescriptionElement,
                                        "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                        "AutoDeleteOnIdle");
                                if (autoDeleteOnIdleElement != null) {
                                    String autoDeleteOnIdleInstance;
                                    autoDeleteOnIdleInstance = autoDeleteOnIdleElement.getTextContent();
                                    entryInstance.setAutoDeleteOnIdle(autoDeleteOnIdleInstance);
                                }

                                Element entityAvailabilityStatusElement = XmlUtility.getElementByTagNameNS(
                                        topicDescriptionElement,
                                        "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                        "EntityAvailabilityStatus");
                                if (entityAvailabilityStatusElement != null) {
                                    String entityAvailabilityStatusInstance;
                                    entityAvailabilityStatusInstance = entityAvailabilityStatusElement
                                            .getTextContent();
                                    entryInstance.setEntityAvailabilityStatus(entityAvailabilityStatusInstance);
                                }
                            }
                        }
                    }
                }
            }

        }
        result.setStatusCode(statusCode);
        if (httpResponse.getHeaders("x-ms-request-id").length > 0) {
            result.setRequestId(httpResponse.getFirstHeader("x-ms-request-id").getValue());
        }

        if (shouldTrace) {
            CloudTracing.exit(invocationId, result);
        }
        return result;
    } finally {
        if (httpResponse != null && httpResponse.getEntity() != null) {
            httpResponse.getEntity().getContent().close();
        }
    }
}

From source file:com.microsoft.azure.management.sql.DatabaseOperationsImpl.java

/**
* Returns information about an Azure SQL Database.
*
* @param resourceGroupName Required. The name of the Resource Group to
* which the server belongs.//from ww w .  j  a  va2  s  .c  om
* @param serverName Required. The name of the Azure SQL Database Server on
* which the database is hosted.
* @param databaseName Required. The name of the Azure SQL Database to be
* retrieved.
* @throws IOException Signals that an I/O exception of some sort has
* occurred. This class is the general class of exceptions produced by
* failed or interrupted I/O operations.
* @throws ServiceException Thrown if an unexpected response is found.
* @return Represents the response to a Get Azure Sql Database request.
*/
@Override
public DatabaseGetResponse get(String resourceGroupName, String serverName, String databaseName)
        throws IOException, ServiceException {
    // Validate
    if (resourceGroupName == null) {
        throw new NullPointerException("resourceGroupName");
    }
    if (serverName == null) {
        throw new NullPointerException("serverName");
    }
    if (databaseName == null) {
        throw new NullPointerException("databaseName");
    }

    // Tracing
    boolean shouldTrace = CloudTracing.getIsEnabled();
    String invocationId = null;
    if (shouldTrace) {
        invocationId = Long.toString(CloudTracing.getNextInvocationId());
        HashMap<String, Object> tracingParameters = new HashMap<String, Object>();
        tracingParameters.put("resourceGroupName", resourceGroupName);
        tracingParameters.put("serverName", serverName);
        tracingParameters.put("databaseName", databaseName);
        CloudTracing.enter(invocationId, this, "getAsync", tracingParameters);
    }

    // Construct URL
    String url = "";
    url = url + "/subscriptions/";
    if (this.getClient().getCredentials().getSubscriptionId() != null) {
        url = url + URLEncoder.encode(this.getClient().getCredentials().getSubscriptionId(), "UTF-8");
    }
    url = url + "/resourceGroups/";
    url = url + URLEncoder.encode(resourceGroupName, "UTF-8");
    url = url + "/providers/";
    url = url + "Microsoft.Sql";
    url = url + "/servers/";
    url = url + URLEncoder.encode(serverName, "UTF-8");
    url = url + "/databases/";
    url = url + URLEncoder.encode(databaseName, "UTF-8");
    ArrayList<String> queryParameters = new ArrayList<String>();
    queryParameters.add("api-version=" + "2014-04-01");
    if (queryParameters.size() > 0) {
        url = url + "?" + CollectionStringBuilder.join(queryParameters, "&");
    }
    String baseUrl = this.getClient().getBaseUri().toString();
    // Trim '/' character from the end of baseUrl and beginning of url.
    if (baseUrl.charAt(baseUrl.length() - 1) == '/') {
        baseUrl = baseUrl.substring(0, (baseUrl.length() - 1) + 0);
    }
    if (url.charAt(0) == '/') {
        url = url.substring(1);
    }
    url = baseUrl + "/" + url;
    url = url.replace(" ", "%20");

    // Create HTTP transport objects
    HttpGet httpRequest = new HttpGet(url);

    // Set Headers

    // Send Request
    HttpResponse httpResponse = null;
    try {
        if (shouldTrace) {
            CloudTracing.sendRequest(invocationId, httpRequest);
        }
        httpResponse = this.getClient().getHttpClient().execute(httpRequest);
        if (shouldTrace) {
            CloudTracing.receiveResponse(invocationId, httpResponse);
        }
        int statusCode = httpResponse.getStatusLine().getStatusCode();
        if (statusCode != HttpStatus.SC_OK) {
            ServiceException ex = ServiceException.createFromJson(httpRequest, null, httpResponse,
                    httpResponse.getEntity());
            if (shouldTrace) {
                CloudTracing.error(invocationId, ex);
            }
            throw ex;
        }

        // Create Result
        DatabaseGetResponse result = null;
        // Deserialize Response
        if (statusCode == HttpStatus.SC_OK) {
            InputStream responseContent = httpResponse.getEntity().getContent();
            result = new DatabaseGetResponse();
            ObjectMapper objectMapper = new ObjectMapper();
            JsonNode responseDoc = null;
            String responseDocContent = IOUtils.toString(responseContent);
            if (responseDocContent == null == false && responseDocContent.length() > 0) {
                responseDoc = objectMapper.readTree(responseDocContent);
            }

            if (responseDoc != null && responseDoc instanceof NullNode == false) {
                Database databaseInstance = new Database();
                result.setDatabase(databaseInstance);

                JsonNode propertiesValue = responseDoc.get("properties");
                if (propertiesValue != null && propertiesValue instanceof NullNode == false) {
                    DatabaseProperties propertiesInstance = new DatabaseProperties();
                    databaseInstance.setProperties(propertiesInstance);

                    JsonNode collationValue = propertiesValue.get("collation");
                    if (collationValue != null && collationValue instanceof NullNode == false) {
                        String collationInstance;
                        collationInstance = collationValue.getTextValue();
                        propertiesInstance.setCollation(collationInstance);
                    }

                    JsonNode creationDateValue = propertiesValue.get("creationDate");
                    if (creationDateValue != null && creationDateValue instanceof NullNode == false) {
                        Calendar creationDateInstance;
                        creationDateInstance = DatatypeConverter
                                .parseDateTime(creationDateValue.getTextValue());
                        propertiesInstance.setCreationDate(creationDateInstance);
                    }

                    JsonNode currentServiceObjectiveIdValue = propertiesValue.get("currentServiceObjectiveId");
                    if (currentServiceObjectiveIdValue != null
                            && currentServiceObjectiveIdValue instanceof NullNode == false) {
                        String currentServiceObjectiveIdInstance;
                        currentServiceObjectiveIdInstance = currentServiceObjectiveIdValue.getTextValue();
                        propertiesInstance.setCurrentServiceObjectiveId(currentServiceObjectiveIdInstance);
                    }

                    JsonNode databaseIdValue = propertiesValue.get("databaseId");
                    if (databaseIdValue != null && databaseIdValue instanceof NullNode == false) {
                        String databaseIdInstance;
                        databaseIdInstance = databaseIdValue.getTextValue();
                        propertiesInstance.setDatabaseId(databaseIdInstance);
                    }

                    JsonNode earliestRestoreDateValue = propertiesValue.get("earliestRestoreDate");
                    if (earliestRestoreDateValue != null
                            && earliestRestoreDateValue instanceof NullNode == false) {
                        Calendar earliestRestoreDateInstance;
                        earliestRestoreDateInstance = DatatypeConverter
                                .parseDateTime(earliestRestoreDateValue.getTextValue());
                        propertiesInstance.setEarliestRestoreDate(earliestRestoreDateInstance);
                    }

                    JsonNode editionValue = propertiesValue.get("edition");
                    if (editionValue != null && editionValue instanceof NullNode == false) {
                        String editionInstance;
                        editionInstance = editionValue.getTextValue();
                        propertiesInstance.setEdition(editionInstance);
                    }

                    JsonNode maxSizeBytesValue = propertiesValue.get("maxSizeBytes");
                    if (maxSizeBytesValue != null && maxSizeBytesValue instanceof NullNode == false) {
                        long maxSizeBytesInstance;
                        maxSizeBytesInstance = maxSizeBytesValue.getLongValue();
                        propertiesInstance.setMaxSizeBytes(maxSizeBytesInstance);
                    }

                    JsonNode requestedServiceObjectiveIdValue = propertiesValue
                            .get("requestedServiceObjectiveId");
                    if (requestedServiceObjectiveIdValue != null
                            && requestedServiceObjectiveIdValue instanceof NullNode == false) {
                        String requestedServiceObjectiveIdInstance;
                        requestedServiceObjectiveIdInstance = requestedServiceObjectiveIdValue.getTextValue();
                        propertiesInstance.setRequestedServiceObjectiveId(requestedServiceObjectiveIdInstance);
                    }

                    JsonNode requestedServiceObjectiveNameValue = propertiesValue
                            .get("requestedServiceObjectiveName");
                    if (requestedServiceObjectiveNameValue != null
                            && requestedServiceObjectiveNameValue instanceof NullNode == false) {
                        String requestedServiceObjectiveNameInstance;
                        requestedServiceObjectiveNameInstance = requestedServiceObjectiveNameValue
                                .getTextValue();
                        propertiesInstance
                                .setRequestedServiceObjectiveName(requestedServiceObjectiveNameInstance);
                    }

                    JsonNode serviceLevelObjectiveValue = propertiesValue.get("serviceLevelObjective");
                    if (serviceLevelObjectiveValue != null
                            && serviceLevelObjectiveValue instanceof NullNode == false) {
                        String serviceLevelObjectiveInstance;
                        serviceLevelObjectiveInstance = serviceLevelObjectiveValue.getTextValue();
                        propertiesInstance.setServiceObjective(serviceLevelObjectiveInstance);
                    }

                    JsonNode statusValue = propertiesValue.get("status");
                    if (statusValue != null && statusValue instanceof NullNode == false) {
                        String statusInstance;
                        statusInstance = statusValue.getTextValue();
                        propertiesInstance.setStatus(statusInstance);
                    }

                    JsonNode elasticPoolNameValue = propertiesValue.get("elasticPoolName");
                    if (elasticPoolNameValue != null && elasticPoolNameValue instanceof NullNode == false) {
                        String elasticPoolNameInstance;
                        elasticPoolNameInstance = elasticPoolNameValue.getTextValue();
                        propertiesInstance.setElasticPoolName(elasticPoolNameInstance);
                    }

                    JsonNode serviceTierAdvisorsArray = propertiesValue.get("serviceTierAdvisors");
                    if (serviceTierAdvisorsArray != null
                            && serviceTierAdvisorsArray instanceof NullNode == false) {
                        for (JsonNode serviceTierAdvisorsValue : ((ArrayNode) serviceTierAdvisorsArray)) {
                            ServiceTierAdvisor serviceTierAdvisorInstance = new ServiceTierAdvisor();
                            propertiesInstance.getServiceTierAdvisors().add(serviceTierAdvisorInstance);

                            JsonNode propertiesValue2 = serviceTierAdvisorsValue.get("properties");
                            if (propertiesValue2 != null && propertiesValue2 instanceof NullNode == false) {
                                ServiceTierAdvisorProperties propertiesInstance2 = new ServiceTierAdvisorProperties();
                                serviceTierAdvisorInstance.setProperties(propertiesInstance2);

                                JsonNode observationPeriodStartValue = propertiesValue2
                                        .get("observationPeriodStart");
                                if (observationPeriodStartValue != null
                                        && observationPeriodStartValue instanceof NullNode == false) {
                                    Calendar observationPeriodStartInstance;
                                    observationPeriodStartInstance = DatatypeConverter
                                            .parseDateTime(observationPeriodStartValue.getTextValue());
                                    propertiesInstance2
                                            .setObservationPeriodStart(observationPeriodStartInstance);
                                }

                                JsonNode observationPeriodEndValue = propertiesValue2
                                        .get("observationPeriodEnd");
                                if (observationPeriodEndValue != null
                                        && observationPeriodEndValue instanceof NullNode == false) {
                                    Calendar observationPeriodEndInstance;
                                    observationPeriodEndInstance = DatatypeConverter
                                            .parseDateTime(observationPeriodEndValue.getTextValue());
                                    propertiesInstance2.setObservationPeriodEnd(observationPeriodEndInstance);
                                }

                                JsonNode activeTimeRatioValue = propertiesValue2.get("activeTimeRatio");
                                if (activeTimeRatioValue != null
                                        && activeTimeRatioValue instanceof NullNode == false) {
                                    double activeTimeRatioInstance;
                                    activeTimeRatioInstance = activeTimeRatioValue.getDoubleValue();
                                    propertiesInstance2.setActiveTimeRatio(activeTimeRatioInstance);
                                }

                                JsonNode minDtuValue = propertiesValue2.get("minDtu");
                                if (minDtuValue != null && minDtuValue instanceof NullNode == false) {
                                    double minDtuInstance;
                                    minDtuInstance = minDtuValue.getDoubleValue();
                                    propertiesInstance2.setMinDtu(minDtuInstance);
                                }

                                JsonNode avgDtuValue = propertiesValue2.get("avgDtu");
                                if (avgDtuValue != null && avgDtuValue instanceof NullNode == false) {
                                    double avgDtuInstance;
                                    avgDtuInstance = avgDtuValue.getDoubleValue();
                                    propertiesInstance2.setAvgDtu(avgDtuInstance);
                                }

                                JsonNode maxDtuValue = propertiesValue2.get("maxDtu");
                                if (maxDtuValue != null && maxDtuValue instanceof NullNode == false) {
                                    double maxDtuInstance;
                                    maxDtuInstance = maxDtuValue.getDoubleValue();
                                    propertiesInstance2.setMaxDtu(maxDtuInstance);
                                }

                                JsonNode maxSizeInGBValue = propertiesValue2.get("maxSizeInGB");
                                if (maxSizeInGBValue != null && maxSizeInGBValue instanceof NullNode == false) {
                                    double maxSizeInGBInstance;
                                    maxSizeInGBInstance = maxSizeInGBValue.getDoubleValue();
                                    propertiesInstance2.setMaxSizeInGB(maxSizeInGBInstance);
                                }

                                JsonNode serviceLevelObjectiveUsageMetricsArray = propertiesValue2
                                        .get("serviceLevelObjectiveUsageMetrics");
                                if (serviceLevelObjectiveUsageMetricsArray != null
                                        && serviceLevelObjectiveUsageMetricsArray instanceof NullNode == false) {
                                    for (JsonNode serviceLevelObjectiveUsageMetricsValue : ((ArrayNode) serviceLevelObjectiveUsageMetricsArray)) {
                                        SloUsageMetric sloUsageMetricInstance = new SloUsageMetric();
                                        propertiesInstance2.getServiceLevelObjectiveUsageMetrics()
                                                .add(sloUsageMetricInstance);

                                        JsonNode serviceLevelObjectiveValue2 = serviceLevelObjectiveUsageMetricsValue
                                                .get("serviceLevelObjective");
                                        if (serviceLevelObjectiveValue2 != null
                                                && serviceLevelObjectiveValue2 instanceof NullNode == false) {
                                            String serviceLevelObjectiveInstance2;
                                            serviceLevelObjectiveInstance2 = serviceLevelObjectiveValue2
                                                    .getTextValue();
                                            sloUsageMetricInstance
                                                    .setServiceLevelObjective(serviceLevelObjectiveInstance2);
                                        }

                                        JsonNode serviceLevelObjectiveIdValue = serviceLevelObjectiveUsageMetricsValue
                                                .get("serviceLevelObjectiveId");
                                        if (serviceLevelObjectiveIdValue != null
                                                && serviceLevelObjectiveIdValue instanceof NullNode == false) {
                                            String serviceLevelObjectiveIdInstance;
                                            serviceLevelObjectiveIdInstance = serviceLevelObjectiveIdValue
                                                    .getTextValue();
                                            sloUsageMetricInstance.setServiceLevelObjectiveId(
                                                    serviceLevelObjectiveIdInstance);
                                        }

                                        JsonNode inRangeTimeRatioValue = serviceLevelObjectiveUsageMetricsValue
                                                .get("inRangeTimeRatio");
                                        if (inRangeTimeRatioValue != null
                                                && inRangeTimeRatioValue instanceof NullNode == false) {
                                            double inRangeTimeRatioInstance;
                                            inRangeTimeRatioInstance = inRangeTimeRatioValue.getDoubleValue();
                                            sloUsageMetricInstance
                                                    .setInRangeTimeRatio(inRangeTimeRatioInstance);
                                        }

                                        JsonNode idValue = serviceLevelObjectiveUsageMetricsValue.get("id");
                                        if (idValue != null && idValue instanceof NullNode == false) {
                                            String idInstance;
                                            idInstance = idValue.getTextValue();
                                            sloUsageMetricInstance.setId(idInstance);
                                        }

                                        JsonNode nameValue = serviceLevelObjectiveUsageMetricsValue.get("name");
                                        if (nameValue != null && nameValue instanceof NullNode == false) {
                                            String nameInstance;
                                            nameInstance = nameValue.getTextValue();
                                            sloUsageMetricInstance.setName(nameInstance);
                                        }

                                        JsonNode typeValue = serviceLevelObjectiveUsageMetricsValue.get("type");
                                        if (typeValue != null && typeValue instanceof NullNode == false) {
                                            String typeInstance;
                                            typeInstance = typeValue.getTextValue();
                                            sloUsageMetricInstance.setType(typeInstance);
                                        }

                                        JsonNode locationValue = serviceLevelObjectiveUsageMetricsValue
                                                .get("location");
                                        if (locationValue != null
                                                && locationValue instanceof NullNode == false) {
                                            String locationInstance;
                                            locationInstance = locationValue.getTextValue();
                                            sloUsageMetricInstance.setLocation(locationInstance);
                                        }

                                        JsonNode tagsSequenceElement = ((JsonNode) serviceLevelObjectiveUsageMetricsValue
                                                .get("tags"));
                                        if (tagsSequenceElement != null
                                                && tagsSequenceElement instanceof NullNode == false) {
                                            Iterator<Map.Entry<String, JsonNode>> itr = tagsSequenceElement
                                                    .getFields();
                                            while (itr.hasNext()) {
                                                Map.Entry<String, JsonNode> property = itr.next();
                                                String tagsKey = property.getKey();
                                                String tagsValue = property.getValue().getTextValue();
                                                sloUsageMetricInstance.getTags().put(tagsKey, tagsValue);
                                            }
                                        }
                                    }
                                }

                                JsonNode currentServiceLevelObjectiveValue = propertiesValue2
                                        .get("currentServiceLevelObjective");
                                if (currentServiceLevelObjectiveValue != null
                                        && currentServiceLevelObjectiveValue instanceof NullNode == false) {
                                    String currentServiceLevelObjectiveInstance;
                                    currentServiceLevelObjectiveInstance = currentServiceLevelObjectiveValue
                                            .getTextValue();
                                    propertiesInstance2.setCurrentServiceLevelObjective(
                                            currentServiceLevelObjectiveInstance);
                                }

                                JsonNode currentServiceLevelObjectiveIdValue = propertiesValue2
                                        .get("currentServiceLevelObjectiveId");
                                if (currentServiceLevelObjectiveIdValue != null
                                        && currentServiceLevelObjectiveIdValue instanceof NullNode == false) {
                                    String currentServiceLevelObjectiveIdInstance;
                                    currentServiceLevelObjectiveIdInstance = currentServiceLevelObjectiveIdValue
                                            .getTextValue();
                                    propertiesInstance2.setCurrentServiceLevelObjectiveId(
                                            currentServiceLevelObjectiveIdInstance);
                                }

                                JsonNode usageBasedRecommendationServiceLevelObjectiveValue = propertiesValue2
                                        .get("usageBasedRecommendationServiceLevelObjective");
                                if (usageBasedRecommendationServiceLevelObjectiveValue != null
                                        && usageBasedRecommendationServiceLevelObjectiveValue instanceof NullNode == false) {
                                    String usageBasedRecommendationServiceLevelObjectiveInstance;
                                    usageBasedRecommendationServiceLevelObjectiveInstance = usageBasedRecommendationServiceLevelObjectiveValue
                                            .getTextValue();
                                    propertiesInstance2.setUsageBasedRecommendationServiceLevelObjective(
                                            usageBasedRecommendationServiceLevelObjectiveInstance);
                                }

                                JsonNode usageBasedRecommendationServiceLevelObjectiveIdValue = propertiesValue2
                                        .get("usageBasedRecommendationServiceLevelObjectiveId");
                                if (usageBasedRecommendationServiceLevelObjectiveIdValue != null
                                        && usageBasedRecommendationServiceLevelObjectiveIdValue instanceof NullNode == false) {
                                    String usageBasedRecommendationServiceLevelObjectiveIdInstance;
                                    usageBasedRecommendationServiceLevelObjectiveIdInstance = usageBasedRecommendationServiceLevelObjectiveIdValue
                                            .getTextValue();
                                    propertiesInstance2.setUsageBasedRecommendationServiceLevelObjectiveId(
                                            usageBasedRecommendationServiceLevelObjectiveIdInstance);
                                }

                                JsonNode databaseSizeBasedRecommendationServiceLevelObjectiveValue = propertiesValue2
                                        .get("databaseSizeBasedRecommendationServiceLevelObjective");
                                if (databaseSizeBasedRecommendationServiceLevelObjectiveValue != null
                                        && databaseSizeBasedRecommendationServiceLevelObjectiveValue instanceof NullNode == false) {
                                    String databaseSizeBasedRecommendationServiceLevelObjectiveInstance;
                                    databaseSizeBasedRecommendationServiceLevelObjectiveInstance = databaseSizeBasedRecommendationServiceLevelObjectiveValue
                                            .getTextValue();
                                    propertiesInstance2.setDatabaseSizeBasedRecommendationServiceLevelObjective(
                                            databaseSizeBasedRecommendationServiceLevelObjectiveInstance);
                                }

                                JsonNode databaseSizeBasedRecommendationServiceLevelObjectiveIdValue = propertiesValue2
                                        .get("databaseSizeBasedRecommendationServiceLevelObjectiveId");
                                if (databaseSizeBasedRecommendationServiceLevelObjectiveIdValue != null
                                        && databaseSizeBasedRecommendationServiceLevelObjectiveIdValue instanceof NullNode == false) {
                                    String databaseSizeBasedRecommendationServiceLevelObjectiveIdInstance;
                                    databaseSizeBasedRecommendationServiceLevelObjectiveIdInstance = databaseSizeBasedRecommendationServiceLevelObjectiveIdValue
                                            .getTextValue();
                                    propertiesInstance2
                                            .setDatabaseSizeBasedRecommendationServiceLevelObjectiveId(
                                                    databaseSizeBasedRecommendationServiceLevelObjectiveIdInstance);
                                }

                                JsonNode disasterPlanBasedRecommendationServiceLevelObjectiveValue = propertiesValue2
                                        .get("disasterPlanBasedRecommendationServiceLevelObjective");
                                if (disasterPlanBasedRecommendationServiceLevelObjectiveValue != null
                                        && disasterPlanBasedRecommendationServiceLevelObjectiveValue instanceof NullNode == false) {
                                    String disasterPlanBasedRecommendationServiceLevelObjectiveInstance;
                                    disasterPlanBasedRecommendationServiceLevelObjectiveInstance = disasterPlanBasedRecommendationServiceLevelObjectiveValue
                                            .getTextValue();
                                    propertiesInstance2.setDisasterPlanBasedRecommendationServiceLevelObjective(
                                            disasterPlanBasedRecommendationServiceLevelObjectiveInstance);
                                }

                                JsonNode disasterPlanBasedRecommendationServiceLevelObjectiveIdValue = propertiesValue2
                                        .get("disasterPlanBasedRecommendationServiceLevelObjectiveId");
                                if (disasterPlanBasedRecommendationServiceLevelObjectiveIdValue != null
                                        && disasterPlanBasedRecommendationServiceLevelObjectiveIdValue instanceof NullNode == false) {
                                    String disasterPlanBasedRecommendationServiceLevelObjectiveIdInstance;
                                    disasterPlanBasedRecommendationServiceLevelObjectiveIdInstance = disasterPlanBasedRecommendationServiceLevelObjectiveIdValue
                                            .getTextValue();
                                    propertiesInstance2
                                            .setDisasterPlanBasedRecommendationServiceLevelObjectiveId(
                                                    disasterPlanBasedRecommendationServiceLevelObjectiveIdInstance);
                                }

                                JsonNode overallRecommendationServiceLevelObjectiveValue = propertiesValue2
                                        .get("overallRecommendationServiceLevelObjective");
                                if (overallRecommendationServiceLevelObjectiveValue != null
                                        && overallRecommendationServiceLevelObjectiveValue instanceof NullNode == false) {
                                    String overallRecommendationServiceLevelObjectiveInstance;
                                    overallRecommendationServiceLevelObjectiveInstance = overallRecommendationServiceLevelObjectiveValue
                                            .getTextValue();
                                    propertiesInstance2.setOverallRecommendationServiceLevelObjective(
                                            overallRecommendationServiceLevelObjectiveInstance);
                                }

                                JsonNode overallRecommendationServiceLevelObjectiveIdValue = propertiesValue2
                                        .get("overallRecommendationServiceLevelObjectiveId");
                                if (overallRecommendationServiceLevelObjectiveIdValue != null
                                        && overallRecommendationServiceLevelObjectiveIdValue instanceof NullNode == false) {
                                    String overallRecommendationServiceLevelObjectiveIdInstance;
                                    overallRecommendationServiceLevelObjectiveIdInstance = overallRecommendationServiceLevelObjectiveIdValue
                                            .getTextValue();
                                    propertiesInstance2.setOverallRecommendationServiceLevelObjectiveId(
                                            overallRecommendationServiceLevelObjectiveIdInstance);
                                }

                                JsonNode confidenceValue = propertiesValue2.get("confidence");
                                if (confidenceValue != null && confidenceValue instanceof NullNode == false) {
                                    double confidenceInstance;
                                    confidenceInstance = confidenceValue.getDoubleValue();
                                    propertiesInstance2.setConfidence(confidenceInstance);
                                }
                            }

                            JsonNode idValue2 = serviceTierAdvisorsValue.get("id");
                            if (idValue2 != null && idValue2 instanceof NullNode == false) {
                                String idInstance2;
                                idInstance2 = idValue2.getTextValue();
                                serviceTierAdvisorInstance.setId(idInstance2);
                            }

                            JsonNode nameValue2 = serviceTierAdvisorsValue.get("name");
                            if (nameValue2 != null && nameValue2 instanceof NullNode == false) {
                                String nameInstance2;
                                nameInstance2 = nameValue2.getTextValue();
                                serviceTierAdvisorInstance.setName(nameInstance2);
                            }

                            JsonNode typeValue2 = serviceTierAdvisorsValue.get("type");
                            if (typeValue2 != null && typeValue2 instanceof NullNode == false) {
                                String typeInstance2;
                                typeInstance2 = typeValue2.getTextValue();
                                serviceTierAdvisorInstance.setType(typeInstance2);
                            }

                            JsonNode locationValue2 = serviceTierAdvisorsValue.get("location");
                            if (locationValue2 != null && locationValue2 instanceof NullNode == false) {
                                String locationInstance2;
                                locationInstance2 = locationValue2.getTextValue();
                                serviceTierAdvisorInstance.setLocation(locationInstance2);
                            }

                            JsonNode tagsSequenceElement2 = ((JsonNode) serviceTierAdvisorsValue.get("tags"));
                            if (tagsSequenceElement2 != null
                                    && tagsSequenceElement2 instanceof NullNode == false) {
                                Iterator<Map.Entry<String, JsonNode>> itr2 = tagsSequenceElement2.getFields();
                                while (itr2.hasNext()) {
                                    Map.Entry<String, JsonNode> property2 = itr2.next();
                                    String tagsKey2 = property2.getKey();
                                    String tagsValue2 = property2.getValue().getTextValue();
                                    serviceTierAdvisorInstance.getTags().put(tagsKey2, tagsValue2);
                                }
                            }
                        }
                    }

                    JsonNode upgradeHintValue = propertiesValue.get("upgradeHint");
                    if (upgradeHintValue != null && upgradeHintValue instanceof NullNode == false) {
                        UpgradeHint upgradeHintInstance = new UpgradeHint();
                        propertiesInstance.setUpgradeHint(upgradeHintInstance);

                        JsonNode targetServiceLevelObjectiveValue = upgradeHintValue
                                .get("targetServiceLevelObjective");
                        if (targetServiceLevelObjectiveValue != null
                                && targetServiceLevelObjectiveValue instanceof NullNode == false) {
                            String targetServiceLevelObjectiveInstance;
                            targetServiceLevelObjectiveInstance = targetServiceLevelObjectiveValue
                                    .getTextValue();
                            upgradeHintInstance
                                    .setTargetServiceLevelObjective(targetServiceLevelObjectiveInstance);
                        }

                        JsonNode targetServiceLevelObjectiveIdValue = upgradeHintValue
                                .get("targetServiceLevelObjectiveId");
                        if (targetServiceLevelObjectiveIdValue != null
                                && targetServiceLevelObjectiveIdValue instanceof NullNode == false) {
                            String targetServiceLevelObjectiveIdInstance;
                            targetServiceLevelObjectiveIdInstance = targetServiceLevelObjectiveIdValue
                                    .getTextValue();
                            upgradeHintInstance
                                    .setTargetServiceLevelObjectiveId(targetServiceLevelObjectiveIdInstance);
                        }

                        JsonNode idValue3 = upgradeHintValue.get("id");
                        if (idValue3 != null && idValue3 instanceof NullNode == false) {
                            String idInstance3;
                            idInstance3 = idValue3.getTextValue();
                            upgradeHintInstance.setId(idInstance3);
                        }

                        JsonNode nameValue3 = upgradeHintValue.get("name");
                        if (nameValue3 != null && nameValue3 instanceof NullNode == false) {
                            String nameInstance3;
                            nameInstance3 = nameValue3.getTextValue();
                            upgradeHintInstance.setName(nameInstance3);
                        }

                        JsonNode typeValue3 = upgradeHintValue.get("type");
                        if (typeValue3 != null && typeValue3 instanceof NullNode == false) {
                            String typeInstance3;
                            typeInstance3 = typeValue3.getTextValue();
                            upgradeHintInstance.setType(typeInstance3);
                        }

                        JsonNode locationValue3 = upgradeHintValue.get("location");
                        if (locationValue3 != null && locationValue3 instanceof NullNode == false) {
                            String locationInstance3;
                            locationInstance3 = locationValue3.getTextValue();
                            upgradeHintInstance.setLocation(locationInstance3);
                        }

                        JsonNode tagsSequenceElement3 = ((JsonNode) upgradeHintValue.get("tags"));
                        if (tagsSequenceElement3 != null && tagsSequenceElement3 instanceof NullNode == false) {
                            Iterator<Map.Entry<String, JsonNode>> itr3 = tagsSequenceElement3.getFields();
                            while (itr3.hasNext()) {
                                Map.Entry<String, JsonNode> property3 = itr3.next();
                                String tagsKey3 = property3.getKey();
                                String tagsValue3 = property3.getValue().getTextValue();
                                upgradeHintInstance.getTags().put(tagsKey3, tagsValue3);
                            }
                        }
                    }

                    JsonNode schemasArray = propertiesValue.get("schemas");
                    if (schemasArray != null && schemasArray instanceof NullNode == false) {
                        for (JsonNode schemasValue : ((ArrayNode) schemasArray)) {
                            Schema schemaInstance = new Schema();
                            propertiesInstance.getSchemas().add(schemaInstance);

                            JsonNode propertiesValue3 = schemasValue.get("properties");
                            if (propertiesValue3 != null && propertiesValue3 instanceof NullNode == false) {
                                SchemaProperties propertiesInstance3 = new SchemaProperties();
                                schemaInstance.setProperties(propertiesInstance3);

                                JsonNode tablesArray = propertiesValue3.get("tables");
                                if (tablesArray != null && tablesArray instanceof NullNode == false) {
                                    for (JsonNode tablesValue : ((ArrayNode) tablesArray)) {
                                        Table tableInstance = new Table();
                                        propertiesInstance3.getTables().add(tableInstance);

                                        JsonNode propertiesValue4 = tablesValue.get("properties");
                                        if (propertiesValue4 != null
                                                && propertiesValue4 instanceof NullNode == false) {
                                            TableProperties propertiesInstance4 = new TableProperties();
                                            tableInstance.setProperties(propertiesInstance4);

                                            JsonNode tableTypeValue = propertiesValue4.get("tableType");
                                            if (tableTypeValue != null
                                                    && tableTypeValue instanceof NullNode == false) {
                                                String tableTypeInstance;
                                                tableTypeInstance = tableTypeValue.getTextValue();
                                                propertiesInstance4.setTableType(tableTypeInstance);
                                            }

                                            JsonNode columnsArray = propertiesValue4.get("columns");
                                            if (columnsArray != null
                                                    && columnsArray instanceof NullNode == false) {
                                                for (JsonNode columnsValue : ((ArrayNode) columnsArray)) {
                                                    Column columnInstance = new Column();
                                                    propertiesInstance4.getColumns().add(columnInstance);

                                                    JsonNode propertiesValue5 = columnsValue.get("properties");
                                                    if (propertiesValue5 != null
                                                            && propertiesValue5 instanceof NullNode == false) {
                                                        ColumnProperties propertiesInstance5 = new ColumnProperties();
                                                        columnInstance.setProperties(propertiesInstance5);

                                                        JsonNode columnTypeValue = propertiesValue5
                                                                .get("columnType");
                                                        if (columnTypeValue != null
                                                                && columnTypeValue instanceof NullNode == false) {
                                                            String columnTypeInstance;
                                                            columnTypeInstance = columnTypeValue.getTextValue();
                                                            propertiesInstance5
                                                                    .setColumnType(columnTypeInstance);
                                                        }
                                                    }

                                                    JsonNode idValue4 = columnsValue.get("id");
                                                    if (idValue4 != null
                                                            && idValue4 instanceof NullNode == false) {
                                                        String idInstance4;
                                                        idInstance4 = idValue4.getTextValue();
                                                        columnInstance.setId(idInstance4);
                                                    }

                                                    JsonNode nameValue4 = columnsValue.get("name");
                                                    if (nameValue4 != null
                                                            && nameValue4 instanceof NullNode == false) {
                                                        String nameInstance4;
                                                        nameInstance4 = nameValue4.getTextValue();
                                                        columnInstance.setName(nameInstance4);
                                                    }

                                                    JsonNode typeValue4 = columnsValue.get("type");
                                                    if (typeValue4 != null
                                                            && typeValue4 instanceof NullNode == false) {
                                                        String typeInstance4;
                                                        typeInstance4 = typeValue4.getTextValue();
                                                        columnInstance.setType(typeInstance4);
                                                    }

                                                    JsonNode locationValue4 = columnsValue.get("location");
                                                    if (locationValue4 != null
                                                            && locationValue4 instanceof NullNode == false) {
                                                        String locationInstance4;
                                                        locationInstance4 = locationValue4.getTextValue();
                                                        columnInstance.setLocation(locationInstance4);
                                                    }

                                                    JsonNode tagsSequenceElement4 = ((JsonNode) columnsValue
                                                            .get("tags"));
                                                    if (tagsSequenceElement4 != null
                                                            && tagsSequenceElement4 instanceof NullNode == false) {
                                                        Iterator<Map.Entry<String, JsonNode>> itr4 = tagsSequenceElement4
                                                                .getFields();
                                                        while (itr4.hasNext()) {
                                                            Map.Entry<String, JsonNode> property4 = itr4.next();
                                                            String tagsKey4 = property4.getKey();
                                                            String tagsValue4 = property4.getValue()
                                                                    .getTextValue();
                                                            columnInstance.getTags().put(tagsKey4, tagsValue4);
                                                        }
                                                    }
                                                }
                                            }

                                            JsonNode recommendedIndexesArray = propertiesValue4
                                                    .get("recommendedIndexes");
                                            if (recommendedIndexesArray != null
                                                    && recommendedIndexesArray instanceof NullNode == false) {
                                                for (JsonNode recommendedIndexesValue : ((ArrayNode) recommendedIndexesArray)) {
                                                    RecommendedIndex recommendedIndexInstance = new RecommendedIndex();
                                                    propertiesInstance4.getRecommendedIndexes()
                                                            .add(recommendedIndexInstance);

                                                    JsonNode propertiesValue6 = recommendedIndexesValue
                                                            .get("properties");
                                                    if (propertiesValue6 != null
                                                            && propertiesValue6 instanceof NullNode == false) {
                                                        RecommendedIndexProperties propertiesInstance6 = new RecommendedIndexProperties();
                                                        recommendedIndexInstance
                                                                .setProperties(propertiesInstance6);

                                                        JsonNode actionValue = propertiesValue6.get("action");
                                                        if (actionValue != null
                                                                && actionValue instanceof NullNode == false) {
                                                            String actionInstance;
                                                            actionInstance = actionValue.getTextValue();
                                                            propertiesInstance6.setAction(actionInstance);
                                                        }

                                                        JsonNode stateValue = propertiesValue6.get("state");
                                                        if (stateValue != null
                                                                && stateValue instanceof NullNode == false) {
                                                            String stateInstance;
                                                            stateInstance = stateValue.getTextValue();
                                                            propertiesInstance6.setState(stateInstance);
                                                        }

                                                        JsonNode createdValue = propertiesValue6.get("created");
                                                        if (createdValue != null
                                                                && createdValue instanceof NullNode == false) {
                                                            Calendar createdInstance;
                                                            createdInstance = DatatypeConverter
                                                                    .parseDateTime(createdValue.getTextValue());
                                                            propertiesInstance6.setCreated(createdInstance);
                                                        }

                                                        JsonNode lastModifiedValue = propertiesValue6
                                                                .get("lastModified");
                                                        if (lastModifiedValue != null
                                                                && lastModifiedValue instanceof NullNode == false) {
                                                            Calendar lastModifiedInstance;
                                                            lastModifiedInstance = DatatypeConverter
                                                                    .parseDateTime(
                                                                            lastModifiedValue.getTextValue());
                                                            propertiesInstance6
                                                                    .setLastModified(lastModifiedInstance);
                                                        }

                                                        JsonNode indexTypeValue = propertiesValue6
                                                                .get("indexType");
                                                        if (indexTypeValue != null
                                                                && indexTypeValue instanceof NullNode == false) {
                                                            String indexTypeInstance;
                                                            indexTypeInstance = indexTypeValue.getTextValue();
                                                            propertiesInstance6.setIndexType(indexTypeInstance);
                                                        }

                                                        JsonNode schemaValue = propertiesValue6.get("schema");
                                                        if (schemaValue != null
                                                                && schemaValue instanceof NullNode == false) {
                                                            String schemaInstance2;
                                                            schemaInstance2 = schemaValue.getTextValue();
                                                            propertiesInstance6.setSchema(schemaInstance2);
                                                        }

                                                        JsonNode tableValue = propertiesValue6.get("table");
                                                        if (tableValue != null
                                                                && tableValue instanceof NullNode == false) {
                                                            String tableInstance2;
                                                            tableInstance2 = tableValue.getTextValue();
                                                            propertiesInstance6.setTable(tableInstance2);
                                                        }

                                                        JsonNode columnsArray2 = propertiesValue6
                                                                .get("columns");
                                                        if (columnsArray2 != null
                                                                && columnsArray2 instanceof NullNode == false) {
                                                            for (JsonNode columnsValue2 : ((ArrayNode) columnsArray2)) {
                                                                propertiesInstance6.getColumns()
                                                                        .add(columnsValue2.getTextValue());
                                                            }
                                                        }

                                                        JsonNode includedColumnsArray = propertiesValue6
                                                                .get("includedColumns");
                                                        if (includedColumnsArray != null
                                                                && includedColumnsArray instanceof NullNode == false) {
                                                            for (JsonNode includedColumnsValue : ((ArrayNode) includedColumnsArray)) {
                                                                propertiesInstance6.getIncludedColumns().add(
                                                                        includedColumnsValue.getTextValue());
                                                            }
                                                        }

                                                        JsonNode indexScriptValue = propertiesValue6
                                                                .get("indexScript");
                                                        if (indexScriptValue != null
                                                                && indexScriptValue instanceof NullNode == false) {
                                                            String indexScriptInstance;
                                                            indexScriptInstance = indexScriptValue
                                                                    .getTextValue();
                                                            propertiesInstance6
                                                                    .setIndexScript(indexScriptInstance);
                                                        }

                                                        JsonNode estimatedImpactArray = propertiesValue6
                                                                .get("estimatedImpact");
                                                        if (estimatedImpactArray != null
                                                                && estimatedImpactArray instanceof NullNode == false) {
                                                            for (JsonNode estimatedImpactValue : ((ArrayNode) estimatedImpactArray)) {
                                                                OperationImpact operationImpactInstance = new OperationImpact();
                                                                propertiesInstance6.getEstimatedImpact()
                                                                        .add(operationImpactInstance);

                                                                JsonNode nameValue5 = estimatedImpactValue
                                                                        .get("name");
                                                                if (nameValue5 != null
                                                                        && nameValue5 instanceof NullNode == false) {
                                                                    String nameInstance5;
                                                                    nameInstance5 = nameValue5.getTextValue();
                                                                    operationImpactInstance
                                                                            .setName(nameInstance5);
                                                                }

                                                                JsonNode unitValue = estimatedImpactValue
                                                                        .get("unit");
                                                                if (unitValue != null
                                                                        && unitValue instanceof NullNode == false) {
                                                                    String unitInstance;
                                                                    unitInstance = unitValue.getTextValue();
                                                                    operationImpactInstance
                                                                            .setUnit(unitInstance);
                                                                }

                                                                JsonNode changeValueAbsoluteValue = estimatedImpactValue
                                                                        .get("changeValueAbsolute");
                                                                if (changeValueAbsoluteValue != null
                                                                        && changeValueAbsoluteValue instanceof NullNode == false) {
                                                                    double changeValueAbsoluteInstance;
                                                                    changeValueAbsoluteInstance = changeValueAbsoluteValue
                                                                            .getDoubleValue();
                                                                    operationImpactInstance
                                                                            .setChangeValueAbsolute(
                                                                                    changeValueAbsoluteInstance);
                                                                }

                                                                JsonNode changeValueRelativeValue = estimatedImpactValue
                                                                        .get("changeValueRelative");
                                                                if (changeValueRelativeValue != null
                                                                        && changeValueRelativeValue instanceof NullNode == false) {
                                                                    double changeValueRelativeInstance;
                                                                    changeValueRelativeInstance = changeValueRelativeValue
                                                                            .getDoubleValue();
                                                                    operationImpactInstance
                                                                            .setChangeValueRelative(
                                                                                    changeValueRelativeInstance);
                                                                }
                                                            }
                                                        }

                                                        JsonNode reportedImpactArray = propertiesValue6
                                                                .get("reportedImpact");
                                                        if (reportedImpactArray != null
                                                                && reportedImpactArray instanceof NullNode == false) {
                                                            for (JsonNode reportedImpactValue : ((ArrayNode) reportedImpactArray)) {
                                                                OperationImpact operationImpactInstance2 = new OperationImpact();
                                                                propertiesInstance6.getReportedImpact()
                                                                        .add(operationImpactInstance2);

                                                                JsonNode nameValue6 = reportedImpactValue
                                                                        .get("name");
                                                                if (nameValue6 != null
                                                                        && nameValue6 instanceof NullNode == false) {
                                                                    String nameInstance6;
                                                                    nameInstance6 = nameValue6.getTextValue();
                                                                    operationImpactInstance2
                                                                            .setName(nameInstance6);
                                                                }

                                                                JsonNode unitValue2 = reportedImpactValue
                                                                        .get("unit");
                                                                if (unitValue2 != null
                                                                        && unitValue2 instanceof NullNode == false) {
                                                                    String unitInstance2;
                                                                    unitInstance2 = unitValue2.getTextValue();
                                                                    operationImpactInstance2
                                                                            .setUnit(unitInstance2);
                                                                }

                                                                JsonNode changeValueAbsoluteValue2 = reportedImpactValue
                                                                        .get("changeValueAbsolute");
                                                                if (changeValueAbsoluteValue2 != null
                                                                        && changeValueAbsoluteValue2 instanceof NullNode == false) {
                                                                    double changeValueAbsoluteInstance2;
                                                                    changeValueAbsoluteInstance2 = changeValueAbsoluteValue2
                                                                            .getDoubleValue();
                                                                    operationImpactInstance2
                                                                            .setChangeValueAbsolute(
                                                                                    changeValueAbsoluteInstance2);
                                                                }

                                                                JsonNode changeValueRelativeValue2 = reportedImpactValue
                                                                        .get("changeValueRelative");
                                                                if (changeValueRelativeValue2 != null
                                                                        && changeValueRelativeValue2 instanceof NullNode == false) {
                                                                    double changeValueRelativeInstance2;
                                                                    changeValueRelativeInstance2 = changeValueRelativeValue2
                                                                            .getDoubleValue();
                                                                    operationImpactInstance2
                                                                            .setChangeValueRelative(
                                                                                    changeValueRelativeInstance2);
                                                                }
                                                            }
                                                        }
                                                    }

                                                    JsonNode idValue5 = recommendedIndexesValue.get("id");
                                                    if (idValue5 != null
                                                            && idValue5 instanceof NullNode == false) {
                                                        String idInstance5;
                                                        idInstance5 = idValue5.getTextValue();
                                                        recommendedIndexInstance.setId(idInstance5);
                                                    }

                                                    JsonNode nameValue7 = recommendedIndexesValue.get("name");
                                                    if (nameValue7 != null
                                                            && nameValue7 instanceof NullNode == false) {
                                                        String nameInstance7;
                                                        nameInstance7 = nameValue7.getTextValue();
                                                        recommendedIndexInstance.setName(nameInstance7);
                                                    }

                                                    JsonNode typeValue5 = recommendedIndexesValue.get("type");
                                                    if (typeValue5 != null
                                                            && typeValue5 instanceof NullNode == false) {
                                                        String typeInstance5;
                                                        typeInstance5 = typeValue5.getTextValue();
                                                        recommendedIndexInstance.setType(typeInstance5);
                                                    }

                                                    JsonNode locationValue5 = recommendedIndexesValue
                                                            .get("location");
                                                    if (locationValue5 != null
                                                            && locationValue5 instanceof NullNode == false) {
                                                        String locationInstance5;
                                                        locationInstance5 = locationValue5.getTextValue();
                                                        recommendedIndexInstance.setLocation(locationInstance5);
                                                    }

                                                    JsonNode tagsSequenceElement5 = ((JsonNode) recommendedIndexesValue
                                                            .get("tags"));
                                                    if (tagsSequenceElement5 != null
                                                            && tagsSequenceElement5 instanceof NullNode == false) {
                                                        Iterator<Map.Entry<String, JsonNode>> itr5 = tagsSequenceElement5
                                                                .getFields();
                                                        while (itr5.hasNext()) {
                                                            Map.Entry<String, JsonNode> property5 = itr5.next();
                                                            String tagsKey5 = property5.getKey();
                                                            String tagsValue5 = property5.getValue()
                                                                    .getTextValue();
                                                            recommendedIndexInstance.getTags().put(tagsKey5,
                                                                    tagsValue5);
                                                        }
                                                    }
                                                }
                                            }
                                        }

                                        JsonNode idValue6 = tablesValue.get("id");
                                        if (idValue6 != null && idValue6 instanceof NullNode == false) {
                                            String idInstance6;
                                            idInstance6 = idValue6.getTextValue();
                                            tableInstance.setId(idInstance6);
                                        }

                                        JsonNode nameValue8 = tablesValue.get("name");
                                        if (nameValue8 != null && nameValue8 instanceof NullNode == false) {
                                            String nameInstance8;
                                            nameInstance8 = nameValue8.getTextValue();
                                            tableInstance.setName(nameInstance8);
                                        }

                                        JsonNode typeValue6 = tablesValue.get("type");
                                        if (typeValue6 != null && typeValue6 instanceof NullNode == false) {
                                            String typeInstance6;
                                            typeInstance6 = typeValue6.getTextValue();
                                            tableInstance.setType(typeInstance6);
                                        }

                                        JsonNode locationValue6 = tablesValue.get("location");
                                        if (locationValue6 != null
                                                && locationValue6 instanceof NullNode == false) {
                                            String locationInstance6;
                                            locationInstance6 = locationValue6.getTextValue();
                                            tableInstance.setLocation(locationInstance6);
                                        }

                                        JsonNode tagsSequenceElement6 = ((JsonNode) tablesValue.get("tags"));
                                        if (tagsSequenceElement6 != null
                                                && tagsSequenceElement6 instanceof NullNode == false) {
                                            Iterator<Map.Entry<String, JsonNode>> itr6 = tagsSequenceElement6
                                                    .getFields();
                                            while (itr6.hasNext()) {
                                                Map.Entry<String, JsonNode> property6 = itr6.next();
                                                String tagsKey6 = property6.getKey();
                                                String tagsValue6 = property6.getValue().getTextValue();
                                                tableInstance.getTags().put(tagsKey6, tagsValue6);
                                            }
                                        }
                                    }
                                }
                            }

                            JsonNode idValue7 = schemasValue.get("id");
                            if (idValue7 != null && idValue7 instanceof NullNode == false) {
                                String idInstance7;
                                idInstance7 = idValue7.getTextValue();
                                schemaInstance.setId(idInstance7);
                            }

                            JsonNode nameValue9 = schemasValue.get("name");
                            if (nameValue9 != null && nameValue9 instanceof NullNode == false) {
                                String nameInstance9;
                                nameInstance9 = nameValue9.getTextValue();
                                schemaInstance.setName(nameInstance9);
                            }

                            JsonNode typeValue7 = schemasValue.get("type");
                            if (typeValue7 != null && typeValue7 instanceof NullNode == false) {
                                String typeInstance7;
                                typeInstance7 = typeValue7.getTextValue();
                                schemaInstance.setType(typeInstance7);
                            }

                            JsonNode locationValue7 = schemasValue.get("location");
                            if (locationValue7 != null && locationValue7 instanceof NullNode == false) {
                                String locationInstance7;
                                locationInstance7 = locationValue7.getTextValue();
                                schemaInstance.setLocation(locationInstance7);
                            }

                            JsonNode tagsSequenceElement7 = ((JsonNode) schemasValue.get("tags"));
                            if (tagsSequenceElement7 != null
                                    && tagsSequenceElement7 instanceof NullNode == false) {
                                Iterator<Map.Entry<String, JsonNode>> itr7 = tagsSequenceElement7.getFields();
                                while (itr7.hasNext()) {
                                    Map.Entry<String, JsonNode> property7 = itr7.next();
                                    String tagsKey7 = property7.getKey();
                                    String tagsValue7 = property7.getValue().getTextValue();
                                    schemaInstance.getTags().put(tagsKey7, tagsValue7);
                                }
                            }
                        }
                    }

                    JsonNode defaultSecondaryLocationValue = propertiesValue.get("defaultSecondaryLocation");
                    if (defaultSecondaryLocationValue != null
                            && defaultSecondaryLocationValue instanceof NullNode == false) {
                        String defaultSecondaryLocationInstance;
                        defaultSecondaryLocationInstance = defaultSecondaryLocationValue.getTextValue();
                        propertiesInstance.setDefaultSecondaryLocation(defaultSecondaryLocationInstance);
                    }
                }

                JsonNode idValue8 = responseDoc.get("id");
                if (idValue8 != null && idValue8 instanceof NullNode == false) {
                    String idInstance8;
                    idInstance8 = idValue8.getTextValue();
                    databaseInstance.setId(idInstance8);
                }

                JsonNode nameValue10 = responseDoc.get("name");
                if (nameValue10 != null && nameValue10 instanceof NullNode == false) {
                    String nameInstance10;
                    nameInstance10 = nameValue10.getTextValue();
                    databaseInstance.setName(nameInstance10);
                }

                JsonNode typeValue8 = responseDoc.get("type");
                if (typeValue8 != null && typeValue8 instanceof NullNode == false) {
                    String typeInstance8;
                    typeInstance8 = typeValue8.getTextValue();
                    databaseInstance.setType(typeInstance8);
                }

                JsonNode locationValue8 = responseDoc.get("location");
                if (locationValue8 != null && locationValue8 instanceof NullNode == false) {
                    String locationInstance8;
                    locationInstance8 = locationValue8.getTextValue();
                    databaseInstance.setLocation(locationInstance8);
                }

                JsonNode tagsSequenceElement8 = ((JsonNode) responseDoc.get("tags"));
                if (tagsSequenceElement8 != null && tagsSequenceElement8 instanceof NullNode == false) {
                    Iterator<Map.Entry<String, JsonNode>> itr8 = tagsSequenceElement8.getFields();
                    while (itr8.hasNext()) {
                        Map.Entry<String, JsonNode> property8 = itr8.next();
                        String tagsKey8 = property8.getKey();
                        String tagsValue8 = property8.getValue().getTextValue();
                        databaseInstance.getTags().put(tagsKey8, tagsValue8);
                    }
                }
            }

        }
        result.setStatusCode(statusCode);
        if (httpResponse.getHeaders("x-ms-request-id").length > 0) {
            result.setRequestId(httpResponse.getFirstHeader("x-ms-request-id").getValue());
        }

        if (shouldTrace) {
            CloudTracing.exit(invocationId, result);
        }
        return result;
    } finally {
        if (httpResponse != null && httpResponse.getEntity() != null) {
            httpResponse.getEntity().getContent().close();
        }
    }
}

From source file:com.microsoft.windowsazure.management.servicebus.NamespaceOperationsImpl.java

/**
* Lists the available namespaces.  (see//w w  w .ja  v a2  s .  co  m
* http://msdn.microsoft.com/en-us/library/azure/hh780759.aspx for more
* information)
*
* @throws IOException Signals that an I/O exception of some sort has
* occurred. This class is the general class of exceptions produced by
* failed or interrupted I/O operations.
* @throws ServiceException Thrown if an unexpected response is found.
* @throws ParserConfigurationException Thrown if there was a serious
* configuration error with the document parser.
* @throws SAXException Thrown if there was an error parsing the XML
* response.
* @throws URISyntaxException Thrown if there was an error parsing a URI in
* the response.
* @return The response to the request for a listing of namespaces.
*/
@Override
public ServiceBusNamespacesResponse list()
        throws IOException, ServiceException, ParserConfigurationException, SAXException, URISyntaxException {
    // Validate

    // Tracing
    boolean shouldTrace = CloudTracing.getIsEnabled();
    String invocationId = null;
    if (shouldTrace) {
        invocationId = Long.toString(CloudTracing.getNextInvocationId());
        HashMap<String, Object> tracingParameters = new HashMap<String, Object>();
        CloudTracing.enter(invocationId, this, "listAsync", tracingParameters);
    }

    // Construct URL
    String url = "";
    url = url + "/";
    if (this.getClient().getCredentials().getSubscriptionId() != null) {
        url = url + URLEncoder.encode(this.getClient().getCredentials().getSubscriptionId(), "UTF-8");
    }
    url = url + "/services/servicebus/namespaces/";
    String baseUrl = this.getClient().getBaseUri().toString();
    // Trim '/' character from the end of baseUrl and beginning of url.
    if (baseUrl.charAt(baseUrl.length() - 1) == '/') {
        baseUrl = baseUrl.substring(0, (baseUrl.length() - 1) + 0);
    }
    if (url.charAt(0) == '/') {
        url = url.substring(1);
    }
    url = baseUrl + "/" + url;
    url = url.replace(" ", "%20");

    // Create HTTP transport objects
    HttpGet httpRequest = new HttpGet(url);

    // Set Headers
    httpRequest.setHeader("Accept", "application/atom+xml");
    httpRequest.setHeader("Content-Type", "application/atom+xml");
    httpRequest.setHeader("x-ms-version", "2013-08-01");

    // Send Request
    HttpResponse httpResponse = null;
    try {
        if (shouldTrace) {
            CloudTracing.sendRequest(invocationId, httpRequest);
        }
        httpResponse = this.getClient().getHttpClient().execute(httpRequest);
        if (shouldTrace) {
            CloudTracing.receiveResponse(invocationId, httpResponse);
        }
        int statusCode = httpResponse.getStatusLine().getStatusCode();
        if (statusCode != HttpStatus.SC_OK) {
            ServiceException ex = ServiceException.createFromXml(httpRequest, null, httpResponse,
                    httpResponse.getEntity());
            if (shouldTrace) {
                CloudTracing.error(invocationId, ex);
            }
            throw ex;
        }

        // Create Result
        ServiceBusNamespacesResponse result = null;
        // Deserialize Response
        if (statusCode == HttpStatus.SC_OK) {
            InputStream responseContent = httpResponse.getEntity().getContent();
            result = new ServiceBusNamespacesResponse();
            DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
            documentBuilderFactory.setNamespaceAware(true);
            DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
            Document responseDoc = documentBuilder.parse(new BOMInputStream(responseContent));

            Element feedElement = XmlUtility.getElementByTagNameNS(responseDoc, "http://www.w3.org/2005/Atom",
                    "feed");
            if (feedElement != null) {
                if (feedElement != null) {
                    for (int i1 = 0; i1 < com.microsoft.windowsazure.core.utils.XmlUtility
                            .getElementsByTagNameNS(feedElement, "http://www.w3.org/2005/Atom", "entry")
                            .size(); i1 = i1 + 1) {
                        org.w3c.dom.Element entriesElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                .getElementsByTagNameNS(feedElement, "http://www.w3.org/2005/Atom", "entry")
                                .get(i1));
                        ServiceBusNamespace entryInstance = new ServiceBusNamespace();
                        result.getNamespaces().add(entryInstance);

                        Element contentElement = XmlUtility.getElementByTagNameNS(entriesElement,
                                "http://www.w3.org/2005/Atom", "content");
                        if (contentElement != null) {
                            Element namespaceDescriptionElement = XmlUtility.getElementByTagNameNS(
                                    contentElement,
                                    "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                    "NamespaceDescription");
                            if (namespaceDescriptionElement != null) {
                                Element nameElement = XmlUtility.getElementByTagNameNS(
                                        namespaceDescriptionElement,
                                        "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                        "Name");
                                if (nameElement != null) {
                                    String nameInstance;
                                    nameInstance = nameElement.getTextContent();
                                    entryInstance.setName(nameInstance);
                                }

                                Element regionElement = XmlUtility.getElementByTagNameNS(
                                        namespaceDescriptionElement,
                                        "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                        "Region");
                                if (regionElement != null) {
                                    String regionInstance;
                                    regionInstance = regionElement.getTextContent();
                                    entryInstance.setRegion(regionInstance);
                                }

                                Element statusElement = XmlUtility.getElementByTagNameNS(
                                        namespaceDescriptionElement,
                                        "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                        "Status");
                                if (statusElement != null) {
                                    String statusInstance;
                                    statusInstance = statusElement.getTextContent();
                                    entryInstance.setStatus(statusInstance);
                                }

                                Element createdAtElement = XmlUtility.getElementByTagNameNS(
                                        namespaceDescriptionElement,
                                        "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                        "CreatedAt");
                                if (createdAtElement != null) {
                                    Calendar createdAtInstance;
                                    createdAtInstance = DatatypeConverter
                                            .parseDateTime(createdAtElement.getTextContent());
                                    entryInstance.setCreatedAt(createdAtInstance);
                                }

                                Element acsManagementEndpointElement = XmlUtility.getElementByTagNameNS(
                                        namespaceDescriptionElement,
                                        "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                        "AcsManagementEndpoint");
                                if (acsManagementEndpointElement != null) {
                                    URI acsManagementEndpointInstance;
                                    acsManagementEndpointInstance = new URI(
                                            acsManagementEndpointElement.getTextContent());
                                    entryInstance.setAcsManagementEndpoint(acsManagementEndpointInstance);
                                }

                                Element serviceBusEndpointElement = XmlUtility.getElementByTagNameNS(
                                        namespaceDescriptionElement,
                                        "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                        "ServiceBusEndpoint");
                                if (serviceBusEndpointElement != null) {
                                    URI serviceBusEndpointInstance;
                                    serviceBusEndpointInstance = new URI(
                                            serviceBusEndpointElement.getTextContent());
                                    entryInstance.setServiceBusEndpoint(serviceBusEndpointInstance);
                                }

                                Element subscriptionIdElement = XmlUtility.getElementByTagNameNS(
                                        namespaceDescriptionElement,
                                        "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                        "SubscriptionId");
                                if (subscriptionIdElement != null) {
                                    String subscriptionIdInstance;
                                    subscriptionIdInstance = subscriptionIdElement.getTextContent();
                                    entryInstance.setSubscriptionId(subscriptionIdInstance);
                                }

                                Element enabledElement = XmlUtility.getElementByTagNameNS(
                                        namespaceDescriptionElement,
                                        "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                        "Enabled");
                                if (enabledElement != null) {
                                    boolean enabledInstance;
                                    enabledInstance = DatatypeConverter
                                            .parseBoolean(enabledElement.getTextContent().toLowerCase());
                                    entryInstance.setEnabled(enabledInstance);
                                }

                                Element createACSNamespaceElement = XmlUtility.getElementByTagNameNS(
                                        namespaceDescriptionElement,
                                        "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                        "CreateACSNamespace");
                                if (createACSNamespaceElement != null) {
                                    boolean createACSNamespaceInstance;
                                    createACSNamespaceInstance = DatatypeConverter.parseBoolean(
                                            createACSNamespaceElement.getTextContent().toLowerCase());
                                    entryInstance.setCreateACSNamespace(createACSNamespaceInstance);
                                }

                                Element namespaceTypeElement = XmlUtility.getElementByTagNameNS(
                                        namespaceDescriptionElement,
                                        "http://schemas.microsoft.com/netservices/2010/10/servicebus/connect",
                                        "NamespaceType");
                                if (namespaceTypeElement != null
                                        && namespaceTypeElement.getTextContent() != null
                                        && !namespaceTypeElement.getTextContent().isEmpty()) {
                                    NamespaceType namespaceTypeInstance;
                                    namespaceTypeInstance = NamespaceType
                                            .valueOf(namespaceTypeElement.getTextContent());
                                    entryInstance.setNamespaceType(namespaceTypeInstance);
                                }
                            }
                        }
                    }
                }
            }

        }
        result.setStatusCode(statusCode);
        if (httpResponse.getHeaders("x-ms-request-id").length > 0) {
            result.setRequestId(httpResponse.getFirstHeader("x-ms-request-id").getValue());
        }

        if (shouldTrace) {
            CloudTracing.exit(invocationId, result);
        }
        return result;
    } finally {
        if (httpResponse != null && httpResponse.getEntity() != null) {
            httpResponse.getEntity().getContent().close();
        }
    }
}

From source file:com.microsoft.windowsazure.management.compute.HostedServiceOperationsImpl.java

/**
* The Get Detailed Hosted Service Properties operation retrieves system
* properties for the specified cloud service. These properties include the
* service name and service type; the name of the affinity group to which
* the service belongs, or its location if it is not part of an affinity
* group; and information on the deployments of the service.  (see
* http://msdn.microsoft.com/en-us/library/windowsazure/ee460806.aspx for
* more information)/*  w w w.ja  va 2s  .co  m*/
*
* @param serviceName Required. The name of the cloud service.
* @throws IOException Signals that an I/O exception of some sort has
* occurred. This class is the general class of exceptions produced by
* failed or interrupted I/O operations.
* @throws ServiceException Thrown if an unexpected response is found.
* @throws ParserConfigurationException Thrown if there was a serious
* configuration error with the document parser.
* @throws SAXException Thrown if there was an error parsing the XML
* response.
* @throws URISyntaxException Thrown if there was an error parsing a URI in
* the response.
* @return The detailed Get Hosted Service operation response.
*/
@Override
public HostedServiceGetDetailedResponse getDetailed(String serviceName)
        throws IOException, ServiceException, ParserConfigurationException, SAXException, URISyntaxException {
    // Validate
    if (serviceName == null) {
        throw new NullPointerException("serviceName");
    }

    // Tracing
    boolean shouldTrace = CloudTracing.getIsEnabled();
    String invocationId = null;
    if (shouldTrace) {
        invocationId = Long.toString(CloudTracing.getNextInvocationId());
        HashMap<String, Object> tracingParameters = new HashMap<String, Object>();
        tracingParameters.put("serviceName", serviceName);
        CloudTracing.enter(invocationId, this, "getDetailedAsync", tracingParameters);
    }

    // Construct URL
    String url = "";
    url = url + "/";
    if (this.getClient().getCredentials().getSubscriptionId() != null) {
        url = url + URLEncoder.encode(this.getClient().getCredentials().getSubscriptionId(), "UTF-8");
    }
    url = url + "/services/hostedservices/";
    url = url + URLEncoder.encode(serviceName, "UTF-8");
    ArrayList<String> queryParameters = new ArrayList<String>();
    queryParameters.add("embed-detail=true");
    if (queryParameters.size() > 0) {
        url = url + "?" + CollectionStringBuilder.join(queryParameters, "&");
    }
    String baseUrl = this.getClient().getBaseUri().toString();
    // Trim '/' character from the end of baseUrl and beginning of url.
    if (baseUrl.charAt(baseUrl.length() - 1) == '/') {
        baseUrl = baseUrl.substring(0, (baseUrl.length() - 1) + 0);
    }
    if (url.charAt(0) == '/') {
        url = url.substring(1);
    }
    url = baseUrl + "/" + url;
    url = url.replace(" ", "%20");

    // Create HTTP transport objects
    HttpGet httpRequest = new HttpGet(url);

    // Set Headers
    httpRequest.setHeader("x-ms-version", "2015-04-01");

    // Send Request
    HttpResponse httpResponse = null;
    try {
        if (shouldTrace) {
            CloudTracing.sendRequest(invocationId, httpRequest);
        }
        httpResponse = this.getClient().getHttpClient().execute(httpRequest);
        if (shouldTrace) {
            CloudTracing.receiveResponse(invocationId, httpResponse);
        }
        int statusCode = httpResponse.getStatusLine().getStatusCode();
        if (statusCode != HttpStatus.SC_OK) {
            ServiceException ex = ServiceException.createFromXml(httpRequest, null, httpResponse,
                    httpResponse.getEntity());
            if (shouldTrace) {
                CloudTracing.error(invocationId, ex);
            }
            throw ex;
        }

        // Create Result
        HostedServiceGetDetailedResponse result = null;
        // Deserialize Response
        if (statusCode == HttpStatus.SC_OK) {
            InputStream responseContent = httpResponse.getEntity().getContent();
            result = new HostedServiceGetDetailedResponse();
            DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
            documentBuilderFactory.setNamespaceAware(true);
            DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
            Document responseDoc = documentBuilder.parse(new BOMInputStream(responseContent));

            Element hostedServiceElement = XmlUtility.getElementByTagNameNS(responseDoc,
                    "http://schemas.microsoft.com/windowsazure", "HostedService");
            if (hostedServiceElement != null) {
                Element deploymentsSequenceElement = XmlUtility.getElementByTagNameNS(hostedServiceElement,
                        "http://schemas.microsoft.com/windowsazure", "Deployments");
                if (deploymentsSequenceElement != null) {
                    for (int i1 = 0; i1 < com.microsoft.windowsazure.core.utils.XmlUtility
                            .getElementsByTagNameNS(deploymentsSequenceElement,
                                    "http://schemas.microsoft.com/windowsazure", "Deployment")
                            .size(); i1 = i1 + 1) {
                        org.w3c.dom.Element deploymentsElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                .getElementsByTagNameNS(deploymentsSequenceElement,
                                        "http://schemas.microsoft.com/windowsazure", "Deployment")
                                .get(i1));
                        HostedServiceGetDetailedResponse.Deployment deploymentInstance = new HostedServiceGetDetailedResponse.Deployment();
                        result.getDeployments().add(deploymentInstance);

                        Element nameElement = XmlUtility.getElementByTagNameNS(deploymentsElement,
                                "http://schemas.microsoft.com/windowsazure", "Name");
                        if (nameElement != null) {
                            String nameInstance;
                            nameInstance = nameElement.getTextContent();
                            deploymentInstance.setName(nameInstance);
                        }

                        Element deploymentSlotElement = XmlUtility.getElementByTagNameNS(deploymentsElement,
                                "http://schemas.microsoft.com/windowsazure", "DeploymentSlot");
                        if (deploymentSlotElement != null && deploymentSlotElement.getTextContent() != null
                                && !deploymentSlotElement.getTextContent().isEmpty()) {
                            DeploymentSlot deploymentSlotInstance;
                            deploymentSlotInstance = DeploymentSlot
                                    .valueOf(deploymentSlotElement.getTextContent());
                            deploymentInstance.setDeploymentSlot(deploymentSlotInstance);
                        }

                        Element privateIDElement = XmlUtility.getElementByTagNameNS(deploymentsElement,
                                "http://schemas.microsoft.com/windowsazure", "PrivateID");
                        if (privateIDElement != null) {
                            String privateIDInstance;
                            privateIDInstance = privateIDElement.getTextContent();
                            deploymentInstance.setPrivateId(privateIDInstance);
                        }

                        Element statusElement = XmlUtility.getElementByTagNameNS(deploymentsElement,
                                "http://schemas.microsoft.com/windowsazure", "Status");
                        if (statusElement != null && statusElement.getTextContent() != null
                                && !statusElement.getTextContent().isEmpty()) {
                            DeploymentStatus statusInstance;
                            statusInstance = DeploymentStatus.valueOf(statusElement.getTextContent());
                            deploymentInstance.setStatus(statusInstance);
                        }

                        Element labelElement = XmlUtility.getElementByTagNameNS(deploymentsElement,
                                "http://schemas.microsoft.com/windowsazure", "Label");
                        if (labelElement != null) {
                            String labelInstance;
                            labelInstance = labelElement.getTextContent() != null
                                    ? new String(Base64.decode(labelElement.getTextContent()))
                                    : null;
                            deploymentInstance.setLabel(labelInstance);
                        }

                        Element urlElement = XmlUtility.getElementByTagNameNS(deploymentsElement,
                                "http://schemas.microsoft.com/windowsazure", "Url");
                        if (urlElement != null) {
                            URI urlInstance;
                            urlInstance = new URI(urlElement.getTextContent());
                            deploymentInstance.setUri(urlInstance);
                        }

                        Element configurationElement = XmlUtility.getElementByTagNameNS(deploymentsElement,
                                "http://schemas.microsoft.com/windowsazure", "Configuration");
                        if (configurationElement != null) {
                            String configurationInstance;
                            configurationInstance = configurationElement.getTextContent() != null
                                    ? new String(Base64.decode(configurationElement.getTextContent()))
                                    : null;
                            deploymentInstance.setConfiguration(configurationInstance);
                        }

                        Element roleInstanceListSequenceElement = XmlUtility.getElementByTagNameNS(
                                deploymentsElement, "http://schemas.microsoft.com/windowsazure",
                                "RoleInstanceList");
                        if (roleInstanceListSequenceElement != null) {
                            for (int i2 = 0; i2 < com.microsoft.windowsazure.core.utils.XmlUtility
                                    .getElementsByTagNameNS(roleInstanceListSequenceElement,
                                            "http://schemas.microsoft.com/windowsazure", "RoleInstance")
                                    .size(); i2 = i2 + 1) {
                                org.w3c.dom.Element roleInstanceListElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                        .getElementsByTagNameNS(roleInstanceListSequenceElement,
                                                "http://schemas.microsoft.com/windowsazure", "RoleInstance")
                                        .get(i2));
                                RoleInstance roleInstanceInstance = new RoleInstance();
                                deploymentInstance.getRoleInstances().add(roleInstanceInstance);

                                Element roleNameElement = XmlUtility.getElementByTagNameNS(
                                        roleInstanceListElement, "http://schemas.microsoft.com/windowsazure",
                                        "RoleName");
                                if (roleNameElement != null) {
                                    String roleNameInstance;
                                    roleNameInstance = roleNameElement.getTextContent();
                                    roleInstanceInstance.setRoleName(roleNameInstance);
                                }

                                Element instanceNameElement = XmlUtility.getElementByTagNameNS(
                                        roleInstanceListElement, "http://schemas.microsoft.com/windowsazure",
                                        "InstanceName");
                                if (instanceNameElement != null) {
                                    String instanceNameInstance;
                                    instanceNameInstance = instanceNameElement.getTextContent();
                                    roleInstanceInstance.setInstanceName(instanceNameInstance);
                                }

                                Element instanceStatusElement = XmlUtility.getElementByTagNameNS(
                                        roleInstanceListElement, "http://schemas.microsoft.com/windowsazure",
                                        "InstanceStatus");
                                if (instanceStatusElement != null) {
                                    String instanceStatusInstance;
                                    instanceStatusInstance = instanceStatusElement.getTextContent();
                                    roleInstanceInstance.setInstanceStatus(instanceStatusInstance);
                                }

                                Element instanceUpgradeDomainElement = XmlUtility.getElementByTagNameNS(
                                        roleInstanceListElement, "http://schemas.microsoft.com/windowsazure",
                                        "InstanceUpgradeDomain");
                                if (instanceUpgradeDomainElement != null
                                        && instanceUpgradeDomainElement.getTextContent() != null
                                        && !instanceUpgradeDomainElement.getTextContent().isEmpty()) {
                                    int instanceUpgradeDomainInstance;
                                    instanceUpgradeDomainInstance = DatatypeConverter
                                            .parseInt(instanceUpgradeDomainElement.getTextContent());
                                    roleInstanceInstance
                                            .setInstanceUpgradeDomain(instanceUpgradeDomainInstance);
                                }

                                Element instanceFaultDomainElement = XmlUtility.getElementByTagNameNS(
                                        roleInstanceListElement, "http://schemas.microsoft.com/windowsazure",
                                        "InstanceFaultDomain");
                                if (instanceFaultDomainElement != null
                                        && instanceFaultDomainElement.getTextContent() != null
                                        && !instanceFaultDomainElement.getTextContent().isEmpty()) {
                                    int instanceFaultDomainInstance;
                                    instanceFaultDomainInstance = DatatypeConverter
                                            .parseInt(instanceFaultDomainElement.getTextContent());
                                    roleInstanceInstance.setInstanceFaultDomain(instanceFaultDomainInstance);
                                }

                                Element instanceSizeElement = XmlUtility.getElementByTagNameNS(
                                        roleInstanceListElement, "http://schemas.microsoft.com/windowsazure",
                                        "InstanceSize");
                                if (instanceSizeElement != null) {
                                    String instanceSizeInstance;
                                    instanceSizeInstance = instanceSizeElement.getTextContent();
                                    roleInstanceInstance.setInstanceSize(instanceSizeInstance);
                                }

                                Element instanceStateDetailsElement = XmlUtility.getElementByTagNameNS(
                                        roleInstanceListElement, "http://schemas.microsoft.com/windowsazure",
                                        "InstanceStateDetails");
                                if (instanceStateDetailsElement != null) {
                                    String instanceStateDetailsInstance;
                                    instanceStateDetailsInstance = instanceStateDetailsElement.getTextContent();
                                    roleInstanceInstance.setInstanceStateDetails(instanceStateDetailsInstance);
                                }

                                Element instanceErrorCodeElement = XmlUtility.getElementByTagNameNS(
                                        roleInstanceListElement, "http://schemas.microsoft.com/windowsazure",
                                        "InstanceErrorCode");
                                if (instanceErrorCodeElement != null) {
                                    String instanceErrorCodeInstance;
                                    instanceErrorCodeInstance = instanceErrorCodeElement.getTextContent();
                                    roleInstanceInstance.setInstanceErrorCode(instanceErrorCodeInstance);
                                }

                                Element ipAddressElement = XmlUtility.getElementByTagNameNS(
                                        roleInstanceListElement, "http://schemas.microsoft.com/windowsazure",
                                        "IpAddress");
                                if (ipAddressElement != null) {
                                    InetAddress ipAddressInstance;
                                    ipAddressInstance = InetAddress
                                            .getByName(ipAddressElement.getTextContent());
                                    roleInstanceInstance.setIPAddress(ipAddressInstance);
                                }

                                Element instanceEndpointsSequenceElement = XmlUtility.getElementByTagNameNS(
                                        roleInstanceListElement, "http://schemas.microsoft.com/windowsazure",
                                        "InstanceEndpoints");
                                if (instanceEndpointsSequenceElement != null) {
                                    for (int i3 = 0; i3 < com.microsoft.windowsazure.core.utils.XmlUtility
                                            .getElementsByTagNameNS(instanceEndpointsSequenceElement,
                                                    "http://schemas.microsoft.com/windowsazure",
                                                    "InstanceEndpoint")
                                            .size(); i3 = i3 + 1) {
                                        org.w3c.dom.Element instanceEndpointsElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                                .getElementsByTagNameNS(instanceEndpointsSequenceElement,
                                                        "http://schemas.microsoft.com/windowsazure",
                                                        "InstanceEndpoint")
                                                .get(i3));
                                        InstanceEndpoint instanceEndpointInstance = new InstanceEndpoint();
                                        roleInstanceInstance.getInstanceEndpoints()
                                                .add(instanceEndpointInstance);

                                        Element localPortElement = XmlUtility.getElementByTagNameNS(
                                                instanceEndpointsElement,
                                                "http://schemas.microsoft.com/windowsazure", "LocalPort");
                                        if (localPortElement != null
                                                && localPortElement.getTextContent() != null
                                                && !localPortElement.getTextContent().isEmpty()) {
                                            int localPortInstance;
                                            localPortInstance = DatatypeConverter
                                                    .parseInt(localPortElement.getTextContent());
                                            instanceEndpointInstance.setLocalPort(localPortInstance);
                                        }

                                        Element nameElement2 = XmlUtility.getElementByTagNameNS(
                                                instanceEndpointsElement,
                                                "http://schemas.microsoft.com/windowsazure", "Name");
                                        if (nameElement2 != null) {
                                            String nameInstance2;
                                            nameInstance2 = nameElement2.getTextContent();
                                            instanceEndpointInstance.setName(nameInstance2);
                                        }

                                        Element publicPortElement = XmlUtility.getElementByTagNameNS(
                                                instanceEndpointsElement,
                                                "http://schemas.microsoft.com/windowsazure", "PublicPort");
                                        if (publicPortElement != null) {
                                            int publicPortInstance;
                                            publicPortInstance = DatatypeConverter
                                                    .parseInt(publicPortElement.getTextContent());
                                            instanceEndpointInstance.setPort(publicPortInstance);
                                        }

                                        Element protocolElement = XmlUtility.getElementByTagNameNS(
                                                instanceEndpointsElement,
                                                "http://schemas.microsoft.com/windowsazure", "Protocol");
                                        if (protocolElement != null) {
                                            String protocolInstance;
                                            protocolInstance = protocolElement.getTextContent();
                                            instanceEndpointInstance.setProtocol(protocolInstance);
                                        }

                                        Element vipElement = XmlUtility.getElementByTagNameNS(
                                                instanceEndpointsElement,
                                                "http://schemas.microsoft.com/windowsazure", "Vip");
                                        if (vipElement != null) {
                                            InetAddress vipInstance;
                                            vipInstance = InetAddress.getByName(vipElement.getTextContent());
                                            instanceEndpointInstance.setVirtualIPAddress(vipInstance);
                                        }

                                        Element idleTimeoutInMinutesElement = XmlUtility.getElementByTagNameNS(
                                                instanceEndpointsElement,
                                                "http://schemas.microsoft.com/windowsazure",
                                                "IdleTimeoutInMinutes");
                                        if (idleTimeoutInMinutesElement != null
                                                && idleTimeoutInMinutesElement.getTextContent() != null
                                                && !idleTimeoutInMinutesElement.getTextContent().isEmpty()) {
                                            int idleTimeoutInMinutesInstance;
                                            idleTimeoutInMinutesInstance = DatatypeConverter
                                                    .parseInt(idleTimeoutInMinutesElement.getTextContent());
                                            instanceEndpointInstance
                                                    .setIdleTimeoutInMinutes(idleTimeoutInMinutesInstance);
                                        }
                                    }
                                }

                                Element guestAgentStatusElement = XmlUtility.getElementByTagNameNS(
                                        roleInstanceListElement, "http://schemas.microsoft.com/windowsazure",
                                        "GuestAgentStatus");
                                if (guestAgentStatusElement != null) {
                                    GuestAgentStatus guestAgentStatusInstance = new GuestAgentStatus();
                                    roleInstanceInstance.setGuestAgentStatus(guestAgentStatusInstance);

                                    Element protocolVersionElement = XmlUtility.getElementByTagNameNS(
                                            guestAgentStatusElement,
                                            "http://schemas.microsoft.com/windowsazure", "ProtocolVersion");
                                    if (protocolVersionElement != null) {
                                        String protocolVersionInstance;
                                        protocolVersionInstance = protocolVersionElement.getTextContent();
                                        guestAgentStatusInstance.setProtocolVersion(protocolVersionInstance);
                                    }

                                    Element timestampElement = XmlUtility.getElementByTagNameNS(
                                            guestAgentStatusElement,
                                            "http://schemas.microsoft.com/windowsazure", "Timestamp");
                                    if (timestampElement != null && timestampElement.getTextContent() != null
                                            && !timestampElement.getTextContent().isEmpty()) {
                                        Calendar timestampInstance;
                                        timestampInstance = DatatypeConverter
                                                .parseDateTime(timestampElement.getTextContent());
                                        guestAgentStatusInstance.setTimestamp(timestampInstance);
                                    }

                                    Element guestAgentVersionElement = XmlUtility.getElementByTagNameNS(
                                            guestAgentStatusElement,
                                            "http://schemas.microsoft.com/windowsazure", "GuestAgentVersion");
                                    if (guestAgentVersionElement != null) {
                                        String guestAgentVersionInstance;
                                        guestAgentVersionInstance = guestAgentVersionElement.getTextContent();
                                        guestAgentStatusInstance
                                                .setGuestAgentVersion(guestAgentVersionInstance);
                                    }

                                    Element statusElement2 = XmlUtility.getElementByTagNameNS(
                                            guestAgentStatusElement,
                                            "http://schemas.microsoft.com/windowsazure", "Status");
                                    if (statusElement2 != null) {
                                        String statusInstance2;
                                        statusInstance2 = statusElement2.getTextContent();
                                        guestAgentStatusInstance.setStatus(statusInstance2);
                                    }

                                    Element codeElement = XmlUtility.getElementByTagNameNS(
                                            guestAgentStatusElement,
                                            "http://schemas.microsoft.com/windowsazure", "Code");
                                    if (codeElement != null && codeElement.getTextContent() != null
                                            && !codeElement.getTextContent().isEmpty()) {
                                        int codeInstance;
                                        codeInstance = DatatypeConverter.parseInt(codeElement.getTextContent());
                                        guestAgentStatusInstance.setCode(codeInstance);
                                    }

                                    Element messageElement = XmlUtility.getElementByTagNameNS(
                                            guestAgentStatusElement,
                                            "http://schemas.microsoft.com/windowsazure", "Message");
                                    if (messageElement != null) {
                                        GuestAgentMessage messageInstance = new GuestAgentMessage();
                                        guestAgentStatusInstance.setMessage(messageInstance);

                                        Element messageResourceIdElement = XmlUtility.getElementByTagNameNS(
                                                messageElement, "http://schemas.microsoft.com/windowsazure",
                                                "MessageResourceId");
                                        if (messageResourceIdElement != null) {
                                            String messageResourceIdInstance;
                                            messageResourceIdInstance = messageResourceIdElement
                                                    .getTextContent();
                                            messageInstance.setMessageResourceId(messageResourceIdInstance);
                                        }

                                        Element paramListSequenceElement = XmlUtility.getElementByTagNameNS(
                                                messageElement, "http://schemas.microsoft.com/windowsazure",
                                                "ParamList");
                                        if (paramListSequenceElement != null) {
                                            for (int i4 = 0; i4 < com.microsoft.windowsazure.core.utils.XmlUtility
                                                    .getElementsByTagNameNS(paramListSequenceElement,
                                                            "http://schemas.microsoft.com/windowsazure",
                                                            "Param")
                                                    .size(); i4 = i4 + 1) {
                                                org.w3c.dom.Element paramListElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                                        .getElementsByTagNameNS(paramListSequenceElement,
                                                                "http://schemas.microsoft.com/windowsazure",
                                                                "Param")
                                                        .get(i4));
                                                messageInstance.getParamList()
                                                        .add(paramListElement.getTextContent());
                                            }
                                        }
                                    }

                                    Element formattedMessageElement = XmlUtility.getElementByTagNameNS(
                                            guestAgentStatusElement,
                                            "http://schemas.microsoft.com/windowsazure", "FormattedMessage");
                                    if (formattedMessageElement != null) {
                                        GuestAgentFormattedMessage formattedMessageInstance = new GuestAgentFormattedMessage();
                                        guestAgentStatusInstance.setFormattedMessage(formattedMessageInstance);

                                        Element languageElement = XmlUtility.getElementByTagNameNS(
                                                formattedMessageElement,
                                                "http://schemas.microsoft.com/windowsazure", "Language");
                                        if (languageElement != null) {
                                            String languageInstance;
                                            languageInstance = languageElement.getTextContent();
                                            formattedMessageInstance.setLanguage(languageInstance);
                                        }

                                        Element messageElement2 = XmlUtility.getElementByTagNameNS(
                                                formattedMessageElement,
                                                "http://schemas.microsoft.com/windowsazure", "Message");
                                        if (messageElement2 != null) {
                                            String messageInstance2;
                                            messageInstance2 = messageElement2.getTextContent();
                                            formattedMessageInstance.setMessage(messageInstance2);
                                        }
                                    }
                                }

                                Element resourceExtensionStatusListSequenceElement = XmlUtility
                                        .getElementByTagNameNS(roleInstanceListElement,
                                                "http://schemas.microsoft.com/windowsazure",
                                                "ResourceExtensionStatusList");
                                if (resourceExtensionStatusListSequenceElement != null) {
                                    for (int i5 = 0; i5 < com.microsoft.windowsazure.core.utils.XmlUtility
                                            .getElementsByTagNameNS(resourceExtensionStatusListSequenceElement,
                                                    "http://schemas.microsoft.com/windowsazure",
                                                    "ResourceExtensionStatus")
                                            .size(); i5 = i5 + 1) {
                                        org.w3c.dom.Element resourceExtensionStatusListElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                                .getElementsByTagNameNS(
                                                        resourceExtensionStatusListSequenceElement,
                                                        "http://schemas.microsoft.com/windowsazure",
                                                        "ResourceExtensionStatus")
                                                .get(i5));
                                        ResourceExtensionStatus resourceExtensionStatusInstance = new ResourceExtensionStatus();
                                        roleInstanceInstance.getResourceExtensionStatusList()
                                                .add(resourceExtensionStatusInstance);

                                        Element handlerNameElement = XmlUtility.getElementByTagNameNS(
                                                resourceExtensionStatusListElement,
                                                "http://schemas.microsoft.com/windowsazure", "HandlerName");
                                        if (handlerNameElement != null) {
                                            String handlerNameInstance;
                                            handlerNameInstance = handlerNameElement.getTextContent();
                                            resourceExtensionStatusInstance.setHandlerName(handlerNameInstance);
                                        }

                                        Element versionElement = XmlUtility.getElementByTagNameNS(
                                                resourceExtensionStatusListElement,
                                                "http://schemas.microsoft.com/windowsazure", "Version");
                                        if (versionElement != null) {
                                            String versionInstance;
                                            versionInstance = versionElement.getTextContent();
                                            resourceExtensionStatusInstance.setVersion(versionInstance);
                                        }

                                        Element statusElement3 = XmlUtility.getElementByTagNameNS(
                                                resourceExtensionStatusListElement,
                                                "http://schemas.microsoft.com/windowsazure", "Status");
                                        if (statusElement3 != null) {
                                            String statusInstance3;
                                            statusInstance3 = statusElement3.getTextContent();
                                            resourceExtensionStatusInstance.setStatus(statusInstance3);
                                        }

                                        Element codeElement2 = XmlUtility.getElementByTagNameNS(
                                                resourceExtensionStatusListElement,
                                                "http://schemas.microsoft.com/windowsazure", "Code");
                                        if (codeElement2 != null && codeElement2.getTextContent() != null
                                                && !codeElement2.getTextContent().isEmpty()) {
                                            int codeInstance2;
                                            codeInstance2 = DatatypeConverter
                                                    .parseInt(codeElement2.getTextContent());
                                            resourceExtensionStatusInstance.setCode(codeInstance2);
                                        }

                                        Element messageElement3 = XmlUtility.getElementByTagNameNS(
                                                resourceExtensionStatusListElement,
                                                "http://schemas.microsoft.com/windowsazure", "Message");
                                        if (messageElement3 != null) {
                                            GuestAgentMessage messageInstance3 = new GuestAgentMessage();
                                            resourceExtensionStatusInstance.setMessage(messageInstance3);

                                            Element messageResourceIdElement2 = XmlUtility
                                                    .getElementByTagNameNS(messageElement3,
                                                            "http://schemas.microsoft.com/windowsazure",
                                                            "MessageResourceId");
                                            if (messageResourceIdElement2 != null) {
                                                String messageResourceIdInstance2;
                                                messageResourceIdInstance2 = messageResourceIdElement2
                                                        .getTextContent();
                                                messageInstance3
                                                        .setMessageResourceId(messageResourceIdInstance2);
                                            }

                                            Element paramListSequenceElement2 = XmlUtility
                                                    .getElementByTagNameNS(messageElement3,
                                                            "http://schemas.microsoft.com/windowsazure",
                                                            "ParamList");
                                            if (paramListSequenceElement2 != null) {
                                                for (int i6 = 0; i6 < com.microsoft.windowsazure.core.utils.XmlUtility
                                                        .getElementsByTagNameNS(paramListSequenceElement2,
                                                                "http://schemas.microsoft.com/windowsazure",
                                                                "Param")
                                                        .size(); i6 = i6 + 1) {
                                                    org.w3c.dom.Element paramListElement2 = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                                            .getElementsByTagNameNS(paramListSequenceElement2,
                                                                    "http://schemas.microsoft.com/windowsazure",
                                                                    "Param")
                                                            .get(i6));
                                                    messageInstance3.getParamList()
                                                            .add(paramListElement2.getTextContent());
                                                }
                                            }
                                        }

                                        Element formattedMessageElement2 = XmlUtility.getElementByTagNameNS(
                                                resourceExtensionStatusListElement,
                                                "http://schemas.microsoft.com/windowsazure",
                                                "FormattedMessage");
                                        if (formattedMessageElement2 != null) {
                                            GuestAgentFormattedMessage formattedMessageInstance2 = new GuestAgentFormattedMessage();
                                            resourceExtensionStatusInstance
                                                    .setFormattedMessage(formattedMessageInstance2);

                                            Element languageElement2 = XmlUtility.getElementByTagNameNS(
                                                    formattedMessageElement2,
                                                    "http://schemas.microsoft.com/windowsazure", "Language");
                                            if (languageElement2 != null) {
                                                String languageInstance2;
                                                languageInstance2 = languageElement2.getTextContent();
                                                formattedMessageInstance2.setLanguage(languageInstance2);
                                            }

                                            Element messageElement4 = XmlUtility.getElementByTagNameNS(
                                                    formattedMessageElement2,
                                                    "http://schemas.microsoft.com/windowsazure", "Message");
                                            if (messageElement4 != null) {
                                                String messageInstance4;
                                                messageInstance4 = messageElement4.getTextContent();
                                                formattedMessageInstance2.setMessage(messageInstance4);
                                            }
                                        }

                                        Element extensionSettingStatusElement = XmlUtility
                                                .getElementByTagNameNS(resourceExtensionStatusListElement,
                                                        "http://schemas.microsoft.com/windowsazure",
                                                        "ExtensionSettingStatus");
                                        if (extensionSettingStatusElement != null) {
                                            ResourceExtensionConfigurationStatus extensionSettingStatusInstance = new ResourceExtensionConfigurationStatus();
                                            resourceExtensionStatusInstance
                                                    .setExtensionSettingStatus(extensionSettingStatusInstance);

                                            Element timestampElement2 = XmlUtility.getElementByTagNameNS(
                                                    extensionSettingStatusElement,
                                                    "http://schemas.microsoft.com/windowsazure", "Timestamp");
                                            if (timestampElement2 != null
                                                    && timestampElement2.getTextContent() != null
                                                    && !timestampElement2.getTextContent().isEmpty()) {
                                                Calendar timestampInstance2;
                                                timestampInstance2 = DatatypeConverter
                                                        .parseDateTime(timestampElement2.getTextContent());
                                                extensionSettingStatusInstance.setTimestamp(timestampInstance2);
                                            }

                                            Element configurationAppliedTimeElement = XmlUtility
                                                    .getElementByTagNameNS(extensionSettingStatusElement,
                                                            "http://schemas.microsoft.com/windowsazure",
                                                            "ConfigurationAppliedTime");
                                            if (configurationAppliedTimeElement != null
                                                    && configurationAppliedTimeElement.getTextContent() != null
                                                    && !configurationAppliedTimeElement.getTextContent()
                                                            .isEmpty()) {
                                                Calendar configurationAppliedTimeInstance;
                                                configurationAppliedTimeInstance = DatatypeConverter
                                                        .parseDateTime(configurationAppliedTimeElement
                                                                .getTextContent());
                                                extensionSettingStatusInstance.setConfigurationAppliedTime(
                                                        configurationAppliedTimeInstance);
                                            }

                                            Element nameElement3 = XmlUtility.getElementByTagNameNS(
                                                    extensionSettingStatusElement,
                                                    "http://schemas.microsoft.com/windowsazure", "Name");
                                            if (nameElement3 != null) {
                                                String nameInstance3;
                                                nameInstance3 = nameElement3.getTextContent();
                                                extensionSettingStatusInstance.setName(nameInstance3);
                                            }

                                            Element operationElement = XmlUtility.getElementByTagNameNS(
                                                    extensionSettingStatusElement,
                                                    "http://schemas.microsoft.com/windowsazure", "Operation");
                                            if (operationElement != null) {
                                                String operationInstance;
                                                operationInstance = operationElement.getTextContent();
                                                extensionSettingStatusInstance.setOperation(operationInstance);
                                            }

                                            Element statusElement4 = XmlUtility.getElementByTagNameNS(
                                                    extensionSettingStatusElement,
                                                    "http://schemas.microsoft.com/windowsazure", "Status");
                                            if (statusElement4 != null) {
                                                String statusInstance4;
                                                statusInstance4 = statusElement4.getTextContent();
                                                extensionSettingStatusInstance.setStatus(statusInstance4);
                                            }

                                            Element codeElement3 = XmlUtility.getElementByTagNameNS(
                                                    extensionSettingStatusElement,
                                                    "http://schemas.microsoft.com/windowsazure", "Code");
                                            if (codeElement3 != null && codeElement3.getTextContent() != null
                                                    && !codeElement3.getTextContent().isEmpty()) {
                                                int codeInstance3;
                                                codeInstance3 = DatatypeConverter
                                                        .parseInt(codeElement3.getTextContent());
                                                extensionSettingStatusInstance.setCode(codeInstance3);
                                            }

                                            Element messageElement5 = XmlUtility.getElementByTagNameNS(
                                                    extensionSettingStatusElement,
                                                    "http://schemas.microsoft.com/windowsazure", "Message");
                                            if (messageElement5 != null) {
                                                GuestAgentMessage messageInstance5 = new GuestAgentMessage();
                                                extensionSettingStatusInstance.setMessage(messageInstance5);

                                                Element messageResourceIdElement3 = XmlUtility
                                                        .getElementByTagNameNS(messageElement5,
                                                                "http://schemas.microsoft.com/windowsazure",
                                                                "MessageResourceId");
                                                if (messageResourceIdElement3 != null) {
                                                    String messageResourceIdInstance3;
                                                    messageResourceIdInstance3 = messageResourceIdElement3
                                                            .getTextContent();
                                                    messageInstance5
                                                            .setMessageResourceId(messageResourceIdInstance3);
                                                }

                                                Element paramListSequenceElement3 = XmlUtility
                                                        .getElementByTagNameNS(messageElement5,
                                                                "http://schemas.microsoft.com/windowsazure",
                                                                "ParamList");
                                                if (paramListSequenceElement3 != null) {
                                                    for (int i7 = 0; i7 < com.microsoft.windowsazure.core.utils.XmlUtility
                                                            .getElementsByTagNameNS(paramListSequenceElement3,
                                                                    "http://schemas.microsoft.com/windowsazure",
                                                                    "Param")
                                                            .size(); i7 = i7 + 1) {
                                                        org.w3c.dom.Element paramListElement3 = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                                                .getElementsByTagNameNS(
                                                                        paramListSequenceElement3,
                                                                        "http://schemas.microsoft.com/windowsazure",
                                                                        "Param")
                                                                .get(i7));
                                                        messageInstance5.getParamList()
                                                                .add(paramListElement3.getTextContent());
                                                    }
                                                }
                                            }

                                            Element formattedMessageElement3 = XmlUtility.getElementByTagNameNS(
                                                    extensionSettingStatusElement,
                                                    "http://schemas.microsoft.com/windowsazure",
                                                    "FormattedMessage");
                                            if (formattedMessageElement3 != null) {
                                                GuestAgentFormattedMessage formattedMessageInstance3 = new GuestAgentFormattedMessage();
                                                extensionSettingStatusInstance
                                                        .setFormattedMessage(formattedMessageInstance3);

                                                Element languageElement3 = XmlUtility.getElementByTagNameNS(
                                                        formattedMessageElement3,
                                                        "http://schemas.microsoft.com/windowsazure",
                                                        "Language");
                                                if (languageElement3 != null) {
                                                    String languageInstance3;
                                                    languageInstance3 = languageElement3.getTextContent();
                                                    formattedMessageInstance3.setLanguage(languageInstance3);
                                                }

                                                Element messageElement6 = XmlUtility.getElementByTagNameNS(
                                                        formattedMessageElement3,
                                                        "http://schemas.microsoft.com/windowsazure", "Message");
                                                if (messageElement6 != null) {
                                                    String messageInstance6;
                                                    messageInstance6 = messageElement6.getTextContent();
                                                    formattedMessageInstance3.setMessage(messageInstance6);
                                                }
                                            }

                                            Element subStatusListSequenceElement = XmlUtility
                                                    .getElementByTagNameNS(extensionSettingStatusElement,
                                                            "http://schemas.microsoft.com/windowsazure",
                                                            "SubStatusList");
                                            if (subStatusListSequenceElement != null) {
                                                for (int i8 = 0; i8 < com.microsoft.windowsazure.core.utils.XmlUtility
                                                        .getElementsByTagNameNS(subStatusListSequenceElement,
                                                                "http://schemas.microsoft.com/windowsazure",
                                                                "SubStatus")
                                                        .size(); i8 = i8 + 1) {
                                                    org.w3c.dom.Element subStatusListElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                                            .getElementsByTagNameNS(
                                                                    subStatusListSequenceElement,
                                                                    "http://schemas.microsoft.com/windowsazure",
                                                                    "SubStatus")
                                                            .get(i8));
                                                    ResourceExtensionSubStatus subStatusInstance = new ResourceExtensionSubStatus();
                                                    extensionSettingStatusInstance.getSubStatusList()
                                                            .add(subStatusInstance);

                                                    Element nameElement4 = XmlUtility.getElementByTagNameNS(
                                                            subStatusListElement,
                                                            "http://schemas.microsoft.com/windowsazure",
                                                            "Name");
                                                    if (nameElement4 != null) {
                                                        String nameInstance4;
                                                        nameInstance4 = nameElement4.getTextContent();
                                                        subStatusInstance.setName(nameInstance4);
                                                    }

                                                    Element statusElement5 = XmlUtility.getElementByTagNameNS(
                                                            subStatusListElement,
                                                            "http://schemas.microsoft.com/windowsazure",
                                                            "Status");
                                                    if (statusElement5 != null) {
                                                        String statusInstance5;
                                                        statusInstance5 = statusElement5.getTextContent();
                                                        subStatusInstance.setStatus(statusInstance5);
                                                    }

                                                    Element codeElement4 = XmlUtility.getElementByTagNameNS(
                                                            subStatusListElement,
                                                            "http://schemas.microsoft.com/windowsazure",
                                                            "Code");
                                                    if (codeElement4 != null
                                                            && codeElement4.getTextContent() != null
                                                            && !codeElement4.getTextContent().isEmpty()) {
                                                        int codeInstance4;
                                                        codeInstance4 = DatatypeConverter
                                                                .parseInt(codeElement4.getTextContent());
                                                        subStatusInstance.setCode(codeInstance4);
                                                    }

                                                    Element messageElement7 = XmlUtility.getElementByTagNameNS(
                                                            subStatusListElement,
                                                            "http://schemas.microsoft.com/windowsazure",
                                                            "Message");
                                                    if (messageElement7 != null) {
                                                        GuestAgentMessage messageInstance7 = new GuestAgentMessage();
                                                        subStatusInstance.setMessage(messageInstance7);

                                                        Element messageResourceIdElement4 = XmlUtility
                                                                .getElementByTagNameNS(messageElement7,
                                                                        "http://schemas.microsoft.com/windowsazure",
                                                                        "MessageResourceId");
                                                        if (messageResourceIdElement4 != null) {
                                                            String messageResourceIdInstance4;
                                                            messageResourceIdInstance4 = messageResourceIdElement4
                                                                    .getTextContent();
                                                            messageInstance7.setMessageResourceId(
                                                                    messageResourceIdInstance4);
                                                        }

                                                        Element paramListSequenceElement4 = XmlUtility
                                                                .getElementByTagNameNS(messageElement7,
                                                                        "http://schemas.microsoft.com/windowsazure",
                                                                        "ParamList");
                                                        if (paramListSequenceElement4 != null) {
                                                            for (int i9 = 0; i9 < com.microsoft.windowsazure.core.utils.XmlUtility
                                                                    .getElementsByTagNameNS(
                                                                            paramListSequenceElement4,
                                                                            "http://schemas.microsoft.com/windowsazure",
                                                                            "Param")
                                                                    .size(); i9 = i9 + 1) {
                                                                org.w3c.dom.Element paramListElement4 = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                                                        .getElementsByTagNameNS(
                                                                                paramListSequenceElement4,
                                                                                "http://schemas.microsoft.com/windowsazure",
                                                                                "Param")
                                                                        .get(i9));
                                                                messageInstance7.getParamList().add(
                                                                        paramListElement4.getTextContent());
                                                            }
                                                        }
                                                    }

                                                    Element formattedMessageElement4 = XmlUtility
                                                            .getElementByTagNameNS(subStatusListElement,
                                                                    "http://schemas.microsoft.com/windowsazure",
                                                                    "FormattedMessage");
                                                    if (formattedMessageElement4 != null) {
                                                        GuestAgentFormattedMessage formattedMessageInstance4 = new GuestAgentFormattedMessage();
                                                        subStatusInstance
                                                                .setFormattedMessage(formattedMessageInstance4);

                                                        Element languageElement4 = XmlUtility
                                                                .getElementByTagNameNS(formattedMessageElement4,
                                                                        "http://schemas.microsoft.com/windowsazure",
                                                                        "Language");
                                                        if (languageElement4 != null) {
                                                            String languageInstance4;
                                                            languageInstance4 = languageElement4
                                                                    .getTextContent();
                                                            formattedMessageInstance4
                                                                    .setLanguage(languageInstance4);
                                                        }

                                                        Element messageElement8 = XmlUtility
                                                                .getElementByTagNameNS(formattedMessageElement4,
                                                                        "http://schemas.microsoft.com/windowsazure",
                                                                        "Message");
                                                        if (messageElement8 != null) {
                                                            String messageInstance8;
                                                            messageInstance8 = messageElement8.getTextContent();
                                                            formattedMessageInstance4
                                                                    .setMessage(messageInstance8);
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }

                                Element powerStateElement = XmlUtility.getElementByTagNameNS(
                                        roleInstanceListElement, "http://schemas.microsoft.com/windowsazure",
                                        "PowerState");
                                if (powerStateElement != null && powerStateElement.getTextContent() != null
                                        && !powerStateElement.getTextContent().isEmpty()) {
                                    RoleInstancePowerState powerStateInstance;
                                    powerStateInstance = RoleInstancePowerState
                                            .valueOf(powerStateElement.getTextContent());
                                    roleInstanceInstance.setPowerState(powerStateInstance);
                                }

                                Element hostNameElement = XmlUtility.getElementByTagNameNS(
                                        roleInstanceListElement, "http://schemas.microsoft.com/windowsazure",
                                        "HostName");
                                if (hostNameElement != null) {
                                    String hostNameInstance;
                                    hostNameInstance = hostNameElement.getTextContent();
                                    roleInstanceInstance.setHostName(hostNameInstance);
                                }

                                Element remoteAccessCertificateThumbprintElement = XmlUtility
                                        .getElementByTagNameNS(roleInstanceListElement,
                                                "http://schemas.microsoft.com/windowsazure",
                                                "RemoteAccessCertificateThumbprint");
                                if (remoteAccessCertificateThumbprintElement != null) {
                                    String remoteAccessCertificateThumbprintInstance;
                                    remoteAccessCertificateThumbprintInstance = remoteAccessCertificateThumbprintElement
                                            .getTextContent();
                                    roleInstanceInstance.setRemoteAccessCertificateThumbprint(
                                            remoteAccessCertificateThumbprintInstance);
                                }

                                Element publicIPsSequenceElement = XmlUtility.getElementByTagNameNS(
                                        roleInstanceListElement, "http://schemas.microsoft.com/windowsazure",
                                        "PublicIPs");
                                if (publicIPsSequenceElement != null) {
                                    for (int i10 = 0; i10 < com.microsoft.windowsazure.core.utils.XmlUtility
                                            .getElementsByTagNameNS(publicIPsSequenceElement,
                                                    "http://schemas.microsoft.com/windowsazure", "PublicIP")
                                            .size(); i10 = i10 + 1) {
                                        org.w3c.dom.Element publicIPsElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                                .getElementsByTagNameNS(publicIPsSequenceElement,
                                                        "http://schemas.microsoft.com/windowsazure", "PublicIP")
                                                .get(i10));
                                        RoleInstance.PublicIP publicIPInstance = new RoleInstance.PublicIP();
                                        roleInstanceInstance.getPublicIPs().add(publicIPInstance);

                                        Element nameElement5 = XmlUtility.getElementByTagNameNS(
                                                publicIPsElement, "http://schemas.microsoft.com/windowsazure",
                                                "Name");
                                        if (nameElement5 != null) {
                                            String nameInstance5;
                                            nameInstance5 = nameElement5.getTextContent();
                                            publicIPInstance.setName(nameInstance5);
                                        }

                                        Element addressElement = XmlUtility.getElementByTagNameNS(
                                                publicIPsElement, "http://schemas.microsoft.com/windowsazure",
                                                "Address");
                                        if (addressElement != null) {
                                            InetAddress addressInstance;
                                            addressInstance = InetAddress
                                                    .getByName(addressElement.getTextContent());
                                            publicIPInstance.setAddress(addressInstance);
                                        }

                                        Element idleTimeoutInMinutesElement2 = XmlUtility.getElementByTagNameNS(
                                                publicIPsElement, "http://schemas.microsoft.com/windowsazure",
                                                "IdleTimeoutInMinutes");
                                        if (idleTimeoutInMinutesElement2 != null
                                                && idleTimeoutInMinutesElement2.getTextContent() != null
                                                && !idleTimeoutInMinutesElement2.getTextContent().isEmpty()) {
                                            int idleTimeoutInMinutesInstance2;
                                            idleTimeoutInMinutesInstance2 = DatatypeConverter
                                                    .parseInt(idleTimeoutInMinutesElement2.getTextContent());
                                            publicIPInstance
                                                    .setIdleTimeoutInMinutes(idleTimeoutInMinutesInstance2);
                                        }

                                        Element domainNameLabelElement = XmlUtility.getElementByTagNameNS(
                                                publicIPsElement, "http://schemas.microsoft.com/windowsazure",
                                                "DomainNameLabel");
                                        if (domainNameLabelElement != null) {
                                            String domainNameLabelInstance;
                                            domainNameLabelInstance = domainNameLabelElement.getTextContent();
                                            publicIPInstance.setDomainNameLabel(domainNameLabelInstance);
                                        }

                                        Element fqdnsSequenceElement = XmlUtility.getElementByTagNameNS(
                                                publicIPsElement, "http://schemas.microsoft.com/windowsazure",
                                                "Fqdns");
                                        if (fqdnsSequenceElement != null) {
                                            for (int i11 = 0; i11 < com.microsoft.windowsazure.core.utils.XmlUtility
                                                    .getElementsByTagNameNS(fqdnsSequenceElement,
                                                            "http://schemas.microsoft.com/windowsazure", "Fqdn")
                                                    .size(); i11 = i11 + 1) {
                                                org.w3c.dom.Element fqdnsElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                                        .getElementsByTagNameNS(fqdnsSequenceElement,
                                                                "http://schemas.microsoft.com/windowsazure",
                                                                "Fqdn")
                                                        .get(i11));
                                                publicIPInstance.getFqdns().add(fqdnsElement.getTextContent());
                                            }
                                        }
                                    }
                                }

                                Element networkInterfacesSequenceElement = XmlUtility.getElementByTagNameNS(
                                        roleInstanceListElement, "http://schemas.microsoft.com/windowsazure",
                                        "NetworkInterfaces");
                                if (networkInterfacesSequenceElement != null) {
                                    for (int i12 = 0; i12 < com.microsoft.windowsazure.core.utils.XmlUtility
                                            .getElementsByTagNameNS(networkInterfacesSequenceElement,
                                                    "http://schemas.microsoft.com/windowsazure",
                                                    "NetworkInterface")
                                            .size(); i12 = i12 + 1) {
                                        org.w3c.dom.Element networkInterfacesElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                                .getElementsByTagNameNS(networkInterfacesSequenceElement,
                                                        "http://schemas.microsoft.com/windowsazure",
                                                        "NetworkInterface")
                                                .get(i12));
                                        NetworkInterfaceInstance networkInterfaceInstance = new NetworkInterfaceInstance();
                                        roleInstanceInstance.getNetworkInterfaces()
                                                .add(networkInterfaceInstance);

                                        Element nameElement6 = XmlUtility.getElementByTagNameNS(
                                                networkInterfacesElement,
                                                "http://schemas.microsoft.com/windowsazure", "Name");
                                        if (nameElement6 != null) {
                                            String nameInstance6;
                                            nameInstance6 = nameElement6.getTextContent();
                                            networkInterfaceInstance.setName(nameInstance6);
                                        }

                                        Element macAddressElement = XmlUtility.getElementByTagNameNS(
                                                networkInterfacesElement,
                                                "http://schemas.microsoft.com/windowsazure", "MacAddress");
                                        if (macAddressElement != null) {
                                            String macAddressInstance;
                                            macAddressInstance = macAddressElement.getTextContent();
                                            networkInterfaceInstance.setMacAddress(macAddressInstance);
                                        }

                                        Element iPConfigurationsSequenceElement = XmlUtility
                                                .getElementByTagNameNS(networkInterfacesElement,
                                                        "http://schemas.microsoft.com/windowsazure",
                                                        "IPConfigurations");
                                        if (iPConfigurationsSequenceElement != null) {
                                            for (int i13 = 0; i13 < com.microsoft.windowsazure.core.utils.XmlUtility
                                                    .getElementsByTagNameNS(iPConfigurationsSequenceElement,
                                                            "http://schemas.microsoft.com/windowsazure",
                                                            "IPConfiguration")
                                                    .size(); i13 = i13 + 1) {
                                                org.w3c.dom.Element iPConfigurationsElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                                        .getElementsByTagNameNS(iPConfigurationsSequenceElement,
                                                                "http://schemas.microsoft.com/windowsazure",
                                                                "IPConfiguration")
                                                        .get(i13));
                                                IPConfigurationInstance iPConfigurationInstance = new IPConfigurationInstance();
                                                networkInterfaceInstance.getIPConfigurations()
                                                        .add(iPConfigurationInstance);

                                                Element subnetNameElement = XmlUtility.getElementByTagNameNS(
                                                        iPConfigurationsElement,
                                                        "http://schemas.microsoft.com/windowsazure",
                                                        "SubnetName");
                                                if (subnetNameElement != null) {
                                                    String subnetNameInstance;
                                                    subnetNameInstance = subnetNameElement.getTextContent();
                                                    iPConfigurationInstance.setSubnetName(subnetNameInstance);
                                                }

                                                Element addressElement2 = XmlUtility.getElementByTagNameNS(
                                                        iPConfigurationsElement,
                                                        "http://schemas.microsoft.com/windowsazure", "Address");
                                                if (addressElement2 != null) {
                                                    String addressInstance2;
                                                    addressInstance2 = addressElement2.getTextContent();
                                                    iPConfigurationInstance.setAddress(addressInstance2);
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }

                        Element upgradeStatusElement = XmlUtility.getElementByTagNameNS(deploymentsElement,
                                "http://schemas.microsoft.com/windowsazure", "UpgradeStatus");
                        if (upgradeStatusElement != null) {
                            UpgradeStatus upgradeStatusInstance = new UpgradeStatus();
                            deploymentInstance.setUpgradeStatus(upgradeStatusInstance);

                            Element upgradeTypeElement = XmlUtility.getElementByTagNameNS(upgradeStatusElement,
                                    "http://schemas.microsoft.com/windowsazure", "UpgradeType");
                            if (upgradeTypeElement != null && upgradeTypeElement.getTextContent() != null
                                    && !upgradeTypeElement.getTextContent().isEmpty()) {
                                DeploymentUpgradeType upgradeTypeInstance;
                                upgradeTypeInstance = DeploymentUpgradeType
                                        .valueOf(upgradeTypeElement.getTextContent());
                                upgradeStatusInstance.setUpgradeType(upgradeTypeInstance);
                            }

                            Element currentUpgradeDomainStateElement = XmlUtility.getElementByTagNameNS(
                                    upgradeStatusElement, "http://schemas.microsoft.com/windowsazure",
                                    "CurrentUpgradeDomainState");
                            if (currentUpgradeDomainStateElement != null
                                    && currentUpgradeDomainStateElement.getTextContent() != null
                                    && !currentUpgradeDomainStateElement.getTextContent().isEmpty()) {
                                UpgradeDomainState currentUpgradeDomainStateInstance;
                                currentUpgradeDomainStateInstance = UpgradeDomainState
                                        .valueOf(currentUpgradeDomainStateElement.getTextContent());
                                upgradeStatusInstance
                                        .setCurrentUpgradeDomainState(currentUpgradeDomainStateInstance);
                            }

                            Element currentUpgradeDomainElement = XmlUtility.getElementByTagNameNS(
                                    upgradeStatusElement, "http://schemas.microsoft.com/windowsazure",
                                    "CurrentUpgradeDomain");
                            if (currentUpgradeDomainElement != null) {
                                int currentUpgradeDomainInstance;
                                currentUpgradeDomainInstance = DatatypeConverter
                                        .parseInt(currentUpgradeDomainElement.getTextContent());
                                upgradeStatusInstance.setCurrentUpgradeDomain(currentUpgradeDomainInstance);
                            }
                        }

                        Element upgradeDomainCountElement = XmlUtility.getElementByTagNameNS(deploymentsElement,
                                "http://schemas.microsoft.com/windowsazure", "UpgradeDomainCount");
                        if (upgradeDomainCountElement != null) {
                            int upgradeDomainCountInstance;
                            upgradeDomainCountInstance = DatatypeConverter
                                    .parseInt(upgradeDomainCountElement.getTextContent());
                            deploymentInstance.setUpgradeDomainCount(upgradeDomainCountInstance);
                        }

                        Element roleListSequenceElement = XmlUtility.getElementByTagNameNS(deploymentsElement,
                                "http://schemas.microsoft.com/windowsazure", "RoleList");
                        if (roleListSequenceElement != null) {
                            for (int i14 = 0; i14 < com.microsoft.windowsazure.core.utils.XmlUtility
                                    .getElementsByTagNameNS(roleListSequenceElement,
                                            "http://schemas.microsoft.com/windowsazure", "Role")
                                    .size(); i14 = i14 + 1) {
                                org.w3c.dom.Element roleListElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                        .getElementsByTagNameNS(roleListSequenceElement,
                                                "http://schemas.microsoft.com/windowsazure", "Role")
                                        .get(i14));
                                Role roleInstance = new Role();
                                deploymentInstance.getRoles().add(roleInstance);

                                Element roleNameElement2 = XmlUtility.getElementByTagNameNS(roleListElement,
                                        "http://schemas.microsoft.com/windowsazure", "RoleName");
                                if (roleNameElement2 != null) {
                                    String roleNameInstance2;
                                    roleNameInstance2 = roleNameElement2.getTextContent();
                                    roleInstance.setRoleName(roleNameInstance2);
                                }

                                Element osVersionElement = XmlUtility.getElementByTagNameNS(roleListElement,
                                        "http://schemas.microsoft.com/windowsazure", "OsVersion");
                                if (osVersionElement != null) {
                                    String osVersionInstance;
                                    osVersionInstance = osVersionElement.getTextContent();
                                    roleInstance.setOSVersion(osVersionInstance);
                                }

                                Element roleTypeElement = XmlUtility.getElementByTagNameNS(roleListElement,
                                        "http://schemas.microsoft.com/windowsazure", "RoleType");
                                if (roleTypeElement != null) {
                                    String roleTypeInstance;
                                    roleTypeInstance = roleTypeElement.getTextContent();
                                    roleInstance.setRoleType(roleTypeInstance);
                                }

                                Element configurationSetsSequenceElement = XmlUtility.getElementByTagNameNS(
                                        roleListElement, "http://schemas.microsoft.com/windowsazure",
                                        "ConfigurationSets");
                                if (configurationSetsSequenceElement != null) {
                                    for (int i15 = 0; i15 < com.microsoft.windowsazure.core.utils.XmlUtility
                                            .getElementsByTagNameNS(configurationSetsSequenceElement,
                                                    "http://schemas.microsoft.com/windowsazure",
                                                    "ConfigurationSet")
                                            .size(); i15 = i15 + 1) {
                                        org.w3c.dom.Element configurationSetsElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                                .getElementsByTagNameNS(configurationSetsSequenceElement,
                                                        "http://schemas.microsoft.com/windowsazure",
                                                        "ConfigurationSet")
                                                .get(i15));
                                        ConfigurationSet configurationSetInstance = new ConfigurationSet();
                                        roleInstance.getConfigurationSets().add(configurationSetInstance);

                                        Element configurationSetTypeElement = XmlUtility.getElementByTagNameNS(
                                                configurationSetsElement,
                                                "http://schemas.microsoft.com/windowsazure",
                                                "ConfigurationSetType");
                                        if (configurationSetTypeElement != null) {
                                            String configurationSetTypeInstance;
                                            configurationSetTypeInstance = configurationSetTypeElement
                                                    .getTextContent();
                                            configurationSetInstance
                                                    .setConfigurationSetType(configurationSetTypeInstance);
                                        }

                                        Element inputEndpointsSequenceElement = XmlUtility
                                                .getElementByTagNameNS(configurationSetsElement,
                                                        "http://schemas.microsoft.com/windowsazure",
                                                        "InputEndpoints");
                                        if (inputEndpointsSequenceElement != null) {
                                            for (int i16 = 0; i16 < com.microsoft.windowsazure.core.utils.XmlUtility
                                                    .getElementsByTagNameNS(inputEndpointsSequenceElement,
                                                            "http://schemas.microsoft.com/windowsazure",
                                                            "InputEndpoint")
                                                    .size(); i16 = i16 + 1) {
                                                org.w3c.dom.Element inputEndpointsElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                                        .getElementsByTagNameNS(inputEndpointsSequenceElement,
                                                                "http://schemas.microsoft.com/windowsazure",
                                                                "InputEndpoint")
                                                        .get(i16));
                                                InputEndpoint inputEndpointInstance = new InputEndpoint();
                                                configurationSetInstance.getInputEndpoints()
                                                        .add(inputEndpointInstance);

                                                Element loadBalancedEndpointSetNameElement = XmlUtility
                                                        .getElementByTagNameNS(inputEndpointsElement,
                                                                "http://schemas.microsoft.com/windowsazure",
                                                                "LoadBalancedEndpointSetName");
                                                if (loadBalancedEndpointSetNameElement != null) {
                                                    String loadBalancedEndpointSetNameInstance;
                                                    loadBalancedEndpointSetNameInstance = loadBalancedEndpointSetNameElement
                                                            .getTextContent();
                                                    inputEndpointInstance.setLoadBalancedEndpointSetName(
                                                            loadBalancedEndpointSetNameInstance);
                                                }

                                                Element localPortElement2 = XmlUtility.getElementByTagNameNS(
                                                        inputEndpointsElement,
                                                        "http://schemas.microsoft.com/windowsazure",
                                                        "LocalPort");
                                                if (localPortElement2 != null
                                                        && localPortElement2.getTextContent() != null
                                                        && !localPortElement2.getTextContent().isEmpty()) {
                                                    int localPortInstance2;
                                                    localPortInstance2 = DatatypeConverter
                                                            .parseInt(localPortElement2.getTextContent());
                                                    inputEndpointInstance.setLocalPort(localPortInstance2);
                                                }

                                                Element nameElement7 = XmlUtility.getElementByTagNameNS(
                                                        inputEndpointsElement,
                                                        "http://schemas.microsoft.com/windowsazure", "Name");
                                                if (nameElement7 != null) {
                                                    String nameInstance7;
                                                    nameInstance7 = nameElement7.getTextContent();
                                                    inputEndpointInstance.setName(nameInstance7);
                                                }

                                                Element portElement = XmlUtility.getElementByTagNameNS(
                                                        inputEndpointsElement,
                                                        "http://schemas.microsoft.com/windowsazure", "Port");
                                                if (portElement != null && portElement.getTextContent() != null
                                                        && !portElement.getTextContent().isEmpty()) {
                                                    int portInstance;
                                                    portInstance = DatatypeConverter
                                                            .parseInt(portElement.getTextContent());
                                                    inputEndpointInstance.setPort(portInstance);
                                                }

                                                Element loadBalancerProbeElement = XmlUtility
                                                        .getElementByTagNameNS(inputEndpointsElement,
                                                                "http://schemas.microsoft.com/windowsazure",
                                                                "LoadBalancerProbe");
                                                if (loadBalancerProbeElement != null) {
                                                    LoadBalancerProbe loadBalancerProbeInstance = new LoadBalancerProbe();
                                                    inputEndpointInstance
                                                            .setLoadBalancerProbe(loadBalancerProbeInstance);

                                                    Element pathElement = XmlUtility.getElementByTagNameNS(
                                                            loadBalancerProbeElement,
                                                            "http://schemas.microsoft.com/windowsazure",
                                                            "Path");
                                                    if (pathElement != null) {
                                                        String pathInstance;
                                                        pathInstance = pathElement.getTextContent();
                                                        loadBalancerProbeInstance.setPath(pathInstance);
                                                    }

                                                    Element portElement2 = XmlUtility.getElementByTagNameNS(
                                                            loadBalancerProbeElement,
                                                            "http://schemas.microsoft.com/windowsazure",
                                                            "Port");
                                                    if (portElement2 != null) {
                                                        int portInstance2;
                                                        portInstance2 = DatatypeConverter
                                                                .parseInt(portElement2.getTextContent());
                                                        loadBalancerProbeInstance.setPort(portInstance2);
                                                    }

                                                    Element protocolElement2 = XmlUtility.getElementByTagNameNS(
                                                            loadBalancerProbeElement,
                                                            "http://schemas.microsoft.com/windowsazure",
                                                            "Protocol");
                                                    if (protocolElement2 != null
                                                            && protocolElement2.getTextContent() != null
                                                            && !protocolElement2.getTextContent().isEmpty()) {
                                                        LoadBalancerProbeTransportProtocol protocolInstance2;
                                                        protocolInstance2 = com.microsoft.windowsazure.management.compute.ComputeManagementClientImpl
                                                                .parseLoadBalancerProbeTransportProtocol(
                                                                        protocolElement2.getTextContent());
                                                        loadBalancerProbeInstance
                                                                .setProtocol(protocolInstance2);
                                                    }

                                                    Element intervalInSecondsElement = XmlUtility
                                                            .getElementByTagNameNS(loadBalancerProbeElement,
                                                                    "http://schemas.microsoft.com/windowsazure",
                                                                    "IntervalInSeconds");
                                                    if (intervalInSecondsElement != null
                                                            && intervalInSecondsElement.getTextContent() != null
                                                            && !intervalInSecondsElement.getTextContent()
                                                                    .isEmpty()) {
                                                        int intervalInSecondsInstance;
                                                        intervalInSecondsInstance = DatatypeConverter.parseInt(
                                                                intervalInSecondsElement.getTextContent());
                                                        loadBalancerProbeInstance.setIntervalInSeconds(
                                                                intervalInSecondsInstance);
                                                    }

                                                    Element timeoutInSecondsElement = XmlUtility
                                                            .getElementByTagNameNS(loadBalancerProbeElement,
                                                                    "http://schemas.microsoft.com/windowsazure",
                                                                    "TimeoutInSeconds");
                                                    if (timeoutInSecondsElement != null
                                                            && timeoutInSecondsElement.getTextContent() != null
                                                            && !timeoutInSecondsElement.getTextContent()
                                                                    .isEmpty()) {
                                                        int timeoutInSecondsInstance;
                                                        timeoutInSecondsInstance = DatatypeConverter.parseInt(
                                                                timeoutInSecondsElement.getTextContent());
                                                        loadBalancerProbeInstance
                                                                .setTimeoutInSeconds(timeoutInSecondsInstance);
                                                    }
                                                }

                                                Element protocolElement3 = XmlUtility.getElementByTagNameNS(
                                                        inputEndpointsElement,
                                                        "http://schemas.microsoft.com/windowsazure",
                                                        "Protocol");
                                                if (protocolElement3 != null) {
                                                    String protocolInstance3;
                                                    protocolInstance3 = protocolElement3.getTextContent();
                                                    inputEndpointInstance.setProtocol(protocolInstance3);
                                                }

                                                Element vipElement2 = XmlUtility.getElementByTagNameNS(
                                                        inputEndpointsElement,
                                                        "http://schemas.microsoft.com/windowsazure", "Vip");
                                                if (vipElement2 != null) {
                                                    InetAddress vipInstance2;
                                                    vipInstance2 = InetAddress
                                                            .getByName(vipElement2.getTextContent());
                                                    inputEndpointInstance.setVirtualIPAddress(vipInstance2);
                                                }

                                                Element enableDirectServerReturnElement = XmlUtility
                                                        .getElementByTagNameNS(inputEndpointsElement,
                                                                "http://schemas.microsoft.com/windowsazure",
                                                                "EnableDirectServerReturn");
                                                if (enableDirectServerReturnElement != null
                                                        && enableDirectServerReturnElement
                                                                .getTextContent() != null
                                                        && !enableDirectServerReturnElement.getTextContent()
                                                                .isEmpty()) {
                                                    boolean enableDirectServerReturnInstance;
                                                    enableDirectServerReturnInstance = DatatypeConverter
                                                            .parseBoolean(enableDirectServerReturnElement
                                                                    .getTextContent().toLowerCase());
                                                    inputEndpointInstance.setEnableDirectServerReturn(
                                                            enableDirectServerReturnInstance);
                                                }

                                                Element loadBalancerNameElement = XmlUtility
                                                        .getElementByTagNameNS(inputEndpointsElement,
                                                                "http://schemas.microsoft.com/windowsazure",
                                                                "LoadBalancerName");
                                                if (loadBalancerNameElement != null) {
                                                    String loadBalancerNameInstance;
                                                    loadBalancerNameInstance = loadBalancerNameElement
                                                            .getTextContent();
                                                    inputEndpointInstance
                                                            .setLoadBalancerName(loadBalancerNameInstance);
                                                }

                                                Element endpointAclElement = XmlUtility.getElementByTagNameNS(
                                                        inputEndpointsElement,
                                                        "http://schemas.microsoft.com/windowsazure",
                                                        "EndpointAcl");
                                                if (endpointAclElement != null) {
                                                    EndpointAcl endpointAclInstance = new EndpointAcl();
                                                    inputEndpointInstance.setEndpointAcl(endpointAclInstance);

                                                    Element rulesSequenceElement = XmlUtility
                                                            .getElementByTagNameNS(endpointAclElement,
                                                                    "http://schemas.microsoft.com/windowsazure",
                                                                    "Rules");
                                                    if (rulesSequenceElement != null) {
                                                        for (int i17 = 0; i17 < com.microsoft.windowsazure.core.utils.XmlUtility
                                                                .getElementsByTagNameNS(rulesSequenceElement,
                                                                        "http://schemas.microsoft.com/windowsazure",
                                                                        "Rule")
                                                                .size(); i17 = i17 + 1) {
                                                            org.w3c.dom.Element rulesElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                                                    .getElementsByTagNameNS(
                                                                            rulesSequenceElement,
                                                                            "http://schemas.microsoft.com/windowsazure",
                                                                            "Rule")
                                                                    .get(i17));
                                                            AccessControlListRule ruleInstance = new AccessControlListRule();
                                                            endpointAclInstance.getRules().add(ruleInstance);

                                                            Element orderElement = XmlUtility
                                                                    .getElementByTagNameNS(rulesElement,
                                                                            "http://schemas.microsoft.com/windowsazure",
                                                                            "Order");
                                                            if (orderElement != null
                                                                    && orderElement.getTextContent() != null
                                                                    && !orderElement.getTextContent()
                                                                            .isEmpty()) {
                                                                int orderInstance;
                                                                orderInstance = DatatypeConverter.parseInt(
                                                                        orderElement.getTextContent());
                                                                ruleInstance.setOrder(orderInstance);
                                                            }

                                                            Element actionElement = XmlUtility
                                                                    .getElementByTagNameNS(rulesElement,
                                                                            "http://schemas.microsoft.com/windowsazure",
                                                                            "Action");
                                                            if (actionElement != null) {
                                                                String actionInstance;
                                                                actionInstance = actionElement.getTextContent();
                                                                ruleInstance.setAction(actionInstance);
                                                            }

                                                            Element remoteSubnetElement = XmlUtility
                                                                    .getElementByTagNameNS(rulesElement,
                                                                            "http://schemas.microsoft.com/windowsazure",
                                                                            "RemoteSubnet");
                                                            if (remoteSubnetElement != null) {
                                                                String remoteSubnetInstance;
                                                                remoteSubnetInstance = remoteSubnetElement
                                                                        .getTextContent();
                                                                ruleInstance
                                                                        .setRemoteSubnet(remoteSubnetInstance);
                                                            }

                                                            Element descriptionElement = XmlUtility
                                                                    .getElementByTagNameNS(rulesElement,
                                                                            "http://schemas.microsoft.com/windowsazure",
                                                                            "Description");
                                                            if (descriptionElement != null) {
                                                                String descriptionInstance;
                                                                descriptionInstance = descriptionElement
                                                                        .getTextContent();
                                                                ruleInstance
                                                                        .setDescription(descriptionInstance);
                                                            }
                                                        }
                                                    }
                                                }

                                                Element idleTimeoutInMinutesElement3 = XmlUtility
                                                        .getElementByTagNameNS(inputEndpointsElement,
                                                                "http://schemas.microsoft.com/windowsazure",
                                                                "IdleTimeoutInMinutes");
                                                if (idleTimeoutInMinutesElement3 != null
                                                        && idleTimeoutInMinutesElement3.getTextContent() != null
                                                        && !idleTimeoutInMinutesElement3.getTextContent()
                                                                .isEmpty()) {
                                                    int idleTimeoutInMinutesInstance3;
                                                    idleTimeoutInMinutesInstance3 = DatatypeConverter.parseInt(
                                                            idleTimeoutInMinutesElement3.getTextContent());
                                                    inputEndpointInstance.setIdleTimeoutInMinutes(
                                                            idleTimeoutInMinutesInstance3);
                                                }

                                                Element loadBalancerDistributionElement = XmlUtility
                                                        .getElementByTagNameNS(inputEndpointsElement,
                                                                "http://schemas.microsoft.com/windowsazure",
                                                                "LoadBalancerDistribution");
                                                if (loadBalancerDistributionElement != null) {
                                                    String loadBalancerDistributionInstance;
                                                    loadBalancerDistributionInstance = loadBalancerDistributionElement
                                                            .getTextContent();
                                                    inputEndpointInstance.setLoadBalancerDistribution(
                                                            loadBalancerDistributionInstance);
                                                }

                                                Element virtualIPNameElement = XmlUtility.getElementByTagNameNS(
                                                        inputEndpointsElement,
                                                        "http://schemas.microsoft.com/windowsazure",
                                                        "VirtualIPName");
                                                if (virtualIPNameElement != null) {
                                                    String virtualIPNameInstance;
                                                    virtualIPNameInstance = virtualIPNameElement
                                                            .getTextContent();
                                                    inputEndpointInstance
                                                            .setVirtualIPName(virtualIPNameInstance);
                                                }
                                            }
                                        }

                                        Element subnetNamesSequenceElement = XmlUtility.getElementByTagNameNS(
                                                configurationSetsElement,
                                                "http://schemas.microsoft.com/windowsazure", "SubnetNames");
                                        if (subnetNamesSequenceElement != null) {
                                            for (int i18 = 0; i18 < com.microsoft.windowsazure.core.utils.XmlUtility
                                                    .getElementsByTagNameNS(subnetNamesSequenceElement,
                                                            "http://schemas.microsoft.com/windowsazure",
                                                            "SubnetName")
                                                    .size(); i18 = i18 + 1) {
                                                org.w3c.dom.Element subnetNamesElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                                        .getElementsByTagNameNS(subnetNamesSequenceElement,
                                                                "http://schemas.microsoft.com/windowsazure",
                                                                "SubnetName")
                                                        .get(i18));
                                                configurationSetInstance.getSubnetNames()
                                                        .add(subnetNamesElement.getTextContent());
                                            }
                                        }

                                        Element staticVirtualNetworkIPAddressElement = XmlUtility
                                                .getElementByTagNameNS(configurationSetsElement,
                                                        "http://schemas.microsoft.com/windowsazure",
                                                        "StaticVirtualNetworkIPAddress");
                                        if (staticVirtualNetworkIPAddressElement != null) {
                                            String staticVirtualNetworkIPAddressInstance;
                                            staticVirtualNetworkIPAddressInstance = staticVirtualNetworkIPAddressElement
                                                    .getTextContent();
                                            configurationSetInstance.setStaticVirtualNetworkIPAddress(
                                                    staticVirtualNetworkIPAddressInstance);
                                        }

                                        Element publicIPsSequenceElement2 = XmlUtility.getElementByTagNameNS(
                                                configurationSetsElement,
                                                "http://schemas.microsoft.com/windowsazure", "PublicIPs");
                                        if (publicIPsSequenceElement2 != null) {
                                            for (int i19 = 0; i19 < com.microsoft.windowsazure.core.utils.XmlUtility
                                                    .getElementsByTagNameNS(publicIPsSequenceElement2,
                                                            "http://schemas.microsoft.com/windowsazure",
                                                            "PublicIP")
                                                    .size(); i19 = i19 + 1) {
                                                org.w3c.dom.Element publicIPsElement2 = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                                        .getElementsByTagNameNS(publicIPsSequenceElement2,
                                                                "http://schemas.microsoft.com/windowsazure",
                                                                "PublicIP")
                                                        .get(i19));
                                                ConfigurationSet.PublicIP publicIPInstance2 = new ConfigurationSet.PublicIP();
                                                configurationSetInstance.getPublicIPs().add(publicIPInstance2);

                                                Element nameElement8 = XmlUtility.getElementByTagNameNS(
                                                        publicIPsElement2,
                                                        "http://schemas.microsoft.com/windowsazure", "Name");
                                                if (nameElement8 != null) {
                                                    String nameInstance8;
                                                    nameInstance8 = nameElement8.getTextContent();
                                                    publicIPInstance2.setName(nameInstance8);
                                                }

                                                Element idleTimeoutInMinutesElement4 = XmlUtility
                                                        .getElementByTagNameNS(publicIPsElement2,
                                                                "http://schemas.microsoft.com/windowsazure",
                                                                "IdleTimeoutInMinutes");
                                                if (idleTimeoutInMinutesElement4 != null
                                                        && idleTimeoutInMinutesElement4.getTextContent() != null
                                                        && !idleTimeoutInMinutesElement4.getTextContent()
                                                                .isEmpty()) {
                                                    int idleTimeoutInMinutesInstance4;
                                                    idleTimeoutInMinutesInstance4 = DatatypeConverter.parseInt(
                                                            idleTimeoutInMinutesElement4.getTextContent());
                                                    publicIPInstance2.setIdleTimeoutInMinutes(
                                                            idleTimeoutInMinutesInstance4);
                                                }

                                                Element domainNameLabelElement2 = XmlUtility
                                                        .getElementByTagNameNS(publicIPsElement2,
                                                                "http://schemas.microsoft.com/windowsazure",
                                                                "DomainNameLabel");
                                                if (domainNameLabelElement2 != null) {
                                                    String domainNameLabelInstance2;
                                                    domainNameLabelInstance2 = domainNameLabelElement2
                                                            .getTextContent();
                                                    publicIPInstance2
                                                            .setDomainNameLabel(domainNameLabelInstance2);
                                                }
                                            }
                                        }

                                        Element networkInterfacesSequenceElement2 = XmlUtility
                                                .getElementByTagNameNS(configurationSetsElement,
                                                        "http://schemas.microsoft.com/windowsazure",
                                                        "NetworkInterfaces");
                                        if (networkInterfacesSequenceElement2 != null) {
                                            for (int i20 = 0; i20 < com.microsoft.windowsazure.core.utils.XmlUtility
                                                    .getElementsByTagNameNS(networkInterfacesSequenceElement2,
                                                            "http://schemas.microsoft.com/windowsazure",
                                                            "NetworkInterface")
                                                    .size(); i20 = i20 + 1) {
                                                org.w3c.dom.Element networkInterfacesElement2 = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                                        .getElementsByTagNameNS(
                                                                networkInterfacesSequenceElement2,
                                                                "http://schemas.microsoft.com/windowsazure",
                                                                "NetworkInterface")
                                                        .get(i20));
                                                NetworkInterface networkInterfaceInstance2 = new NetworkInterface();
                                                configurationSetInstance.getNetworkInterfaces()
                                                        .add(networkInterfaceInstance2);

                                                Element nameElement9 = XmlUtility.getElementByTagNameNS(
                                                        networkInterfacesElement2,
                                                        "http://schemas.microsoft.com/windowsazure", "Name");
                                                if (nameElement9 != null) {
                                                    String nameInstance9;
                                                    nameInstance9 = nameElement9.getTextContent();
                                                    networkInterfaceInstance2.setName(nameInstance9);
                                                }

                                                Element iPConfigurationsSequenceElement2 = XmlUtility
                                                        .getElementByTagNameNS(networkInterfacesElement2,
                                                                "http://schemas.microsoft.com/windowsazure",
                                                                "IPConfigurations");
                                                if (iPConfigurationsSequenceElement2 != null) {
                                                    for (int i21 = 0; i21 < com.microsoft.windowsazure.core.utils.XmlUtility
                                                            .getElementsByTagNameNS(
                                                                    iPConfigurationsSequenceElement2,
                                                                    "http://schemas.microsoft.com/windowsazure",
                                                                    "IPConfiguration")
                                                            .size(); i21 = i21 + 1) {
                                                        org.w3c.dom.Element iPConfigurationsElement2 = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                                                .getElementsByTagNameNS(
                                                                        iPConfigurationsSequenceElement2,
                                                                        "http://schemas.microsoft.com/windowsazure",
                                                                        "IPConfiguration")
                                                                .get(i21));
                                                        IPConfiguration iPConfigurationInstance2 = new IPConfiguration();
                                                        networkInterfaceInstance2.getIPConfigurations()
                                                                .add(iPConfigurationInstance2);

                                                        Element subnetNameElement2 = XmlUtility
                                                                .getElementByTagNameNS(iPConfigurationsElement2,
                                                                        "http://schemas.microsoft.com/windowsazure",
                                                                        "SubnetName");
                                                        if (subnetNameElement2 != null) {
                                                            String subnetNameInstance2;
                                                            subnetNameInstance2 = subnetNameElement2
                                                                    .getTextContent();
                                                            iPConfigurationInstance2
                                                                    .setSubnetName(subnetNameInstance2);
                                                        }

                                                        Element staticVirtualNetworkIPAddressElement2 = XmlUtility
                                                                .getElementByTagNameNS(iPConfigurationsElement2,
                                                                        "http://schemas.microsoft.com/windowsazure",
                                                                        "StaticVirtualNetworkIPAddress");
                                                        if (staticVirtualNetworkIPAddressElement2 != null) {
                                                            String staticVirtualNetworkIPAddressInstance2;
                                                            staticVirtualNetworkIPAddressInstance2 = staticVirtualNetworkIPAddressElement2
                                                                    .getTextContent();
                                                            iPConfigurationInstance2
                                                                    .setStaticVirtualNetworkIPAddress(
                                                                            staticVirtualNetworkIPAddressInstance2);
                                                        }
                                                    }
                                                }

                                                Element networkSecurityGroupElement = XmlUtility
                                                        .getElementByTagNameNS(networkInterfacesElement2,
                                                                "http://schemas.microsoft.com/windowsazure",
                                                                "NetworkSecurityGroup");
                                                if (networkSecurityGroupElement != null) {
                                                    String networkSecurityGroupInstance;
                                                    networkSecurityGroupInstance = networkSecurityGroupElement
                                                            .getTextContent();
                                                    networkInterfaceInstance2.setNetworkSecurityGroup(
                                                            networkSecurityGroupInstance);
                                                }

                                                Element iPForwardingElement = XmlUtility.getElementByTagNameNS(
                                                        networkInterfacesElement2,
                                                        "http://schemas.microsoft.com/windowsazure",
                                                        "IPForwarding");
                                                if (iPForwardingElement != null) {
                                                    String iPForwardingInstance;
                                                    iPForwardingInstance = iPForwardingElement.getTextContent();
                                                    networkInterfaceInstance2
                                                            .setIPForwarding(iPForwardingInstance);
                                                }
                                            }
                                        }

                                        Element networkSecurityGroupElement2 = XmlUtility.getElementByTagNameNS(
                                                configurationSetsElement,
                                                "http://schemas.microsoft.com/windowsazure",
                                                "NetworkSecurityGroup");
                                        if (networkSecurityGroupElement2 != null) {
                                            String networkSecurityGroupInstance2;
                                            networkSecurityGroupInstance2 = networkSecurityGroupElement2
                                                    .getTextContent();
                                            configurationSetInstance
                                                    .setNetworkSecurityGroup(networkSecurityGroupInstance2);
                                        }

                                        Element iPForwardingElement2 = XmlUtility.getElementByTagNameNS(
                                                configurationSetsElement,
                                                "http://schemas.microsoft.com/windowsazure", "IPForwarding");
                                        if (iPForwardingElement2 != null) {
                                            String iPForwardingInstance2;
                                            iPForwardingInstance2 = iPForwardingElement2.getTextContent();
                                            configurationSetInstance.setIPForwarding(iPForwardingInstance2);
                                        }

                                        Element computerNameElement = XmlUtility.getElementByTagNameNS(
                                                configurationSetsElement,
                                                "http://schemas.microsoft.com/windowsazure", "ComputerName");
                                        if (computerNameElement != null) {
                                            String computerNameInstance;
                                            computerNameInstance = computerNameElement.getTextContent();
                                            configurationSetInstance.setComputerName(computerNameInstance);
                                        }

                                        Element adminPasswordElement = XmlUtility.getElementByTagNameNS(
                                                configurationSetsElement,
                                                "http://schemas.microsoft.com/windowsazure", "AdminPassword");
                                        if (adminPasswordElement != null) {
                                            String adminPasswordInstance;
                                            adminPasswordInstance = adminPasswordElement.getTextContent();
                                            configurationSetInstance.setAdminPassword(adminPasswordInstance);
                                        }

                                        Element resetPasswordOnFirstLogonElement = XmlUtility
                                                .getElementByTagNameNS(configurationSetsElement,
                                                        "http://schemas.microsoft.com/windowsazure",
                                                        "ResetPasswordOnFirstLogon");
                                        if (resetPasswordOnFirstLogonElement != null
                                                && resetPasswordOnFirstLogonElement.getTextContent() != null
                                                && !resetPasswordOnFirstLogonElement.getTextContent()
                                                        .isEmpty()) {
                                            boolean resetPasswordOnFirstLogonInstance;
                                            resetPasswordOnFirstLogonInstance = DatatypeConverter
                                                    .parseBoolean(resetPasswordOnFirstLogonElement
                                                            .getTextContent().toLowerCase());
                                            configurationSetInstance.setResetPasswordOnFirstLogon(
                                                    resetPasswordOnFirstLogonInstance);
                                        }

                                        Element enableAutomaticUpdatesElement = XmlUtility
                                                .getElementByTagNameNS(configurationSetsElement,
                                                        "http://schemas.microsoft.com/windowsazure",
                                                        "EnableAutomaticUpdates");
                                        if (enableAutomaticUpdatesElement != null
                                                && enableAutomaticUpdatesElement.getTextContent() != null
                                                && !enableAutomaticUpdatesElement.getTextContent().isEmpty()) {
                                            boolean enableAutomaticUpdatesInstance;
                                            enableAutomaticUpdatesInstance = DatatypeConverter
                                                    .parseBoolean(enableAutomaticUpdatesElement.getTextContent()
                                                            .toLowerCase());
                                            configurationSetInstance
                                                    .setEnableAutomaticUpdates(enableAutomaticUpdatesInstance);
                                        }

                                        Element timeZoneElement = XmlUtility.getElementByTagNameNS(
                                                configurationSetsElement,
                                                "http://schemas.microsoft.com/windowsazure", "TimeZone");
                                        if (timeZoneElement != null) {
                                            String timeZoneInstance;
                                            timeZoneInstance = timeZoneElement.getTextContent();
                                            configurationSetInstance.setTimeZone(timeZoneInstance);
                                        }

                                        Element domainJoinElement = XmlUtility.getElementByTagNameNS(
                                                configurationSetsElement,
                                                "http://schemas.microsoft.com/windowsazure", "DomainJoin");
                                        if (domainJoinElement != null) {
                                            DomainJoinSettings domainJoinInstance = new DomainJoinSettings();
                                            configurationSetInstance.setDomainJoin(domainJoinInstance);

                                            Element credentialsElement = XmlUtility.getElementByTagNameNS(
                                                    domainJoinElement,
                                                    "http://schemas.microsoft.com/windowsazure", "Credentials");
                                            if (credentialsElement != null) {
                                                DomainJoinCredentials credentialsInstance = new DomainJoinCredentials();
                                                domainJoinInstance.setCredentials(credentialsInstance);

                                                Element domainElement = XmlUtility.getElementByTagNameNS(
                                                        credentialsElement,
                                                        "http://schemas.microsoft.com/windowsazure", "Domain");
                                                if (domainElement != null) {
                                                    String domainInstance;
                                                    domainInstance = domainElement.getTextContent();
                                                    credentialsInstance.setDomain(domainInstance);
                                                }

                                                Element usernameElement = XmlUtility.getElementByTagNameNS(
                                                        credentialsElement,
                                                        "http://schemas.microsoft.com/windowsazure",
                                                        "Username");
                                                if (usernameElement != null) {
                                                    String usernameInstance;
                                                    usernameInstance = usernameElement.getTextContent();
                                                    credentialsInstance.setUserName(usernameInstance);
                                                }

                                                Element passwordElement = XmlUtility.getElementByTagNameNS(
                                                        credentialsElement,
                                                        "http://schemas.microsoft.com/windowsazure",
                                                        "Password");
                                                if (passwordElement != null) {
                                                    String passwordInstance;
                                                    passwordInstance = passwordElement.getTextContent();
                                                    credentialsInstance.setPassword(passwordInstance);
                                                }
                                            }

                                            Element joinDomainElement = XmlUtility.getElementByTagNameNS(
                                                    domainJoinElement,
                                                    "http://schemas.microsoft.com/windowsazure", "JoinDomain");
                                            if (joinDomainElement != null) {
                                                String joinDomainInstance;
                                                joinDomainInstance = joinDomainElement.getTextContent();
                                                domainJoinInstance.setDomainToJoin(joinDomainInstance);
                                            }

                                            Element machineObjectOUElement = XmlUtility.getElementByTagNameNS(
                                                    domainJoinElement,
                                                    "http://schemas.microsoft.com/windowsazure",
                                                    "MachineObjectOU");
                                            if (machineObjectOUElement != null) {
                                                String machineObjectOUInstance;
                                                machineObjectOUInstance = machineObjectOUElement
                                                        .getTextContent();
                                                domainJoinInstance
                                                        .setLdapMachineObjectOU(machineObjectOUInstance);
                                            }

                                            Element provisioningElement = XmlUtility.getElementByTagNameNS(
                                                    domainJoinElement,
                                                    "http://schemas.microsoft.com/windowsazure",
                                                    "Provisioning");
                                            if (provisioningElement != null) {
                                                DomainJoinProvisioning provisioningInstance = new DomainJoinProvisioning();
                                                domainJoinInstance.setProvisioning(provisioningInstance);

                                                Element accountDataElement = XmlUtility.getElementByTagNameNS(
                                                        provisioningElement,
                                                        "http://schemas.microsoft.com/windowsazure",
                                                        "AccountData");
                                                if (accountDataElement != null) {
                                                    String accountDataInstance;
                                                    accountDataInstance = accountDataElement.getTextContent();
                                                    provisioningInstance.setAccountData(accountDataInstance);
                                                }
                                            }
                                        }

                                        Element storedCertificateSettingsSequenceElement = XmlUtility
                                                .getElementByTagNameNS(configurationSetsElement,
                                                        "http://schemas.microsoft.com/windowsazure",
                                                        "StoredCertificateSettings");
                                        if (storedCertificateSettingsSequenceElement != null) {
                                            for (int i22 = 0; i22 < com.microsoft.windowsazure.core.utils.XmlUtility
                                                    .getElementsByTagNameNS(
                                                            storedCertificateSettingsSequenceElement,
                                                            "http://schemas.microsoft.com/windowsazure",
                                                            "CertificateSetting")
                                                    .size(); i22 = i22 + 1) {
                                                org.w3c.dom.Element storedCertificateSettingsElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                                        .getElementsByTagNameNS(
                                                                storedCertificateSettingsSequenceElement,
                                                                "http://schemas.microsoft.com/windowsazure",
                                                                "CertificateSetting")
                                                        .get(i22));
                                                StoredCertificateSettings certificateSettingInstance = new StoredCertificateSettings();
                                                configurationSetInstance.getStoredCertificateSettings()
                                                        .add(certificateSettingInstance);

                                                Element storeLocationElement = XmlUtility.getElementByTagNameNS(
                                                        storedCertificateSettingsElement,
                                                        "http://schemas.microsoft.com/windowsazure",
                                                        "StoreLocation");
                                                if (storeLocationElement != null) {
                                                }

                                                Element storeNameElement = XmlUtility.getElementByTagNameNS(
                                                        storedCertificateSettingsElement,
                                                        "http://schemas.microsoft.com/windowsazure",
                                                        "StoreName");
                                                if (storeNameElement != null) {
                                                    String storeNameInstance;
                                                    storeNameInstance = storeNameElement.getTextContent();
                                                    certificateSettingInstance.setStoreName(storeNameInstance);
                                                }

                                                Element thumbprintElement = XmlUtility.getElementByTagNameNS(
                                                        storedCertificateSettingsElement,
                                                        "http://schemas.microsoft.com/windowsazure",
                                                        "Thumbprint");
                                                if (thumbprintElement != null) {
                                                    String thumbprintInstance;
                                                    thumbprintInstance = thumbprintElement.getTextContent();
                                                    certificateSettingInstance
                                                            .setThumbprint(thumbprintInstance);
                                                }
                                            }
                                        }

                                        Element winRMElement = XmlUtility.getElementByTagNameNS(
                                                configurationSetsElement,
                                                "http://schemas.microsoft.com/windowsazure", "WinRM");
                                        if (winRMElement != null) {
                                            WindowsRemoteManagementSettings winRMInstance = new WindowsRemoteManagementSettings();
                                            configurationSetInstance.setWindowsRemoteManagement(winRMInstance);

                                            Element listenersSequenceElement = XmlUtility.getElementByTagNameNS(
                                                    winRMElement, "http://schemas.microsoft.com/windowsazure",
                                                    "Listeners");
                                            if (listenersSequenceElement != null) {
                                                for (int i23 = 0; i23 < com.microsoft.windowsazure.core.utils.XmlUtility
                                                        .getElementsByTagNameNS(listenersSequenceElement,
                                                                "http://schemas.microsoft.com/windowsazure",
                                                                "Listener")
                                                        .size(); i23 = i23 + 1) {
                                                    org.w3c.dom.Element listenersElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                                            .getElementsByTagNameNS(listenersSequenceElement,
                                                                    "http://schemas.microsoft.com/windowsazure",
                                                                    "Listener")
                                                            .get(i23));
                                                    WindowsRemoteManagementListener listenerInstance = new WindowsRemoteManagementListener();
                                                    winRMInstance.getListeners().add(listenerInstance);

                                                    Element protocolElement4 = XmlUtility.getElementByTagNameNS(
                                                            listenersElement,
                                                            "http://schemas.microsoft.com/windowsazure",
                                                            "Protocol");
                                                    if (protocolElement4 != null
                                                            && protocolElement4.getTextContent() != null
                                                            && !protocolElement4.getTextContent().isEmpty()) {
                                                        VirtualMachineWindowsRemoteManagementListenerType protocolInstance4;
                                                        protocolInstance4 = VirtualMachineWindowsRemoteManagementListenerType
                                                                .valueOf(protocolElement4.getTextContent());
                                                        listenerInstance.setListenerType(protocolInstance4);
                                                    }

                                                    Element certificateThumbprintElement = XmlUtility
                                                            .getElementByTagNameNS(listenersElement,
                                                                    "http://schemas.microsoft.com/windowsazure",
                                                                    "CertificateThumbprint");
                                                    if (certificateThumbprintElement != null) {
                                                        String certificateThumbprintInstance;
                                                        certificateThumbprintInstance = certificateThumbprintElement
                                                                .getTextContent();
                                                        listenerInstance.setCertificateThumbprint(
                                                                certificateThumbprintInstance);
                                                    }
                                                }
                                            }
                                        }

                                        Element adminUsernameElement = XmlUtility.getElementByTagNameNS(
                                                configurationSetsElement,
                                                "http://schemas.microsoft.com/windowsazure", "AdminUsername");
                                        if (adminUsernameElement != null) {
                                            String adminUsernameInstance;
                                            adminUsernameInstance = adminUsernameElement.getTextContent();
                                            configurationSetInstance.setAdminUserName(adminUsernameInstance);
                                        }

                                        Element additionalUnattendContentElement = XmlUtility
                                                .getElementByTagNameNS(configurationSetsElement,
                                                        "http://schemas.microsoft.com/windowsazure",
                                                        "AdditionalUnattendContent");
                                        if (additionalUnattendContentElement != null) {
                                            AdditionalUnattendContentSettings additionalUnattendContentInstance = new AdditionalUnattendContentSettings();
                                            configurationSetInstance.setAdditionalUnattendContent(
                                                    additionalUnattendContentInstance);

                                            Element passesSequenceElement = XmlUtility.getElementByTagNameNS(
                                                    additionalUnattendContentElement,
                                                    "http://schemas.microsoft.com/windowsazure", "Passes");
                                            if (passesSequenceElement != null) {
                                                for (int i24 = 0; i24 < com.microsoft.windowsazure.core.utils.XmlUtility
                                                        .getElementsByTagNameNS(passesSequenceElement,
                                                                "http://schemas.microsoft.com/windowsazure",
                                                                "UnattendPass")
                                                        .size(); i24 = i24 + 1) {
                                                    org.w3c.dom.Element passesElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                                            .getElementsByTagNameNS(passesSequenceElement,
                                                                    "http://schemas.microsoft.com/windowsazure",
                                                                    "UnattendPass")
                                                            .get(i24));
                                                    UnattendPassSettings unattendPassInstance = new UnattendPassSettings();
                                                    additionalUnattendContentInstance.getUnattendPasses()
                                                            .add(unattendPassInstance);

                                                    Element passNameElement = XmlUtility.getElementByTagNameNS(
                                                            passesElement,
                                                            "http://schemas.microsoft.com/windowsazure",
                                                            "PassName");
                                                    if (passNameElement != null) {
                                                        String passNameInstance;
                                                        passNameInstance = passNameElement.getTextContent();
                                                        unattendPassInstance.setPassName(passNameInstance);
                                                    }

                                                    Element componentsSequenceElement = XmlUtility
                                                            .getElementByTagNameNS(passesElement,
                                                                    "http://schemas.microsoft.com/windowsazure",
                                                                    "Components");
                                                    if (componentsSequenceElement != null) {
                                                        for (int i25 = 0; i25 < com.microsoft.windowsazure.core.utils.XmlUtility
                                                                .getElementsByTagNameNS(
                                                                        componentsSequenceElement,
                                                                        "http://schemas.microsoft.com/windowsazure",
                                                                        "UnattendComponent")
                                                                .size(); i25 = i25 + 1) {
                                                            org.w3c.dom.Element componentsElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                                                    .getElementsByTagNameNS(
                                                                            componentsSequenceElement,
                                                                            "http://schemas.microsoft.com/windowsazure",
                                                                            "UnattendComponent")
                                                                    .get(i25));
                                                            UnattendComponent unattendComponentInstance = new UnattendComponent();
                                                            unattendPassInstance.getUnattendComponents()
                                                                    .add(unattendComponentInstance);

                                                            Element componentNameElement = XmlUtility
                                                                    .getElementByTagNameNS(componentsElement,
                                                                            "http://schemas.microsoft.com/windowsazure",
                                                                            "ComponentName");
                                                            if (componentNameElement != null) {
                                                                String componentNameInstance;
                                                                componentNameInstance = componentNameElement
                                                                        .getTextContent();
                                                                unattendComponentInstance.setComponentName(
                                                                        componentNameInstance);
                                                            }

                                                            Element componentSettingsSequenceElement = XmlUtility
                                                                    .getElementByTagNameNS(componentsElement,
                                                                            "http://schemas.microsoft.com/windowsazure",
                                                                            "ComponentSettings");
                                                            if (componentSettingsSequenceElement != null) {
                                                                for (int i26 = 0; i26 < com.microsoft.windowsazure.core.utils.XmlUtility
                                                                        .getElementsByTagNameNS(
                                                                                componentSettingsSequenceElement,
                                                                                "http://schemas.microsoft.com/windowsazure",
                                                                                "ComponentSetting")
                                                                        .size(); i26 = i26 + 1) {
                                                                    org.w3c.dom.Element componentSettingsElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                                                            .getElementsByTagNameNS(
                                                                                    componentSettingsSequenceElement,
                                                                                    "http://schemas.microsoft.com/windowsazure",
                                                                                    "ComponentSetting")
                                                                            .get(i26));
                                                                    ComponentSetting componentSettingInstance = new ComponentSetting();
                                                                    unattendComponentInstance
                                                                            .getUnattendComponentSettings()
                                                                            .add(componentSettingInstance);

                                                                    Element settingNameElement = XmlUtility
                                                                            .getElementByTagNameNS(
                                                                                    componentSettingsElement,
                                                                                    "http://schemas.microsoft.com/windowsazure",
                                                                                    "SettingName");
                                                                    if (settingNameElement != null) {
                                                                        String settingNameInstance;
                                                                        settingNameInstance = settingNameElement
                                                                                .getTextContent();
                                                                        componentSettingInstance.setSettingName(
                                                                                settingNameInstance);
                                                                    }

                                                                    Element contentElement = XmlUtility
                                                                            .getElementByTagNameNS(
                                                                                    componentSettingsElement,
                                                                                    "http://schemas.microsoft.com/windowsazure",
                                                                                    "Content");
                                                                    if (contentElement != null) {
                                                                        String contentInstance;
                                                                        contentInstance = contentElement
                                                                                .getTextContent() != null
                                                                                        ? new String(Base64
                                                                                                .decode(contentElement
                                                                                                        .getTextContent()))
                                                                                        : null;
                                                                        componentSettingInstance
                                                                                .setContent(contentInstance);
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }

                                        Element hostNameElement2 = XmlUtility.getElementByTagNameNS(
                                                configurationSetsElement,
                                                "http://schemas.microsoft.com/windowsazure", "HostName");
                                        if (hostNameElement2 != null) {
                                            String hostNameInstance2;
                                            hostNameInstance2 = hostNameElement2.getTextContent();
                                            configurationSetInstance.setHostName(hostNameInstance2);
                                        }

                                        Element userNameElement = XmlUtility.getElementByTagNameNS(
                                                configurationSetsElement,
                                                "http://schemas.microsoft.com/windowsazure", "UserName");
                                        if (userNameElement != null) {
                                            String userNameInstance;
                                            userNameInstance = userNameElement.getTextContent();
                                            configurationSetInstance.setUserName(userNameInstance);
                                        }

                                        Element userPasswordElement = XmlUtility.getElementByTagNameNS(
                                                configurationSetsElement,
                                                "http://schemas.microsoft.com/windowsazure", "UserPassword");
                                        if (userPasswordElement != null) {
                                            String userPasswordInstance;
                                            userPasswordInstance = userPasswordElement.getTextContent();
                                            configurationSetInstance.setUserPassword(userPasswordInstance);
                                        }

                                        Element disableSshPasswordAuthenticationElement = XmlUtility
                                                .getElementByTagNameNS(configurationSetsElement,
                                                        "http://schemas.microsoft.com/windowsazure",
                                                        "DisableSshPasswordAuthentication");
                                        if (disableSshPasswordAuthenticationElement != null
                                                && disableSshPasswordAuthenticationElement
                                                        .getTextContent() != null
                                                && !disableSshPasswordAuthenticationElement.getTextContent()
                                                        .isEmpty()) {
                                            boolean disableSshPasswordAuthenticationInstance;
                                            disableSshPasswordAuthenticationInstance = DatatypeConverter
                                                    .parseBoolean(disableSshPasswordAuthenticationElement
                                                            .getTextContent().toLowerCase());
                                            configurationSetInstance.setDisableSshPasswordAuthentication(
                                                    disableSshPasswordAuthenticationInstance);
                                        }

                                        Element sSHElement = XmlUtility.getElementByTagNameNS(
                                                configurationSetsElement,
                                                "http://schemas.microsoft.com/windowsazure", "SSH");
                                        if (sSHElement != null) {
                                            SshSettings sSHInstance = new SshSettings();
                                            configurationSetInstance.setSshSettings(sSHInstance);

                                            Element publicKeysSequenceElement = XmlUtility
                                                    .getElementByTagNameNS(sSHElement,
                                                            "http://schemas.microsoft.com/windowsazure",
                                                            "PublicKeys");
                                            if (publicKeysSequenceElement != null) {
                                                for (int i27 = 0; i27 < com.microsoft.windowsazure.core.utils.XmlUtility
                                                        .getElementsByTagNameNS(publicKeysSequenceElement,
                                                                "http://schemas.microsoft.com/windowsazure",
                                                                "PublicKey")
                                                        .size(); i27 = i27 + 1) {
                                                    org.w3c.dom.Element publicKeysElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                                            .getElementsByTagNameNS(publicKeysSequenceElement,
                                                                    "http://schemas.microsoft.com/windowsazure",
                                                                    "PublicKey")
                                                            .get(i27));
                                                    SshSettingPublicKey publicKeyInstance = new SshSettingPublicKey();
                                                    sSHInstance.getPublicKeys().add(publicKeyInstance);

                                                    Element fingerprintElement = XmlUtility
                                                            .getElementByTagNameNS(publicKeysElement,
                                                                    "http://schemas.microsoft.com/windowsazure",
                                                                    "Fingerprint");
                                                    if (fingerprintElement != null) {
                                                        String fingerprintInstance;
                                                        fingerprintInstance = fingerprintElement
                                                                .getTextContent();
                                                        publicKeyInstance.setFingerprint(fingerprintInstance);
                                                    }

                                                    Element pathElement2 = XmlUtility.getElementByTagNameNS(
                                                            publicKeysElement,
                                                            "http://schemas.microsoft.com/windowsazure",
                                                            "Path");
                                                    if (pathElement2 != null) {
                                                        String pathInstance2;
                                                        pathInstance2 = pathElement2.getTextContent();
                                                        publicKeyInstance.setPath(pathInstance2);
                                                    }
                                                }
                                            }

                                            Element keyPairsSequenceElement = XmlUtility.getElementByTagNameNS(
                                                    sSHElement, "http://schemas.microsoft.com/windowsazure",
                                                    "KeyPairs");
                                            if (keyPairsSequenceElement != null) {
                                                for (int i28 = 0; i28 < com.microsoft.windowsazure.core.utils.XmlUtility
                                                        .getElementsByTagNameNS(keyPairsSequenceElement,
                                                                "http://schemas.microsoft.com/windowsazure",
                                                                "KeyPair")
                                                        .size(); i28 = i28 + 1) {
                                                    org.w3c.dom.Element keyPairsElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                                            .getElementsByTagNameNS(keyPairsSequenceElement,
                                                                    "http://schemas.microsoft.com/windowsazure",
                                                                    "KeyPair")
                                                            .get(i28));
                                                    SshSettingKeyPair keyPairInstance = new SshSettingKeyPair();
                                                    sSHInstance.getKeyPairs().add(keyPairInstance);

                                                    Element fingerprintElement2 = XmlUtility
                                                            .getElementByTagNameNS(keyPairsElement,
                                                                    "http://schemas.microsoft.com/windowsazure",
                                                                    "Fingerprint");
                                                    if (fingerprintElement2 != null) {
                                                        String fingerprintInstance2;
                                                        fingerprintInstance2 = fingerprintElement2
                                                                .getTextContent();
                                                        keyPairInstance.setFingerprint(fingerprintInstance2);
                                                    }

                                                    Element pathElement3 = XmlUtility.getElementByTagNameNS(
                                                            keyPairsElement,
                                                            "http://schemas.microsoft.com/windowsazure",
                                                            "Path");
                                                    if (pathElement3 != null) {
                                                        String pathInstance3;
                                                        pathInstance3 = pathElement3.getTextContent();
                                                        keyPairInstance.setPath(pathInstance3);
                                                    }
                                                }
                                            }
                                        }

                                        Element customDataElement = XmlUtility.getElementByTagNameNS(
                                                configurationSetsElement,
                                                "http://schemas.microsoft.com/windowsazure", "CustomData");
                                        if (customDataElement != null) {
                                            String customDataInstance;
                                            customDataInstance = customDataElement.getTextContent();
                                            configurationSetInstance.setCustomData(customDataInstance);
                                        }
                                    }
                                }

                                Element resourceExtensionReferencesSequenceElement = XmlUtility
                                        .getElementByTagNameNS(roleListElement,
                                                "http://schemas.microsoft.com/windowsazure",
                                                "ResourceExtensionReferences");
                                if (resourceExtensionReferencesSequenceElement != null) {
                                    for (int i29 = 0; i29 < com.microsoft.windowsazure.core.utils.XmlUtility
                                            .getElementsByTagNameNS(resourceExtensionReferencesSequenceElement,
                                                    "http://schemas.microsoft.com/windowsazure",
                                                    "ResourceExtensionReference")
                                            .size(); i29 = i29 + 1) {
                                        org.w3c.dom.Element resourceExtensionReferencesElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                                .getElementsByTagNameNS(
                                                        resourceExtensionReferencesSequenceElement,
                                                        "http://schemas.microsoft.com/windowsazure",
                                                        "ResourceExtensionReference")
                                                .get(i29));
                                        ResourceExtensionReference resourceExtensionReferenceInstance = new ResourceExtensionReference();
                                        roleInstance.getResourceExtensionReferences()
                                                .add(resourceExtensionReferenceInstance);

                                        Element referenceNameElement = XmlUtility.getElementByTagNameNS(
                                                resourceExtensionReferencesElement,
                                                "http://schemas.microsoft.com/windowsazure", "ReferenceName");
                                        if (referenceNameElement != null) {
                                            String referenceNameInstance;
                                            referenceNameInstance = referenceNameElement.getTextContent();
                                            resourceExtensionReferenceInstance
                                                    .setReferenceName(referenceNameInstance);
                                        }

                                        Element publisherElement = XmlUtility.getElementByTagNameNS(
                                                resourceExtensionReferencesElement,
                                                "http://schemas.microsoft.com/windowsazure", "Publisher");
                                        if (publisherElement != null) {
                                            String publisherInstance;
                                            publisherInstance = publisherElement.getTextContent();
                                            resourceExtensionReferenceInstance.setPublisher(publisherInstance);
                                        }

                                        Element nameElement10 = XmlUtility.getElementByTagNameNS(
                                                resourceExtensionReferencesElement,
                                                "http://schemas.microsoft.com/windowsazure", "Name");
                                        if (nameElement10 != null) {
                                            String nameInstance10;
                                            nameInstance10 = nameElement10.getTextContent();
                                            resourceExtensionReferenceInstance.setName(nameInstance10);
                                        }

                                        Element versionElement2 = XmlUtility.getElementByTagNameNS(
                                                resourceExtensionReferencesElement,
                                                "http://schemas.microsoft.com/windowsazure", "Version");
                                        if (versionElement2 != null) {
                                            String versionInstance2;
                                            versionInstance2 = versionElement2.getTextContent();
                                            resourceExtensionReferenceInstance.setVersion(versionInstance2);
                                        }

                                        Element resourceExtensionParameterValuesSequenceElement = XmlUtility
                                                .getElementByTagNameNS(resourceExtensionReferencesElement,
                                                        "http://schemas.microsoft.com/windowsazure",
                                                        "ResourceExtensionParameterValues");
                                        if (resourceExtensionParameterValuesSequenceElement != null) {
                                            for (int i30 = 0; i30 < com.microsoft.windowsazure.core.utils.XmlUtility
                                                    .getElementsByTagNameNS(
                                                            resourceExtensionParameterValuesSequenceElement,
                                                            "http://schemas.microsoft.com/windowsazure",
                                                            "ResourceExtensionParameterValue")
                                                    .size(); i30 = i30 + 1) {
                                                org.w3c.dom.Element resourceExtensionParameterValuesElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                                        .getElementsByTagNameNS(
                                                                resourceExtensionParameterValuesSequenceElement,
                                                                "http://schemas.microsoft.com/windowsazure",
                                                                "ResourceExtensionParameterValue")
                                                        .get(i30));
                                                ResourceExtensionParameterValue resourceExtensionParameterValueInstance = new ResourceExtensionParameterValue();
                                                resourceExtensionReferenceInstance
                                                        .getResourceExtensionParameterValues()
                                                        .add(resourceExtensionParameterValueInstance);

                                                Element keyElement = XmlUtility.getElementByTagNameNS(
                                                        resourceExtensionParameterValuesElement,
                                                        "http://schemas.microsoft.com/windowsazure", "Key");
                                                if (keyElement != null) {
                                                    String keyInstance;
                                                    keyInstance = keyElement.getTextContent();
                                                    resourceExtensionParameterValueInstance.setKey(keyInstance);
                                                }

                                                Element valueElement = XmlUtility.getElementByTagNameNS(
                                                        resourceExtensionParameterValuesElement,
                                                        "http://schemas.microsoft.com/windowsazure", "Value");
                                                if (valueElement != null) {
                                                    String valueInstance;
                                                    valueInstance = valueElement.getTextContent() != null
                                                            ? new String(Base64
                                                                    .decode(valueElement.getTextContent()))
                                                            : null;
                                                    resourceExtensionParameterValueInstance
                                                            .setValue(valueInstance);
                                                }

                                                Element typeElement = XmlUtility.getElementByTagNameNS(
                                                        resourceExtensionParameterValuesElement,
                                                        "http://schemas.microsoft.com/windowsazure", "Type");
                                                if (typeElement != null) {
                                                    String typeInstance;
                                                    typeInstance = typeElement.getTextContent();
                                                    resourceExtensionParameterValueInstance
                                                            .setType(typeInstance);
                                                }
                                            }
                                        }

                                        Element stateElement = XmlUtility.getElementByTagNameNS(
                                                resourceExtensionReferencesElement,
                                                "http://schemas.microsoft.com/windowsazure", "State");
                                        if (stateElement != null) {
                                            String stateInstance;
                                            stateInstance = stateElement.getTextContent();
                                            resourceExtensionReferenceInstance.setState(stateInstance);
                                        }

                                        Element forceUpdateElement = XmlUtility.getElementByTagNameNS(
                                                resourceExtensionReferencesElement,
                                                "http://schemas.microsoft.com/windowsazure", "ForceUpdate");
                                        if (forceUpdateElement != null
                                                && forceUpdateElement.getTextContent() != null
                                                && !forceUpdateElement.getTextContent().isEmpty()) {
                                            boolean forceUpdateInstance;
                                            forceUpdateInstance = DatatypeConverter.parseBoolean(
                                                    forceUpdateElement.getTextContent().toLowerCase());
                                            resourceExtensionReferenceInstance
                                                    .setForceUpdate(forceUpdateInstance);
                                        }
                                    }
                                }

                                Element vMImageNameElement = XmlUtility.getElementByTagNameNS(roleListElement,
                                        "http://schemas.microsoft.com/windowsazure", "VMImageName");
                                if (vMImageNameElement != null) {
                                    String vMImageNameInstance;
                                    vMImageNameInstance = vMImageNameElement.getTextContent();
                                    roleInstance.setVMImageName(vMImageNameInstance);
                                }

                                Element mediaLocationElement = XmlUtility.getElementByTagNameNS(roleListElement,
                                        "http://schemas.microsoft.com/windowsazure", "MediaLocation");
                                if (mediaLocationElement != null) {
                                    URI mediaLocationInstance;
                                    mediaLocationInstance = new URI(mediaLocationElement.getTextContent());
                                    roleInstance.setMediaLocation(mediaLocationInstance);
                                }

                                Element availabilitySetNameElement = XmlUtility.getElementByTagNameNS(
                                        roleListElement, "http://schemas.microsoft.com/windowsazure",
                                        "AvailabilitySetName");
                                if (availabilitySetNameElement != null) {
                                    String availabilitySetNameInstance;
                                    availabilitySetNameInstance = availabilitySetNameElement.getTextContent();
                                    roleInstance.setAvailabilitySetName(availabilitySetNameInstance);
                                }

                                Element dataVirtualHardDisksSequenceElement = XmlUtility.getElementByTagNameNS(
                                        roleListElement, "http://schemas.microsoft.com/windowsazure",
                                        "DataVirtualHardDisks");
                                if (dataVirtualHardDisksSequenceElement != null) {
                                    for (int i31 = 0; i31 < com.microsoft.windowsazure.core.utils.XmlUtility
                                            .getElementsByTagNameNS(dataVirtualHardDisksSequenceElement,
                                                    "http://schemas.microsoft.com/windowsazure",
                                                    "DataVirtualHardDisk")
                                            .size(); i31 = i31 + 1) {
                                        org.w3c.dom.Element dataVirtualHardDisksElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                                .getElementsByTagNameNS(dataVirtualHardDisksSequenceElement,
                                                        "http://schemas.microsoft.com/windowsazure",
                                                        "DataVirtualHardDisk")
                                                .get(i31));
                                        DataVirtualHardDisk dataVirtualHardDiskInstance = new DataVirtualHardDisk();
                                        roleInstance.getDataVirtualHardDisks().add(dataVirtualHardDiskInstance);

                                        Element hostCachingElement = XmlUtility.getElementByTagNameNS(
                                                dataVirtualHardDisksElement,
                                                "http://schemas.microsoft.com/windowsazure", "HostCaching");
                                        if (hostCachingElement != null) {
                                            String hostCachingInstance;
                                            hostCachingInstance = hostCachingElement.getTextContent();
                                            dataVirtualHardDiskInstance.setHostCaching(hostCachingInstance);
                                        }

                                        Element diskLabelElement = XmlUtility.getElementByTagNameNS(
                                                dataVirtualHardDisksElement,
                                                "http://schemas.microsoft.com/windowsazure", "DiskLabel");
                                        if (diskLabelElement != null) {
                                            String diskLabelInstance;
                                            diskLabelInstance = diskLabelElement.getTextContent();
                                            dataVirtualHardDiskInstance.setLabel(diskLabelInstance);
                                        }

                                        Element diskNameElement = XmlUtility.getElementByTagNameNS(
                                                dataVirtualHardDisksElement,
                                                "http://schemas.microsoft.com/windowsazure", "DiskName");
                                        if (diskNameElement != null) {
                                            String diskNameInstance;
                                            diskNameInstance = diskNameElement.getTextContent();
                                            dataVirtualHardDiskInstance.setName(diskNameInstance);
                                        }

                                        Element lunElement = XmlUtility.getElementByTagNameNS(
                                                dataVirtualHardDisksElement,
                                                "http://schemas.microsoft.com/windowsazure", "Lun");
                                        if (lunElement != null && lunElement.getTextContent() != null
                                                && !lunElement.getTextContent().isEmpty()) {
                                            int lunInstance;
                                            lunInstance = DatatypeConverter
                                                    .parseInt(lunElement.getTextContent());
                                            dataVirtualHardDiskInstance.setLogicalUnitNumber(lunInstance);
                                        }

                                        Element logicalDiskSizeInGBElement = XmlUtility.getElementByTagNameNS(
                                                dataVirtualHardDisksElement,
                                                "http://schemas.microsoft.com/windowsazure",
                                                "LogicalDiskSizeInGB");
                                        if (logicalDiskSizeInGBElement != null
                                                && logicalDiskSizeInGBElement.getTextContent() != null
                                                && !logicalDiskSizeInGBElement.getTextContent().isEmpty()) {
                                            int logicalDiskSizeInGBInstance;
                                            logicalDiskSizeInGBInstance = DatatypeConverter
                                                    .parseInt(logicalDiskSizeInGBElement.getTextContent());
                                            dataVirtualHardDiskInstance
                                                    .setLogicalDiskSizeInGB(logicalDiskSizeInGBInstance);
                                        }

                                        Element mediaLinkElement = XmlUtility.getElementByTagNameNS(
                                                dataVirtualHardDisksElement,
                                                "http://schemas.microsoft.com/windowsazure", "MediaLink");
                                        if (mediaLinkElement != null) {
                                            URI mediaLinkInstance;
                                            mediaLinkInstance = new URI(mediaLinkElement.getTextContent());
                                            dataVirtualHardDiskInstance.setMediaLink(mediaLinkInstance);
                                        }

                                        Element sourceMediaLinkElement = XmlUtility.getElementByTagNameNS(
                                                dataVirtualHardDisksElement,
                                                "http://schemas.microsoft.com/windowsazure", "SourceMediaLink");
                                        if (sourceMediaLinkElement != null) {
                                            URI sourceMediaLinkInstance;
                                            sourceMediaLinkInstance = new URI(
                                                    sourceMediaLinkElement.getTextContent());
                                            dataVirtualHardDiskInstance
                                                    .setSourceMediaLink(sourceMediaLinkInstance);
                                        }

                                        Element iOTypeElement = XmlUtility.getElementByTagNameNS(
                                                dataVirtualHardDisksElement,
                                                "http://schemas.microsoft.com/windowsazure", "IOType");
                                        if (iOTypeElement != null) {
                                            String iOTypeInstance;
                                            iOTypeInstance = iOTypeElement.getTextContent();
                                            dataVirtualHardDiskInstance.setIOType(iOTypeInstance);
                                        }
                                    }
                                }

                                Element labelElement2 = XmlUtility.getElementByTagNameNS(roleListElement,
                                        "http://schemas.microsoft.com/windowsazure", "Label");
                                if (labelElement2 != null) {
                                    String labelInstance2;
                                    labelInstance2 = labelElement2.getTextContent();
                                    roleInstance.setLabel(labelInstance2);
                                }

                                Element oSVirtualHardDiskElement = XmlUtility.getElementByTagNameNS(
                                        roleListElement, "http://schemas.microsoft.com/windowsazure",
                                        "OSVirtualHardDisk");
                                if (oSVirtualHardDiskElement != null) {
                                    OSVirtualHardDisk oSVirtualHardDiskInstance = new OSVirtualHardDisk();
                                    roleInstance.setOSVirtualHardDisk(oSVirtualHardDiskInstance);

                                    Element hostCachingElement2 = XmlUtility.getElementByTagNameNS(
                                            oSVirtualHardDiskElement,
                                            "http://schemas.microsoft.com/windowsazure", "HostCaching");
                                    if (hostCachingElement2 != null) {
                                        String hostCachingInstance2;
                                        hostCachingInstance2 = hostCachingElement2.getTextContent();
                                        oSVirtualHardDiskInstance.setHostCaching(hostCachingInstance2);
                                    }

                                    Element diskLabelElement2 = XmlUtility.getElementByTagNameNS(
                                            oSVirtualHardDiskElement,
                                            "http://schemas.microsoft.com/windowsazure", "DiskLabel");
                                    if (diskLabelElement2 != null) {
                                        String diskLabelInstance2;
                                        diskLabelInstance2 = diskLabelElement2.getTextContent();
                                        oSVirtualHardDiskInstance.setLabel(diskLabelInstance2);
                                    }

                                    Element diskNameElement2 = XmlUtility.getElementByTagNameNS(
                                            oSVirtualHardDiskElement,
                                            "http://schemas.microsoft.com/windowsazure", "DiskName");
                                    if (diskNameElement2 != null) {
                                        String diskNameInstance2;
                                        diskNameInstance2 = diskNameElement2.getTextContent();
                                        oSVirtualHardDiskInstance.setName(diskNameInstance2);
                                    }

                                    Element mediaLinkElement2 = XmlUtility.getElementByTagNameNS(
                                            oSVirtualHardDiskElement,
                                            "http://schemas.microsoft.com/windowsazure", "MediaLink");
                                    if (mediaLinkElement2 != null) {
                                        URI mediaLinkInstance2;
                                        mediaLinkInstance2 = new URI(mediaLinkElement2.getTextContent());
                                        oSVirtualHardDiskInstance.setMediaLink(mediaLinkInstance2);
                                    }

                                    Element sourceImageNameElement = XmlUtility.getElementByTagNameNS(
                                            oSVirtualHardDiskElement,
                                            "http://schemas.microsoft.com/windowsazure", "SourceImageName");
                                    if (sourceImageNameElement != null) {
                                        String sourceImageNameInstance;
                                        sourceImageNameInstance = sourceImageNameElement.getTextContent();
                                        oSVirtualHardDiskInstance.setSourceImageName(sourceImageNameInstance);
                                    }

                                    Element osElement = XmlUtility.getElementByTagNameNS(
                                            oSVirtualHardDiskElement,
                                            "http://schemas.microsoft.com/windowsazure", "OS");
                                    if (osElement != null) {
                                        String osInstance;
                                        osInstance = osElement.getTextContent();
                                        oSVirtualHardDiskInstance.setOperatingSystem(osInstance);
                                    }

                                    Element remoteSourceImageLinkElement = XmlUtility.getElementByTagNameNS(
                                            oSVirtualHardDiskElement,
                                            "http://schemas.microsoft.com/windowsazure",
                                            "RemoteSourceImageLink");
                                    if (remoteSourceImageLinkElement != null) {
                                        URI remoteSourceImageLinkInstance;
                                        remoteSourceImageLinkInstance = new URI(
                                                remoteSourceImageLinkElement.getTextContent());
                                        oSVirtualHardDiskInstance
                                                .setRemoteSourceImageLink(remoteSourceImageLinkInstance);
                                    }

                                    Element iOTypeElement2 = XmlUtility.getElementByTagNameNS(
                                            oSVirtualHardDiskElement,
                                            "http://schemas.microsoft.com/windowsazure", "IOType");
                                    if (iOTypeElement2 != null) {
                                        String iOTypeInstance2;
                                        iOTypeInstance2 = iOTypeElement2.getTextContent();
                                        oSVirtualHardDiskInstance.setIOType(iOTypeInstance2);
                                    }

                                    Element resizedSizeInGBElement = XmlUtility.getElementByTagNameNS(
                                            oSVirtualHardDiskElement,
                                            "http://schemas.microsoft.com/windowsazure", "ResizedSizeInGB");
                                    if (resizedSizeInGBElement != null
                                            && resizedSizeInGBElement.getTextContent() != null
                                            && !resizedSizeInGBElement.getTextContent().isEmpty()) {
                                        int resizedSizeInGBInstance;
                                        resizedSizeInGBInstance = DatatypeConverter
                                                .parseInt(resizedSizeInGBElement.getTextContent());
                                        oSVirtualHardDiskInstance.setResizedSizeInGB(resizedSizeInGBInstance);
                                    }
                                }

                                Element roleSizeElement = XmlUtility.getElementByTagNameNS(roleListElement,
                                        "http://schemas.microsoft.com/windowsazure", "RoleSize");
                                if (roleSizeElement != null) {
                                    String roleSizeInstance;
                                    roleSizeInstance = roleSizeElement.getTextContent();
                                    roleInstance.setRoleSize(roleSizeInstance);
                                }

                                Element defaultWinRmCertificateThumbprintElement = XmlUtility
                                        .getElementByTagNameNS(roleListElement,
                                                "http://schemas.microsoft.com/windowsazure",
                                                "DefaultWinRmCertificateThumbprint");
                                if (defaultWinRmCertificateThumbprintElement != null) {
                                    String defaultWinRmCertificateThumbprintInstance;
                                    defaultWinRmCertificateThumbprintInstance = defaultWinRmCertificateThumbprintElement
                                            .getTextContent();
                                    roleInstance.setDefaultWinRmCertificateThumbprint(
                                            defaultWinRmCertificateThumbprintInstance);
                                }

                                Element provisionGuestAgentElement = XmlUtility.getElementByTagNameNS(
                                        roleListElement, "http://schemas.microsoft.com/windowsazure",
                                        "ProvisionGuestAgent");
                                if (provisionGuestAgentElement != null
                                        && provisionGuestAgentElement.getTextContent() != null
                                        && !provisionGuestAgentElement.getTextContent().isEmpty()) {
                                    boolean provisionGuestAgentInstance;
                                    provisionGuestAgentInstance = DatatypeConverter.parseBoolean(
                                            provisionGuestAgentElement.getTextContent().toLowerCase());
                                    roleInstance.setProvisionGuestAgent(provisionGuestAgentInstance);
                                }

                                Element vMImageInputElement = XmlUtility.getElementByTagNameNS(roleListElement,
                                        "http://schemas.microsoft.com/windowsazure", "VMImageInput");
                                if (vMImageInputElement != null) {
                                    VMImageInput vMImageInputInstance = new VMImageInput();
                                    roleInstance.setVMImageInput(vMImageInputInstance);

                                    Element oSDiskConfigurationElement = XmlUtility.getElementByTagNameNS(
                                            vMImageInputElement, "http://schemas.microsoft.com/windowsazure",
                                            "OSDiskConfiguration");
                                    if (oSDiskConfigurationElement != null) {
                                        OSDiskConfiguration oSDiskConfigurationInstance = new OSDiskConfiguration();
                                        vMImageInputInstance
                                                .setOSDiskConfiguration(oSDiskConfigurationInstance);

                                        Element resizedSizeInGBElement2 = XmlUtility.getElementByTagNameNS(
                                                oSDiskConfigurationElement,
                                                "http://schemas.microsoft.com/windowsazure", "ResizedSizeInGB");
                                        if (resizedSizeInGBElement2 != null
                                                && resizedSizeInGBElement2.getTextContent() != null
                                                && !resizedSizeInGBElement2.getTextContent().isEmpty()) {
                                            int resizedSizeInGBInstance2;
                                            resizedSizeInGBInstance2 = DatatypeConverter
                                                    .parseInt(resizedSizeInGBElement2.getTextContent());
                                            oSDiskConfigurationInstance
                                                    .setResizedSizeInGB(resizedSizeInGBInstance2);
                                        }
                                    }

                                    Element dataDiskConfigurationsSequenceElement = XmlUtility
                                            .getElementByTagNameNS(vMImageInputElement,
                                                    "http://schemas.microsoft.com/windowsazure",
                                                    "DataDiskConfigurations");
                                    if (dataDiskConfigurationsSequenceElement != null) {
                                        for (int i32 = 0; i32 < com.microsoft.windowsazure.core.utils.XmlUtility
                                                .getElementsByTagNameNS(dataDiskConfigurationsSequenceElement,
                                                        "http://schemas.microsoft.com/windowsazure",
                                                        "DataDiskConfiguration")
                                                .size(); i32 = i32 + 1) {
                                            org.w3c.dom.Element dataDiskConfigurationsElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                                    .getElementsByTagNameNS(
                                                            dataDiskConfigurationsSequenceElement,
                                                            "http://schemas.microsoft.com/windowsazure",
                                                            "DataDiskConfiguration")
                                                    .get(i32));
                                            DataDiskConfiguration dataDiskConfigurationInstance = new DataDiskConfiguration();
                                            vMImageInputInstance.getDataDiskConfigurations()
                                                    .add(dataDiskConfigurationInstance);

                                            Element nameElement11 = XmlUtility.getElementByTagNameNS(
                                                    dataDiskConfigurationsElement,
                                                    "http://schemas.microsoft.com/windowsazure", "Name");
                                            if (nameElement11 != null) {
                                                String nameInstance11;
                                                nameInstance11 = nameElement11.getTextContent();
                                                dataDiskConfigurationInstance.setDiskName(nameInstance11);
                                            }

                                            Element resizedSizeInGBElement3 = XmlUtility.getElementByTagNameNS(
                                                    dataDiskConfigurationsElement,
                                                    "http://schemas.microsoft.com/windowsazure",
                                                    "ResizedSizeInGB");
                                            if (resizedSizeInGBElement3 != null
                                                    && resizedSizeInGBElement3.getTextContent() != null
                                                    && !resizedSizeInGBElement3.getTextContent().isEmpty()) {
                                                int resizedSizeInGBInstance3;
                                                resizedSizeInGBInstance3 = DatatypeConverter
                                                        .parseInt(resizedSizeInGBElement3.getTextContent());
                                                dataDiskConfigurationInstance
                                                        .setResizedSizeInGB(resizedSizeInGBInstance3);
                                            }
                                        }
                                    }
                                }
                            }
                        }

                        Element sdkVersionElement = XmlUtility.getElementByTagNameNS(deploymentsElement,
                                "http://schemas.microsoft.com/windowsazure", "SdkVersion");
                        if (sdkVersionElement != null) {
                            String sdkVersionInstance;
                            sdkVersionInstance = sdkVersionElement.getTextContent();
                            deploymentInstance.setSdkVersion(sdkVersionInstance);
                        }

                        Element lockedElement = XmlUtility.getElementByTagNameNS(deploymentsElement,
                                "http://schemas.microsoft.com/windowsazure", "Locked");
                        if (lockedElement != null) {
                            boolean lockedInstance;
                            lockedInstance = DatatypeConverter
                                    .parseBoolean(lockedElement.getTextContent().toLowerCase());
                            deploymentInstance.setLocked(lockedInstance);
                        }

                        Element rollbackAllowedElement = XmlUtility.getElementByTagNameNS(deploymentsElement,
                                "http://schemas.microsoft.com/windowsazure", "RollbackAllowed");
                        if (rollbackAllowedElement != null) {
                            boolean rollbackAllowedInstance;
                            rollbackAllowedInstance = DatatypeConverter
                                    .parseBoolean(rollbackAllowedElement.getTextContent().toLowerCase());
                            deploymentInstance.setRollbackAllowed(rollbackAllowedInstance);
                        }

                        Element createdTimeElement = XmlUtility.getElementByTagNameNS(deploymentsElement,
                                "http://schemas.microsoft.com/windowsazure", "CreatedTime");
                        if (createdTimeElement != null) {
                            Calendar createdTimeInstance;
                            createdTimeInstance = DatatypeConverter
                                    .parseDateTime(createdTimeElement.getTextContent());
                            deploymentInstance.setCreatedTime(createdTimeInstance);
                        }

                        Element lastModifiedTimeElement = XmlUtility.getElementByTagNameNS(deploymentsElement,
                                "http://schemas.microsoft.com/windowsazure", "LastModifiedTime");
                        if (lastModifiedTimeElement != null) {
                            String lastModifiedTimeInstance;
                            lastModifiedTimeInstance = lastModifiedTimeElement.getTextContent();
                            deploymentInstance.setLastModifiedTime(lastModifiedTimeInstance);
                        }

                        Element virtualNetworkNameElement = XmlUtility.getElementByTagNameNS(deploymentsElement,
                                "http://schemas.microsoft.com/windowsazure", "VirtualNetworkName");
                        if (virtualNetworkNameElement != null) {
                            String virtualNetworkNameInstance;
                            virtualNetworkNameInstance = virtualNetworkNameElement.getTextContent();
                            deploymentInstance.setVirtualNetworkName(virtualNetworkNameInstance);
                        }

                        Element extendedPropertiesSequenceElement = XmlUtility.getElementByTagNameNS(
                                deploymentsElement, "http://schemas.microsoft.com/windowsazure",
                                "ExtendedProperties");
                        if (extendedPropertiesSequenceElement != null) {
                            for (int i33 = 0; i33 < com.microsoft.windowsazure.core.utils.XmlUtility
                                    .getElementsByTagNameNS(extendedPropertiesSequenceElement,
                                            "http://schemas.microsoft.com/windowsazure", "ExtendedProperty")
                                    .size(); i33 = i33 + 1) {
                                org.w3c.dom.Element extendedPropertiesElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                        .getElementsByTagNameNS(extendedPropertiesSequenceElement,
                                                "http://schemas.microsoft.com/windowsazure", "ExtendedProperty")
                                        .get(i33));
                                String extendedPropertiesKey = XmlUtility
                                        .getElementByTagNameNS(extendedPropertiesElement,
                                                "http://schemas.microsoft.com/windowsazure", "Name")
                                        .getTextContent();
                                String extendedPropertiesValue = XmlUtility
                                        .getElementByTagNameNS(extendedPropertiesElement,
                                                "http://schemas.microsoft.com/windowsazure", "Value")
                                        .getTextContent();
                                deploymentInstance.getExtendedProperties().put(extendedPropertiesKey,
                                        extendedPropertiesValue);
                            }
                        }

                        Element persistentVMDowntimeElement = XmlUtility.getElementByTagNameNS(
                                deploymentsElement, "http://schemas.microsoft.com/windowsazure",
                                "PersistentVMDowntime");
                        if (persistentVMDowntimeElement != null) {
                            PersistentVMDowntime persistentVMDowntimeInstance = new PersistentVMDowntime();
                            deploymentInstance.setPersistentVMDowntime(persistentVMDowntimeInstance);

                            Element startTimeElement = XmlUtility.getElementByTagNameNS(
                                    persistentVMDowntimeElement, "http://schemas.microsoft.com/windowsazure",
                                    "StartTime");
                            if (startTimeElement != null) {
                                Calendar startTimeInstance;
                                startTimeInstance = DatatypeConverter
                                        .parseDateTime(startTimeElement.getTextContent());
                                persistentVMDowntimeInstance.setStartTime(startTimeInstance);
                            }

                            Element endTimeElement = XmlUtility.getElementByTagNameNS(
                                    persistentVMDowntimeElement, "http://schemas.microsoft.com/windowsazure",
                                    "EndTime");
                            if (endTimeElement != null) {
                                Calendar endTimeInstance;
                                endTimeInstance = DatatypeConverter
                                        .parseDateTime(endTimeElement.getTextContent());
                                persistentVMDowntimeInstance.setEndTime(endTimeInstance);
                            }

                            Element statusElement6 = XmlUtility.getElementByTagNameNS(
                                    persistentVMDowntimeElement, "http://schemas.microsoft.com/windowsazure",
                                    "Status");
                            if (statusElement6 != null) {
                                String statusInstance6;
                                statusInstance6 = statusElement6.getTextContent();
                                persistentVMDowntimeInstance.setStatus(statusInstance6);
                            }
                        }

                        Element virtualIPsSequenceElement = XmlUtility.getElementByTagNameNS(deploymentsElement,
                                "http://schemas.microsoft.com/windowsazure", "VirtualIPs");
                        if (virtualIPsSequenceElement != null) {
                            for (int i34 = 0; i34 < com.microsoft.windowsazure.core.utils.XmlUtility
                                    .getElementsByTagNameNS(virtualIPsSequenceElement,
                                            "http://schemas.microsoft.com/windowsazure", "VirtualIP")
                                    .size(); i34 = i34 + 1) {
                                org.w3c.dom.Element virtualIPsElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                        .getElementsByTagNameNS(virtualIPsSequenceElement,
                                                "http://schemas.microsoft.com/windowsazure", "VirtualIP")
                                        .get(i34));
                                VirtualIPAddress virtualIPInstance = new VirtualIPAddress();
                                deploymentInstance.getVirtualIPAddresses().add(virtualIPInstance);

                                Element addressElement3 = XmlUtility.getElementByTagNameNS(virtualIPsElement,
                                        "http://schemas.microsoft.com/windowsazure", "Address");
                                if (addressElement3 != null) {
                                    InetAddress addressInstance3;
                                    addressInstance3 = InetAddress.getByName(addressElement3.getTextContent());
                                    virtualIPInstance.setAddress(addressInstance3);
                                }

                                Element isDnsProgrammedElement = XmlUtility.getElementByTagNameNS(
                                        virtualIPsElement, "http://schemas.microsoft.com/windowsazure",
                                        "IsDnsProgrammed");
                                if (isDnsProgrammedElement != null
                                        && isDnsProgrammedElement.getTextContent() != null
                                        && !isDnsProgrammedElement.getTextContent().isEmpty()) {
                                    boolean isDnsProgrammedInstance;
                                    isDnsProgrammedInstance = DatatypeConverter.parseBoolean(
                                            isDnsProgrammedElement.getTextContent().toLowerCase());
                                    virtualIPInstance.setIsDnsProgrammed(isDnsProgrammedInstance);
                                }

                                Element nameElement12 = XmlUtility.getElementByTagNameNS(virtualIPsElement,
                                        "http://schemas.microsoft.com/windowsazure", "Name");
                                if (nameElement12 != null) {
                                    String nameInstance12;
                                    nameInstance12 = nameElement12.getTextContent();
                                    virtualIPInstance.setName(nameInstance12);
                                }

                                Element reservedIPNameElement = XmlUtility.getElementByTagNameNS(
                                        virtualIPsElement, "http://schemas.microsoft.com/windowsazure",
                                        "ReservedIPName");
                                if (reservedIPNameElement != null) {
                                    String reservedIPNameInstance;
                                    reservedIPNameInstance = reservedIPNameElement.getTextContent();
                                    virtualIPInstance.setReservedIPName(reservedIPNameInstance);
                                }
                            }
                        }

                        Element dnsElement = XmlUtility.getElementByTagNameNS(deploymentsElement,
                                "http://schemas.microsoft.com/windowsazure", "Dns");
                        if (dnsElement != null) {
                            DnsSettings dnsInstance = new DnsSettings();
                            deploymentInstance.setDnsSettings(dnsInstance);

                            Element dnsServersSequenceElement = XmlUtility.getElementByTagNameNS(dnsElement,
                                    "http://schemas.microsoft.com/windowsazure", "DnsServers");
                            if (dnsServersSequenceElement != null) {
                                for (int i35 = 0; i35 < com.microsoft.windowsazure.core.utils.XmlUtility
                                        .getElementsByTagNameNS(dnsServersSequenceElement,
                                                "http://schemas.microsoft.com/windowsazure", "DnsServer")
                                        .size(); i35 = i35 + 1) {
                                    org.w3c.dom.Element dnsServersElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                            .getElementsByTagNameNS(dnsServersSequenceElement,
                                                    "http://schemas.microsoft.com/windowsazure", "DnsServer")
                                            .get(i35));
                                    DnsServer dnsServerInstance = new DnsServer();
                                    dnsInstance.getDnsServers().add(dnsServerInstance);

                                    Element nameElement13 = XmlUtility.getElementByTagNameNS(dnsServersElement,
                                            "http://schemas.microsoft.com/windowsazure", "Name");
                                    if (nameElement13 != null) {
                                        String nameInstance13;
                                        nameInstance13 = nameElement13.getTextContent();
                                        dnsServerInstance.setName(nameInstance13);
                                    }

                                    Element addressElement4 = XmlUtility.getElementByTagNameNS(
                                            dnsServersElement, "http://schemas.microsoft.com/windowsazure",
                                            "Address");
                                    if (addressElement4 != null) {
                                        InetAddress addressInstance4;
                                        addressInstance4 = InetAddress
                                                .getByName(addressElement4.getTextContent());
                                        dnsServerInstance.setAddress(addressInstance4);
                                    }
                                }
                            }
                        }
                    }
                }

                Element urlElement2 = XmlUtility.getElementByTagNameNS(hostedServiceElement,
                        "http://schemas.microsoft.com/windowsazure", "Url");
                if (urlElement2 != null) {
                    URI urlInstance2;
                    urlInstance2 = new URI(urlElement2.getTextContent());
                    result.setUri(urlInstance2);
                }

                Element serviceNameElement = XmlUtility.getElementByTagNameNS(hostedServiceElement,
                        "http://schemas.microsoft.com/windowsazure", "ServiceName");
                if (serviceNameElement != null) {
                    String serviceNameInstance;
                    serviceNameInstance = serviceNameElement.getTextContent();
                    result.setServiceName(serviceNameInstance);
                }

                Element hostedServicePropertiesElement = XmlUtility.getElementByTagNameNS(hostedServiceElement,
                        "http://schemas.microsoft.com/windowsazure", "HostedServiceProperties");
                if (hostedServicePropertiesElement != null) {
                    HostedServiceProperties hostedServicePropertiesInstance = new HostedServiceProperties();
                    result.setProperties(hostedServicePropertiesInstance);

                    Element descriptionElement2 = XmlUtility.getElementByTagNameNS(
                            hostedServicePropertiesElement, "http://schemas.microsoft.com/windowsazure",
                            "Description");
                    if (descriptionElement2 != null) {
                        String descriptionInstance2;
                        descriptionInstance2 = descriptionElement2.getTextContent();
                        hostedServicePropertiesInstance.setDescription(descriptionInstance2);
                    }

                    Element affinityGroupElement = XmlUtility.getElementByTagNameNS(
                            hostedServicePropertiesElement, "http://schemas.microsoft.com/windowsazure",
                            "AffinityGroup");
                    if (affinityGroupElement != null) {
                        String affinityGroupInstance;
                        affinityGroupInstance = affinityGroupElement.getTextContent();
                        hostedServicePropertiesInstance.setAffinityGroup(affinityGroupInstance);
                    }

                    Element locationElement = XmlUtility.getElementByTagNameNS(hostedServicePropertiesElement,
                            "http://schemas.microsoft.com/windowsazure", "Location");
                    if (locationElement != null) {
                        String locationInstance;
                        locationInstance = locationElement.getTextContent();
                        hostedServicePropertiesInstance.setLocation(locationInstance);
                    }

                    Element labelElement3 = XmlUtility.getElementByTagNameNS(hostedServicePropertiesElement,
                            "http://schemas.microsoft.com/windowsazure", "Label");
                    if (labelElement3 != null) {
                        String labelInstance3;
                        labelInstance3 = labelElement3.getTextContent() != null
                                ? new String(Base64.decode(labelElement3.getTextContent()))
                                : null;
                        hostedServicePropertiesInstance.setLabel(labelInstance3);
                    }

                    Element statusElement7 = XmlUtility.getElementByTagNameNS(hostedServicePropertiesElement,
                            "http://schemas.microsoft.com/windowsazure", "Status");
                    if (statusElement7 != null && statusElement7.getTextContent() != null
                            && !statusElement7.getTextContent().isEmpty()) {
                        HostedServiceStatus statusInstance7;
                        statusInstance7 = HostedServiceStatus.valueOf(statusElement7.getTextContent());
                        hostedServicePropertiesInstance.setStatus(statusInstance7);
                    }

                    Element dateCreatedElement = XmlUtility.getElementByTagNameNS(
                            hostedServicePropertiesElement, "http://schemas.microsoft.com/windowsazure",
                            "DateCreated");
                    if (dateCreatedElement != null) {
                        Calendar dateCreatedInstance;
                        dateCreatedInstance = DatatypeConverter
                                .parseDateTime(dateCreatedElement.getTextContent());
                        hostedServicePropertiesInstance.setDateCreated(dateCreatedInstance);
                    }

                    Element dateLastModifiedElement = XmlUtility.getElementByTagNameNS(
                            hostedServicePropertiesElement, "http://schemas.microsoft.com/windowsazure",
                            "DateLastModified");
                    if (dateLastModifiedElement != null) {
                        Calendar dateLastModifiedInstance;
                        dateLastModifiedInstance = DatatypeConverter
                                .parseDateTime(dateLastModifiedElement.getTextContent());
                        hostedServicePropertiesInstance.setDateLastModified(dateLastModifiedInstance);
                    }

                    Element extendedPropertiesSequenceElement2 = XmlUtility.getElementByTagNameNS(
                            hostedServicePropertiesElement, "http://schemas.microsoft.com/windowsazure",
                            "ExtendedProperties");
                    if (extendedPropertiesSequenceElement2 != null) {
                        for (int i36 = 0; i36 < com.microsoft.windowsazure.core.utils.XmlUtility
                                .getElementsByTagNameNS(extendedPropertiesSequenceElement2,
                                        "http://schemas.microsoft.com/windowsazure", "ExtendedProperty")
                                .size(); i36 = i36 + 1) {
                            org.w3c.dom.Element extendedPropertiesElement2 = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                    .getElementsByTagNameNS(extendedPropertiesSequenceElement2,
                                            "http://schemas.microsoft.com/windowsazure", "ExtendedProperty")
                                    .get(i36));
                            String extendedPropertiesKey2 = XmlUtility
                                    .getElementByTagNameNS(extendedPropertiesElement2,
                                            "http://schemas.microsoft.com/windowsazure", "Name")
                                    .getTextContent();
                            String extendedPropertiesValue2 = XmlUtility
                                    .getElementByTagNameNS(extendedPropertiesElement2,
                                            "http://schemas.microsoft.com/windowsazure", "Value")
                                    .getTextContent();
                            hostedServicePropertiesInstance.getExtendedProperties().put(extendedPropertiesKey2,
                                    extendedPropertiesValue2);
                        }
                    }

                    Element reverseDnsFqdnElement = XmlUtility.getElementByTagNameNS(
                            hostedServicePropertiesElement, "http://schemas.microsoft.com/windowsazure",
                            "ReverseDnsFqdn");
                    if (reverseDnsFqdnElement != null) {
                        String reverseDnsFqdnInstance;
                        reverseDnsFqdnInstance = reverseDnsFqdnElement.getTextContent();
                        hostedServicePropertiesInstance.setReverseDnsFqdn(reverseDnsFqdnInstance);
                    }
                }

                Element computeCapabilitiesElement = XmlUtility.getElementByTagNameNS(hostedServiceElement,
                        "http://schemas.microsoft.com/windowsazure", "ComputeCapabilities");
                if (computeCapabilitiesElement != null) {
                    ComputeCapabilities computeCapabilitiesInstance = new ComputeCapabilities();
                    result.setComputeCapabilities(computeCapabilitiesInstance);

                    Element virtualMachinesRoleSizesSequenceElement = XmlUtility.getElementByTagNameNS(
                            computeCapabilitiesElement, "http://schemas.microsoft.com/windowsazure",
                            "VirtualMachinesRoleSizes");
                    if (virtualMachinesRoleSizesSequenceElement != null) {
                        for (int i37 = 0; i37 < com.microsoft.windowsazure.core.utils.XmlUtility
                                .getElementsByTagNameNS(virtualMachinesRoleSizesSequenceElement,
                                        "http://schemas.microsoft.com/windowsazure", "RoleSize")
                                .size(); i37 = i37 + 1) {
                            org.w3c.dom.Element virtualMachinesRoleSizesElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                    .getElementsByTagNameNS(virtualMachinesRoleSizesSequenceElement,
                                            "http://schemas.microsoft.com/windowsazure", "RoleSize")
                                    .get(i37));
                            computeCapabilitiesInstance.getVirtualMachinesRoleSizes()
                                    .add(virtualMachinesRoleSizesElement.getTextContent());
                        }
                    }

                    Element webWorkerRoleSizesSequenceElement = XmlUtility.getElementByTagNameNS(
                            computeCapabilitiesElement, "http://schemas.microsoft.com/windowsazure",
                            "WebWorkerRoleSizes");
                    if (webWorkerRoleSizesSequenceElement != null) {
                        for (int i38 = 0; i38 < com.microsoft.windowsazure.core.utils.XmlUtility
                                .getElementsByTagNameNS(webWorkerRoleSizesSequenceElement,
                                        "http://schemas.microsoft.com/windowsazure", "RoleSize")
                                .size(); i38 = i38 + 1) {
                            org.w3c.dom.Element webWorkerRoleSizesElement = ((org.w3c.dom.Element) com.microsoft.windowsazure.core.utils.XmlUtility
                                    .getElementsByTagNameNS(webWorkerRoleSizesSequenceElement,
                                            "http://schemas.microsoft.com/windowsazure", "RoleSize")
                                    .get(i38));
                            computeCapabilitiesInstance.getWebWorkerRoleSizes()
                                    .add(webWorkerRoleSizesElement.getTextContent());
                        }
                    }
                }
            }

        }
        result.setStatusCode(statusCode);
        if (httpResponse.getHeaders("x-ms-request-id").length > 0) {
            result.setRequestId(httpResponse.getFirstHeader("x-ms-request-id").getValue());
        }

        if (shouldTrace) {
            CloudTracing.exit(invocationId, result);
        }
        return result;
    } finally {
        if (httpResponse != null && httpResponse.getEntity() != null) {
            httpResponse.getEntity().getContent().close();
        }
    }
}

From source file:com.microsoft.azure.management.notificationhubs.NamespaceOperationsImpl.java

/**
* Lists the available namespaces within a resourceGroup.  (see
* http://msdn.microsoft.com/en-us/library/azure/hh780759.aspx for more
* information)//from w  ww  .  j a va  2  s  .c  om
*
* @param resourceGroupName Required. The name of the resource group. If
* resourceGroupName value is null the method lists all the namespaces
* within subscription
* @throws IOException Signals that an I/O exception of some sort has
* occurred. This class is the general class of exceptions produced by
* failed or interrupted I/O operations.
* @throws ServiceException Thrown if an unexpected response is found.
* @throws URISyntaxException Thrown if there was an error parsing a URI in
* the response.
* @return The response of the List Namespace operation.
*/
@Override
public NamespaceListResponse list(String resourceGroupName)
        throws IOException, ServiceException, URISyntaxException {
    // Validate
    if (resourceGroupName == null) {
        throw new NullPointerException("resourceGroupName");
    }

    // Tracing
    boolean shouldTrace = CloudTracing.getIsEnabled();
    String invocationId = null;
    if (shouldTrace) {
        invocationId = Long.toString(CloudTracing.getNextInvocationId());
        HashMap<String, Object> tracingParameters = new HashMap<String, Object>();
        tracingParameters.put("resourceGroupName", resourceGroupName);
        CloudTracing.enter(invocationId, this, "listAsync", tracingParameters);
    }

    // Construct URL
    String url = "";
    url = url + "/subscriptions/";
    if (this.getClient().getCredentials().getSubscriptionId() != null) {
        url = url + URLEncoder.encode(this.getClient().getCredentials().getSubscriptionId(), "UTF-8");
    }
    url = url + "/resourceGroups/";
    url = url + URLEncoder.encode(resourceGroupName, "UTF-8");
    url = url + "/providers/";
    url = url + "Microsoft.NotificationHubs";
    url = url + "/namespaces";
    ArrayList<String> queryParameters = new ArrayList<String>();
    queryParameters.add("api-version=" + "2014-09-01");
    if (queryParameters.size() > 0) {
        url = url + "?" + CollectionStringBuilder.join(queryParameters, "&");
    }
    String baseUrl = this.getClient().getBaseUri().toString();
    // Trim '/' character from the end of baseUrl and beginning of url.
    if (baseUrl.charAt(baseUrl.length() - 1) == '/') {
        baseUrl = baseUrl.substring(0, (baseUrl.length() - 1) + 0);
    }
    if (url.charAt(0) == '/') {
        url = url.substring(1);
    }
    url = baseUrl + "/" + url;
    url = url.replace(" ", "%20");

    // Create HTTP transport objects
    HttpGet httpRequest = new HttpGet(url);

    // Set Headers
    httpRequest.setHeader("Content-Type", "application/json");

    // Send Request
    HttpResponse httpResponse = null;
    try {
        if (shouldTrace) {
            CloudTracing.sendRequest(invocationId, httpRequest);
        }
        httpResponse = this.getClient().getHttpClient().execute(httpRequest);
        if (shouldTrace) {
            CloudTracing.receiveResponse(invocationId, httpResponse);
        }
        int statusCode = httpResponse.getStatusLine().getStatusCode();
        if (statusCode != HttpStatus.SC_OK) {
            ServiceException ex = ServiceException.createFromJson(httpRequest, null, httpResponse,
                    httpResponse.getEntity());
            if (shouldTrace) {
                CloudTracing.error(invocationId, ex);
            }
            throw ex;
        }

        // Create Result
        NamespaceListResponse result = null;
        // Deserialize Response
        if (statusCode == HttpStatus.SC_OK) {
            InputStream responseContent = httpResponse.getEntity().getContent();
            result = new NamespaceListResponse();
            ObjectMapper objectMapper = new ObjectMapper();
            JsonNode responseDoc = null;
            String responseDocContent = IOUtils.toString(responseContent);
            if (responseDocContent == null == false && responseDocContent.length() > 0) {
                responseDoc = objectMapper.readTree(responseDocContent);
            }

            if (responseDoc != null && responseDoc instanceof NullNode == false) {
                JsonNode valueArray = responseDoc.get("value");
                if (valueArray != null && valueArray instanceof NullNode == false) {
                    for (JsonNode valueValue : ((ArrayNode) valueArray)) {
                        NamespaceResource namespaceResourceInstance = new NamespaceResource();
                        result.getValue().add(namespaceResourceInstance);

                        JsonNode idValue = valueValue.get("id");
                        if (idValue != null && idValue instanceof NullNode == false) {
                            String idInstance;
                            idInstance = idValue.getTextValue();
                            namespaceResourceInstance.setId(idInstance);
                        }

                        JsonNode locationValue = valueValue.get("location");
                        if (locationValue != null && locationValue instanceof NullNode == false) {
                            String locationInstance;
                            locationInstance = locationValue.getTextValue();
                            namespaceResourceInstance.setLocation(locationInstance);
                        }

                        JsonNode nameValue = valueValue.get("name");
                        if (nameValue != null && nameValue instanceof NullNode == false) {
                            String nameInstance;
                            nameInstance = nameValue.getTextValue();
                            namespaceResourceInstance.setName(nameInstance);
                        }

                        JsonNode typeValue = valueValue.get("type");
                        if (typeValue != null && typeValue instanceof NullNode == false) {
                            String typeInstance;
                            typeInstance = typeValue.getTextValue();
                            namespaceResourceInstance.setType(typeInstance);
                        }

                        JsonNode tagsSequenceElement = ((JsonNode) valueValue.get("tags"));
                        if (tagsSequenceElement != null && tagsSequenceElement instanceof NullNode == false) {
                            Iterator<Map.Entry<String, JsonNode>> itr = tagsSequenceElement.getFields();
                            while (itr.hasNext()) {
                                Map.Entry<String, JsonNode> property = itr.next();
                                String tagsKey = property.getKey();
                                String tagsValue = property.getValue().getTextValue();
                                namespaceResourceInstance.getTags().put(tagsKey, tagsValue);
                            }
                        }

                        JsonNode propertiesValue = valueValue.get("properties");
                        if (propertiesValue != null && propertiesValue instanceof NullNode == false) {
                            NamespaceProperties propertiesInstance = new NamespaceProperties();
                            namespaceResourceInstance.setProperties(propertiesInstance);

                            JsonNode nameValue2 = propertiesValue.get("name");
                            if (nameValue2 != null && nameValue2 instanceof NullNode == false) {
                                String nameInstance2;
                                nameInstance2 = nameValue2.getTextValue();
                                propertiesInstance.setName(nameInstance2);
                            }

                            JsonNode provisioningStateValue = propertiesValue.get("provisioningState");
                            if (provisioningStateValue != null
                                    && provisioningStateValue instanceof NullNode == false) {
                                String provisioningStateInstance;
                                provisioningStateInstance = provisioningStateValue.getTextValue();
                                propertiesInstance.setProvisioningState(provisioningStateInstance);
                            }

                            JsonNode regionValue = propertiesValue.get("region");
                            if (regionValue != null && regionValue instanceof NullNode == false) {
                                String regionInstance;
                                regionInstance = regionValue.getTextValue();
                                propertiesInstance.setRegion(regionInstance);
                            }

                            JsonNode statusValue = propertiesValue.get("status");
                            if (statusValue != null && statusValue instanceof NullNode == false) {
                                String statusInstance;
                                statusInstance = statusValue.getTextValue();
                                propertiesInstance.setStatus(statusInstance);
                            }

                            JsonNode createdAtValue = propertiesValue.get("createdAt");
                            if (createdAtValue != null && createdAtValue instanceof NullNode == false) {
                                Calendar createdAtInstance;
                                createdAtInstance = DatatypeConverter
                                        .parseDateTime(createdAtValue.getTextValue());
                                propertiesInstance.setCreatedAt(createdAtInstance);
                            }

                            JsonNode serviceBusEndpointValue = propertiesValue.get("serviceBusEndpoint");
                            if (serviceBusEndpointValue != null
                                    && serviceBusEndpointValue instanceof NullNode == false) {
                                URI serviceBusEndpointInstance;
                                serviceBusEndpointInstance = new URI(serviceBusEndpointValue.getTextValue());
                                propertiesInstance.setServiceBusEndpoint(serviceBusEndpointInstance);
                            }

                            JsonNode subscriptionIdValue = propertiesValue.get("subscriptionId");
                            if (subscriptionIdValue != null
                                    && subscriptionIdValue instanceof NullNode == false) {
                                String subscriptionIdInstance;
                                subscriptionIdInstance = subscriptionIdValue.getTextValue();
                                propertiesInstance.setSubscriptionId(subscriptionIdInstance);
                            }

                            JsonNode scaleUnitValue = propertiesValue.get("scaleUnit");
                            if (scaleUnitValue != null && scaleUnitValue instanceof NullNode == false) {
                                String scaleUnitInstance;
                                scaleUnitInstance = scaleUnitValue.getTextValue();
                                propertiesInstance.setScaleUnit(scaleUnitInstance);
                            }

                            JsonNode enabledValue = propertiesValue.get("enabled");
                            if (enabledValue != null && enabledValue instanceof NullNode == false) {
                                boolean enabledInstance;
                                enabledInstance = enabledValue.getBooleanValue();
                                propertiesInstance.setEnabled(enabledInstance);
                            }

                            JsonNode criticalValue = propertiesValue.get("critical");
                            if (criticalValue != null && criticalValue instanceof NullNode == false) {
                                boolean criticalInstance;
                                criticalInstance = criticalValue.getBooleanValue();
                                propertiesInstance.setCritical(criticalInstance);
                            }

                            JsonNode namespaceTypeValue = propertiesValue.get("namespaceType");
                            if (namespaceTypeValue != null && namespaceTypeValue instanceof NullNode == false) {
                                NamespaceType namespaceTypeInstance;
                                namespaceTypeInstance = Enum.valueOf(NamespaceType.class,
                                        namespaceTypeValue.getTextValue());
                                propertiesInstance.setNamespaceType(namespaceTypeInstance);
                            }
                        }
                    }
                }

                JsonNode nextLinkValue = responseDoc.get("nextLink");
                if (nextLinkValue != null && nextLinkValue instanceof NullNode == false) {
                    String nextLinkInstance;
                    nextLinkInstance = nextLinkValue.getTextValue();
                    result.setNextLink(nextLinkInstance);
                }
            }

        }
        result.setStatusCode(statusCode);
        if (httpResponse.getHeaders("x-ms-request-id").length > 0) {
            result.setRequestId(httpResponse.getFirstHeader("x-ms-request-id").getValue());
        }

        if (shouldTrace) {
            CloudTracing.exit(invocationId, result);
        }
        return result;
    } finally {
        if (httpResponse != null && httpResponse.getEntity() != null) {
            httpResponse.getEntity().getContent().close();
        }
    }
}