From 4dab8a3462edf88cd0dd25d370932b927969d5c2 Mon Sep 17 00:00:00 2001 From: asc89 Date: Tue, 19 Nov 2013 09:51:37 -0800 Subject: [PATCH 1/3] Fixed a broken model --- ceilometer-client/pom.xml | 6 ++--- ceilometer-model/pom.xml | 2 +- glance-client/pom.xml | 8 +++---- glance-model/pom.xml | 4 ++-- keystone-client/pom.xml | 8 +++---- keystone-model/pom.xml | 4 ++-- nova-client/pom.xml | 8 +++---- nova-model/pom.xml | 4 ++-- .../woorea/openstack/nova/model/Image.java | 9 ++++++++ .../jersey-connector/pom.xml | 2 +- .../jersey2-connector/pom.xml | 4 ++-- openstack-client-connectors/pom.xml | 6 ++--- .../resteasy-connector/pom.xml | 4 ++-- openstack-client/pom.xml | 4 ++-- openstack-console/pom.xml | 14 ++++++------ openstack-examples/pom.xml | 22 +++++++++---------- pom.xml | 4 ++-- quantum-client/pom.xml | 6 ++--- quantum-model/pom.xml | 2 +- swift-client/pom.xml | 8 +++---- swift-model/pom.xml | 4 ++-- 21 files changed, 71 insertions(+), 62 deletions(-) diff --git a/ceilometer-client/pom.xml b/ceilometer-client/pom.xml index f8a9a3fe1..f5946d220 100644 --- a/ceilometer-client/pom.xml +++ b/ceilometer-client/pom.xml @@ -3,7 +3,7 @@ com.woorea openstack-java-sdk - 3.2.2-SNAPSHOT + 3.2.2-rescale ceilometer-client OpenStack Ceilometer Client @@ -12,12 +12,12 @@ com.woorea openstack-client - 3.2.2-SNAPSHOT + 3.2.2-rescale com.woorea ceilometer-model - 3.2.2-SNAPSHOT + 3.2.2-rescale diff --git a/ceilometer-model/pom.xml b/ceilometer-model/pom.xml index 2718bdbe8..1fc7fa42b 100644 --- a/ceilometer-model/pom.xml +++ b/ceilometer-model/pom.xml @@ -3,7 +3,7 @@ com.woorea openstack-java-sdk - 3.2.2-SNAPSHOT + 3.2.2-rescale ceilometer-model OpenStack Ceilometer Model diff --git a/glance-client/pom.xml b/glance-client/pom.xml index 6eb537e1c..3634f2745 100644 --- a/glance-client/pom.xml +++ b/glance-client/pom.xml @@ -3,7 +3,7 @@ com.woorea openstack-java-sdk - 3.2.2-SNAPSHOT + 3.2.2-rescale glance-client OpenStack Glance Client @@ -12,13 +12,13 @@ com.woorea openstack-client - 3.2.2-SNAPSHOT + 3.2.2-rescale com.woorea glance-model - 3.2.2-SNAPSHOT + 3.2.2-rescale - \ No newline at end of file + diff --git a/glance-model/pom.xml b/glance-model/pom.xml index 2efc98be8..2b3a8280e 100644 --- a/glance-model/pom.xml +++ b/glance-model/pom.xml @@ -3,9 +3,9 @@ com.woorea openstack-java-sdk - 3.2.2-SNAPSHOT + 3.2.2-rescale glance-model OpenStack Glance Model OpenStack Glance Model - \ No newline at end of file + diff --git a/keystone-client/pom.xml b/keystone-client/pom.xml index 69a46ed43..c23f6aade 100644 --- a/keystone-client/pom.xml +++ b/keystone-client/pom.xml @@ -3,7 +3,7 @@ com.woorea openstack-java-sdk - 3.2.2-SNAPSHOT + 3.2.2-rescale keystone-client OpenStack Keystone Client @@ -12,12 +12,12 @@ com.woorea openstack-client - 3.2.2-SNAPSHOT + 3.2.2-rescale com.woorea keystone-model - 3.2.2-SNAPSHOT + 3.2.2-rescale - \ No newline at end of file + diff --git a/keystone-model/pom.xml b/keystone-model/pom.xml index 0c8794192..fa5409d7b 100644 --- a/keystone-model/pom.xml +++ b/keystone-model/pom.xml @@ -3,9 +3,9 @@ com.woorea openstack-java-sdk - 3.2.2-SNAPSHOT + 3.2.2-rescale keystone-model OpenStack Keystone Model OpenStack Keystone Model - \ No newline at end of file + diff --git a/nova-client/pom.xml b/nova-client/pom.xml index f967af043..fff39f02a 100644 --- a/nova-client/pom.xml +++ b/nova-client/pom.xml @@ -3,7 +3,7 @@ com.woorea openstack-java-sdk - 3.2.2-SNAPSHOT + 3.2.2-rescale nova-client OpenStack Nova Client @@ -12,12 +12,12 @@ com.woorea openstack-client - 3.2.2-SNAPSHOT + 3.2.2-rescale com.woorea nova-model - 3.2.2-SNAPSHOT + 3.2.2-rescale - \ No newline at end of file + diff --git a/nova-model/pom.xml b/nova-model/pom.xml index e7cfec5c3..5f40c28db 100644 --- a/nova-model/pom.xml +++ b/nova-model/pom.xml @@ -3,9 +3,9 @@ com.woorea openstack-java-sdk - 3.2.2-SNAPSHOT + 3.2.2-rescale nova-model OpenStack Nova Model OpenStack Nova Model - \ No newline at end of file + diff --git a/nova-model/src/main/java/com/woorea/openstack/nova/model/Image.java b/nova-model/src/main/java/com/woorea/openstack/nova/model/Image.java index 212169617..15700ebfd 100644 --- a/nova-model/src/main/java/com/woorea/openstack/nova/model/Image.java +++ b/nova-model/src/main/java/com/woorea/openstack/nova/model/Image.java @@ -34,6 +34,8 @@ public class Image implements Serializable { private List links; + private Server server; + /** * @return the id */ @@ -139,6 +141,9 @@ public Calendar getUpdated() { return updated; } + public Server getServer() { + return server; + } /** * @param updated the updated to set */ @@ -181,6 +186,10 @@ public void setLinks(List links) { this.links = links; } + public void setServer(Server server) { + this.server = server; + } + /* (non-Javadoc) * @see java.lang.Object#toString() */ diff --git a/openstack-client-connectors/jersey-connector/pom.xml b/openstack-client-connectors/jersey-connector/pom.xml index b9b95c496..831343a45 100644 --- a/openstack-client-connectors/jersey-connector/pom.xml +++ b/openstack-client-connectors/jersey-connector/pom.xml @@ -3,7 +3,7 @@ com.woorea openstack-client-connectors - 3.2.2-SNAPSHOT + 3.2.2-rescale jersey-connector OpenStack Jersey Connector diff --git a/openstack-client-connectors/jersey2-connector/pom.xml b/openstack-client-connectors/jersey2-connector/pom.xml index 518ceb510..3207a4036 100644 --- a/openstack-client-connectors/jersey2-connector/pom.xml +++ b/openstack-client-connectors/jersey2-connector/pom.xml @@ -4,7 +4,7 @@ com.woorea openstack-client-connectors - 3.2.2-SNAPSHOT + 3.2.2-rescale jersey2-connector OpenStack Jersey2 Connector @@ -27,7 +27,7 @@ com.woorea openstack-client - 3.2.2-SNAPSHOT + 3.2.2-rescale diff --git a/openstack-client-connectors/pom.xml b/openstack-client-connectors/pom.xml index b5f29f241..2a8b72d2a 100644 --- a/openstack-client-connectors/pom.xml +++ b/openstack-client-connectors/pom.xml @@ -3,7 +3,7 @@ com.woorea openstack-java-sdk - 3.2.2-SNAPSHOT + 3.2.2-rescale openstack-client-connectors OpenStack Client Connectors @@ -42,7 +42,7 @@ com.woorea openstack-client - 3.2.2-SNAPSHOT + 3.2.2-rescale - \ No newline at end of file + diff --git a/openstack-client-connectors/resteasy-connector/pom.xml b/openstack-client-connectors/resteasy-connector/pom.xml index 6cbea9dc8..a297d0964 100644 --- a/openstack-client-connectors/resteasy-connector/pom.xml +++ b/openstack-client-connectors/resteasy-connector/pom.xml @@ -3,7 +3,7 @@ com.woorea openstack-client-connectors - 3.2.2-SNAPSHOT + 3.2.2-rescale resteasy-connector OpenStack RESTEasy Connector @@ -25,4 +25,4 @@ 3.1 - \ No newline at end of file + diff --git a/openstack-client/pom.xml b/openstack-client/pom.xml index c3fcf3510..0f44c48bb 100644 --- a/openstack-client/pom.xml +++ b/openstack-client/pom.xml @@ -3,9 +3,9 @@ com.woorea openstack-java-sdk - 3.2.2-SNAPSHOT + 3.2.2-rescale openstack-client OpenStack Client OpenStack Client - \ No newline at end of file + diff --git a/openstack-console/pom.xml b/openstack-console/pom.xml index 2f462ec81..fd7fbb6ae 100644 --- a/openstack-console/pom.xml +++ b/openstack-console/pom.xml @@ -3,7 +3,7 @@ com.woorea openstack-java-sdk - 3.2.2-SNAPSHOT + 3.2.2-rescale openstack-console OpenStack Console @@ -22,12 +22,12 @@ com.woorea keystone-client - 3.2.2-SNAPSHOT + 3.2.2-rescale com.woorea nova-client - 3.2.2-SNAPSHOT + 3.2.2-rescale @@ -37,7 +37,7 @@ com.woorea jersey-connector - 3.0.0-SNAPSHOT + 3.0.0-rescale @@ -47,7 +47,7 @@ com.woorea jersey2-connector - 3.0.0-SNAPSHOT + 3.0.0-rescale @@ -57,7 +57,7 @@ com.woorea resteasy-connector - 3.0.0-SNAPSHOT + 3.0.0-rescale @@ -74,4 +74,4 @@ - \ No newline at end of file + diff --git a/openstack-examples/pom.xml b/openstack-examples/pom.xml index 812c59a89..d293905d3 100644 --- a/openstack-examples/pom.xml +++ b/openstack-examples/pom.xml @@ -3,7 +3,7 @@ com.woorea openstack-java-sdk - 3.2.2-SNAPSHOT + 3.2.2-rescale openstack-examples OpenStack Examples @@ -12,32 +12,32 @@ com.woorea keystone-client - 3.2.2-SNAPSHOT + 3.2.2-rescale com.woorea nova-client - 3.2.2-SNAPSHOT + 3.2.2-rescale com.woorea swift-client - 3.2.2-SNAPSHOT + 3.2.2-rescale com.woorea quantum-client - 3.2.2-SNAPSHOT + 3.2.2-rescale com.woorea ceilometer-client - 3.2.2-SNAPSHOT + 3.2.2-rescale com.woorea glance-client - 3.2.2-SNAPSHOT + 3.2.2-rescale @@ -47,7 +47,7 @@ com.woorea jersey-connector - 3.0.0-SNAPSHOT + 3.0.0-rescale @@ -60,7 +60,7 @@ com.woorea jersey2-connector - 3.1.0-SNAPSHOT + 3.1.0-rescale @@ -70,9 +70,9 @@ com.woorea resteasy-connector - 3.1.0-SNAPSHOT + 3.1.0-rescale - \ No newline at end of file + diff --git a/pom.xml b/pom.xml index 01e9d50e6..662a10bf0 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 com.woorea openstack-java-sdk - 3.2.2-SNAPSHOT + 3.2.2-rescale pom OpenStack Java SDK OpenStack Java SDK @@ -143,4 +143,4 @@ - \ No newline at end of file + diff --git a/quantum-client/pom.xml b/quantum-client/pom.xml index 0f3426f02..e94a6d5b5 100644 --- a/quantum-client/pom.xml +++ b/quantum-client/pom.xml @@ -3,7 +3,7 @@ com.woorea openstack-java-sdk - 3.2.2-SNAPSHOT + 3.2.2-rescale quantum-client OpenStack Quantum Client @@ -12,12 +12,12 @@ com.woorea openstack-client - 3.2.2-SNAPSHOT + 3.2.2-rescale com.woorea quantum-model - 3.2.2-SNAPSHOT + 3.2.2-rescale diff --git a/quantum-model/pom.xml b/quantum-model/pom.xml index bdffd793b..1101a195d 100644 --- a/quantum-model/pom.xml +++ b/quantum-model/pom.xml @@ -3,7 +3,7 @@ com.woorea openstack-java-sdk - 3.2.2-SNAPSHOT + 3.2.2-rescale quantum-model OpenStack Quantum Model diff --git a/swift-client/pom.xml b/swift-client/pom.xml index c0aafe7c1..4a7b318fb 100644 --- a/swift-client/pom.xml +++ b/swift-client/pom.xml @@ -3,7 +3,7 @@ com.woorea openstack-java-sdk - 3.2.2-SNAPSHOT + 3.2.2-rescale swift-client OpenStack Swift Client @@ -12,12 +12,12 @@ com.woorea openstack-client - 3.2.2-SNAPSHOT + 3.2.2-rescale com.woorea swift-model - 3.2.2-SNAPSHOT + 3.2.2-rescale - \ No newline at end of file + diff --git a/swift-model/pom.xml b/swift-model/pom.xml index ebf618b56..235c1ea49 100644 --- a/swift-model/pom.xml +++ b/swift-model/pom.xml @@ -3,9 +3,9 @@ com.woorea openstack-java-sdk - 3.2.2-SNAPSHOT + 3.2.2-rescale swift-model OpenStack Swift Model OpenStack Swift Model - \ No newline at end of file + From d8653a0ba6338108040aafbd09b528cf96b69a81 Mon Sep 17 00:00:00 2001 From: asc89 Date: Tue, 19 Nov 2013 10:02:41 -0800 Subject: [PATCH 2/3] Fixing the build --- openstack-client-connectors/pom.xml | 9 --------- pom.xml | 26 -------------------------- 2 files changed, 35 deletions(-) diff --git a/openstack-client-connectors/pom.xml b/openstack-client-connectors/pom.xml index 2a8b72d2a..0378b13af 100644 --- a/openstack-client-connectors/pom.xml +++ b/openstack-client-connectors/pom.xml @@ -19,15 +19,6 @@ jersey-connector - - jersey2 - - true - - - jersey2-connector - - resteasy diff --git a/pom.xml b/pom.xml index 662a10bf0..71b4c90af 100644 --- a/pom.xml +++ b/pom.xml @@ -45,15 +45,6 @@ openstack-console - - examples - - true - - - openstack-examples - - @@ -100,23 +91,6 @@ UTF-8 - - org.apache.maven.plugins - maven-gpg-plugin - 1.4 - - ${skip.sign} - - - - sign-artifacts - verify - - sign - - - - org.apache.maven.plugins maven-eclipse-plugin From dc61c2d2f3771aa47958bdbf7e76a6f91e3c2b76 Mon Sep 17 00:00:00 2001 From: asc89 Date: Tue, 19 Nov 2013 11:00:19 -0800 Subject: [PATCH 3/3] Removing unbuildables --- .../jersey2-connector/pom.xml | 33 -- .../openstack/connector/JaxRs20Connector.java | 63 ---- .../openstack/connector/JaxRs20Response.java | 48 --- .../connector/Jersey2LoggingFilter.java | 301 ------------------ .../woorea/openstack/connector/OpenStack.java | 109 ------- ...stack.base.client.OpenStackClientConnector | 1 - openstack-examples/pom.xml | 78 ----- .../examples/ExamplesConfiguration.java | 34 -- .../examples/compute/NovaCreateServer.java | 90 ------ .../examples/compute/NovaListFlavors.java | 51 --- .../examples/compute/NovaListImages.java | 52 --- .../examples/compute/NovaListServers.java | 38 --- .../examples/compute/NovaStopStartServer.java | 40 --- .../examples/glance/GlanceListImages.java | 83 ----- .../hpcloud/KeystoneAuthentication.java | 29 -- .../keystone/KeystoneCreateTenant.java | 36 --- .../examples/keystone/KeystoneCreateUser.java | 38 --- .../examples/metering/v2/TestAll.java | 62 ---- .../examples/network/QuantumListNetworks.java | 47 --- .../network/QuantumNetworkCreate.java | 108 ------- .../network/QuantumQueryNetworks.java | 59 ---- .../examples/objectstore/SwiftExample.java | 90 ------ .../simple/OpenStackSimpleClient.java | 15 - 23 files changed, 1505 deletions(-) delete mode 100644 openstack-client-connectors/jersey2-connector/pom.xml delete mode 100644 openstack-client-connectors/jersey2-connector/src/main/java/com/woorea/openstack/connector/JaxRs20Connector.java delete mode 100644 openstack-client-connectors/jersey2-connector/src/main/java/com/woorea/openstack/connector/JaxRs20Response.java delete mode 100644 openstack-client-connectors/jersey2-connector/src/main/java/com/woorea/openstack/connector/Jersey2LoggingFilter.java delete mode 100644 openstack-client-connectors/jersey2-connector/src/main/java/com/woorea/openstack/connector/OpenStack.java delete mode 100644 openstack-client-connectors/jersey2-connector/src/main/resources/META-INF/services/com.woorea.openstack.base.client.OpenStackClientConnector delete mode 100644 openstack-examples/pom.xml delete mode 100644 openstack-examples/src/main/java/com/woorea/openstack/examples/ExamplesConfiguration.java delete mode 100644 openstack-examples/src/main/java/com/woorea/openstack/examples/compute/NovaCreateServer.java delete mode 100644 openstack-examples/src/main/java/com/woorea/openstack/examples/compute/NovaListFlavors.java delete mode 100644 openstack-examples/src/main/java/com/woorea/openstack/examples/compute/NovaListImages.java delete mode 100644 openstack-examples/src/main/java/com/woorea/openstack/examples/compute/NovaListServers.java delete mode 100644 openstack-examples/src/main/java/com/woorea/openstack/examples/compute/NovaStopStartServer.java delete mode 100644 openstack-examples/src/main/java/com/woorea/openstack/examples/glance/GlanceListImages.java delete mode 100644 openstack-examples/src/main/java/com/woorea/openstack/examples/hpcloud/KeystoneAuthentication.java delete mode 100644 openstack-examples/src/main/java/com/woorea/openstack/examples/keystone/KeystoneCreateTenant.java delete mode 100644 openstack-examples/src/main/java/com/woorea/openstack/examples/keystone/KeystoneCreateUser.java delete mode 100644 openstack-examples/src/main/java/com/woorea/openstack/examples/metering/v2/TestAll.java delete mode 100644 openstack-examples/src/main/java/com/woorea/openstack/examples/network/QuantumListNetworks.java delete mode 100644 openstack-examples/src/main/java/com/woorea/openstack/examples/network/QuantumNetworkCreate.java delete mode 100644 openstack-examples/src/main/java/com/woorea/openstack/examples/network/QuantumQueryNetworks.java delete mode 100644 openstack-examples/src/main/java/com/woorea/openstack/examples/objectstore/SwiftExample.java delete mode 100644 openstack-examples/src/main/java/com/woorea/openstack/examples/simple/OpenStackSimpleClient.java diff --git a/openstack-client-connectors/jersey2-connector/pom.xml b/openstack-client-connectors/jersey2-connector/pom.xml deleted file mode 100644 index 3207a4036..000000000 --- a/openstack-client-connectors/jersey2-connector/pom.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - 4.0.0 - - com.woorea - openstack-client-connectors - 3.2.2-rescale - - jersey2-connector - OpenStack Jersey2 Connector - OpenStack Jersey2 Connector - http://maven.apache.org - - UTF-8 - - - - org.glassfish.jersey.core - jersey-client - 2.0 - - - org.glassfish.jersey.media - jersey-media-json-jackson - 2.0 - - - com.woorea - openstack-client - 3.2.2-rescale - - - diff --git a/openstack-client-connectors/jersey2-connector/src/main/java/com/woorea/openstack/connector/JaxRs20Connector.java b/openstack-client-connectors/jersey2-connector/src/main/java/com/woorea/openstack/connector/JaxRs20Connector.java deleted file mode 100644 index e555046b8..000000000 --- a/openstack-client-connectors/jersey2-connector/src/main/java/com/woorea/openstack/connector/JaxRs20Connector.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.woorea.openstack.connector; - -import java.util.List; -import java.util.Map; -import java.util.logging.Logger; - -import javax.ws.rs.ClientErrorException; -import javax.ws.rs.client.Client; -import javax.ws.rs.client.Entity; -import javax.ws.rs.client.Invocation; -import javax.ws.rs.client.WebTarget; -import javax.ws.rs.core.MediaType; - -import com.woorea.openstack.base.client.HttpMethod; -import com.woorea.openstack.base.client.OpenStackClientConnector; -import com.woorea.openstack.base.client.OpenStackRequest; -import com.woorea.openstack.base.client.OpenStackResponse; -import com.woorea.openstack.base.client.OpenStackResponseException; - -public class JaxRs20Connector implements OpenStackClientConnector { - - protected Client client = OpenStack.CLIENT; - private Jersey2LoggingFilter logger = new Jersey2LoggingFilter(Logger.getLogger("os"), 10000); - - @Override - public OpenStackResponse request(OpenStackRequest request) { - WebTarget target = client.target(request.endpoint()).path(request.path()); - - for(Map.Entry > entry : request.queryParams().entrySet()) { - for (Object o : entry.getValue()) { - target = target.queryParam(entry.getKey(), o); - } - } - target.register(logger); - Invocation.Builder invocation = target.request(); - - for(Map.Entry> h : request.headers().entrySet()) { - StringBuilder sb = new StringBuilder(); - for(Object v : h.getValue()) { - sb.append(String.valueOf(v)); - } - invocation.header(h.getKey(), sb); - } - - Entity entity = (request.entity() == null) ? null : - Entity.entity(request.entity().getEntity(), request.entity().getContentType()); - - try { - if (entity != null) { - return new JaxRs20Response(invocation.method(request.method().name(), entity)); - } else { - if(HttpMethod.PUT == request.method()) { - return new JaxRs20Response(invocation.method(request.method().name(), Entity.entity("", MediaType.APPLICATION_JSON))); - } else { - return new JaxRs20Response(invocation.method(request.method().name())); - } - } - } catch (ClientErrorException e) { - throw new OpenStackResponseException(e.getResponse() - .getStatusInfo().toString(), e.getResponse().getStatus()); - } - } -} diff --git a/openstack-client-connectors/jersey2-connector/src/main/java/com/woorea/openstack/connector/JaxRs20Response.java b/openstack-client-connectors/jersey2-connector/src/main/java/com/woorea/openstack/connector/JaxRs20Response.java deleted file mode 100644 index ebddd0771..000000000 --- a/openstack-client-connectors/jersey2-connector/src/main/java/com/woorea/openstack/connector/JaxRs20Response.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.woorea.openstack.connector; - -import java.io.InputStream; -import java.util.HashMap; -import java.util.Map; - -import javax.ws.rs.core.Response; - -import com.woorea.openstack.base.client.OpenStackResponse; -import com.woorea.openstack.base.client.OpenStackResponseException; - -public class JaxRs20Response implements OpenStackResponse { - - private Response response; - - public JaxRs20Response(Response response) { - this.response = response; - } - - @Override - public T getEntity(Class returnType) { - if(response.getStatus() >= 400) { - throw new OpenStackResponseException(response.getStatusInfo().getReasonPhrase(), - response.getStatusInfo().getStatusCode()); - } - return response.readEntity(returnType); - } - - @Override - public InputStream getInputStream() { - return (InputStream) response.getEntity(); - } - - @Override - public String header(String name) { - return response.getHeaderString(name); - } - - @Override - public Map headers() { - Map headers = new HashMap(); - for(String k : response.getHeaders().keySet()) { - headers.put(k, response.getHeaderString(k)); - } - return headers; - } - -} diff --git a/openstack-client-connectors/jersey2-connector/src/main/java/com/woorea/openstack/connector/Jersey2LoggingFilter.java b/openstack-client-connectors/jersey2-connector/src/main/java/com/woorea/openstack/connector/Jersey2LoggingFilter.java deleted file mode 100644 index a96213829..000000000 --- a/openstack-client-connectors/jersey2-connector/src/main/java/com/woorea/openstack/connector/Jersey2LoggingFilter.java +++ /dev/null @@ -1,301 +0,0 @@ -/* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. - * - * Copyright (c) 2011-2013 Oracle and/or its affiliates. All rights reserved. - * - * The contents of this file are subject to the terms of either the GNU - * General Public License Version 2 only ("GPL") or the Common Development - * and Distribution License("CDDL") (collectively, the "License"). You - * may not use this file except in compliance with the License. You can - * obtain a copy of the License at - * http://glassfish.java.net/public/CDDL+GPL_1_1.html - * or packager/legal/LICENSE.txt. See the License for the specific - * language governing permissions and limitations under the License. - * - * When distributing the software, include this License Header Notice in each - * file and include the License file at packager/legal/LICENSE.txt. - * - * GPL Classpath Exception: - * Oracle designates this particular file as subject to the "Classpath" - * exception as provided by Oracle in the GPL Version 2 section of the License - * file that accompanied this code. - * - * Modifications: - * If applicable, add the following below the License Header, with the fields - * enclosed by brackets [] replaced by your own identifying information: - * "Portions Copyright [year] [name of copyright owner]" - * - * Contributor(s): - * If you wish your version of this file to be governed by only the CDDL or - * only the GPL Version 2, indicate your decision by adding "[Contributor] - * elects to include this software in this distribution under the [CDDL or GPL - * Version 2] license." If you don't indicate a single choice of license, a - * recipient has the option to distribute your version of this file under - * either the CDDL, the GPL Version 2 or to extend the choice of license to - * its licensees as provided above. However, if you add GPL Version 2 code - * and therefore, elected the GPL Version 2 license, then the option applies - * only if the new code is made subject to such option by the copyright - * holder. - */ -package com.woorea.openstack.connector; - -import java.io.BufferedInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.net.URI; -import java.util.List; -import java.util.Map; -import java.util.concurrent.atomic.AtomicLong; -import java.util.logging.Logger; - -import javax.annotation.Priority; -import javax.ws.rs.WebApplicationException; -import javax.ws.rs.client.ClientRequestContext; -import javax.ws.rs.client.ClientRequestFilter; -import javax.ws.rs.client.ClientResponseContext; -import javax.ws.rs.client.ClientResponseFilter; -import javax.ws.rs.container.ContainerRequestContext; -import javax.ws.rs.container.ContainerRequestFilter; -import javax.ws.rs.container.ContainerResponseContext; -import javax.ws.rs.container.ContainerResponseFilter; -import javax.ws.rs.container.PreMatching; -import javax.ws.rs.core.MultivaluedMap; -import javax.ws.rs.ext.WriterInterceptor; -import javax.ws.rs.ext.WriterInterceptorContext; - -import org.glassfish.jersey.message.internal.HeadersFactory; - -/** - * Universal logging filter. - * - * Can be used on client or server side. Has the highest priority. - * - * @author Pavel Bucek (pavel.bucek at oracle.com) - * @author Martin Matula (martin.matula at oracle.com) - */ -@PreMatching -@Priority(Integer.MIN_VALUE) -@SuppressWarnings("ClassWithMultipleLoggers") -public class Jersey2LoggingFilter implements ContainerRequestFilter, ClientRequestFilter, ContainerResponseFilter, - ClientResponseFilter, WriterInterceptor { - - private static final Logger LOGGER = Logger.getLogger(Jersey2LoggingFilter.class.getName()); - private static final String NOTIFICATION_PREFIX = "* "; - private static final String REQUEST_PREFIX = "> "; - private static final String RESPONSE_PREFIX = "< "; - private static final String ENTITY_LOGGER_PROPERTY = Jersey2LoggingFilter.class.getName() + ".entityLogger"; - // - @SuppressWarnings("NonConstantLogger") - private final Logger logger; - private final AtomicLong _id = new AtomicLong(0); - private final boolean printEntity; - private final int maxEntitySize; - - /** - * Create a logging filter logging the request and response to a default JDK - * logger, named as the fully qualified class name of this class. Entity - * logging is turned off by default. - */ - public Jersey2LoggingFilter() { - this(LOGGER, false); - } - - /** - * Create a logging filter with custom logger and custom settings of entity - * logging. - * - * @param logger the logger to log requests and responses. - * @param printEntity if true, entity will be logged as well up to the default maxEntitySize, which is 10KB - */ - public Jersey2LoggingFilter(Logger logger, boolean printEntity) { - this.logger = logger; - this.printEntity = printEntity; - this.maxEntitySize = 10 * 1024; - } - - /** - * Creates a logging filter with custom logger and entity logging turned on, but potentially limiting the size - * of entity to be buffered and logged. - * - * @param logger the logger to log requests and responses. - * @param maxEntitySize maximum number of entity bytes to be logged (and buffered) - if the entity is larger, - * logging filter will print (and buffer in memory) only the specified number of bytes - * and print "...more..." string at the end. - */ - public Jersey2LoggingFilter(Logger logger, int maxEntitySize) { - this.logger = logger; - this.printEntity = true; - this.maxEntitySize = maxEntitySize; - } - - private void log(StringBuilder b) { - if (logger != null) { - logger.info(b.toString()); - } - } - - private StringBuilder prefixId(StringBuilder b, long id) { - b.append(Long.toString(id)).append(" "); - return b; - } - - private void printRequestLine(StringBuilder b, long id, String method, URI uri) { - prefixId(b, id).append(NOTIFICATION_PREFIX).append("LoggingFilter - Request received on thread ").append(Thread.currentThread().getName()).append("\n"); - prefixId(b, id).append(REQUEST_PREFIX).append(method).append(" "). - append(uri.toASCIIString()).append("\n"); - } - - private void printResponseLine(StringBuilder b, long id, int status) { - prefixId(b, id).append(NOTIFICATION_PREFIX). - append("LoggingFilter - Response received on thread ").append(Thread.currentThread().getName()).append("\n"); - prefixId(b, id).append(RESPONSE_PREFIX). - append(Integer.toString(status)). - append("\n"); - } - - private void printPrefixedHeaders(StringBuilder b, long id, final String prefix, MultivaluedMap headers) { - for (Map.Entry> e : headers.entrySet()) { - List val = e.getValue(); - String header = e.getKey(); - - if (val.size() == 1) { - prefixId(b, id).append(prefix).append(header).append(": ").append(val.get(0)).append("\n"); - } else { - StringBuilder sb = new StringBuilder(); - boolean add = false; - for (Object s : val) { - if (add) { - sb.append(','); - } - add = true; - sb.append(s); - } - prefixId(b, id).append(prefix).append(header).append(": ").append(sb.toString()).append("\n"); - } - } - } - - private InputStream logInboundEntity(StringBuilder b, InputStream stream) throws IOException { - if (!stream.markSupported()) { - stream = new BufferedInputStream(stream); - } - stream.mark(maxEntitySize + 1); - byte[] entity = new byte[maxEntitySize + 1]; - int entitySize = stream.read(entity); - b.append(new String(entity, 0, Math.min(entitySize, maxEntitySize))); - if (entitySize > maxEntitySize) { - b.append("...more..."); - } - b.append('\n'); - stream.reset(); - return stream; - } - - @Override - public void filter(ClientRequestContext context) throws IOException { - long id = this._id.incrementAndGet(); - StringBuilder b = new StringBuilder(); - - printRequestLine(b, id, context.getMethod(), context.getUri()); - // TODO: change to context.getStringHeaders() once the method is added to the API - printPrefixedHeaders(b, id, REQUEST_PREFIX, HeadersFactory.asStringHeaders(context.getHeaders())); - - if (printEntity && context.hasEntity()) { - OutputStream stream = new LoggingStream(b, context.getEntityStream()); - context.setEntityStream(stream); - context.setProperty(ENTITY_LOGGER_PROPERTY, stream); - // not calling log(b) here - it will be called by the interceptor - } else { - log(b); - } - } - - @Override - public void filter(ClientRequestContext requestContext, ClientResponseContext responseContext) throws IOException { - long id = this._id.incrementAndGet(); - StringBuilder b = new StringBuilder(); - - printResponseLine(b, id, responseContext.getStatus()); - printPrefixedHeaders(b, id, RESPONSE_PREFIX, responseContext.getHeaders()); - - if (printEntity && responseContext.hasEntity()) { - responseContext.setEntityStream(logInboundEntity(b, responseContext.getEntityStream())); - } - - log(b); - } - - @Override - public void filter(ContainerRequestContext context) throws IOException { - long id = this._id.incrementAndGet(); - StringBuilder b = new StringBuilder(); - - printRequestLine(b, id, context.getMethod(), context.getUriInfo().getRequestUri()); - printPrefixedHeaders(b, id, REQUEST_PREFIX, context.getHeaders()); - - if (printEntity && context.hasEntity()) { - context.setEntityStream(logInboundEntity(b, context.getEntityStream())); - } - - log(b); - } - - @Override - public void filter(ContainerRequestContext requestContext, ContainerResponseContext responseContext) throws IOException { - long id = this._id.incrementAndGet(); - StringBuilder b = new StringBuilder(); - - printResponseLine(b, id, responseContext.getStatus()); - // TODO: change to context.getStringHeaders() once the method is added to the API - printPrefixedHeaders(b, id, RESPONSE_PREFIX, HeadersFactory.asStringHeaders(responseContext.getHeaders())); - - if (printEntity && responseContext.hasEntity()) { - OutputStream stream = new LoggingStream(b, responseContext.getEntityStream()); - responseContext.setEntityStream(stream); - requestContext.setProperty(ENTITY_LOGGER_PROPERTY, stream); - // not calling log(b) here - it will be called by the interceptor - } else { - log(b); - } - } - - @Override - public void aroundWriteTo(WriterInterceptorContext writerInterceptorContext) throws IOException, WebApplicationException { - LoggingStream stream = (LoggingStream) writerInterceptorContext.getProperty(ENTITY_LOGGER_PROPERTY); - writerInterceptorContext.proceed(); - if (stream != null) { - log(stream.getStringBuilder()); - } - } - - private class LoggingStream extends OutputStream { - private static final String PASSWORD_PATTERN = "\"password\".*:.*\"(.*)\""; - private final StringBuilder b; - private final OutputStream inner; - private final ByteArrayOutputStream baos = new ByteArrayOutputStream(); - - LoggingStream(StringBuilder b, OutputStream inner) { - this.b = b; - this.inner = inner; - } - - StringBuilder getStringBuilder() { - // write entity to the builder - byte[] entity = baos.toByteArray(); - String entityString = new String(entity); - entityString = entityString.replaceAll(PASSWORD_PATTERN, "\"password\" : \"******\""); - b.append(entityString).append('\n'); - return b; - } - - @Override - public void write(int i) throws IOException { - if (baos.size() <= maxEntitySize) { - baos.write(i); - } - inner.write(i); - } - } -} diff --git a/openstack-client-connectors/jersey2-connector/src/main/java/com/woorea/openstack/connector/OpenStack.java b/openstack-client-connectors/jersey2-connector/src/main/java/com/woorea/openstack/connector/OpenStack.java deleted file mode 100644 index e683fb676..000000000 --- a/openstack-client-connectors/jersey2-connector/src/main/java/com/woorea/openstack/connector/OpenStack.java +++ /dev/null @@ -1,109 +0,0 @@ -package com.woorea.openstack.connector; - -import java.io.IOException; - -import javax.net.ssl.SSLContext; -import javax.ws.rs.client.Client; -import javax.ws.rs.client.ClientBuilder; -import javax.ws.rs.client.ClientRequestContext; -import javax.ws.rs.client.ClientRequestFilter; -import javax.ws.rs.ext.ContextResolver; - -import org.codehaus.jackson.map.DeserializationConfig; -import org.codehaus.jackson.map.ObjectMapper; -import org.codehaus.jackson.map.SerializationConfig; -import org.codehaus.jackson.map.annotate.JsonRootName; -import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion; -import org.glassfish.jersey.SslConfigurator; -import org.glassfish.jersey.client.ClientProperties; -import org.glassfish.jersey.jackson.JacksonFeature; - -public class OpenStack { - - public static Client CLIENT; - - public static ObjectMapper DEFAULT_MAPPER; - - public static ObjectMapper WRAPPED_MAPPER; - - static { - initialize(); - } - - private static void initialize() { - - /* - //class MyX509TrustManager implements X509TrustManager - TrustManager mytm[] = null; - KeyManager mykm[] = null; - - try { - mytm = new TrustManager[]{new MyX509TrustManager("./truststore_client", "asdfgh".toCharArray())}; - mykm = new KeyManager[]{new MyX509KeyManager("./keystore_client", "asdfgh".toCharArray())}; - } catch (Exception ex) { - - } - - SSLContext context = null; - context = SSLContext.getInstance("SSL"); - context.init(mykm, mytm, null); - - */ - - try { - - SSLContext context = null; - context = SSLContext.getInstance("SSL"); - context.init(null, null, null); - - SslConfigurator sslConfig = SslConfigurator.newInstance(); - /* - .trustStoreFile("./truststore_client") - .trustStorePassword("asdfgh") - - .keyStoreFile("./keystore_client") - .keyPassword("asdfgh"); - */ - //old: CLIENT.property(ClientProperties.SSL_CONFIG, new SslConfig(context)); - - CLIENT = ClientBuilder.newBuilder().sslContext(sslConfig.createSSLContext()).build(); - - DEFAULT_MAPPER = new ObjectMapper(); - - DEFAULT_MAPPER.setSerializationInclusion(Inclusion.NON_NULL); - DEFAULT_MAPPER.enable(SerializationConfig.Feature.INDENT_OUTPUT); - DEFAULT_MAPPER.enable(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY); - DEFAULT_MAPPER.disable(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES); - - WRAPPED_MAPPER = new ObjectMapper(); - - WRAPPED_MAPPER.setSerializationInclusion(Inclusion.NON_NULL); - WRAPPED_MAPPER.enable(SerializationConfig.Feature.INDENT_OUTPUT); - WRAPPED_MAPPER.enable(SerializationConfig.Feature.WRAP_ROOT_VALUE); - WRAPPED_MAPPER.enable(DeserializationConfig.Feature.UNWRAP_ROOT_VALUE); - WRAPPED_MAPPER.enable(DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY); - WRAPPED_MAPPER.disable(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES); - - CLIENT.register(new JacksonFeature()).register(new ContextResolver() { - - public ObjectMapper getContext(Class type) { - return type.getAnnotation(JsonRootName.class) == null ? DEFAULT_MAPPER : WRAPPED_MAPPER; - } - - }); - - CLIENT.register(new ClientRequestFilter() { - - public void filter(ClientRequestContext requestContext) throws IOException { - requestContext.getHeaders().remove("Content-Language"); - requestContext.getHeaders().remove("Content-Encoding"); - } - }); - - } catch(Exception e) { - throw new RuntimeException(e.getMessage(), e); - } - - } - -} diff --git a/openstack-client-connectors/jersey2-connector/src/main/resources/META-INF/services/com.woorea.openstack.base.client.OpenStackClientConnector b/openstack-client-connectors/jersey2-connector/src/main/resources/META-INF/services/com.woorea.openstack.base.client.OpenStackClientConnector deleted file mode 100644 index fc2445772..000000000 --- a/openstack-client-connectors/jersey2-connector/src/main/resources/META-INF/services/com.woorea.openstack.base.client.OpenStackClientConnector +++ /dev/null @@ -1 +0,0 @@ -com.woorea.openstack.connector.JaxRs20Connector \ No newline at end of file diff --git a/openstack-examples/pom.xml b/openstack-examples/pom.xml deleted file mode 100644 index d293905d3..000000000 --- a/openstack-examples/pom.xml +++ /dev/null @@ -1,78 +0,0 @@ - - 4.0.0 - - com.woorea - openstack-java-sdk - 3.2.2-rescale - - openstack-examples - OpenStack Examples - OpenStack Examples - - - com.woorea - keystone-client - 3.2.2-rescale - - - com.woorea - nova-client - 3.2.2-rescale - - - com.woorea - swift-client - 3.2.2-rescale - - - com.woorea - quantum-client - 3.2.2-rescale - - - com.woorea - ceilometer-client - 3.2.2-rescale - - - com.woorea - glance-client - 3.2.2-rescale - - - - - jersey - - - com.woorea - jersey-connector - 3.0.0-rescale - - - - - jersey2 - - true - - - - com.woorea - jersey2-connector - 3.1.0-rescale - - - - - resteasy - - - com.woorea - resteasy-connector - 3.1.0-rescale - - - - - diff --git a/openstack-examples/src/main/java/com/woorea/openstack/examples/ExamplesConfiguration.java b/openstack-examples/src/main/java/com/woorea/openstack/examples/ExamplesConfiguration.java deleted file mode 100644 index 621c4aadb..000000000 --- a/openstack-examples/src/main/java/com/woorea/openstack/examples/ExamplesConfiguration.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.woorea.openstack.examples; - - -import com.woorea.openstack.base.client.OpenStackSimpleTokenProvider; -import com.woorea.openstack.keystone.Keystone; -import com.woorea.openstack.keystone.model.Tenant; - -public class ExamplesConfiguration { - - public static final String KEYSTONE_AUTH_URL = "http://identity/v2.0"; - - public static final String KEYSTONE_USERNAME = ""; - - public static final String KEYSTONE_PASSWORD = ""; - - public static final String KEYSTONE_ENDPOINT = "http://keystone/v2.0"; - - public static final String TENANT_NAME = "admin"; - - public static final String NOVA_ENDPOINT = "http://compute/v2"; - - public static final String CEILOMETER_ENDPOINT = ""; - - public static void main(String[] args) { - Keystone client = new Keystone(KEYSTONE_ENDPOINT); - client.setTokenProvider(new OpenStackSimpleTokenProvider("secret0")); - client.tenants().delete("36c481aec1d54fc49190c92c3ef6840a").execute(); - Tenant tenant = client.tenants().create(new Tenant("new_api")).execute(); - System.out.println(tenant); - System.out.println(client.tenants().list().execute()); - client.tenants().delete(tenant.getId()).execute(); - } - -} diff --git a/openstack-examples/src/main/java/com/woorea/openstack/examples/compute/NovaCreateServer.java b/openstack-examples/src/main/java/com/woorea/openstack/examples/compute/NovaCreateServer.java deleted file mode 100644 index 643f14b9e..000000000 --- a/openstack-examples/src/main/java/com/woorea/openstack/examples/compute/NovaCreateServer.java +++ /dev/null @@ -1,90 +0,0 @@ -package com.woorea.openstack.examples.compute; - - -import com.woorea.openstack.base.client.OpenStackSimpleTokenProvider; -import com.woorea.openstack.examples.ExamplesConfiguration; -import com.woorea.openstack.keystone.Keystone; -import com.woorea.openstack.keystone.model.Access; -import com.woorea.openstack.keystone.model.Tenants; -import com.woorea.openstack.nova.Nova; -import com.woorea.openstack.nova.model.Flavors; -import com.woorea.openstack.nova.model.Images; -import com.woorea.openstack.nova.model.KeyPairs; -import com.woorea.openstack.nova.model.Server; -import com.woorea.openstack.nova.model.ServerForCreate; - -public class NovaCreateServer { - - /** - * @param args - */ - public static void main(String[] args) { - Keystone keystone = new Keystone(ExamplesConfiguration.KEYSTONE_AUTH_URL); - // access with unscoped token - Access access = keystone - .tokens() - .authenticate() - .withUsernamePassword(ExamplesConfiguration.KEYSTONE_USERNAME, ExamplesConfiguration.KEYSTONE_PASSWORD) - .execute(); - - // use the token in the following requests - keystone.token(access.getToken().getId()); - - Tenants tenants = keystone.tenants().list().execute(); - - // try to exchange token using the first tenant - if (tenants.getList().size() > 0) { - - access = keystone.tokens().authenticate() - .withToken(access.getToken().getId()) - .withTenantId(tenants.getList().get(0).getId()).execute(); - - // NovaClient novaClient = new - // NovaClient(KeystoneUtils.findEndpointURL(access.getServiceCatalog(), - // "compute", null, "public"), access.getToken().getId()); - Nova nova = new Nova(ExamplesConfiguration.NOVA_ENDPOINT.concat(tenants - .getList().get(0).getId())); - nova.setTokenProvider(new OpenStackSimpleTokenProvider(access.getToken() - .getId())); - // novaClient.enableLogging(Logger.getLogger("nova"), 100 * 1024); - // create a new keypair - // KeyPair keyPair = - // novaClient.execute(KeyPairsExtension.createKeyPair("mykeypair")); - // System.out.println(keyPair.getPrivateKey()); - - // create security group - // SecurityGroup securityGroup = - // novaClient.execute(SecurityGroupsExtension.createSecurityGroup("mysecuritygroup", - // "description")); - - // novaClient.execute(SecurityGroupsExtension.createSecurityGroupRule(securityGroup.getId(), - // "UDP", 9090, 9092, "0.0.0.0/0")); - // novaClient.execute(SecurityGroupsExtension.createSecurityGroupRule(securityGroup.getId(), - // "TCP", 8080, 8080, "0.0.0.0/0")); - - KeyPairs keysPairs = nova.keyPairs().list().execute(); - - Images images = nova.images().list(true).execute(); - - Flavors flavors = nova.flavors().list(true).execute(); - - ServerForCreate serverForCreate = new ServerForCreate(); - serverForCreate.setName("woorea"); - serverForCreate.setFlavorRef(flavors.getList().get(0).getId()); - serverForCreate.setImageRef(images.getList().get(1).getId()); - serverForCreate.setKeyName(keysPairs.getList().get(0).getName()); - serverForCreate.getSecurityGroups() - .add(new ServerForCreate.SecurityGroup("default")); - // serverForCreate.getSecurityGroups().add(new - // ServerForCreate.SecurityGroup(securityGroup.getName())); - - Server server = nova.servers().boot(serverForCreate).execute(); - System.out.println(server); - - } else { - System.out.println("No tenants found!"); - } - - } - -} diff --git a/openstack-examples/src/main/java/com/woorea/openstack/examples/compute/NovaListFlavors.java b/openstack-examples/src/main/java/com/woorea/openstack/examples/compute/NovaListFlavors.java deleted file mode 100644 index 893192d2a..000000000 --- a/openstack-examples/src/main/java/com/woorea/openstack/examples/compute/NovaListFlavors.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.woorea.openstack.examples.compute; - - -import com.woorea.openstack.examples.ExamplesConfiguration; -import com.woorea.openstack.keystone.Keystone; -import com.woorea.openstack.keystone.model.Access; -import com.woorea.openstack.keystone.model.Tenants; -import com.woorea.openstack.keystone.model.authentication.TokenAuthentication; -import com.woorea.openstack.keystone.model.authentication.UsernamePassword; -import com.woorea.openstack.nova.Nova; -import com.woorea.openstack.nova.model.Flavor; -import com.woorea.openstack.nova.model.Flavors; - -public class NovaListFlavors { - - /** - * @param args - */ - public static void main(String[] args) { - Keystone keystone = new Keystone(ExamplesConfiguration.KEYSTONE_AUTH_URL); - Access access = keystone.tokens().authenticate( - new UsernamePassword(ExamplesConfiguration.KEYSTONE_USERNAME, ExamplesConfiguration.KEYSTONE_PASSWORD)) - .execute(); - - //use the token in the following requests - keystone.token(access.getToken().getId()); - - Tenants tenants = keystone.tenants().list().execute(); - - //try to exchange token using the first tenant - if(tenants.getList().size() > 0) { - - access = keystone.tokens().authenticate(new TokenAuthentication(access.getToken().getId())).withTenantId(tenants.getList().get(0).getId()).execute(); - - //NovaClient novaClient = new NovaClient(KeystoneUtils.findEndpointURL(access.getServiceCatalog(), "compute", null, "public"), access.getToken().getId()); - Nova novaClient = new Nova(ExamplesConfiguration.NOVA_ENDPOINT.concat("/").concat(tenants.getList().get(0).getId())); - novaClient.token(access.getToken().getId()); - //novaClient.enableLogging(Logger.getLogger("nova"), 100 * 1024); - - Flavors flavors = novaClient.flavors().list(true).execute(); - for(Flavor flavor : flavors) { - System.out.println(flavor); - } - - } else { - System.out.println("No tenants found!"); - } - - } - -} diff --git a/openstack-examples/src/main/java/com/woorea/openstack/examples/compute/NovaListImages.java b/openstack-examples/src/main/java/com/woorea/openstack/examples/compute/NovaListImages.java deleted file mode 100644 index edf2f63d1..000000000 --- a/openstack-examples/src/main/java/com/woorea/openstack/examples/compute/NovaListImages.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.woorea.openstack.examples.compute; - - -import com.woorea.openstack.examples.ExamplesConfiguration; -import com.woorea.openstack.keystone.Keystone; -import com.woorea.openstack.keystone.model.Access; -import com.woorea.openstack.keystone.model.Tenants; -import com.woorea.openstack.keystone.model.authentication.TokenAuthentication; -import com.woorea.openstack.keystone.model.authentication.UsernamePassword; -import com.woorea.openstack.nova.Nova; -import com.woorea.openstack.nova.model.Image; -import com.woorea.openstack.nova.model.Images; - -public class NovaListImages { - - /** - * @param args - */ - public static void main(String[] args) { - - Keystone keystone = new Keystone(ExamplesConfiguration.KEYSTONE_AUTH_URL); - Access access = keystone.tokens().authenticate(new UsernamePassword(ExamplesConfiguration.KEYSTONE_USERNAME, ExamplesConfiguration.KEYSTONE_PASSWORD)).execute(); - - //use the token in the following requests - keystone.token(access.getToken().getId()); - - Tenants tenants = keystone.tenants().list().execute(); - - //try to exchange token using the first tenant - if(tenants.getList().size() > 0) { - - access = keystone.tokens().authenticate(new TokenAuthentication(access.getToken().getId())) - .withTenantId(tenants.getList().get(0).getId()) - .execute(); - - //NovaClient novaClient = new NovaClient(KeystoneUtils.findEndpointURL(access.getServiceCatalog(), "compute", null, "public"), access.getToken().getId()); - Nova novaClient = new Nova(ExamplesConfiguration.NOVA_ENDPOINT.concat("/").concat(tenants.getList().get(0).getId())); - novaClient.token(access.getToken().getId()); - //novaClient.enableLogging(Logger.getLogger("nova"), 100 * 1024); - - Images images = novaClient.images().list(true).execute(); - for(Image image : images) { - System.out.println(image); - } - - } else { - System.out.println("No tenants found!"); - } - - } - -} diff --git a/openstack-examples/src/main/java/com/woorea/openstack/examples/compute/NovaListServers.java b/openstack-examples/src/main/java/com/woorea/openstack/examples/compute/NovaListServers.java deleted file mode 100644 index cab24e1ca..000000000 --- a/openstack-examples/src/main/java/com/woorea/openstack/examples/compute/NovaListServers.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.woorea.openstack.examples.compute; - - -import com.woorea.openstack.examples.ExamplesConfiguration; -import com.woorea.openstack.keystone.Keystone; -import com.woorea.openstack.keystone.model.Access; -import com.woorea.openstack.keystone.model.authentication.UsernamePassword; -import com.woorea.openstack.nova.Nova; -import com.woorea.openstack.nova.model.Server; -import com.woorea.openstack.nova.model.Servers; - -public class NovaListServers { - - /** - * @param args - */ - public static void main(String[] args) { - Keystone keystone = new Keystone(ExamplesConfiguration.KEYSTONE_AUTH_URL); - Access access = keystone.tokens().authenticate(new UsernamePassword(ExamplesConfiguration.KEYSTONE_USERNAME, ExamplesConfiguration.KEYSTONE_PASSWORD)) - .withTenantName("demo") - .execute(); - - //use the token in the following requests - keystone.token(access.getToken().getId()); - - //NovaClient novaClient = new NovaClient(KeystoneUtils.findEndpointURL(access.getServiceCatalog(), "compute", null, "public"), access.getToken().getId()); - Nova novaClient = new Nova(ExamplesConfiguration.NOVA_ENDPOINT.concat("/").concat(access.getToken().getTenant().getId())); - novaClient.token(access.getToken().getId()); - //novaClient.enableLogging(Logger.getLogger("nova"), 100 * 1024); - - Servers servers = novaClient.servers().list(true).execute(); - for(Server server : servers) { - System.out.println(server); - } - - } - -} diff --git a/openstack-examples/src/main/java/com/woorea/openstack/examples/compute/NovaStopStartServer.java b/openstack-examples/src/main/java/com/woorea/openstack/examples/compute/NovaStopStartServer.java deleted file mode 100644 index df4d44b7c..000000000 --- a/openstack-examples/src/main/java/com/woorea/openstack/examples/compute/NovaStopStartServer.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.woorea.openstack.examples.compute; - -import com.woorea.openstack.examples.ExamplesConfiguration; -import com.woorea.openstack.keystone.Keystone; -import com.woorea.openstack.keystone.model.Access; -import com.woorea.openstack.keystone.model.authentication.UsernamePassword; -import com.woorea.openstack.nova.Nova; -import com.woorea.openstack.nova.api.ServersResource; -import com.woorea.openstack.nova.model.Servers; - -public class NovaStopStartServer { - public static void main(String[] args) throws InterruptedException { - Keystone keystone = new Keystone(ExamplesConfiguration.KEYSTONE_AUTH_URL); - Access access = keystone.tokens().authenticate(new UsernamePassword(ExamplesConfiguration.KEYSTONE_USERNAME, ExamplesConfiguration.KEYSTONE_PASSWORD)) - .withTenantName(ExamplesConfiguration.TENANT_NAME) - .execute(); - - //use the token in the following requests - keystone.token(access.getToken().getId()); - - Nova novaClient = new Nova(ExamplesConfiguration.NOVA_ENDPOINT.concat("/").concat(access.getToken().getTenant().getId())); - novaClient.token(access.getToken().getId()); - - Servers servers = novaClient.servers().list(true).execute(); - if(servers.getList().size() > 0) { - - // Server has to be in activated state. - ServersResource.StopServer stopServer = novaClient.servers().stop(servers.getList().get(0).getId()); - stopServer.endpoint(ExamplesConfiguration.NOVA_ENDPOINT); - stopServer.execute(); - - // Wait until server shutdown. Or 400 error occurs. - Thread.sleep(5000); - - ServersResource.StartServer startServer = novaClient.servers().start(servers.getList().get(0).getId()); - startServer.endpoint(ExamplesConfiguration.NOVA_ENDPOINT); - startServer.execute(); - } - } -} diff --git a/openstack-examples/src/main/java/com/woorea/openstack/examples/glance/GlanceListImages.java b/openstack-examples/src/main/java/com/woorea/openstack/examples/glance/GlanceListImages.java deleted file mode 100644 index ea687aaf8..000000000 --- a/openstack-examples/src/main/java/com/woorea/openstack/examples/glance/GlanceListImages.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.woorea.openstack.examples.glance; - -import com.woorea.openstack.glance.model.ImageDownload; -import com.woorea.openstack.glance.model.ImageUpload; -import com.woorea.openstack.keystone.utils.KeystoneTokenProvider; - -import com.woorea.openstack.examples.ExamplesConfiguration; -import com.woorea.openstack.glance.Glance; -import com.woorea.openstack.glance.model.Image; -import com.woorea.openstack.glance.model.Images; -import com.woorea.openstack.keystone.model.Access; -import com.woorea.openstack.keystone.model.Access.Service; -import com.woorea.openstack.keystone.model.Access.Service.Endpoint; - -import java.io.ByteArrayInputStream; -import java.io.IOException; - -public class GlanceListImages { - - protected static String IMAGE_CONTENT = "Hello World!"; - - /** - * @param args - */ - public static void main(String[] args) { - KeystoneTokenProvider keystone = new KeystoneTokenProvider( - ExamplesConfiguration.KEYSTONE_AUTH_URL, - ExamplesConfiguration.KEYSTONE_USERNAME, - ExamplesConfiguration.KEYSTONE_PASSWORD); - - Access access = keystone.getAccessByTenant(ExamplesConfiguration.TENANT_NAME); - - Service glanceService = null; - - for (Service service : access.getServiceCatalog()) { - if (service.getType().equals("image")) { - glanceService = service; - break; - } - } - - if (glanceService == null) { - throw new RuntimeException("Glance service not found"); - } - - for (Endpoint endpoint : glanceService.getEndpoints()) { - Glance glance = new Glance(endpoint.getPublicURL() + "/v1"); - glance.setTokenProvider(keystone - .getProviderByTenant(ExamplesConfiguration.TENANT_NAME)); - - // Creating a new image - Image newImage = new Image(); - newImage.setDiskFormat("raw"); - newImage.setContainerFormat("bare"); - newImage.setName("os-java-glance-test"); - newImage = glance.images().create(newImage).execute(); - - // Uploading image - ImageUpload uploadImage = new ImageUpload(newImage); - uploadImage.setInputStream(new ByteArrayInputStream(IMAGE_CONTENT.getBytes())); - glance.images().upload(newImage.getId(), uploadImage).execute(); - - // Downloading the image and displaying the image content - try { - byte[] imgContent = new byte[IMAGE_CONTENT.length()]; - ImageDownload downloadImage = glance.images().download(newImage.getId()).execute(); - downloadImage.getInputStream().read(imgContent, 0, imgContent.length); - System.out.println(new String(imgContent)); - } catch (IOException e) { - e.printStackTrace(); - } - - Images images = glance.images().list(false).execute(); - - for (Image image : images) { - System.out.println(glance.images().show(image.getId()).execute()); - } - - glance.images().delete(newImage.getId()).execute(); - } - } - -} diff --git a/openstack-examples/src/main/java/com/woorea/openstack/examples/hpcloud/KeystoneAuthentication.java b/openstack-examples/src/main/java/com/woorea/openstack/examples/hpcloud/KeystoneAuthentication.java deleted file mode 100644 index 1caffea6e..000000000 --- a/openstack-examples/src/main/java/com/woorea/openstack/examples/hpcloud/KeystoneAuthentication.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.woorea.openstack.examples.hpcloud; - - -import com.woorea.openstack.examples.ExamplesConfiguration; -import com.woorea.openstack.keystone.Keystone; -import com.woorea.openstack.keystone.model.Access; - -public class KeystoneAuthentication { - - private static final String KEYSTONE_AUTH_URL = "https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0"; - - /** - * @param args - */ - public static void main(String[] args) { - Keystone keystone = new Keystone(KEYSTONE_AUTH_URL); - - // access with unscoped token - Access access = keystone - .tokens() - .authenticate() - .withUsernamePassword(ExamplesConfiguration.KEYSTONE_USERNAME, ExamplesConfiguration.KEYSTONE_PASSWORD) - .execute(); - - System.out.println(access); - - } - -} diff --git a/openstack-examples/src/main/java/com/woorea/openstack/examples/keystone/KeystoneCreateTenant.java b/openstack-examples/src/main/java/com/woorea/openstack/examples/keystone/KeystoneCreateTenant.java deleted file mode 100644 index 9bd33990b..000000000 --- a/openstack-examples/src/main/java/com/woorea/openstack/examples/keystone/KeystoneCreateTenant.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.woorea.openstack.examples.keystone; - - -import com.woorea.openstack.examples.ExamplesConfiguration; -import com.woorea.openstack.keystone.Keystone; -import com.woorea.openstack.keystone.model.Access; -import com.woorea.openstack.keystone.model.Tenant; -import com.woorea.openstack.keystone.model.authentication.TokenAuthentication; -import com.woorea.openstack.keystone.model.authentication.UsernamePassword; - -public class KeystoneCreateTenant { - - /** - * @param args - */ - public static void main(String[] args) { - Keystone keystone = new Keystone(ExamplesConfiguration.KEYSTONE_AUTH_URL); - //access with unscoped token - Access access = keystone.tokens().authenticate( - new UsernamePassword(ExamplesConfiguration.KEYSTONE_USERNAME, ExamplesConfiguration.KEYSTONE_PASSWORD)) - .execute(); - - access = keystone.tokens().authenticate(new TokenAuthentication(access.getToken().getId())).withTenantName("admin").execute(); - - Tenant tenant = new Tenant(); - tenant.setName("benn.cs"); - tenant.setDescription("benn.cs"); - tenant.setEnabled(true); - //Get the adminURL client and use the token got above - keystone = new Keystone("http://keystone.x.org/v2.0"); - keystone.token(access.getToken().getId()); - tenant = keystone.tenants().create(tenant).execute(); - System.out.println(tenant); - keystone.tenants().delete(tenant.getId()); - } -} diff --git a/openstack-examples/src/main/java/com/woorea/openstack/examples/keystone/KeystoneCreateUser.java b/openstack-examples/src/main/java/com/woorea/openstack/examples/keystone/KeystoneCreateUser.java deleted file mode 100644 index bde24407a..000000000 --- a/openstack-examples/src/main/java/com/woorea/openstack/examples/keystone/KeystoneCreateUser.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.woorea.openstack.examples.keystone; - - -import com.woorea.openstack.base.client.OpenStackSimpleTokenProvider; -import com.woorea.openstack.examples.ExamplesConfiguration; -import com.woorea.openstack.keystone.Keystone; -import com.woorea.openstack.keystone.model.Access; -import com.woorea.openstack.keystone.model.User; -import com.woorea.openstack.keystone.model.authentication.UsernamePassword; - -public class KeystoneCreateUser { - - /** - * @param args - */ - public static void main(String[] args) { - Keystone keystone = new Keystone(ExamplesConfiguration.KEYSTONE_AUTH_URL); - //access with unscoped token - Access access = keystone.tokens() - .authenticate(new UsernamePassword(ExamplesConfiguration.KEYSTONE_USERNAME, ExamplesConfiguration.KEYSTONE_PASSWORD)) - .withTenantName("admin") - .execute(); - - User user = new User(); - user.setEmail("luis@woorea.es"); - user.setUsername("luis.gervaso"); - user.setPassword("password.0"); - user.setName("Luis"); - user.setEnabled(Boolean.TRUE); - - keystone = new Keystone("http://keystone.x.org/v2.0"); - keystone.setTokenProvider(new OpenStackSimpleTokenProvider(access.getToken().getId())); - //keystone.enableLogging(Logger.getLogger("keystone"), 10000); - user = keystone.users().create(user).execute(); - System.out.println(user); - keystone.users().delete(user.getId()).execute(); - } -} diff --git a/openstack-examples/src/main/java/com/woorea/openstack/examples/metering/v2/TestAll.java b/openstack-examples/src/main/java/com/woorea/openstack/examples/metering/v2/TestAll.java deleted file mode 100644 index c9d0c1817..000000000 --- a/openstack-examples/src/main/java/com/woorea/openstack/examples/metering/v2/TestAll.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.woorea.openstack.examples.metering.v2; - -import java.util.List; - - -import com.woorea.openstack.base.client.OpenStackSimpleTokenProvider; -import com.woorea.openstack.ceilometer.Ceilometer; -import com.woorea.openstack.ceilometer.v2.model.Meter; -import com.woorea.openstack.ceilometer.v2.model.Statistics; -import com.woorea.openstack.examples.ExamplesConfiguration; -import com.woorea.openstack.keystone.Keystone; -import com.woorea.openstack.keystone.model.Access; -import com.woorea.openstack.keystone.model.authentication.UsernamePassword; - -public class TestAll { - - /** - * @param args - */ - public static void main(String[] args) { - Keystone keystone = new Keystone(ExamplesConfiguration.KEYSTONE_AUTH_URL); - Access access = keystone.tokens() - .authenticate(new UsernamePassword(ExamplesConfiguration.KEYSTONE_USERNAME, ExamplesConfiguration.KEYSTONE_PASSWORD)) - .withTenantName("admin") - .execute(); - - Ceilometer ceilometer = new Ceilometer(ExamplesConfiguration.CEILOMETER_ENDPOINT); - ceilometer.setTokenProvider(new OpenStackSimpleTokenProvider(access.getToken().getId())); - - /* - List resources = ceilometer.execute(new ResourceList().eq("resource_id", "23b55841eedd41e99d5f3f32149ca086")); - - - for(Resource r : resources) { - Resource resource = ceilometer.execute(new ResourceShow().id(r.getResource())); - } - */ - - /* - //List meters = ceilometer.meters().list().execute(); //execute(new MeterList().eq("project_id", "948eeb593acd4223ad572c49e1ef5709")); - - - for(Meter m : meters) { - System.out.println(m); - -// List samples = ceilometer.execute(new MeterShow().name(m.getName())); -// for(Sample s : samples) { -// System.out.println("\t" + s); -// } - - List stats = ceilometer.meters().statistics().execute(); // (new MeterStatistics().name(m.getName())); - for(Statistics s : stats) { - System.out.println("\t\t" + s); - } - - - } - */ - - } - -} diff --git a/openstack-examples/src/main/java/com/woorea/openstack/examples/network/QuantumListNetworks.java b/openstack-examples/src/main/java/com/woorea/openstack/examples/network/QuantumListNetworks.java deleted file mode 100644 index 8e218c25b..000000000 --- a/openstack-examples/src/main/java/com/woorea/openstack/examples/network/QuantumListNetworks.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.woorea.openstack.examples.network; - -import com.woorea.openstack.keystone.utils.KeystoneUtils; - -import com.woorea.openstack.base.client.OpenStackSimpleTokenProvider; -import com.woorea.openstack.examples.ExamplesConfiguration; -import com.woorea.openstack.keystone.Keystone; -import com.woorea.openstack.keystone.model.Access; -import com.woorea.openstack.keystone.model.Tenants; -import com.woorea.openstack.keystone.model.authentication.TokenAuthentication; -import com.woorea.openstack.keystone.model.authentication.UsernamePassword; -import com.woorea.openstack.quantum.Quantum; -import com.woorea.openstack.quantum.model.Network; -import com.woorea.openstack.quantum.model.Networks; - -public class QuantumListNetworks { - - /** - * @param args - */ - public static void main(String[] args) { - Keystone keystone = new Keystone(ExamplesConfiguration.KEYSTONE_AUTH_URL); - // access with unscoped token - Access access = keystone.tokens().authenticate( - new UsernamePassword(ExamplesConfiguration.KEYSTONE_USERNAME, ExamplesConfiguration.KEYSTONE_PASSWORD)) - .execute(); - // use the token in the following requests - keystone.setTokenProvider(new OpenStackSimpleTokenProvider(access.getToken().getId())); - - Tenants tenants = keystone.tenants().list().execute(); - // try to exchange token using the first tenant - if (tenants.getList().size() > 0) { - // access with tenant - access = keystone.tokens().authenticate(new TokenAuthentication(access.getToken().getId())).withTenantId(tenants.getList().get(0).getId()).execute(); - - Quantum quantum = new Quantum(KeystoneUtils.findEndpointURL(access.getServiceCatalog(), "network", null, "public")); - quantum.setTokenProvider(new OpenStackSimpleTokenProvider(access.getToken().getId())); - - Networks networks = quantum.networks().list().execute(); - for (Network network : networks) { - System.out.println(network); - } - } else { - System.out.println("No tenants found!"); - } - } -} diff --git a/openstack-examples/src/main/java/com/woorea/openstack/examples/network/QuantumNetworkCreate.java b/openstack-examples/src/main/java/com/woorea/openstack/examples/network/QuantumNetworkCreate.java deleted file mode 100644 index 7f4dff08c..000000000 --- a/openstack-examples/src/main/java/com/woorea/openstack/examples/network/QuantumNetworkCreate.java +++ /dev/null @@ -1,108 +0,0 @@ -package com.woorea.openstack.examples.network; - -import java.util.ArrayList; -import java.util.List; -import java.util.Scanner; - -import com.woorea.openstack.keystone.utils.KeystoneUtils; - -import com.woorea.openstack.base.client.OpenStackSimpleTokenProvider; -import com.woorea.openstack.examples.ExamplesConfiguration; -import com.woorea.openstack.keystone.Keystone; -import com.woorea.openstack.keystone.model.Access; -import com.woorea.openstack.keystone.model.Tenant; -import com.woorea.openstack.keystone.model.Tenants; -import com.woorea.openstack.keystone.model.authentication.TokenAuthentication; -import com.woorea.openstack.keystone.model.authentication.UsernamePassword; -import com.woorea.openstack.quantum.Quantum; -import com.woorea.openstack.quantum.api.NetworksResource; -import com.woorea.openstack.quantum.api.NetworksResource.Create; -import com.woorea.openstack.quantum.model.Network; -import com.woorea.openstack.quantum.model.NetworkForCreate; -import com.woorea.openstack.quantum.model.Networks; -import com.woorea.openstack.quantum.model.Port; -import com.woorea.openstack.quantum.model.PortForCreate; -import com.woorea.openstack.quantum.model.Router; -import com.woorea.openstack.quantum.model.RouterForAddInterface; -import com.woorea.openstack.quantum.model.RouterForCreate; -import com.woorea.openstack.quantum.model.Subnet; -import com.woorea.openstack.quantum.model.SubnetForCreate; -import com.woorea.openstack.quantum.model.Subnets; - -public class QuantumNetworkCreate { - - /** - * @param args - */ - public static void main(String[] args) { - Keystone keystone = new Keystone( - ExamplesConfiguration.KEYSTONE_AUTH_URL); - // access with unscoped token - Access access = keystone - .tokens() - .authenticate( - new UsernamePassword( - ExamplesConfiguration.KEYSTONE_USERNAME, - ExamplesConfiguration.KEYSTONE_PASSWORD)) - .execute(); - // use the token in the following requests - keystone.setTokenProvider(new OpenStackSimpleTokenProvider(access - .getToken().getId())); - keystone.token(access.getToken().getId()); - Tenants tenants = keystone.tenants().list().execute(); - // try to exchange token using the first tenant - - if (tenants.getList().size() > 0) { - // access with tenant - Network network = new Network(); - access = keystone - .tokens() - .authenticate( - new TokenAuthentication(access.getToken().getId())) - .withTenantId("tenantId").execute(); - Quantum quantum = new Quantum(KeystoneUtils.findEndpointURL( - access.getServiceCatalog(), "network", null, "public")); - quantum.setTokenProvider(new OpenStackSimpleTokenProvider(access - .getToken().getId())); - NetworkForCreate netcreate = new NetworkForCreate(); - netcreate.setTenantId("tenantId"); - netcreate.setName("net2"); - netcreate.setAdminStateUp(true); - - network = quantum.networks().create(netcreate).execute(); - - // Creating Subnet - try { - Subnet sub = new Subnet(); - SubnetForCreate subnet = new SubnetForCreate(); - subnet.setCidr(""); - subnet.setName(""); - subnet.setNetworkId(network.getId()); - subnet.setIpVersion(4); - sub = quantum.subnets().create(subnet).execute(); - RouterForCreate routerForCreate = new RouterForCreate(); - routerForCreate.setName("routerName"); - routerForCreate.setTenantId("tenantId"); - Router router = quantum.routers().create(routerForCreate) - .execute(); - RouterForAddInterface routerForAdd = new RouterForAddInterface(); - routerForAdd.setSubnetId(sub.getId()); - routerForAdd.setRouterId(router.getId()); - quantum.routers().addInterface(routerForAdd).execute(); - - // System.out.println(sub); - } catch (Exception e) { - System.out.println(e.getMessage()); - } - - Networks networks = quantum.networks().list().execute(); - - for (Network network1 : networks) { - System.out.println(network1); - } - } else { - System.out.println("No tenants found!"); - } - - } -} diff --git a/openstack-examples/src/main/java/com/woorea/openstack/examples/network/QuantumQueryNetworks.java b/openstack-examples/src/main/java/com/woorea/openstack/examples/network/QuantumQueryNetworks.java deleted file mode 100644 index 1a427ea23..000000000 --- a/openstack-examples/src/main/java/com/woorea/openstack/examples/network/QuantumQueryNetworks.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.woorea.openstack.examples.network; - -import com.woorea.openstack.keystone.utils.KeystoneUtils; - -import com.woorea.openstack.base.client.OpenStackSimpleTokenProvider; -import com.woorea.openstack.examples.ExamplesConfiguration; -import com.woorea.openstack.keystone.Keystone; -import com.woorea.openstack.keystone.model.Access; -import com.woorea.openstack.keystone.model.Tenants; -import com.woorea.openstack.keystone.model.authentication.TokenAuthentication; -import com.woorea.openstack.keystone.model.authentication.UsernamePassword; -import com.woorea.openstack.quantum.Quantum; -import com.woorea.openstack.quantum.model.Network; - -public class QuantumQueryNetworks { - - /** - * @param args - */ - public static void main(String[] args) { - Keystone keystone = new Keystone(ExamplesConfiguration.KEYSTONE_AUTH_URL); - // access with unscoped token - Access access = keystone.tokens().authenticate( - new UsernamePassword(ExamplesConfiguration.KEYSTONE_USERNAME, ExamplesConfiguration.KEYSTONE_PASSWORD)) - .execute(); - // use the token in the following requests - keystone.setTokenProvider(new OpenStackSimpleTokenProvider(access.getToken().getId())); - - Tenants tenants = keystone.tenants().list().execute(); - // try to exchange token using the first tenant - if (tenants.getList().size() > 0) { - // access with tenant - access = keystone.tokens().authenticate(new TokenAuthentication(access.getToken().getId())).withTenantId(tenants.getList().get(0).getId()).execute(); - - Quantum quantumClient = new Quantum(KeystoneUtils.findEndpointURL(access.getServiceCatalog(), "network", null, "public")); - quantumClient.setTokenProvider(new OpenStackSimpleTokenProvider(access.getToken().getId())); - - Network networkQuery = new Network(); - networkQuery.setName("benn.cs"); - networkQuery.setAdminStateUp(true); - /* - Networks networks = quantumClient.execute(NetworkQuery.queryNetworks(networkQuery)); - - for (Network network : networks) { - System.out.println(network); - } - - Subnet subnetQuery = new Subnet(); - subnetQuery.setIpversion(Subnet.IpVersion.IPV4); - Subnets Subnets = quantumClient.execute(NetworkQuery.querySubnets(subnetQuery)); - for (Subnet subnet : Subnets) { - System.out.println(subnet); - } - */ - } else { - System.out.println("No tenants found!"); - } - } -} diff --git a/openstack-examples/src/main/java/com/woorea/openstack/examples/objectstore/SwiftExample.java b/openstack-examples/src/main/java/com/woorea/openstack/examples/objectstore/SwiftExample.java deleted file mode 100644 index 089163c66..000000000 --- a/openstack-examples/src/main/java/com/woorea/openstack/examples/objectstore/SwiftExample.java +++ /dev/null @@ -1,90 +0,0 @@ -package com.woorea.openstack.examples.objectstore; - -import java.io.BufferedOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -import com.woorea.openstack.keystone.utils.KeystoneUtils; - -import com.woorea.openstack.base.client.OpenStackSimpleTokenProvider; -import com.woorea.openstack.examples.ExamplesConfiguration; -import com.woorea.openstack.keystone.Keystone; -import com.woorea.openstack.keystone.model.Access; -import com.woorea.openstack.keystone.model.Tenants; -import com.woorea.openstack.keystone.model.authentication.TokenAuthentication; -import com.woorea.openstack.keystone.model.authentication.UsernamePassword; -import com.woorea.openstack.swift.Swift; -import com.woorea.openstack.swift.model.ObjectDownload; -import com.woorea.openstack.swift.model.ObjectForUpload; - -public class SwiftExample { - - private static final File TEST_FILE = new File("pom.xml"); - - /** - * @param args - */ - public static void main(String[] args) throws Exception { - Keystone keystone = new Keystone(ExamplesConfiguration.KEYSTONE_AUTH_URL); - //access with unscoped token - Access access = keystone.tokens().authenticate( - new UsernamePassword(ExamplesConfiguration.KEYSTONE_USERNAME, ExamplesConfiguration.KEYSTONE_PASSWORD)) - .execute(); - - //use the token in the following requests - keystone.setTokenProvider(new OpenStackSimpleTokenProvider(access.getToken().getId())); - - Tenants tenants = keystone.tenants().list().execute(); - - //try to exchange token using the first tenant - if(tenants.getList().size() > 0) { - - access = keystone.tokens().authenticate(new TokenAuthentication(access.getToken().getId())).withTenantId(tenants.getList().get(0).getId()).execute(); - - Swift swift = new Swift(KeystoneUtils.findEndpointURL(access.getServiceCatalog(), "object-store", null, "public")); - swift.setTokenProvider(new OpenStackSimpleTokenProvider(access.getToken().getId())); - - //swiftClient.execute(new DeleteContainer("navidad2")); - - swift.containers().create("navidad2").execute(); - - System.out.println(swift.containers().list()); - - ObjectForUpload upload = new ObjectForUpload(); - upload.setContainer("navidad2"); - upload.setName("example2"); - upload.setInputStream(new FileInputStream(TEST_FILE)); - swift.containers().container("navidad2").upload(upload).execute(); - -// System.out.println(swiftClient.execute(new ListObjects("navidad2", new HashMap() {{ -// put("path", ""); -// }})).get(0).getContentType()); - - - ObjectDownload download = swift.containers().container("navidad").download("example2").execute(); - write(download.getInputStream(), "example2"); - } - - } - - private static void write(InputStream is, String path) { - try { - OutputStream stream = new BufferedOutputStream(new FileOutputStream(path)); - int bufferSize = 1024; - byte[] buffer = new byte[bufferSize]; - int len = 0; - while ((len = is.read(buffer)) != -1) { - stream.write(buffer, 0, len); - } - stream.close(); - } catch(IOException e) { - throw new RuntimeException(e.getMessage(), e); - } - - } - -} diff --git a/openstack-examples/src/main/java/com/woorea/openstack/examples/simple/OpenStackSimpleClient.java b/openstack-examples/src/main/java/com/woorea/openstack/examples/simple/OpenStackSimpleClient.java deleted file mode 100644 index c2e8023ae..000000000 --- a/openstack-examples/src/main/java/com/woorea/openstack/examples/simple/OpenStackSimpleClient.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.woorea.openstack.examples.simple; - - -public class OpenStackSimpleClient { - - /** - * @param args - */ - public static void main(String[] args) { -// OpenStackClient client = new OpenStackClient(ExamplesConfiguration.KEYSTONE_AUTH_URL); -// Access access = client.request("/tokens").execute("POST", Entity.json("{\"auth\":{\"passwordCredentials\":{\"username\":\"\",\"password\":\"\"}}}"), Access.class); -// System.out.println(access); - } - -}