http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/eb990020/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListLocationsHandler.java ---------------------------------------------------------------------- diff --git a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListLocationsHandler.java b/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListLocationsHandler.java deleted file mode 100644 index 926be98..0000000 --- a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListLocationsHandler.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.azurecompute.xml; - -import java.util.List; - -import org.jclouds.azurecompute.domain.Location; -import org.jclouds.http.functions.ParseSax; -import org.xml.sax.Attributes; - -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableList.Builder; -import com.google.inject.Inject; - -public final class ListLocationsHandler extends ParseSax.HandlerForGeneratedRequestWithResult<List<Location>> { - - private boolean inLocation; - - private final LocationHandler locationHandler; - - private final Builder<Location> locations = ImmutableList.builder(); - - @Inject - ListLocationsHandler(LocationHandler locationHandler) { - this.locationHandler = locationHandler; - } - - @Override - public List<Location> getResult() { - return locations.build(); - } - - @Override - public void startElement(String url, String name, String qName, Attributes attributes) { - if (qName.equals("Location")) { - inLocation = true; - } - } - - @Override - public void endElement(String uri, String name, String qName) { - if (qName.equals("Location")) { - inLocation = false; - locations.add(locationHandler.getResult()); - } else if (inLocation) { - locationHandler.endElement(uri, name, qName); - } - } - - @Override - public void characters(char[] ch, int start, int length) { - if (inLocation) { - locationHandler.characters(ch, start, length); - } - } -}
http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/eb990020/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListNetworkSecurityGroupsHandler.java ---------------------------------------------------------------------- diff --git a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListNetworkSecurityGroupsHandler.java b/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListNetworkSecurityGroupsHandler.java deleted file mode 100644 index ad47e77..0000000 --- a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListNetworkSecurityGroupsHandler.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.azurecompute.xml; - -import java.util.List; - -import org.jclouds.azurecompute.domain.NetworkSecurityGroup; -import org.jclouds.http.functions.ParseSax; -import org.xml.sax.Attributes; - -import com.google.common.collect.ImmutableList; -import com.google.inject.Inject; - -public class ListNetworkSecurityGroupsHandler extends ParseSax.HandlerForGeneratedRequestWithResult<List<NetworkSecurityGroup>> { - - private boolean inNetworkSecurityGroup; - - private final NetworkSecurityGroupHandler networkSecurityGroupHandler; - - private final ImmutableList.Builder<NetworkSecurityGroup> networkSecurityGroups = ImmutableList.builder(); - - @Inject - ListNetworkSecurityGroupsHandler(NetworkSecurityGroupHandler networkSecurityGroupHandler) { - this.networkSecurityGroupHandler = networkSecurityGroupHandler; - } - - @Override - public List<NetworkSecurityGroup> getResult() { - return networkSecurityGroups.build(); - } - - @Override - public void startElement(String url, String name, String qName, Attributes attributes) { - if (qName.equals("NetworkSecurityGroup")) { - inNetworkSecurityGroup = true; - } - } - - @Override - public void endElement(String uri, String name, String qName) { - if (qName.equals("NetworkSecurityGroup")) { - inNetworkSecurityGroup = false; - networkSecurityGroups.add(networkSecurityGroupHandler.getResult()); - } else if (inNetworkSecurityGroup) { - networkSecurityGroupHandler.endElement(uri, name, qName); - } - } - - @Override - public void characters(char[] ch, int start, int length) { - if (inNetworkSecurityGroup) { - networkSecurityGroupHandler.characters(ch, start, length); - } - } - -} http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/eb990020/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListOSImagesHandler.java ---------------------------------------------------------------------- diff --git a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListOSImagesHandler.java b/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListOSImagesHandler.java deleted file mode 100644 index 29e7df4..0000000 --- a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListOSImagesHandler.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.azurecompute.xml; - -import java.util.List; - -import org.jclouds.azurecompute.domain.OSImage; -import org.jclouds.http.functions.ParseSax; -import org.xml.sax.Attributes; - -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableList.Builder; -import com.google.inject.Inject; - -public final class ListOSImagesHandler extends ParseSax.HandlerForGeneratedRequestWithResult<List<OSImage>> { - - private boolean inOSImage; - - private final OSImageHandler osImageHandler; - - private final Builder<OSImage> images = ImmutableList.builder(); - - @Inject - ListOSImagesHandler(OSImageHandler osImageHandler) { - this.osImageHandler = osImageHandler; - } - - @Override - public List<OSImage> getResult() { - return images.build(); - } - - @Override - public void startElement(String url, String name, String qName, Attributes attributes) { - if (qName.equals("OSImage")) { - inOSImage = true; - } - } - - @Override - public void endElement(String uri, String name, String qName) { - if (qName.equals("OSImage")) { - inOSImage = false; - images.add(osImageHandler.getResult()); - } else if (inOSImage) { - osImageHandler.endElement(uri, name, qName); - } - } - - @Override - public void characters(char[] ch, int start, int length) { - if (inOSImage) { - osImageHandler.characters(ch, start, length); - } - } -} http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/eb990020/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListProfileDefinitionsHandler.java ---------------------------------------------------------------------- diff --git a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListProfileDefinitionsHandler.java b/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListProfileDefinitionsHandler.java deleted file mode 100644 index 733b002..0000000 --- a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListProfileDefinitionsHandler.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.azurecompute.xml; - -import java.util.List; - -import javax.inject.Inject; - -import org.jclouds.http.functions.ParseSax; -import org.xml.sax.Attributes; - -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableList.Builder; -import org.jclouds.azurecompute.domain.ProfileDefinition; - -/** - * @see <a href="https://msdn.microsoft.com/en-us/library/azure/hh758252.aspx">Response body description</a> - */ -public final class ListProfileDefinitionsHandler extends - ParseSax.HandlerForGeneratedRequestWithResult<List<ProfileDefinition>> { - - private boolean inDefinition; - - private final ProfileDefinitionHandler profileDefinitionHandler; - - private final Builder<ProfileDefinition> definitions = ImmutableList.builder(); - - @Inject - ListProfileDefinitionsHandler(ProfileDefinitionHandler profileDefinitionHandler) { - this.profileDefinitionHandler = profileDefinitionHandler; - } - - @Override - public List<ProfileDefinition> getResult() { - return definitions.build(); - } - - @Override - public void startElement(final String url, final String name, final String qName, final Attributes attributes) { - if (qName.equals("Definition")) { - inDefinition = true; - } - - if (inDefinition) { - profileDefinitionHandler.startElement(url, name, qName, attributes); - } - } - - @Override - public void endElement(final String uri, final String name, final String qName) { - if (qName.equals("Definition")) { - inDefinition = false; - definitions.add(profileDefinitionHandler.getResult()); - } else if (inDefinition) { - profileDefinitionHandler.endElement(uri, name, qName); - } - } - - @Override - public void characters(final char[] ch, final int start, final int length) { - if (inDefinition) { - profileDefinitionHandler.characters(ch, start, length); - } - } -} http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/eb990020/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListProfilesHandler.java ---------------------------------------------------------------------- diff --git a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListProfilesHandler.java b/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListProfilesHandler.java deleted file mode 100644 index 2602afc..0000000 --- a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListProfilesHandler.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.azurecompute.xml; - -import java.util.List; - -import javax.inject.Inject; - -import org.jclouds.http.functions.ParseSax; -import org.xml.sax.Attributes; - -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableList.Builder; -import org.jclouds.azurecompute.domain.Profile; - -/** - * @see <a href="https://msdn.microsoft.com/en-us/library/azure/hh758249.aspx">Response body description</a> - */ -public final class ListProfilesHandler extends - ParseSax.HandlerForGeneratedRequestWithResult<List<Profile>> { - - private boolean inProfile; - - private final ProfileHandler profileHandler; - - private final Builder<Profile> profiles = ImmutableList.builder(); - - @Inject - ListProfilesHandler(ProfileHandler profileHandler) { - this.profileHandler = profileHandler; - } - - @Override - public List<Profile> getResult() { - return profiles.build(); - } - - @Override - public void startElement(final String url, final String name, final String qName, final Attributes attributes) { - if (qName.equals("Profile")) { - inProfile = true; - } - - if (inProfile) { - profileHandler.startElement(url, name, qName, attributes); - } - } - - @Override - public void endElement(final String uri, final String name, final String qName) { - if (qName.equals("Profile")) { - inProfile = false; - profiles.add(profileHandler.getResult()); - } else if (inProfile) { - profileHandler.endElement(uri, name, qName); - } - } - - @Override - public void characters(final char[] ch, final int start, final int length) { - if (inProfile) { - profileHandler.characters(ch, start, length); - } - } -} http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/eb990020/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListReservedIPAddressHandler.java ---------------------------------------------------------------------- diff --git a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListReservedIPAddressHandler.java b/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListReservedIPAddressHandler.java deleted file mode 100644 index b576662..0000000 --- a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListReservedIPAddressHandler.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.azurecompute.xml; - -import java.util.List; - -import javax.inject.Inject; - -import org.jclouds.http.functions.ParseSax; -import org.xml.sax.Attributes; - -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableList.Builder; -import org.jclouds.azurecompute.domain.ReservedIPAddress; - -/** - * @see <a href="https://msdn.microsoft.com/en-us/library/azure/dn722418.aspx">Response body description</a> - */ -public final class ListReservedIPAddressHandler extends - ParseSax.HandlerForGeneratedRequestWithResult<List<ReservedIPAddress>> { - - private boolean inReservedIP; - - private final ReservedIPAddressHandler reservedIPAddressHandler; - - private final Builder<ReservedIPAddress> ips = ImmutableList.builder(); - - @Inject - ListReservedIPAddressHandler(ReservedIPAddressHandler reservedIPAddressHandler) { - this.reservedIPAddressHandler = reservedIPAddressHandler; - } - - @Override - public List<ReservedIPAddress> getResult() { - return ips.build(); - } - - @Override - public void startElement(final String url, final String name, final String qName, final Attributes attributes) { - if (qName.equals("ReservedIP")) { - inReservedIP = true; - } - if (inReservedIP) { - reservedIPAddressHandler.startElement(url, name, qName, attributes); - } - } - - @Override - public void endElement(final String uri, final String name, final String qName) { - if (qName.equals("ReservedIP")) { - inReservedIP = false; - ips.add(reservedIPAddressHandler.getResult()); - } else if (inReservedIP) { - reservedIPAddressHandler.endElement(uri, name, qName); - } - } - - @Override - public void characters(final char[] ch, final int start, final int length) { - if (inReservedIP) { - reservedIPAddressHandler.characters(ch, start, length); - } - } -} http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/eb990020/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListRoleSizesHandler.java ---------------------------------------------------------------------- diff --git a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListRoleSizesHandler.java b/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListRoleSizesHandler.java deleted file mode 100644 index 94b7d75..0000000 --- a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListRoleSizesHandler.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.azurecompute.xml; - -import java.util.List; - -import org.jclouds.azurecompute.domain.RoleSize; -import org.jclouds.http.functions.ParseSax; -import org.xml.sax.Attributes; - -import com.google.common.collect.ImmutableList; -import com.google.inject.Inject; - -public final class ListRoleSizesHandler extends ParseSax.HandlerForGeneratedRequestWithResult<List<RoleSize>> { - - private boolean inRoleSize; - - private final RoleSizeHandler roleSizeHandler; - - private final ImmutableList.Builder<RoleSize> roleSizes = ImmutableList.builder(); - - @Inject - ListRoleSizesHandler(RoleSizeHandler roleSizeHandler) { - this.roleSizeHandler = roleSizeHandler; - } - - @Override - public List<RoleSize> getResult() { - return roleSizes.build(); - } - - @Override - public void startElement(String url, String name, String qName, Attributes attributes) { - if (qName.equals("RoleSize")) { - inRoleSize = true; - } - } - - @Override - public void endElement(String uri, String name, String qName) { - if (qName.equals("RoleSize")) { - inRoleSize = false; - roleSizes.add(roleSizeHandler.getResult()); - } else if (inRoleSize) { - roleSizeHandler.endElement(uri, name, qName); - } - } - - @Override - public void characters(char[] ch, int start, int length) { - if (inRoleSize) { - roleSizeHandler.characters(ch, start, length); - } - } -} http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/eb990020/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListServiceCertificatesHandler.java ---------------------------------------------------------------------- diff --git a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListServiceCertificatesHandler.java b/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListServiceCertificatesHandler.java deleted file mode 100644 index 5310f01..0000000 --- a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListServiceCertificatesHandler.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.azurecompute.xml; - -import java.util.List; - -import javax.inject.Inject; - -import org.jclouds.http.functions.ParseSax; -import org.xml.sax.Attributes; - -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableList.Builder; -import org.jclouds.azurecompute.domain.ServiceCertificate; - -/** - * @see <a href="https://msdn.microsoft.com/en-us/library/azure/ee460788.aspx">Response body description</a> - */ -public final class ListServiceCertificatesHandler extends - ParseSax.HandlerForGeneratedRequestWithResult<List<ServiceCertificate>> { - - private boolean inCertificate; - - private final ServiceCertificateHandler serviceCertificateHandler; - - private final Builder<ServiceCertificate> certificates = ImmutableList.builder(); - - @Inject - ListServiceCertificatesHandler(ServiceCertificateHandler serviceCertificateHandler) { - this.serviceCertificateHandler = serviceCertificateHandler; - } - - @Override - public List<ServiceCertificate> getResult() { - return certificates.build(); - } - - @Override - public void startElement(final String url, final String name, final String qName, final Attributes attributes) { - if (qName.equals("Certificate")) { - inCertificate = true; - } - if (inCertificate) { - serviceCertificateHandler.startElement(url, name, qName, attributes); - } - } - - @Override - public void endElement(final String uri, final String name, final String qName) { - if (qName.equals("Certificate")) { - inCertificate = false; - certificates.add(serviceCertificateHandler.getResult()); - } else if (inCertificate) { - serviceCertificateHandler.endElement(uri, name, qName); - } - } - - @Override - public void characters(final char[] ch, final int start, final int length) { - if (inCertificate) { - serviceCertificateHandler.characters(ch, start, length); - } - } -} http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/eb990020/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListStorageServicesHandler.java ---------------------------------------------------------------------- diff --git a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListStorageServicesHandler.java b/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListStorageServicesHandler.java deleted file mode 100644 index 284131f..0000000 --- a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListStorageServicesHandler.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.azurecompute.xml; - -import java.util.List; - -import org.jclouds.azurecompute.domain.StorageService; -import org.jclouds.http.functions.ParseSax; -import org.xml.sax.Attributes; - -import com.google.common.collect.ImmutableList; -import com.google.inject.Inject; - -public class ListStorageServicesHandler extends ParseSax.HandlerForGeneratedRequestWithResult<List<StorageService>> { - - private boolean inStorageService; - - private final StorageServiceHandler storageServiceHandler; - - private final ImmutableList.Builder<StorageService> storageAccounts = ImmutableList.builder(); - - @Inject - ListStorageServicesHandler(final StorageServiceHandler storageServiceHandler) { - this.storageServiceHandler = storageServiceHandler; - } - - @Override - public List<StorageService> getResult() { - return storageAccounts.build(); - } - - @Override - public void startElement(final String url, final String name, final String qName, final Attributes attributes) { - if ("StorageService".equals(qName)) { - inStorageService = true; - } - if (inStorageService) { - storageServiceHandler.startElement(url, name, qName, attributes); - } - } - - @Override - public void endElement(final String uri, final String name, final String qName) { - if ("StorageService".equals(qName)) { - inStorageService = false; - storageAccounts.add(storageServiceHandler.getResult()); - } else if (inStorageService) { - storageServiceHandler.endElement(uri, name, qName); - } - } - - @Override - public void characters(final char[] ch, final int start, final int length) { - if (inStorageService) { - storageServiceHandler.characters(ch, start, length); - } - } -} http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/eb990020/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListVMImagesHandler.java ---------------------------------------------------------------------- diff --git a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListVMImagesHandler.java b/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListVMImagesHandler.java deleted file mode 100644 index 7818abc..0000000 --- a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListVMImagesHandler.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.azurecompute.xml; - -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableList.Builder; -import com.google.inject.Inject; -import org.jclouds.azurecompute.domain.VMImage; -import org.jclouds.http.functions.ParseSax; -import org.xml.sax.Attributes; -import org.xml.sax.SAXException; - -import java.util.List; - -public final class ListVMImagesHandler extends ParseSax.HandlerForGeneratedRequestWithResult<List<VMImage>> { - private boolean inVMImage; - private final VMImageHandler vmImageHandler; - private final Builder<VMImage> images = ImmutableList.builder(); - - @Inject ListVMImagesHandler(VMImageHandler vmImageHandler) { - this.vmImageHandler = vmImageHandler; - } - - @Override - public List<VMImage> getResult() { - return images.build(); - } - - @Override - public void startElement(String url, String name, String qName, Attributes attributes) throws SAXException { - if (qName.equals("VMImage")) { - inVMImage = true; - } - if (inVMImage) { - vmImageHandler.startElement(url, name, qName, attributes); - } - } - - @Override - public void endElement(String uri, String name, String qName) { - if (qName.equals("VMImage")) { - inVMImage = false; - images.add(vmImageHandler.getResult()); - } - if (inVMImage) { - vmImageHandler.endElement(uri, name, qName); - } - } - - @Override - public void characters(char[] ch, int start, int length) { - if (inVMImage) { - vmImageHandler.characters(ch, start, length); - } - } -} http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/eb990020/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListVirtualNetworkSitesHandler.java ---------------------------------------------------------------------- diff --git a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListVirtualNetworkSitesHandler.java b/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListVirtualNetworkSitesHandler.java deleted file mode 100644 index cd8aed5..0000000 --- a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ListVirtualNetworkSitesHandler.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.azurecompute.xml; - -import java.util.List; - -import org.jclouds.azurecompute.domain.NetworkConfiguration.VirtualNetworkSite; -import org.jclouds.http.functions.ParseSax; -import org.xml.sax.Attributes; - -import com.google.common.collect.ImmutableList; -import com.google.inject.Inject; - -public class ListVirtualNetworkSitesHandler extends ParseSax.HandlerForGeneratedRequestWithResult<List<VirtualNetworkSite>> { - - private boolean inVirtualNetworkSite; - - private final VirtualNetworkSiteHandler virtualNetworkSiteHandler; - - private final ImmutableList.Builder<VirtualNetworkSite> virtualNetworkSites = ImmutableList.builder(); - - @Inject - ListVirtualNetworkSitesHandler(VirtualNetworkSiteHandler virtualNetworkSiteHandler) { - this.virtualNetworkSiteHandler = virtualNetworkSiteHandler; - } - - @Override - public List<VirtualNetworkSite> getResult() { - return virtualNetworkSites.build(); - } - - @Override - public void startElement(String url, String name, String qName, Attributes attributes) { - if (qName.equals("VirtualNetworkSite")) { - inVirtualNetworkSite = true; - } - if (inVirtualNetworkSite) { - virtualNetworkSiteHandler.startElement(url, name, qName, attributes); - } - } - - @Override - public void endElement(String uri, String name, String qName) { - if (qName.equals("VirtualNetworkSite")) { - inVirtualNetworkSite = false; - virtualNetworkSites.add(virtualNetworkSiteHandler.getResult()); - } else if (inVirtualNetworkSite) { - virtualNetworkSiteHandler.endElement(uri, name, qName); - } - } - - @Override - public void characters(char[] ch, int start, int length) { - if (inVirtualNetworkSite) { - virtualNetworkSiteHandler.characters(ch, start, length); - } - } -} http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/eb990020/azurecompute/src/main/java/org/jclouds/azurecompute/xml/LocationHandler.java ---------------------------------------------------------------------- diff --git a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/LocationHandler.java b/azurecompute/src/main/java/org/jclouds/azurecompute/xml/LocationHandler.java deleted file mode 100644 index 2b226c5..0000000 --- a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/LocationHandler.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.azurecompute.xml; - -import static org.jclouds.util.SaxUtils.currentOrNull; - -import java.util.List; - -import org.jclouds.azurecompute.domain.Location; -import org.jclouds.http.functions.ParseSax; - -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Lists; -import com.google.inject.Inject; -import org.jclouds.azurecompute.domain.ComputeCapabilities; -import org.xml.sax.Attributes; -import org.xml.sax.SAXException; - -/** - * @see <a href="http://msdn.microsoft.com/en-us/library/gg441293" >api</a> - */ -final class LocationHandler extends ParseSax.HandlerForGeneratedRequestWithResult<Location> { - - private String name; - - private String displayName; - - private final List<String> availableServices = Lists.newArrayList(); - - private ComputeCapabilities computeCapabilities; - - private boolean inComputeCapabilities = false; - - private final ComputeCapabilitiesHandler computeCapabilitiesHandler; - - private final StringBuilder currentText = new StringBuilder(); - - @Inject - LocationHandler(final ComputeCapabilitiesHandler computeCapabilitiesHandler) { - this.computeCapabilitiesHandler = computeCapabilitiesHandler; - } - - @Override - public Location getResult() { - Location result = Location.create( - name, displayName, ImmutableList.copyOf(availableServices), computeCapabilities); - - // handler is called in a loop. - name = displayName = null; - availableServices.clear(); - computeCapabilities = null; - - return result; - } - - @Override - public void startElement(final String uri, final String localName, final String qName, final Attributes attributes) - throws SAXException { - - if ("ComputeCapabilities".equals(qName)) { - inComputeCapabilities = true; - } else if (inComputeCapabilities) { - computeCapabilitiesHandler.startElement(uri, localName, qName, attributes); - } - } - - @Override - public void endElement(String ignoredUri, String ignoredName, String qName) { - if (qName.equals("Name")) { - name = currentOrNull(currentText); - } else if (qName.equals("DisplayName")) { - displayName = currentOrNull(currentText); - } else if (qName.equals("AvailableService")) { - availableServices.add(currentOrNull(currentText)); - } else if ("ComputeCapabilities".equals(qName)) { - inComputeCapabilities = false; - computeCapabilities = computeCapabilitiesHandler.getResult(); - } else if (inComputeCapabilities) { - computeCapabilitiesHandler.endElement(ignoredUri, ignoredName, qName); - } - - currentText.setLength(0); - } - - @Override - public void characters(final char[] ch, final int start, final int length) { - if (inComputeCapabilities) { - computeCapabilitiesHandler.characters(ch, start, length); - } else { - currentText.append(ch, start, length); - } - } -} http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/eb990020/azurecompute/src/main/java/org/jclouds/azurecompute/xml/NetworkConfigurationHandler.java ---------------------------------------------------------------------- diff --git a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/NetworkConfigurationHandler.java b/azurecompute/src/main/java/org/jclouds/azurecompute/xml/NetworkConfigurationHandler.java deleted file mode 100644 index 1679d6a..0000000 --- a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/NetworkConfigurationHandler.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.azurecompute.xml; - -import org.jclouds.azurecompute.domain.NetworkConfiguration; -import org.jclouds.azurecompute.domain.NetworkConfiguration.VirtualNetworkConfiguration; -import org.jclouds.http.functions.ParseSax; -import org.xml.sax.Attributes; - -import com.google.inject.Inject; - -public class NetworkConfigurationHandler extends ParseSax.HandlerForGeneratedRequestWithResult<NetworkConfiguration> { - - private VirtualNetworkConfiguration virtualNetworkConfiguration; - - private boolean inVirtualNetworkConfiguration; - - private final VirtualNetworkConfigurationHandler virtualNetworkConfigurationHandler; - - @Inject - NetworkConfigurationHandler(VirtualNetworkConfigurationHandler virtualNetworkConfigurationHandler) { - this.virtualNetworkConfigurationHandler = virtualNetworkConfigurationHandler; - } - - private final StringBuilder currentText = new StringBuilder(); - - @Override - public void startElement(String url, String name, String qName, Attributes attributes) { - if (qName.equals("VirtualNetworkConfiguration")) { - inVirtualNetworkConfiguration = true; - } - if (inVirtualNetworkConfiguration) { - virtualNetworkConfigurationHandler.startElement(url, name, qName, attributes); - } - } - - @Override - public NetworkConfiguration getResult() { - return NetworkConfiguration.create(virtualNetworkConfiguration); - } - - @Override - public void endElement(String ignoredUri, String ignoredName, String qName) { - if (qName.equals("VirtualNetworkConfiguration")) { - virtualNetworkConfiguration = virtualNetworkConfigurationHandler.getResult(); - } else if (inVirtualNetworkConfiguration) { - virtualNetworkConfigurationHandler.endElement(ignoredUri, ignoredName, qName); - } - currentText.setLength(0); - } - - @Override - public void characters(char[] ch, int start, int length) { - if (inVirtualNetworkConfiguration) { - virtualNetworkConfigurationHandler.characters(ch, start, length); - } else { - currentText.append(ch, start, length); - } - } -} http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/eb990020/azurecompute/src/main/java/org/jclouds/azurecompute/xml/NetworkSecurityGroupHandler.java ---------------------------------------------------------------------- diff --git a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/NetworkSecurityGroupHandler.java b/azurecompute/src/main/java/org/jclouds/azurecompute/xml/NetworkSecurityGroupHandler.java deleted file mode 100644 index 876cfe8..0000000 --- a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/NetworkSecurityGroupHandler.java +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.azurecompute.xml; - -import static org.jclouds.util.SaxUtils.currentOrNull; -import java.util.List; - -import org.jclouds.azurecompute.domain.NetworkSecurityGroup; -import org.jclouds.azurecompute.domain.Rule; -import org.jclouds.http.functions.ParseSax; -import org.xml.sax.Attributes; - -import com.google.common.collect.Lists; - -public class NetworkSecurityGroupHandler extends ParseSax.HandlerForGeneratedRequestWithResult<NetworkSecurityGroup> { - - private String name; - - private String label; - - private String location; - - private NetworkSecurityGroup.State state; - - private List<Rule> rules = Lists.newArrayList(); - - private boolean inRule; - - private final RuleHandler ruleHandler = new RuleHandler(); - - private final StringBuilder currentText = new StringBuilder(); - - @Override - public void startElement(String uri, String localName, String qName, Attributes attributes) { - if (qName.equals("Rule")) { - inRule = true; - } - } - - @Override - public NetworkSecurityGroup getResult() { - NetworkSecurityGroup result = NetworkSecurityGroup.create(name, label, location, state, rules); - name = label = location = null; // handler is called in a loop. - this.state = null; - rules = Lists.newArrayList(); - return result; - } - - @Override - public void endElement(String ignoredUri, String ignoredName, String qName) { - if (qName.equals("Rule")) { - inRule = false; - rules.add(ruleHandler.getResult()); - } else if (inRule) { - ruleHandler.endElement(ignoredUri, ignoredName, qName); - } else if (qName.equals("Name")) { - name = currentOrNull(currentText); - } else if (qName.equals("Label")) { - label = currentOrNull(currentText); - } else if (qName.equals("Location")) { - location = currentOrNull(currentText); - } else if (qName.equals("State")) { - state = NetworkSecurityGroup.State.fromString(currentOrNull(currentText)); - } - currentText.setLength(0); - } - - @Override - public void characters(char[] ch, int start, int length) { - if (inRule) { - ruleHandler.characters(ch, start, length); - } else { - currentText.append(ch, start, length); - } - } - -} http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/eb990020/azurecompute/src/main/java/org/jclouds/azurecompute/xml/OSConfigHandler.java ---------------------------------------------------------------------- diff --git a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/OSConfigHandler.java b/azurecompute/src/main/java/org/jclouds/azurecompute/xml/OSConfigHandler.java deleted file mode 100644 index 2d4998b..0000000 --- a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/OSConfigHandler.java +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.azurecompute.xml; - -import org.jclouds.azurecompute.domain.OSImage; -import org.jclouds.azurecompute.domain.VMImage; -import org.jclouds.http.functions.ParseSax; - -import java.net.URI; - -import static com.google.common.base.CaseFormat.UPPER_CAMEL; -import static com.google.common.base.CaseFormat.UPPER_UNDERSCORE; -import static org.jclouds.util.SaxUtils.currentOrNull; - -/** - * @see <a href="https://msdn.microsoft.com/en-us/library/azure/jj157193.aspx#DataVirtualHardDisks" >api</a> - */ -final class OSConfigHandler extends ParseSax.HandlerForGeneratedRequestWithResult<VMImage.OSDiskConfiguration> { - - private VMImage.OSDiskConfiguration.Caching hostCaching; - private String name; - private VMImage.OSDiskConfiguration.OSState osState; - private OSImage.Type os; - private Integer logicalDiskSizeInGB; - private URI mediaLink; - private String ioType; - - private final StringBuilder currentText = new StringBuilder(); - - @Override - public VMImage.OSDiskConfiguration getResult() { - return VMImage.OSDiskConfiguration - .create(name, hostCaching, osState, os, mediaLink, logicalDiskSizeInGB, ioType); - } - - @Override - public void endElement(String ignoredUri, String ignoredName, String qName) { - - if (qName.equals("HostCaching")) { - String hostCachingText = currentOrNull(currentText); - if (hostCachingText != null) { - hostCaching = parseHostCache(hostCachingText); - } - } else if (qName.equals("OSState")) { - String osStateText = currentOrNull(currentText); - if (osStateText != null) { - osState = VMImage.OSDiskConfiguration.OSState.valueOf(osStateText.toUpperCase()); - } - } else if (qName.equals("OS")) { - String osText = currentOrNull(currentText); - if (osText != null) { - os = OSImage.Type.valueOf(osText.toUpperCase()); - } - } else if (qName.equals("Name")) { - name = currentOrNull(currentText); - } else if (qName.equals("LogicalDiskSizeInGB")) { - String gb = currentOrNull(currentText); - if (gb != null) { - logicalDiskSizeInGB = Integer.parseInt(gb); - } - } else if (qName.equals("MediaLink")) { - String link = currentOrNull(currentText); - if (link != null) { - mediaLink = URI.create(link); - } - } else if (qName.equals("IOType")) { - ioType = currentOrNull(currentText); - } - currentText.setLength(0); - } - - private static VMImage.OSDiskConfiguration.Caching parseHostCache(String hostCaching) { - try { - return VMImage.OSDiskConfiguration.Caching.valueOf(UPPER_CAMEL.to(UPPER_UNDERSCORE, hostCaching)); - } catch (IllegalArgumentException e) { - return VMImage.OSDiskConfiguration.Caching.NONE; - } - } - - private static VMImage.OSDiskConfiguration.OSState parseOSState(String osState) { - try { - return VMImage.OSDiskConfiguration.OSState.valueOf(UPPER_CAMEL.to(UPPER_UNDERSCORE, osState)); - } catch (IllegalArgumentException e) { - throw new IllegalArgumentException(e); - } - } - - @Override - public void characters(char[] ch, int start, int length) { - currentText.append(ch, start, length); - } -} http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/eb990020/azurecompute/src/main/java/org/jclouds/azurecompute/xml/OSImageHandler.java ---------------------------------------------------------------------- diff --git a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/OSImageHandler.java b/azurecompute/src/main/java/org/jclouds/azurecompute/xml/OSImageHandler.java deleted file mode 100644 index 0932c08..0000000 --- a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/OSImageHandler.java +++ /dev/null @@ -1,188 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.azurecompute.xml; - -import static com.google.common.base.Strings.emptyToNull; -import static org.jclouds.util.SaxUtils.currentOrNull; - -import java.net.URI; -import java.util.Date; -import java.util.List; - -import org.jclouds.azurecompute.domain.OSImage; -import org.jclouds.date.internal.SimpleDateFormatDateService; -import org.jclouds.http.functions.ParseSax; - -import com.google.common.base.Splitter; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.Lists; - -/** - * @see <a href="http://msdn.microsoft.com/en-us/library/jj157191" >api</a> - */ -final class OSImageHandler extends ParseSax.HandlerForGeneratedRequestWithResult<OSImage> { - - private String name; - - private String location; - - private String affinityGroup; - - private String label; - - private String category; - - private String description; - - private String imageFamily; - - private OSImage.Type os; - - private URI mediaLink; - - private Integer logicalSizeInGB; - - private final List<String> eulas = Lists.newArrayList(); - - private Date publishedDate; - - private String iconUri; - - private String smallIconUri; - - private URI privacyUri; - - private URI pricingDetailLink; - - private String recommendedVMSize; - - private Boolean isPremium; - - private Boolean showInGui; - - private String publisherName; - - private final StringBuilder currentText = new StringBuilder(); - - @Override - public OSImage getResult() { - OSImage result = OSImage.create(name, location, affinityGroup, label, description, imageFamily, category, os, - publisherName, mediaLink, logicalSizeInGB, ImmutableList.copyOf(eulas)); - resetState(); // handler is called in a loop. - return result; - } - - private void resetState() { - name = affinityGroup = label = description = category = imageFamily = iconUri = smallIconUri = recommendedVMSize - = publisherName = null; - os = null; - publisherName = null; - mediaLink = null; - logicalSizeInGB = null; - publishedDate = null; - privacyUri = pricingDetailLink = null; - isPremium = null; - showInGui = null; - eulas.clear(); - location = null; - } - - @Override - public void endElement(String ignoredUri, String ignoredName, String qName) { - if (qName.equals("OS")) { - String osText = currentOrNull(currentText); - if (osText != null) { - os = OSImage.Type.valueOf(currentOrNull(currentText).toUpperCase()); - } - } else if (qName.equals("Name")) { - name = currentOrNull(currentText); - } else if (qName.equals("LogicalSizeInGB")) { - String gb = currentOrNull(currentText); - if (gb != null) { - logicalSizeInGB = Integer.parseInt(gb); - } - } else if (qName.equals("Description")) { - description = currentOrNull(currentText); - } else if (qName.equals("Category")) { - category = currentOrNull(currentText); - } else if (qName.equals("Location")) { - location = currentOrNull(currentText); - } else if (qName.equals("AffinityGroup")) { - affinityGroup = currentOrNull(currentText); - } else if (qName.equals("PublisherName")) { - publisherName = currentOrNull(currentText); - } else if (qName.equals("MediaLink")) { - String link = currentOrNull(currentText); - if (link != null) { - mediaLink = URI.create(link); - } - } else if (qName.equals("Eula")) { - String eulaField = currentOrNull(currentText); - if (eulaField != null) { - for (String eula : Splitter.on(';').split(eulaField)) { - if ((eula = emptyToNull(eula.trim())) != null) { // Dirty data in RightScale eulas field. - eulas.add(eula); - } - } - } - } else if (qName.equals("Label")) { - label = currentOrNull(currentText); - } else if (qName.equals("ImageFamily")) { - imageFamily = currentOrNull(currentText); - } else if (qName.equals("PublishedDate")) { - String date = currentOrNull(currentText); - if (date != null) { - publishedDate = new SimpleDateFormatDateService().iso8601DateOrSecondsDateParse(date); - } - } else if (qName.equals("IconUri")) { - iconUri = currentOrNull(currentText); - } else if (qName.equals("SmallIconUri")) { - smallIconUri = currentOrNull(currentText); - } else if (qName.equals("PrivacyUri")) { - String uri = currentOrNull(currentText); - if (uri != null) { - privacyUri = URI.create(uri); - } - } else if (qName.equals("RecommendedVMSize")) { - recommendedVMSize = currentOrNull(currentText); - } else if (qName.equals("IsPremium")) { - String premium = currentOrNull(currentText); - if (premium != null) { - isPremium = Boolean.valueOf(premium); - } - } else if (qName.equals("ShowInGui")) { - String show = currentOrNull(currentText); - if (show != null) { - showInGui = Boolean.valueOf(show); - } - } else if (qName.equals("PublisherName")) { - publisherName = currentOrNull(currentText); - } else if (qName.equals("PricingDetailLink")) { - String uri = currentOrNull(currentText); - if (uri != null) { - pricingDetailLink = URI.create(uri); - } - } - - currentText.setLength(0); - } - - @Override - public void characters(char[] ch, int start, int length) { - currentText.append(ch, start, length); - } -} http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/eb990020/azurecompute/src/main/java/org/jclouds/azurecompute/xml/OSVirtualHardDiskHandler.java ---------------------------------------------------------------------- diff --git a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/OSVirtualHardDiskHandler.java b/azurecompute/src/main/java/org/jclouds/azurecompute/xml/OSVirtualHardDiskHandler.java deleted file mode 100644 index 265e786..0000000 --- a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/OSVirtualHardDiskHandler.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.azurecompute.xml; - -import static org.jclouds.util.SaxUtils.currentOrNull; -import java.net.URI; - -import org.jclouds.azurecompute.domain.OSImage; -import org.jclouds.azurecompute.domain.Role; -import org.jclouds.http.functions.ParseSax; - -public class OSVirtualHardDiskHandler extends ParseSax.HandlerForGeneratedRequestWithResult<Role.OSVirtualHardDisk> { - - private String hostCaching; - - private String diskName; - - private URI mediaLink; - - private String sourceImageName; - - private OSImage.Type os; - - private Integer lun; - - private Integer logicalDiskSizeInGB; - - private final StringBuilder currentText = new StringBuilder(); - - @Override - public Role.OSVirtualHardDisk getResult() { - return Role.OSVirtualHardDisk.create(hostCaching, diskName, lun, logicalDiskSizeInGB, mediaLink, sourceImageName, os); - } - - @Override - public void endElement(String ignoredUri, String ignoredName, String qName) { - if (qName.equals("HostCaching")) { - hostCaching = currentOrNull(currentText); - } else if (qName.equals("DiskName")) { - diskName = currentOrNull(currentText); - } else if (qName.equals("MediaLink")) { - String link = currentOrNull(currentText); - if (link != null) { - mediaLink = URI.create(link); - } - } else if (qName.equals("SourceImageName")) { - sourceImageName = currentOrNull(currentText); - } else if (qName.equals("OS")) { - String osText = currentOrNull(currentText); - if (osText != null) { - os = OSImage.Type.valueOf(currentOrNull(currentText).toUpperCase()); - } - } - currentText.setLength(0); - } - - @Override - public void characters(char[] ch, int start, int length) { - currentText.append(ch, start, length); - } - -} http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/eb990020/azurecompute/src/main/java/org/jclouds/azurecompute/xml/OperationHandler.java ---------------------------------------------------------------------- diff --git a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/OperationHandler.java b/azurecompute/src/main/java/org/jclouds/azurecompute/xml/OperationHandler.java deleted file mode 100644 index 321316d..0000000 --- a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/OperationHandler.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.azurecompute.xml; - -import static com.google.common.base.CaseFormat.UPPER_CAMEL; -import static com.google.common.base.CaseFormat.UPPER_UNDERSCORE; -import static org.jclouds.util.SaxUtils.currentOrNull; - -import org.jclouds.azurecompute.domain.Error; -import org.jclouds.azurecompute.domain.Operation; -import org.jclouds.azurecompute.domain.Operation.Status; -import org.jclouds.http.functions.ParseSax; -import org.xml.sax.Attributes; - -/** - * @see <a href="http://msdn.microsoft.com/en-us/library/ee460783" >api</a> - */ -public final class OperationHandler extends ParseSax.HandlerForGeneratedRequestWithResult<Operation> { - - private String id; - - private Status status; - - private Integer httpStatusCode; - - private Error error; - - private boolean inError; - - private final ErrorHandler errorHandler = new ErrorHandler(); - - private final StringBuilder currentText = new StringBuilder(); - - @Override - public Operation getResult() { - return Operation.create(id, status, httpStatusCode, error); - } - - @Override - public void startElement(String url, String name, String qName, Attributes attributes) { - if (qName.equals("Error")) { - inError = true; - } - } - - @Override - public void endElement(String uri, String name, String qName) { - if (qName.equals("Error")) { - error = errorHandler.getResult(); - inError = false; - } else if (inError) { - errorHandler.endElement(uri, name, qName); - } else if (qName.equals("ID")) { - id = currentOrNull(currentText); - } else if (qName.equals("Status")) { - String statusText = currentOrNull(currentText); - status = Status.fromString(UPPER_CAMEL.to(UPPER_UNDERSCORE, statusText)); - } else if (qName.equals("HttpStatusCode")) { - httpStatusCode = Integer.parseInt(currentOrNull(currentText)); - } - currentText.setLength(0); - } - - @Override - public void characters(char[] ch, int start, int length) { - if (inError) { - errorHandler.characters(ch, start, length); - } else { - currentText.append(ch, start, length); - } - } -} http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/eb990020/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ProfileDefinitionEndpointHandler.java ---------------------------------------------------------------------- diff --git a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ProfileDefinitionEndpointHandler.java b/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ProfileDefinitionEndpointHandler.java deleted file mode 100644 index 8266a17..0000000 --- a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ProfileDefinitionEndpointHandler.java +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.azurecompute.xml; - -import static org.jclouds.util.SaxUtils.currentOrNull; - -import org.jclouds.azurecompute.domain.ProfileDefinition; -import org.jclouds.azurecompute.domain.ProfileDefinitionEndpoint; -import org.jclouds.azurecompute.domain.ProfileDefinition.HealthStatus; -import org.jclouds.azurecompute.domain.ProfileDefinition.Status; - -import org.jclouds.http.functions.ParseSax; - -import org.xml.sax.Attributes; - -/** - * @see <a href="http://msdn.microsoft.com/en-us/library/gg441293" >Response body description</a> - */ -public final class ProfileDefinitionEndpointHandler - extends ParseSax.HandlerForGeneratedRequestWithResult<ProfileDefinitionEndpoint> { - - private String domain; - - private Status status; - - private HealthStatus healthStatus; - - private ProfileDefinitionEndpoint.Type type; - - private String location; - - private Integer weight; - - private Integer min; - - private final StringBuilder currentText = new StringBuilder(); - - @Override - public ProfileDefinitionEndpoint getResult() { - final ProfileDefinitionEndpoint result = ProfileDefinitionEndpoint.create( - domain, status, healthStatus, type, location, weight, min); - resetState(); // handler is called in a loop. - return result; - } - - private void resetState() { - domain = location = null; - min = null; - status = null; - type = null; - } - - @Override - public void startElement( - final String ignoredUri, - final String ignoredLocalName, - final String qName, - final Attributes ignoredAttributes) { - } - - @Override - public void endElement(final String ignoredUri, final String ignoredName, final String qName) { - if (qName.equals("DomainName")) { - domain = currentOrNull(currentText); - } else if (qName.equals("Status")) { - final String value = currentText.toString().trim(); - status = value.isEmpty() - ? null - : Status.fromString(value); - } else if (qName.equals("MonitorStatus")) { - final String value = currentText.toString().trim(); - healthStatus = value.isEmpty() - ? null - : ProfileDefinition.HealthStatus.fromString(value); - } else if (qName.equals("Type")) { - final String value = currentText.toString().trim(); - type = value.isEmpty() - ? ProfileDefinitionEndpoint.Type.CLOUDSERVICE - : ProfileDefinitionEndpoint.Type.fromString(value); - } else if (qName.equals("Location")) { - location = currentOrNull(currentText); - } else if (qName.equals("Weight")) { - final String value = currentText.toString().trim(); - weight = value.isEmpty() ? 1 : Integer.parseInt(value); - } else if (qName.equals("MinChildEndpoints")) { - final String value = currentText.toString().trim(); - min = value.isEmpty() ? 1 : Integer.parseInt(value); - } - currentText.setLength(0); - } - - @Override - public void characters(final char[] ch, final int start, final int length) { - currentText.append(ch, start, length); - } -} http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/eb990020/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ProfileDefinitionHandler.java ---------------------------------------------------------------------- diff --git a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ProfileDefinitionHandler.java b/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ProfileDefinitionHandler.java deleted file mode 100644 index 98a8804..0000000 --- a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ProfileDefinitionHandler.java +++ /dev/null @@ -1,148 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.azurecompute.xml; - -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableList.Builder; -import static org.jclouds.util.SaxUtils.currentOrNull; - -import org.jclouds.http.functions.ParseSax; -import org.xml.sax.Attributes; - -import javax.inject.Inject; -import org.jclouds.azurecompute.domain.ProfileDefinition; -import org.jclouds.azurecompute.domain.ProfileDefinitionEndpoint; -import org.jclouds.azurecompute.domain.ProfileDefinitionMonitor; - -/** - * @see <a href="http://msdn.microsoft.com/en-us/library/gg441293" >Response body description</a> - */ -public final class ProfileDefinitionHandler extends ParseSax.HandlerForGeneratedRequestWithResult<ProfileDefinition> { - - private Integer ttl; - - private ProfileDefinition.Status status; - - private String version; - - private Builder<ProfileDefinitionMonitor> monitors = ImmutableList.<ProfileDefinitionMonitor>builder(); - - private ProfileDefinition.LBMethod lb; - - private Builder<ProfileDefinitionEndpoint> endpoints = ImmutableList.<ProfileDefinitionEndpoint>builder(); - - private ProfileDefinition.HealthStatus healthStatus; - - private final StringBuilder currentText = new StringBuilder(); - - private final ProfileDefinitionMonitorHandler monitorHandler; - - private final ProfileDefinitionEndpointHandler endpointHandler; - - private boolean inMonitor = false; - private boolean inEndpoint = false; - - @Inject - public ProfileDefinitionHandler( - ProfileDefinitionMonitorHandler monitorHandler, ProfileDefinitionEndpointHandler endpointHandler) { - this.monitorHandler = monitorHandler; - this.endpointHandler = endpointHandler; - } - - @Override - public ProfileDefinition getResult() { - final ProfileDefinition result = ProfileDefinition.create( - ttl, status, version, monitors.build(), lb, endpoints.build(), healthStatus); - resetState(); // handler is called in a loop. - return result; - } - - private void resetState() { - ttl = null; - status = null; - version = null; - monitors = ImmutableList.<ProfileDefinitionMonitor>builder(); - lb = null; - endpoints = ImmutableList.<ProfileDefinitionEndpoint>builder(); - inMonitor = false; - inEndpoint = false; - } - - @Override - public void startElement( - final String url, - final String name, - final String qName, - final Attributes attributes) { - - if (!inEndpoint && qName.equals("Monitor")) { - inMonitor = true; - } - - if (!inMonitor && qName.equals("Endpoint")) { - inEndpoint = true; - } - - if (inMonitor) { - monitorHandler.startElement(url, name, qName, attributes); - } else if (inEndpoint) { - endpointHandler.startElement(url, name, qName, attributes); - } - } - - @Override - public void endElement(final String uri, final String name, final String qName) { - if (!inEndpoint && qName.equals("Monitor")) { - inMonitor = false; - monitors.add(monitorHandler.getResult()); - } else if (!inMonitor && qName.equals("Endpoint")) { - inEndpoint = false; - endpoints.add(endpointHandler.getResult()); - } else if (inMonitor) { - monitorHandler.endElement(uri, name, qName); - } else if (inEndpoint) { - endpointHandler.endElement(uri, name, qName); - } else { - if (qName.equals("TimeToLiveInSeconds")) { - ttl = Integer.parseInt(currentOrNull(currentText)); - } else if (qName.equals("Status")) { - status = ProfileDefinition.Status.fromString(currentOrNull(currentText)); - } else if (qName.equals("Version")) { - version = currentOrNull(currentText); - } else if (qName.equals("LoadBalancingMethod")) { - lb = ProfileDefinition.LBMethod.fromString(currentOrNull(currentText)); - } else if (qName.equals("MonitorStatus")) { - final String value = currentText.toString().trim(); - healthStatus = value.isEmpty() - ? null - : ProfileDefinition.HealthStatus.fromString(value); - } - currentText.setLength(0); - } - } - - @Override - public void characters(final char[] ch, final int start, final int length) { - if (inMonitor) { - monitorHandler.characters(ch, start, length); - } else if (inEndpoint) { - endpointHandler.characters(ch, start, length); - } else { - currentText.append(ch, start, length); - } - } -} http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/eb990020/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ProfileDefinitionMonitorHandler.java ---------------------------------------------------------------------- diff --git a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ProfileDefinitionMonitorHandler.java b/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ProfileDefinitionMonitorHandler.java deleted file mode 100644 index 2a19158..0000000 --- a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ProfileDefinitionMonitorHandler.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.azurecompute.xml; - -import static org.jclouds.util.SaxUtils.currentOrNull; - -import org.jclouds.http.functions.ParseSax; -import org.xml.sax.Attributes; - -import org.jclouds.azurecompute.domain.ProfileDefinition; -import org.jclouds.azurecompute.domain.ProfileDefinitionMonitor; - -/** - * @see <a href="http://msdn.microsoft.com/en-us/library/gg441293" >Response body description</a> - */ -public final class ProfileDefinitionMonitorHandler - extends ParseSax.HandlerForGeneratedRequestWithResult<ProfileDefinitionMonitor> { - - private Integer intervall; - - private Integer timeout; - - private Integer toleration; - - private ProfileDefinition.Protocol protocol; - - private Integer port; - - private String verb; - - private String path; - - private Integer expected; - - private final StringBuilder currentText = new StringBuilder(); - - @Override - public ProfileDefinitionMonitor getResult() { - final ProfileDefinitionMonitor result = ProfileDefinitionMonitor.create( - intervall, timeout, toleration, protocol, port, verb, path, expected); - resetState(); // handler is called in a loop. - return result; - } - - private void resetState() { - intervall = timeout = toleration = port = expected = null; - protocol = null; - verb = path = null; - } - - @Override - public void startElement( - final String ignoredUri, - final String ignoredLocalName, - final String qName, - final Attributes ignoredAttributes) { - } - - @Override - public void endElement(final String ignoredUri, final String ignoredName, final String qName) { - if (qName.equals("IntervalInSeconds")) { - final String value = currentText.toString().trim(); - intervall = value.isEmpty() - ? ProfileDefinitionMonitor.DEFAULT_INTERVAL - : Integer.parseInt(value); - } else if (qName.equals("TimeoutInSeconds")) { - final String value = currentText.toString().trim(); - timeout = value.isEmpty() - ? ProfileDefinitionMonitor.DEFAULT_TIMEOUT - : Integer.parseInt(value); - } else if (qName.equals("ToleratedNumberOfFailures")) { - final String value = currentText.toString().trim(); - toleration = value.isEmpty() - ? ProfileDefinitionMonitor.DEFAULT_TOLERAION - : Integer.parseInt(value); - } else if (qName.equals("Protocol")) { - protocol = ProfileDefinition.Protocol.fromString(currentOrNull(currentText)); - } else if (qName.equals("Port")) { - port = Integer.parseInt(currentOrNull(currentText)); - } else if (qName.equals("Verb")) { - final String value = currentText.toString().trim(); - verb = value.isEmpty() - ? ProfileDefinitionMonitor.DEFAULT_VERB - : value; - } else if (qName.equals("RelativePath")) { - path = currentOrNull(currentText); - } else if (qName.equals("ExpectedStatusCode")) { - final String value = currentText.toString().trim(); - expected = value.isEmpty() - ? ProfileDefinitionMonitor.DEFAULT_EXPECTED - : Integer.parseInt(value); - } - currentText.setLength(0); - } - - @Override - public void characters(final char[] ch, final int start, final int length) { - currentText.append(ch, start, length); - } -} http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/eb990020/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ProfileHandler.java ---------------------------------------------------------------------- diff --git a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ProfileHandler.java b/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ProfileHandler.java deleted file mode 100644 index 8df6a85..0000000 --- a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ProfileHandler.java +++ /dev/null @@ -1,113 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.azurecompute.xml; - -import com.google.common.collect.ImmutableMap; -import static org.jclouds.util.SaxUtils.currentOrNull; - -import org.jclouds.http.functions.ParseSax; -import org.xml.sax.Attributes; - -import org.jclouds.azurecompute.domain.Profile; -import org.jclouds.azurecompute.domain.ProfileDefinition; - -/** - * @see <a href="https://msdn.microsoft.com/en-us/library/azure/hh758251.aspx" >Response body description</a> - */ -public final class ProfileHandler extends ParseSax.HandlerForGeneratedRequestWithResult<Profile> { - - private String domain; - - private String name; - - private ProfileDefinition.Status status; - - private String version; - - private ImmutableMap.Builder<String, ProfileDefinition.Status> definitions - = ImmutableMap.<String, ProfileDefinition.Status>builder(); - - private final StringBuilder currentText = new StringBuilder(); - - private boolean inDefinition = false; - - private String definitionVersion = null; - private ProfileDefinition.Status definitionStatus = null; - - @Override - public Profile getResult() { - final Profile result = Profile.create(domain, name, status, version, definitions.build()); - resetState(); // handler is called in a loop. - return result; - } - - private void resetState() { - domain = name = version = null; - status = null; - definitions = ImmutableMap.<String, ProfileDefinition.Status>builder(); - inDefinition = false; - } - - @Override - public void startElement( - final String url, - final String name, - final String qName, - final Attributes attributes) { - - if (qName.equals("Definition")) { - inDefinition = true; - } - } - - @Override - public void endElement(final String ignoredURI, final String ignoredName, final String qName) { - if (qName.equals("Definition")) { - inDefinition = false; - definitions.put(definitionVersion, definitionStatus); - } else if (inDefinition) { - if (qName.equals("Status")) { - final String value = currentText.toString().trim(); - definitionStatus = value.isEmpty() - ? null - : ProfileDefinition.Status.fromString(value); - } else if (qName.equals("Version")) { - definitionVersion = currentOrNull(currentText); - } - } else { - if (qName.equals("DomainName")) { - domain = currentOrNull(currentText); - } else if (qName.equals("Name")) { - name = currentOrNull(currentText); - } else if (qName.equals("Status")) { - final String value = currentText.toString().trim(); - status = value.isEmpty() - ? null - : ProfileDefinition.Status.fromString(value); - } else if (qName.equals("EnabledVersion")) { - version = currentOrNull(currentText); - } - } - currentText.setLength(0); - - } - - @Override - public void characters(final char[] ch, final int start, final int length) { - currentText.append(ch, start, length); - } -} http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/eb990020/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ReservedIPAddressHandler.java ---------------------------------------------------------------------- diff --git a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ReservedIPAddressHandler.java b/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ReservedIPAddressHandler.java deleted file mode 100644 index c3838e0..0000000 --- a/azurecompute/src/main/java/org/jclouds/azurecompute/xml/ReservedIPAddressHandler.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.jclouds.azurecompute.xml; - -import static org.jclouds.util.SaxUtils.currentOrNull; - -import org.jclouds.http.functions.ParseSax; -import org.xml.sax.Attributes; - -import org.jclouds.azurecompute.domain.ReservedIPAddress; -import org.jclouds.azurecompute.domain.ReservedIPAddress.State; - -/** - * @see <a href="https://msdn.microsoft.com/en-us/library/azure/dn722412.aspx" >Response body description</a> - */ -public final class ReservedIPAddressHandler extends ParseSax.HandlerForGeneratedRequestWithResult<ReservedIPAddress> { - - private String name; - - private String address; - - private String id; - - private String label; - - private State state; - - private Boolean inUse; - - private String serviceName; - - private String deploymentName; - - private String location; - - private final StringBuilder currentText = new StringBuilder(); - - @Override - public ReservedIPAddress getResult() { - final ReservedIPAddress result = ReservedIPAddress.create( - name, address, id, label, state, inUse, serviceName, deploymentName, location); - resetState(); // handler is called in a loop. - return result; - } - - private void resetState() { - name = address = id = label = serviceName = deploymentName = location = null; - state = null; - inUse = null; - } - - @Override - public void startElement( - final String ignoredUri, - final String ignoredLocalName, - final String qName, - final Attributes ignoredAttributes) { - } - - @Override - public void endElement(final String ignoredUri, final String ignoredName, final String qName) { - if (qName.equals("Name")) { - name = currentOrNull(currentText); - } else if (qName.equals("Address")) { - address = currentOrNull(currentText); - } else if (qName.equals("Id")) { - id = currentOrNull(currentText); - } else if (qName.equals("Label")) { - label = currentOrNull(currentText); - } else if (qName.equals("State")) { - state = State.fromString(currentOrNull(currentText)); - } else if (qName.equals("InUse")) { - final String use = currentOrNull(currentText); - inUse = use == null ? null : Boolean.valueOf(use); - } else if (qName.equals("ServiceName")) { - serviceName = currentOrNull(currentText); - } else if (qName.equals("DeploymentName")) { - deploymentName = currentOrNull(currentText); - } else if (qName.equals("Location")) { - location = currentOrNull(currentText); - } - currentText.setLength(0); - } - - @Override - public void characters(final char[] ch, final int start, final int length) { - currentText.append(ch, start, length); - } -}
