You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@metamodel.apache.org by ka...@apache.org on 2017/08/22 05:23:48 UTC

[1/3] metamodel-membrane git commit: Made docker build orchestrate everything (for DockerHub driven builds)

Repository: metamodel-membrane
Updated Branches:
  refs/heads/master bb7a124e5 -> 40d0564f1


Made docker build orchestrate everything (for DockerHub driven builds)

Project: http://git-wip-us.apache.org/repos/asf/metamodel-membrane/repo
Commit: http://git-wip-us.apache.org/repos/asf/metamodel-membrane/commit/83a7e6f6
Tree: http://git-wip-us.apache.org/repos/asf/metamodel-membrane/tree/83a7e6f6
Diff: http://git-wip-us.apache.org/repos/asf/metamodel-membrane/diff/83a7e6f6

Branch: refs/heads/master
Commit: 83a7e6f68320191f13a5b97cbea93ad6d440e6ee
Parents: bb7a124
Author: Kasper Sørensen <i....@gmail.com>
Authored: Sun Aug 20 01:14:16 2017 -0700
Committer: Kasper Sørensen <i....@gmail.com>
Committed: Sun Aug 20 01:14:16 2017 -0700

----------------------------------------------------------------------
 .dockerignore       | 18 ++++++++++++++++++
 Dockerfile          | 29 +++++++++++++++++++++++++++++
 docker-compose.yml  | 17 ++++++++++++++++-
 undertow/Dockerfile | 26 --------------------------
 4 files changed, 63 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/metamodel-membrane/blob/83a7e6f6/.dockerignore
----------------------------------------------------------------------
diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000..3eddedc
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,18 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you 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.
+
+**/target

http://git-wip-us.apache.org/repos/asf/metamodel-membrane/blob/83a7e6f6/Dockerfile
----------------------------------------------------------------------
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..a10b5d8
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,29 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you 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.
+
+FROM maven:3.5-jdk-8-alpine
+
+# Set data directory used for the app's persistence
+VOLUME /data
+ENV DATA_DIRECTORY=/data
+
+COPY . /usr/src/app
+WORKDIR /usr/src/app
+
+RUN mvn clean install -Pdockerbuild -DskipTests
+
+CMD java -server -jar undertow/target/membrane-undertow-server.jar

http://git-wip-us.apache.org/repos/asf/metamodel-membrane/blob/83a7e6f6/docker-compose.yml
----------------------------------------------------------------------
diff --git a/docker-compose.yml b/docker-compose.yml
index c87a2bb..96d7d21 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -19,8 +19,23 @@ services:
   metamodel-membrane:
     container_name: metamodel-membrane
     image: metamodel-membrane
-    build: undertow
+    build: .
     ports:
     - "8080:8080"
     environment:
     - MEMBRANE_HTTP_PORT=8080
+  example-postgres:
+    container_name: example-postgres
+    image: postgres:9.6
+    environment:
+    - POSTGRES_USER=membrane
+    - POSTGRES_PASSWORD=secret
+    - POSTGRES_DB=membrane
+  example-couchdb:
+    container_name: example-couchdb
+    image: couchdb:1.6
+    environment:
+    - COUCHDB_USER=membrane
+    - COUCHDB_PASSWORD=secret
+    ports:
+    - 5984:5984

http://git-wip-us.apache.org/repos/asf/metamodel-membrane/blob/83a7e6f6/undertow/Dockerfile
----------------------------------------------------------------------
diff --git a/undertow/Dockerfile b/undertow/Dockerfile
deleted file mode 100644
index 371d24b..0000000
--- a/undertow/Dockerfile
+++ /dev/null
@@ -1,26 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you 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.
-
-FROM openjdk:8-jre-alpine
-
-COPY target/membrane-undertow-server.jar membrane-undertow-server.jar
-
-VOLUME /data
-
-ENV DATA_DIRECTORY=/data
-
-CMD java -server -jar membrane-undertow-server.jar


[2/3] metamodel-membrane git commit: Added postman tests based on the setup created by docker-compose

Posted by ka...@apache.org.
Added postman tests based on the setup created by docker-compose

Project: http://git-wip-us.apache.org/repos/asf/metamodel-membrane/repo
Commit: http://git-wip-us.apache.org/repos/asf/metamodel-membrane/commit/a6033aa5
Tree: http://git-wip-us.apache.org/repos/asf/metamodel-membrane/tree/a6033aa5
Diff: http://git-wip-us.apache.org/repos/asf/metamodel-membrane/diff/a6033aa5

Branch: refs/heads/master
Commit: a6033aa5c13c696623ad0e279507da8d62458020
Parents: 83a7e6f
Author: Kasper Sørensen <i....@gmail.com>
Authored: Sun Aug 20 01:14:49 2017 -0700
Committer: Kasper Sørensen <i....@gmail.com>
Committed: Sun Aug 20 01:14:49 2017 -0700

----------------------------------------------------------------------
 core/pom.xml                                    |  12 ++
 pom.xml                                         |  29 ++-
 postman-tests/Membrane.postman_collection.json  | 202 +++++++++++++++++++
 postman-tests/README.md                         |  20 ++
 .../docker-toolbox.postman_environment.json     |  16 ++
 .../localhost.postman_environment.json          |  16 ++
 6 files changed, 289 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/metamodel-membrane/blob/a6033aa5/core/pom.xml
----------------------------------------------------------------------
diff --git a/core/pom.xml b/core/pom.xml
index c46c699..2de9377 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -86,6 +86,18 @@ under the License.
 			<groupId>org.slf4j</groupId>
 			<artifactId>jcl-over-slf4j</artifactId>
 		</dependency>
+		
+		<!-- Database drivers -->
+		<dependency>
+			<groupId>org.postgresql</groupId>
+			<artifactId>postgresql</artifactId>
+			<version>42.1.4</version>
+		</dependency>
+		<dependency>
+			<groupId>net.sourceforge.jtds</groupId>
+			<artifactId>jtds</artifactId>
+			<version>1.3.1</version>
+		</dependency>
 
 		<!-- Provided -->
 		<dependency>

http://git-wip-us.apache.org/repos/asf/metamodel-membrane/blob/a6033aa5/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 4b43522..4a9ec09 100644
--- a/pom.xml
+++ b/pom.xml
@@ -42,12 +42,29 @@ under the License.
 	<url>http://metamodel.apache.org</url>
 	<inceptionYear>2017</inceptionYear>
 	<packaging>pom</packaging>
-	<modules>
-		<module>swagger-codegen</module>
-		<module>core</module>
-		<module>war</module>
-		<module>undertow</module>
-	</modules>
+	
+	<profiles>
+		<profile>
+			<id>all</id>
+			<activation>
+				<activeByDefault>true</activeByDefault>
+			</activation>
+			<modules>
+				<module>swagger-codegen</module>
+				<module>core</module>
+				<module>war</module>
+				<module>undertow</module>
+			</modules>
+		</profile>
+		<profile>
+			<id>dockerbuild</id>
+			<modules>
+				<module>swagger-codegen</module>
+				<module>core</module>
+				<module>undertow</module>
+			</modules>
+		</profile>
+	</profiles>
 
 	<dependencyManagement>
 		<dependencies>

http://git-wip-us.apache.org/repos/asf/metamodel-membrane/blob/a6033aa5/postman-tests/Membrane.postman_collection.json
----------------------------------------------------------------------
diff --git a/postman-tests/Membrane.postman_collection.json b/postman-tests/Membrane.postman_collection.json
new file mode 100644
index 0000000..d8f0896
--- /dev/null
+++ b/postman-tests/Membrane.postman_collection.json
@@ -0,0 +1,202 @@
+{
+	"variables": [],
+	"info": {
+		"name": "Membrane",
+		"_postman_id": "084c91ce-fccc-8fc4-a3c4-1dc5d5b41388",
+		"description": "",
+		"schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json"
+	},
+	"item": [
+		{
+			"name": "Create my-tenant",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"type": "text/javascript",
+						"exec": [
+							"tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"",
+							"var jsonData = JSON.parse(responseBody);",
+							"tests[\"type is tenant\"] = jsonData.type === \"tenant\";"
+						]
+					}
+				}
+			],
+			"request": {
+				"url": "{{baseUrl}}/my-tenant",
+				"method": "PUT",
+				"header": [
+					{
+						"key": "Content-Type",
+						"value": "application/json",
+						"description": ""
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": "{\n    \n}"
+				},
+				"description": ""
+			},
+			"response": []
+		},
+		{
+			"name": "Get my-tenant",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"type": "text/javascript",
+						"exec": [
+							"tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"",
+							"var jsonData = JSON.parse(responseBody);",
+							"tests[\"type is tenant\"] = jsonData.type === \"tenant\";"
+						]
+					}
+				}
+			],
+			"request": {
+				"url": "{{baseUrl}}/my-tenant",
+				"method": "GET",
+				"header": [],
+				"body": {},
+				"description": ""
+			},
+			"response": []
+		},
+		{
+			"name": "Create my-tenant/example-pojo",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"type": "text/javascript",
+						"exec": [
+							"tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"",
+							"var jsonData = JSON.parse(responseBody);",
+							"tests[\"type is datasource\"] = jsonData.type === \"datasource\";",
+							"tests[\"is updateable\"] = jsonData.updateable;"
+						]
+					}
+				}
+			],
+			"request": {
+				"url": "{{baseUrl}}/my-tenant/example-pojo",
+				"method": "PUT",
+				"header": [
+					{
+						"key": "Content-Type",
+						"value": "application/json",
+						"description": ""
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": "{\n    \"type\":\"pojo\",\n    \"table-defs\":\"hello_world (greeting VARCHAR, who VARCHAR); foo (bar INTEGER, baz DATE);\"\n}"
+				},
+				"description": ""
+			},
+			"response": []
+		},
+		{
+			"name": "Create my-tenant/example-postgres",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"type": "text/javascript",
+						"exec": [
+							"tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"",
+							"var jsonData = JSON.parse(responseBody);",
+							"tests[\"type is datasource\"] = jsonData.type === \"datasource\";",
+							"tests[\"is updateable\"] = jsonData.updateable;"
+						]
+					}
+				}
+			],
+			"request": {
+				"url": "{{baseUrl}}/my-tenant/example-postgres",
+				"method": "PUT",
+				"header": [
+					{
+						"key": "Content-Type",
+						"value": "application/json",
+						"description": ""
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": "{\n    \"type\":\"jdbc\",\n    \"url\": \"jdbc:postgresql://example-postgres/membrane\",\n    \"username\": \"membrane\",\n    \"password\": \"secret\"\n}"
+				},
+				"description": ""
+			},
+			"response": []
+		},
+		{
+			"name": "Create my-tenant/example-couchdb",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"type": "text/javascript",
+						"exec": [
+							"tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"",
+							"var jsonData = JSON.parse(responseBody);",
+							"tests[\"type is datasource\"] = jsonData.type === \"datasource\";",
+							"tests[\"is updateable\"] = jsonData.updateable;"
+						]
+					}
+				}
+			],
+			"request": {
+				"url": "{{baseUrl}}/my-tenant/example-couchdb",
+				"method": "PUT",
+				"header": [
+					{
+						"key": "Content-Type",
+						"value": "application/json",
+						"description": ""
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": "{\n    \"type\":\"couchdb\",\n    \"hostname\": \"example-couchdb\",\n    \"username\": \"membrane\",\n    \"password\": \"secret\"\n}"
+				},
+				"description": ""
+			},
+			"response": []
+		},
+		{
+			"name": "Delete my-tenant",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"type": "text/javascript",
+						"exec": [
+							"tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"",
+							"var jsonData = JSON.parse(responseBody);",
+							"tests[\"type is tenant\"] = jsonData.type === \"tenant\";",
+							"tests[\"deleted is true\"] = jsonData.deleted;",
+							""
+						]
+					}
+				}
+			],
+			"request": {
+				"url": "{{baseUrl}}/my-tenant",
+				"method": "DELETE",
+				"header": [],
+				"body": {},
+				"description": ""
+			},
+			"response": []
+		}
+	]
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/metamodel-membrane/blob/a6033aa5/postman-tests/README.md
----------------------------------------------------------------------
diff --git a/postman-tests/README.md b/postman-tests/README.md
new file mode 100644
index 0000000..0f69277
--- /dev/null
+++ b/postman-tests/README.md
@@ -0,0 +1,20 @@
+# Membrane Postman tests
+
+This folder has a set of tests and examples for use with the [Postman](https://www.getpostman.com/) tool.
+
+## Environment files
+
+The environments folder contains a set of reusable environment configs. Creating your own custom environment file should also be trivial since we only currently have one environment variable: `baseUrl`. 
+
+## Prerequisites
+
+The tests are designed to work with the default `docker-compose.yml` file in the root of the membrane project. This compose file has some databases and such which are used as part of the tests.
+
+## Running from command line
+
+If you have Postman's CLI tool `newman` installed, simply go like this:
+
+```
+newman run -e environments/docker-toolbox.postman_environment.json Membrane.postman_collection.json
+```
+(using the `docker-toolbox` environment)

http://git-wip-us.apache.org/repos/asf/metamodel-membrane/blob/a6033aa5/postman-tests/environments/docker-toolbox.postman_environment.json
----------------------------------------------------------------------
diff --git a/postman-tests/environments/docker-toolbox.postman_environment.json b/postman-tests/environments/docker-toolbox.postman_environment.json
new file mode 100644
index 0000000..c3e3d30
--- /dev/null
+++ b/postman-tests/environments/docker-toolbox.postman_environment.json
@@ -0,0 +1,16 @@
+{
+  "id": "556c1331-5e87-4201-2767-8089cdb8e523",
+  "name": "Membrane boot2docker",
+  "values": [
+    {
+      "enabled": true,
+      "key": "baseUrl",
+      "value": "http://192.168.99.100:8080",
+      "type": "text"
+    }
+  ],
+  "timestamp": 1503214232219,
+  "_postman_variable_scope": "environment",
+  "_postman_exported_at": "2017-08-20T08:06:07.385Z",
+  "_postman_exported_using": "Postman/5.1.3"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/metamodel-membrane/blob/a6033aa5/postman-tests/environments/localhost.postman_environment.json
----------------------------------------------------------------------
diff --git a/postman-tests/environments/localhost.postman_environment.json b/postman-tests/environments/localhost.postman_environment.json
new file mode 100644
index 0000000..5dc0d0f
--- /dev/null
+++ b/postman-tests/environments/localhost.postman_environment.json
@@ -0,0 +1,16 @@
+{
+  "id": "fa99af7e-2115-254e-649e-7a2742704dbb",
+  "name": "Membrane local",
+  "values": [
+    {
+      "enabled": true,
+      "key": "baseUrl",
+      "value": "http://localhost:8080",
+      "type": "text"
+    }
+  ],
+  "timestamp": 1503066492942,
+  "_postman_variable_scope": "environment",
+  "_postman_exported_at": "2017-08-20T08:06:12.977Z",
+  "_postman_exported_using": "Postman/5.1.3"
+}
\ No newline at end of file


[3/3] metamodel-membrane git commit: Fixed issue in assigning database name when it shouldnt be set (CouchDB)

Posted by ka...@apache.org.
Fixed issue in assigning database name when it shouldnt be set (CouchDB)

Project: http://git-wip-us.apache.org/repos/asf/metamodel-membrane/repo
Commit: http://git-wip-us.apache.org/repos/asf/metamodel-membrane/commit/40d0564f
Tree: http://git-wip-us.apache.org/repos/asf/metamodel-membrane/tree/40d0564f
Diff: http://git-wip-us.apache.org/repos/asf/metamodel-membrane/diff/40d0564f

Branch: refs/heads/master
Commit: 40d0564f1c60fdbc4871ea8599b8ed928ff2d2c3
Parents: a6033aa
Author: Kasper Sørensen <i....@gmail.com>
Authored: Sun Aug 20 01:15:12 2017 -0700
Committer: Kasper Sørensen <i....@gmail.com>
Committed: Sun Aug 20 01:21:21 2017 -0700

----------------------------------------------------------------------
 .../controllers/DataSourceController.java       |  5 ---
 .../TenantInteractionScenarioTest.java          |  6 +--
 pom.xml                                         | 47 +++++++++++++++++++-
 .../docker-toolbox.postman_environment.json     |  2 +-
 .../localhost.postman_environment.json          |  2 +-
 5 files changed, 51 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/metamodel-membrane/blob/40d0564f/core/src/main/java/org/apache/metamodel/membrane/controllers/DataSourceController.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/metamodel/membrane/controllers/DataSourceController.java b/core/src/main/java/org/apache/metamodel/membrane/controllers/DataSourceController.java
index 194bbe4..7540cf5 100644
--- a/core/src/main/java/org/apache/metamodel/membrane/controllers/DataSourceController.java
+++ b/core/src/main/java/org/apache/metamodel/membrane/controllers/DataSourceController.java
@@ -65,11 +65,6 @@ public class DataSourceController {
         map.putAll(dataContextDefinition.getProperties());
         map.put(DataContextPropertiesImpl.PROPERTY_DATA_CONTEXT_TYPE, dataContextDefinition.getType());
 
-        if (!map.containsKey(DataContextPropertiesImpl.PROPERTY_DATABASE)) {
-            // add the data source ID as database name if it is not already set.
-            map.put(DataContextPropertiesImpl.PROPERTY_DATABASE, dataSourceId);
-        }
-
         final DataContextProperties properties = new DataContextPropertiesImpl(map);
 
         final String dataContextIdentifier = tenantRegistry.getTenantContext(tenantId).getDataSourceRegistry()

http://git-wip-us.apache.org/repos/asf/metamodel-membrane/blob/40d0564f/core/src/test/java/org/apache/metamodel/membrane/controllers/TenantInteractionScenarioTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/metamodel/membrane/controllers/TenantInteractionScenarioTest.java b/core/src/test/java/org/apache/metamodel/membrane/controllers/TenantInteractionScenarioTest.java
index b410e01..8a56934 100644
--- a/core/src/test/java/org/apache/metamodel/membrane/controllers/TenantInteractionScenarioTest.java
+++ b/core/src/test/java/org/apache/metamodel/membrane/controllers/TenantInteractionScenarioTest.java
@@ -77,7 +77,7 @@ public class TenantInteractionScenarioTest {
         // create datasource
         {
             final MvcResult result = mockMvc.perform(MockMvcRequestBuilders.put("/tenant1/mydata").content(
-                    "{'type':'pojo','table-defs':'hello_world (greeting VARCHAR, who VARCHAR); foo (bar INTEGER, baz DATE);'}"
+                    "{'type':'pojo','database':'mydata','table-defs':'hello_world (greeting VARCHAR, who VARCHAR); foo (bar INTEGER, baz DATE);'}"
                             .replace('\'', '"')).contentType(MediaType.APPLICATION_JSON)).andExpect(
                                     MockMvcResultMatchers.status().isOk()).andReturn();
 
@@ -185,8 +185,8 @@ public class TenantInteractionScenarioTest {
         // query metadata from information_schema
         {
             final MvcResult result = mockMvc.perform(MockMvcRequestBuilders.get("/tenant1/mydata/q?sql={sql}",
-                    "SELECT greeting, who AS who_is_it FROM hello_world")).andExpect(MockMvcResultMatchers.status()
-                            .isOk()).andReturn();
+                    "SELECT greeting, who AS who_is_it FROM hello_world"))
+                    .andExpect(MockMvcResultMatchers.status().isOk()).andReturn();
 
             final String content = result.getResponse().getContentAsString();
             final Map<?, ?> map = new ObjectMapper().readValue(content, Map.class);

http://git-wip-us.apache.org/repos/asf/metamodel-membrane/blob/40d0564f/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 4a9ec09..1c1c32c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -42,7 +42,7 @@ under the License.
 	<url>http://metamodel.apache.org</url>
 	<inceptionYear>2017</inceptionYear>
 	<packaging>pom</packaging>
-	
+
 	<profiles>
 		<profile>
 			<id>all</id>
@@ -66,6 +66,51 @@ under the License.
 		</profile>
 	</profiles>
 
+	<build>
+		<pluginManagement>
+			<plugins>
+				<plugin>
+					<groupId>org.apache.rat</groupId>
+					<artifactId>apache-rat-plugin</artifactId>
+					<configuration>
+						<licenses>
+							<license
+								implementation="org.apache.rat.analysis.license.SimplePatternBasedLicense">
+								<licenseFamilyCategory>ASL20</licenseFamilyCategory>
+								<licenseFamilyName>Apache Software License, 2.0</licenseFamilyName>
+								<notes>Single licensed ASL v2.0</notes>
+								<patterns>
+									<pattern>Licensed to the Apache Software Foundation (ASF) under
+										one
+										or more contributor license agreements.</pattern>
+								</patterns>
+							</license>
+						</licenses>
+						<excludeSubProjects>false</excludeSubProjects>
+						<excludes>
+							<exclude>KEYS</exclude>
+							<exclude>**/*.md</exclude>
+							<exclude>**/*.json</exclude>
+							<exclude>**/.gitignore/**</exclude>
+							<exclude>.git/**</exclude>
+							<exclude>.gitattributes</exclude>
+							<exclude>**/.project</exclude>
+							<exclude>**/.classpath</exclude>
+							<exclude>**/.settings/**</exclude>
+							<exclude>**/.vscode/**</exclude>
+							<exclude>**/.travis.yml</exclude>
+							<exclude>**/target/**</exclude>
+							<exclude>**/*.iml/**</exclude>
+							<exclude>**/*.iws/**</exclude>
+							<exclude>**/*.ipr/**</exclude>
+							<exclude>**/.idea/**</exclude>
+						</excludes>
+					</configuration>
+				</plugin>
+			</plugins>
+		</pluginManagement>
+	</build>
+
 	<dependencyManagement>
 		<dependencies>
 			<dependency>

http://git-wip-us.apache.org/repos/asf/metamodel-membrane/blob/40d0564f/postman-tests/environments/docker-toolbox.postman_environment.json
----------------------------------------------------------------------
diff --git a/postman-tests/environments/docker-toolbox.postman_environment.json b/postman-tests/environments/docker-toolbox.postman_environment.json
index c3e3d30..e04cb2e 100644
--- a/postman-tests/environments/docker-toolbox.postman_environment.json
+++ b/postman-tests/environments/docker-toolbox.postman_environment.json
@@ -1,6 +1,6 @@
 {
   "id": "556c1331-5e87-4201-2767-8089cdb8e523",
-  "name": "Membrane boot2docker",
+  "name": "Membrane docker-toolbox",
   "values": [
     {
       "enabled": true,

http://git-wip-us.apache.org/repos/asf/metamodel-membrane/blob/40d0564f/postman-tests/environments/localhost.postman_environment.json
----------------------------------------------------------------------
diff --git a/postman-tests/environments/localhost.postman_environment.json b/postman-tests/environments/localhost.postman_environment.json
index 5dc0d0f..527d430 100644
--- a/postman-tests/environments/localhost.postman_environment.json
+++ b/postman-tests/environments/localhost.postman_environment.json
@@ -1,6 +1,6 @@
 {
   "id": "fa99af7e-2115-254e-649e-7a2742704dbb",
-  "name": "Membrane local",
+  "name": "Membrane localhost",
   "values": [
     {
       "enabled": true,