← Back to team overview

openstack team mailing list archive

Re: Developing with Scala/Java on OpenStack Swift

 

Luis, thanks for your quick reply! Seems I'm missing something very
important, because I can't use all this classes/types(Access, Authenticate,
Tenants, KeystoneUtils, ObjectForUpload,etc).
I've installed the os-java-sdk in this way:

$ git clone
$ mvn compile package
$ find . -name '*.jar' -exec cp {} sbt_lib_dir/. \;
$ sbt console
> import org.openstack._

What am I doing wrong? What am I missing?
Is there a proper way to install the os-java-sdk?

Thank you very much!
With lots of regards.




On Thu, Jan 3, 2013 at 4:00 AM, Luis Gervaso <luis@xxxxxxxxx> wrote:

> Hi Gui!
>
> I just upgraded the code to work properly with latest Jersey release
>
> Below the swift example code (just tested and working with HPCloud)
>
> Hope it helps you :)
>
> private static final File TEST_FILE = new File("pom.xml");
>
>  private static final String KEYSTONE_AUTH_URL = "
> https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0";;
>
>  private static final String KEYSTONE_USERNAME = "";
>
>  private static final String KEYSTONE_PASSWORD = "";
>
>
>  /**
>
>  * @param args
>
>  */
>
> public static void main(String[] args) throws Exception {
>
>  KeystoneClient keystone = new KeystoneClient(KEYSTONE_AUTH_URL);
>
>  //access with unscoped token
>
>  Access access = keystone.execute(Authenticate.withPasswordCredentials(
> KEYSTONE_USERNAME, KEYSTONE_PASSWORD));
>
>   //use the token in the following requests
>
>  keystone.setToken(access.getToken().getId());
>
>   Tenants tenants = keystone.execute(new ListTenants());
>
>   //try to exchange token using the first tenant
>
>  if(tenants.getList().size() > 0) {
>
>    access =
> keystone.execute(Authenticate.withToken(access.getToken().getId()).withTenantId(tenants.getList().get(0).getId()));
>
>    SwiftClient swiftClient = newSwiftClient(KeystoneUtils.findEndpointURL(access.getServiceCatalog(),
> "object-store", null, "public"), access.getToken().getId());
>
>    //swiftClient.execute(new DeleteContainer("navidad2"));
>
>    swiftClient.execute(new CreateContainer("navidad2"));
>
>    System.out.println(swiftClient.execute(new ListContainers()));
>
>    ObjectForUpload upload = new ObjectForUpload();
>
>  upload.setContainer("navidad2");
>
>  upload.setName("example2");
>
>  upload.setInputStream(new FileInputStream(TEST_FILE));
>
>  swiftClient.execute(new UploadObject(upload));
>
>    System.out.println(swiftClient.execute(new ListObjects("navidad2", new HashMap<String,
> String>() {{
>
>   put("path", "");
>
>  }})).get(0).getContentType());
>
>    }
>
>
>  }
>
> On Wed, Jan 2, 2013 at 8:01 PM, Gui Maluf <guimalufb@xxxxxxxxx> wrote:
>
>> Hey guys,
>> I'm trying to extend a software project<https://github.com/VirtualCloudDrive/CloudDrive>to talk with Swift.
>>
>> This project was developed on Scala, and my issue is: how should I access
>> Swift resource? Should I use openstack-java-sdk<https://github.com/woorea/openstack-java-sdk/>,
>> jclouds <http://www.jclouds.org/documentation/quickstart/openstack/> or
>> develop my own library to access the REST API?
>> I've tried to use openstack-java-sdk but I wasn't able to import the
>> libraries exposed at examples.
>>
>> I'm really confuse about that and I'll appreciate any help, hint, advice!
>>
>> Thanks in advance.!
>>
>> --
>> *guilherme* \n
>> \t *maluf*
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~openstack
>> Post to     : openstack@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~openstack
>> More help   : https://help.launchpad.net/ListHelp
>>
>>
>
>
> --
> -------------------------------------------
> Luis Alberto Gervaso Martin
> Woorea Solutions, S.L
> CEO & CTO
> mobile: (+34) 627983344
> luis@ <luis.gervaso@xxxxxxxxx>woorea.es
>



-- 
*guilherme* \n
\t *maluf*

Follow ups

References