Skip to content

Commit

Permalink
Initial commit for TechEx 2017 demo
Browse files Browse the repository at this point in the history
  • Loading branch information
ethan committed Oct 3, 2017
1 parent b077dee commit 852de31
Show file tree
Hide file tree
Showing 8 changed files with 1,144 additions and 0 deletions.
47 changes: 47 additions & 0 deletions connector-amqp-import/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# AMQP Import Connector for midPoint

This is a proof of concept for integrating AMQP messages
into midPoint as a source for registry entries. Currently
it implements a very minimal sample of the TIER minimal
registry schema published in:

* https://gist.github.com/geszes/b63b5c3dedff2a2f702c6fd54555b9cc

Currently it is hard coded for a demonstration of importing
a minor sample of the schema such as:

{
"id": "EMPP00010",
"names": [
{
"givenName": "Ethan",
"familyName": "Kromhout",
"formatted": "Ethan Kromhout"
}
],
"emails": [
{
"value": "ethan10@unc.edu",
"type": "primary"
}
],
"phoneNumbers": [
{
"value": "9194450056"
}
]
}

This limited version is being published as a part of
demonstrations for TechEx 2017, but should be expanded
further after that event.

The connector currently supports DeleteOp, SearchOp<String>, SchemaOp, TestOp
with DeleteOp not having any actions, import operations are supported
by the SearchOp.

The configuration class supports items that are described in

* src/main/resources/edu/unc/polygon/connector/amqp/Messages.properties

A sample configuration XML is in the samples directory.
105 changes: 105 additions & 0 deletions connector-amqp-import/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright (c) 2016-2017 Evolveum
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<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>

<parent>
<artifactId>connector-parent</artifactId>
<groupId>com.evolveum.polygon</groupId>
<version>1.4.2.14</version>
<relativePath></relativePath>
</parent>

<groupId>edu.unc.polygon</groupId>
<artifactId>connector-amqp-import</artifactId>
<version>0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>AMQP Connector</name>

<properties>
<project.source.version>1.8</project.source.version>

<connectorPackage>edu.unc.polygon.connector.amqp</connectorPackage>
<connectorClass>AmqpConnector</connectorClass>

<commons.csv.version>1.4</commons.csv.version>
</properties>

<repositories>
<repository>
<id>evolveum-nexus-releases</id>
<name>Internal Releases</name>
<url>http://nexus.evolveum.com/nexus/content/repositories/releases/</url>
</repository>
<repository>
<id>evolveum-nexus-snapshots</id>
<name>Internal Releases</name>
<url>http://nexus.evolveum.com/nexus/content/repositories/snapshots/</url>
</repository>
</repositories>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
</plugin>
</plugins>
</build>

<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-csv</artifactId>
<version>${commons.csv.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.rabbitmq/amqp-client -->
<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
<version>4.0.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
<!-- <dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.12</version>
<scope>provided</scope>
</dependency> -->
<!-- https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple -->
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
</dependency>
</dependencies>
</project>
Loading

0 comments on commit 852de31

Please sign in to comment.