Java Wrapper for the Ardoq Rest-API
Java
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
.gitignore
LICENSE
README.md Update README.md Dec 14, 2016
pom.xml [maven-release-plugin] prepare for next development iteration Dec 14, 2016

README.md

ardoq-java-client

Small Java wrapper for the Ardoq REST-api.

Install

Add ardoq-java-client to your dependencies.

    <dependencies>
        ...
        <dependency>
            <groupId>com.ardoq</groupId>
            <artifactId>java-api-client</artifactId>
            <version>1.8</version>
        </dependency>
        ...
    </dependencies>

Usage

//Basic auth
ArdoqClient client = new ArdoqClient("hostname", "username", "password");
//Token (recommended)
ArdoqClient client = new ArdoqClient("hostname", "mytoken");

//Custom proxy settings
RequestConfig config = RequestConfig.custom().setProxy(new HttpHost("127.0.0.1", 9090)).build();
ArdoqClient client = new ArdoqClient("hostname", "mytoken", config);

The client will operate on the default organization (Personal). To change this

ArdoqClient client = new ArdoqClient("hostname", "username", "password").setOrganization("my-organization");

Starting a small project

ArdoqClient client = new ArdoqClient(host, ardoqToken);
Model template = client.model().getTemplateByName("Application service");
Workspace workspace = client.workspace().createWorkspace(new Workspace("demo-workspace", template.getId(), "Description"));
Model model = client.model().getModelById(workspace.getComponentModel());

ComponentService componentService = client.component();

Component webshop = componentService.createComponent(new Component("Webshop", workspace.getId(), "Webshop description"));
Component webShopCreateOrder = componentService.createComponent(new Component("createOrder", workspace.getId(), "Order from cart", model.getComponentTypeByName("Service"), webshop.getId()));

Component erp = componentService.createComponent(new Component("ERP", workspace.getId(), ""));
Component erpCreateOrder = componentService.createComponent(new Component("createOrder", workspace.getId(), "", model.getComponentTypeByName("Service"), erp.getId()));
//Create a Synchronous integration between the Webshop:createOrder and ERP:createOrder services
Reference createOrderRef = new Reference(workspace.getId(), "Order from cart", webShopCreateOrder.getId(), erpCreateOrder.getId(), model.getReferenceTypeByName("Synchronous"));
createOrderRef.setReturnValue("Created order");
Reference reference = client.reference().createReference(createOrderRef);

List<String> componentIds = Arrays.asList(webShopCreateOrder.getId(), erpCreateOrder.getId());
List<String> referenceIds = Arrays.asList(reference.getId());
client.tag().createTag(new Tag("Customer", workspace.getId(), "", componentIds, referenceIds));

Running this simple example let's Ardoq visualize the components and their relationships.

Components

Component landscape

Sequence diagram

Sequence diagram

Relationships

Relationship diagram

Models

The model API is not stable yet, so you have to create your Model in the UI and refer to the id.

More examples

The api is pretty straight forward. For more examples, please refer to the tests.

License

Copyright © 2016 Ardoq AS

Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.

Deploy new version

mvn clean
mvn release:prepare
mvn release:perform