Hotelbeds - hotel-api SDK for Java
##Introduction
Hotelbeds - hotel-api SDK for Java is a set of utilities whose main goal is to help in the development of Java applications that use APItude Booking, the Hotelbeds API.
##Release notes
See Release notes.md
##JavaDocs
##License
This softwared is licensed under the LGPL v2.1 license. Please refer to the file LICENSE for specific details and more license and copyright information.
##Modules
The SDK for Java is composed of various modules:
- Hotel API Model: A set of basic classes used in the SDK, deployed as a separate module so it can be used without the SDK
- Hotel API SDK: The SDK itself, with the classes required to connect to the remote API and return the results as model objects.
- Hotel API Demo: A sample application that makes use of the SDK, to be used as starting point.
##Using the SDK
###Getting the SDK
Include the dependency in your pom.xml with the last released version
<dependency>
<groupId>com.hotelbeds.hotel-api-sdk-java</groupId>
<artifactId>hotel-api-sdk</artifactId>
<version>0.8-SNAPSHOT</version>
</dependency>
Include also the Sonatype repository to your repositories:
<!-- You can set up the repository in your setting.xml file -->
<repositories>
<repository>
<id>ossrh</id>
<url>https://oss.sonatype.org/content/groups/staging</url>
</repository>
</repositories>
Here you have a complete pom.xml file with the optional dependencies for logging
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>your.groupId</groupId>
<artifactId>your-artifactId</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!-- You can set up the repository in your setting.xml file -->
<repositories>
<repository>
<id>ossrh</id>
<url>https://oss.sonatype.org/content/groups/staging</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.hotelbeds.hotel-api-sdk-java</groupId>
<artifactId>hotel-api-sdk</artifactId>
<version>0.8-SNAPSHOT</version>
</dependency>
<!-- Optionally adding logging dependencies -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.6</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<scope>optional</scope>
<version>1.6.6</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<scope>optional</scope>
<version>1.6.6</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<scope>optional</scope>
<version>1.2.17</version>
</dependency>
</dependencies>
</project>
###Calling the SDK Here you can find an example calling the /status resource.
public class Demo {
public static void main(String[] args) throws HotelSDKException {
HotelApiClient apiClient = new HotelApiClient("yourApiKey", "yourSharedSecret");
apiClient.setReadTimeout(40000);
apiClient.init();
log.info("Requesting status...");
StatusRS statusRS = apiClient.status();
log.info("StatusRS: {}", LoggingRequestInterceptor.writeJSON(statusRS, true));
}
}
You can find several examples in the hotel-api-sdk-demo module
##Building the SDK
In order to build the SDK you must have permission.
Include the repository information in your Maven settings.xml
<repository>
<releases>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<updatePolicy>always</updatePolicy>
</snapshots>
<id>oss-sonatype</id>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
</repository>
<repository>
<releases>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<updatePolicy>always</updatePolicy>
</snapshots>
<id>sonatype-nexus-staging</id>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
First of all clean all previous release information:
mvn release:clean
Then prepare the release:
mvn release:prepare -Dusername=yourUserName -Dpassword=mypassword
The last action is to perform the relase and deploy the artifacts in the repository:
mvn release:perform