Skip to content

Commit

Permalink
IVIS-46: -Create SDK chapter, start fill it.
Browse files Browse the repository at this point in the history
  • Loading branch information
RuslanPopenko committed Oct 27, 2016
1 parent 7dab2d4 commit eddab9b
Show file tree
Hide file tree
Showing 8 changed files with 207 additions and 0 deletions.
1 change: 1 addition & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ Contents
quick_start/index
basic_concepts/index
api/index
sdk/index
use_cases/index

.. include:: /common/contribute.txt
10 changes: 10 additions & 0 deletions docs/sdk/api_description.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
API description
===============

SDK simplify API invocation to easy steps:

#. Get service for entity
#. Invoke methods in that servoice

Examples how do that you will find at `Routines <http://docs.ivis.se/en/latest/sdk/routines.html>`_.

94 changes: 94 additions & 0 deletions docs/sdk/get_started.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
.. |copy| unicode:: 0xA9
Get started
===========

* `Add repository`_
* `Maven <http://docs.ivis.se/en/latest/sdk/get_started.html#mvn1>`_
* `Gradle <http://docs.ivis.se/en/latest/sdk/get_started.html#grdl1>`_
* `Add dependencies`_
* `Maven <http://docs.ivis.se/en/latest/sdk/get_started.html#mvn2>`_
* `Gradle <http://docs.ivis.se/en/latest/sdk/get_started.html#grdl2>`_


iVIS SDK consists of ivis-core and ivis-sdk dependencies.
To use them you need include dependencies from Imcode |copy| maven repository to your Maven or Gradle configuration file.

Add repository
--------------

.. _`mvn1`:

Maven
~~~~~

Write in your pom.xml

.. code-block:: xml
<repositories>
<repository>
<id>imcode</id>
<url>http://repo.imcode.com/maven2</url>
<snapshots>
<updatePolicy>always</updatePolicy>
<enabled>true</enabled>
</snapshots>
<releases>
<updatePolicy>always</updatePolicy>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
.. _`grdl1`:

Gradle
~~~~~~

Write in your build.gradle

.. code-block:: js
repositories {
maven { url "http://repo.imcode.com/maven2" }
mavenCentral()
}
Add dependencies
----------------

.. _`mvn2`:

Maven
~~~~~

Write in your pom.xml

.. code-block:: xml
<dependencies>
<dependency>
<groupId>com.imcode.ivis</groupId>
<artifactId>ivis-core</artifactId>
<version>1.0.0-alpha1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.imcode.ivis</groupId>
<artifactId>ivis-sdk</artifactId>
<version>1.0.0-alpha1-SNAPSHOT</version>
</dependency>
</dependencies>
.. _`grdl2`:

Gradle
~~~~~~

Write in your build.gradle

.. code-block:: js
dependencies {
compile group:'com.imcode.ivis', name:'ivis-core', version:'1.0.0-alpha1-SNAPSHOT'
compile group:'com.imcode.ivis', name:'ivis-sdk',version:'1.0.0-alpha1-SNAPSHOT'
}
18 changes: 18 additions & 0 deletions docs/sdk/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
iVIS SDK
========

iVIS provides SDK for easier api uses.

You think login, token management, api calls etc very hard to implement and will take many hours of your precious time. You will see that is not true.
In this chapter you will look how to do routines jobs by few lne of codes.

.. toctree::
:titlesonly:

get_started
api_description
routines




11 changes: 11 additions & 0 deletions docs/sdk/routines.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Routines
========

Routines operation vast your time. Don't worry! You will see how to do basic concepts working with iVIS API faster.
And as conclusion we will create simple web application which calls iVIS API. So let's started!

.. toctree::
:titlesonly:

routines/configuration
routines/login
29 changes: 29 additions & 0 deletions docs/sdk/routines/code/BeansContext.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import org.springframework.security.oauth2.client.resource.OAuth2ProtectedResourceDetails;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Bean;
import org.springframework.beans.factory.annotation.Value;
import com.imcode.imcms.addon.ivisclient.oauth2.IvisAuthorizationCodeResourceDetails;

@Configuration
public class BeansContext {

@Value("${client-id}")
private String clientId;

@Value("${client-secret}")
private String clientSecret;

@Value("${user-authorization-uri}")
private String userAuthorizationUri;

@Value("${access-token-uri}")
private String accessTokenUri;

@Bean
public OAuth2ProtectedResourceDetails transferService() {
IvisAuthorizationCodeResourceDetails client = new IvisAuthorizationCodeResourceDetails();


return client;
}
}
35 changes: 35 additions & 0 deletions docs/sdk/routines/configuration.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
Configuration
=============

We will use Spring for configuration and also Dependency Injection principle.

Additionally to your configuration you will needed:

#. `Properties`_
#. `Beans for injection`_
* `Java config`_
* `XML config`_

Properties
----------

.. code-block:: properties
api-server-address = http://ivis.dev.imcode.com
client-address = http://client.of.ivis.com
client-id = ff11397c-3e3b-4398-80a9-feba203f1928
redirect-uri = ${client-address}/redirecttome
user-authorization-uri = ${api-server-address}/oauth/authorize
access-token-uri = ${api-server-address}/oauth/token
Beans for injection
-------------------

Java config
~~~~~~~~~~~

.. literalinclude:: /sdk/routines/code/BeansContext.java
:language: java
:linenos:


9 changes: 9 additions & 0 deletions docs/sdk/routines/login.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
Login
=====

First you need define properties for client configuration:

.. code-block:: properties
server-api-address = http://ivis.dev.imcode.com
client-address = http://some.client.of.ivis.com

0 comments on commit eddab9b

Please sign in to comment.