You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampipes.apache.org by ri...@apache.org on 2022/01/23 16:28:50 UTC

[incubator-streampipes] 05/26: [housekeeping] Remove very old and obsolete Angular 1 sensor module

This is an automated email from the ASF dual-hosted git repository.

riemer pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-streampipes.git

commit cbafab84c4b73947dfc812e75f552d2eea0be8a8
Author: Dominik Riemer <do...@gmail.com>
AuthorDate: Sat Jan 22 23:06:02 2022 +0100

    [housekeeping] Remove very old and obsolete Angular 1 sensor module
---
 .../deployment/deployment-type.component.ts        |  31 --
 .../deployment/deployment-type.controller.ts       |  24 --
 .../deployment/deployment-type.tmpl.html           |  50 ----
 .../components/deployment/deployment.component.ts  |  32 --
 .../components/deployment/deployment.controller.ts |  89 ------
 .../components/deployment/deployment.tmpl.html     |  71 -----
 .../general/advanced-settings.component.ts         |  31 --
 .../general/advanced-settings.controller.ts        |  38 ---
 .../components/general/advanced-settings.tmpl.html |  25 --
 .../components/general/collapsible.component.ts    |  37 ---
 .../components/general/collapsible.controller.ts   |  34 ---
 .../components/general/collapsible.tmpl.html       |  52 ----
 .../components/general/options.component.ts        |  31 --
 .../components/general/options.controller.ts       |  33 --
 .../sensors/components/general/options.tmpl.html   |  32 --
 .../general/value-specification.component.ts       |  32 --
 .../general/value-specification.controller.ts      |  60 ----
 .../general/value-specification.tmpl.html          |  69 -----
 .../generated-element-description.component.ts     |  32 --
 .../generated-element-description.controller.ts    |  41 ---
 .../generated-element-description.tmpl.html        |  62 ----
 .../generated-element-implementation.component.ts  |  31 --
 .../generated-element-implementation.controller.ts | 104 -------
 .../generated-element-implementation.tmpl.html     |  46 ---
 .../grounding/supported-grounding.component.ts     |  31 --
 .../grounding/supported-grounding.controller.ts    | 142 ---------
 .../grounding/supported-grounding.tmpl.html        |  28 --
 .../grounding/transport-format.component.ts        |  31 --
 .../grounding/transport-format.controller.ts       |  65 ----
 .../grounding/transport-format.tmpl.html           |  45 ---
 .../grounding/transport-protocol.component.ts      |  29 --
 .../grounding/transport-protocol.controller.ts     |  71 -----
 .../grounding/transport-protocol.tmpl.html         |  84 ------
 .../components/output/output-strategy.component.ts |  31 --
 .../output/output-strategy.controller.ts           |  67 -----
 .../components/output/output-strategy.tmpl.html    |  45 ---
 .../property/datatype-property.component.ts        |  32 --
 .../property/datatype-property.controller.ts       |  61 ----
 .../property/datatype-property.tmpl.html           |  27 --
 .../property/domain-concept-property.component.ts  |  31 --
 .../property/domain-concept-property.controller.ts |  78 -----
 .../property/domain-concept-property.tmpl.html     |  61 ----
 .../property/domain-property.component.ts          |  31 --
 .../property/domain-property.controller.ts         |  34 ---
 .../components/property/domain-property.tmpl.html  |  26 --
 .../property/event-properties.component.ts         |  31 --
 .../property/event-properties.controller.ts        |  67 -----
 .../components/property/event-properties.tmpl.html |  83 -----
 .../property/property-restriction.component.ts     |  31 --
 .../property/property-restriction.controller.ts    |  75 -----
 .../property/property-restriction.tmpl.html        |  55 ----
 .../property/required-property-values.component.ts |  31 --
 .../required-property-values.controller.ts         |  24 --
 .../property/required-property-values.tmpl.html    |  32 --
 .../property/static-properties.component.ts        |  32 --
 .../property/static-properties.controller.ts       | 132 --------
 .../property/static-properties.tmpl.html           | 143 ---------
 .../property-quality-definitions.component.ts      |  32 --
 .../property-quality-definitions.controller.ts     |  41 ---
 .../quality/property-quality-definitions.tmpl.html |  73 -----
 .../stream-quality-definitions.component.ts        |  32 --
 .../stream-quality-definitions.controller.ts       |  40 ---
 .../quality/stream-quality-definitions.tmpl.html   |  58 ----
 .../restriction/stream-restriction.component.ts    |  31 --
 .../restriction/stream-restriction.controller.ts   |  33 --
 .../restriction/stream-restriction.tmpl.html       |  26 --
 .../components/sepa/sepa-basics.component.ts       |  31 --
 .../components/sepa/sepa-basics.controller.ts      |  26 --
 .../sensors/components/sepa/sepa-basics.tmpl.html  |  34 ---
 .../sepa/sepa-stream-detail.component.ts           |  31 --
 .../sepa/sepa-stream-detail.controller.ts          |  50 ----
 .../components/sepa/sepa-stream-detail.tmpl.html   |  74 -----
 .../components/unit/measurement-unit.component.ts  |  31 --
 .../components/unit/measurement-unit.controller.ts |  65 ----
 .../components/unit/measurement-unit.tmpl.html     |  42 ---
 ui/src/app/sensors/sensors.controller.ts           | 333 ---------------------
 ui/src/app/sensors/sensors.html                    |  80 -----
 ui/src/app/sensors/sensors.module.ts               |  99 ------
 ui/src/app/sensors/starts-with-letter.filter.ts    |  32 --
 ui/src/app/sensors/templates/grounding.html        |  29 --
 ui/src/app/sensors/templates/sec-menu-bar.html     | 107 -------
 ui/src/app/sensors/templates/sec.html              |  58 ----
 ui/src/app/sensors/templates/sep-menu-bar.html     |  78 -----
 ui/src/app/sensors/templates/sep.html              |  85 ------
 ui/src/app/sensors/templates/sepa-menu-bar.html    | 107 -------
 ui/src/app/sensors/templates/sepa.html             |  87 ------
 ui/src/app/sensors/templates/stream.html           |  59 ----
 87 files changed, 4777 deletions(-)

diff --git a/ui/src/app/sensors/components/deployment/deployment-type.component.ts b/ui/src/app/sensors/components/deployment/deployment-type.component.ts
deleted file mode 100644
index 7ab23da..0000000
--- a/ui/src/app/sensors/components/deployment/deployment-type.component.ts
+++ /dev/null
@@ -1,31 +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.
- *
- */
-
-import {DeploymentTypeController} from "./deployment-type.controller";
-
-declare const require: any;
-
-export let DeploymentTypeComponent = {
-    template: require('./deployment-type.tmpl.html'),
-    bindings: {
-        disabled : "<",
-        deployment : "<",
-    },
-    controller: DeploymentTypeController,
-    controllerAs: 'ctrl'
-};
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/deployment/deployment-type.controller.ts b/ui/src/app/sensors/components/deployment/deployment-type.controller.ts
deleted file mode 100644
index a82aaad..0000000
--- a/ui/src/app/sensors/components/deployment/deployment-type.controller.ts
+++ /dev/null
@@ -1,24 +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.
- *
- */
-
-export class DeploymentTypeController {
-
-    constructor() {
-        
-    }
-}
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/deployment/deployment-type.tmpl.html b/ui/src/app/sensors/components/deployment/deployment-type.tmpl.html
deleted file mode 100644
index 168652f..0000000
--- a/ui/src/app/sensors/components/deployment/deployment-type.tmpl.html
+++ /dev/null
@@ -1,50 +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.
-  ~
-  -->
-
-<h5 class="md-subhead">Deployment type</h5>
-	    <md-radio-group ng-model="ctrl.deployment.deploymentMethod" class="md-padding" style="display:inline;">
-		     <md-radio-button value="STANDALONE">Standalone (integrated web server)</md-radio-button>
-		     <md-radio-button value="EMBEDDED">Servlet Container (e.g., Apache Tomcat)</md-radio-button>
-		     <md-radio-button value="OSGI">OSGI Bundle</md-radio-button>
-		 </md-radio-group> 
-	<div flex="100" layout="row">
-		<div flex="25">
-	        <md-input-container>
-		    	<label>GroupId</label>
-		        <input ng-model="ctrl.deployment.groupId">
-		    </md-input-container>
-		</div>
-		<div flex="25">
-		    <md-input-container>
-		    	<label>ArtifactId</label>
-		        <input ng-model="ctrl.deployment.artifactId">
-		    </md-input-container>  
-		</div>
-		<div flex="25"> 
-		    <md-input-container>
-		    	<label>Class Prefix</label>
-		        <input ng-model="ctrl.deployment.classNamePrefix">
-		    </md-input-container>
-		</div>
-		<div flex="25">
-		    <md-input-container>
-		    	<label>Port</label>
-		        <input ng-model="ctrl.deployment.port">
-		    </md-input-container>  
-		</div>
-	</div>
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/deployment/deployment.component.ts b/ui/src/app/sensors/components/deployment/deployment.component.ts
deleted file mode 100644
index 914cdd9..0000000
--- a/ui/src/app/sensors/components/deployment/deployment.component.ts
+++ /dev/null
@@ -1,32 +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.
- *
- */
-
-import {DeploymentController} from "./deployment.controller";
-
-declare const require: any;
-
-export let DeploymentComponent = {
-    template: require('./deployment.tmpl.html'),
-    bindings: {
-        disabled : "<",
-        deploymentSettings : "=",
-        element: "="
-    },
-    controller: DeploymentController,
-    controllerAs: 'ctrl'
-};
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/deployment/deployment.controller.ts b/ui/src/app/sensors/components/deployment/deployment.controller.ts
deleted file mode 100644
index 3d3fc08..0000000
--- a/ui/src/app/sensors/components/deployment/deployment.controller.ts
+++ /dev/null
@@ -1,89 +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.
- *
- */
-
-export class DeploymentController {
-
-    DeploymentService: any;
-    deployment: any;
-    resultReturned: any;
-    loading: any;
-    jsonld: any;
-    zipFile: any;
-    deploymentSettings: any;
-    element: any;
-    java: any;
-
-    constructor(DeploymentService) {
-        this.DeploymentService = DeploymentService;
-        this.deployment = {};
-
-        this.resultReturned = false;
-        this.loading = false;
-        this.jsonld = "";
-        this.zipFile = "";
-    }
-
-    $onInit() {
-        this.deployment.elementType = this.deploymentSettings.elementType;
-    }
-
-    generateImplementation() {
-        this.resultReturned = false;
-        this.loading = true;
-        this.DeploymentService.generateImplementation(this.deployment, this.element)
-            .success((data, status, headers, config) => {
-                //$scope.openSaveAsDialog($scope.deployment.artifactId +".zip", data, "application/zip");
-                this.resultReturned = true;
-                this.loading = false;
-                this.zipFile = data;
-            }).error((data, status, headers, config) => {
-            this.loading = false;
-        });
-    };
-
-    generateDescription() {
-        this.loading = true;
-        this.DeploymentService.generateDescriptionJava(this.deployment, this.element)
-            .success((data, status, headers, config) => {
-                // $scope.openSaveAsDialog($scope.element.name +".jsonld", data, "application/json");
-                this.loading = false;
-                this.resultReturned = true;
-                this.java = data;
-            }).error((data, status, headers, config) => {
-            this.loading = false;
-        });
-        this.DeploymentService.generateDescriptionJsonld(this.deployment, this.element)
-            .success((data, status, headers, config) => {
-                // $scope.openSaveAsDialog($scope.element.name +".jsonld", data, "application/json");
-                this.loading = false;
-                this.resultReturned = true;
-                this.jsonld = JSON.stringify(data, null, 2);
-            }).error((data, status, headers, config) => {
-            this.loading = false;
-        });
-    }
-
-
-    openSaveAsDialog(filename, content, mediaType) {
-        var blob = new Blob([content], {type: mediaType});
-        // TODO: saveAs not implemented
-        //this.saveAs(blob, filename);
-    }
-}
-
-DeploymentController.$inject = ['DeploymentService'];
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/deployment/deployment.tmpl.html b/ui/src/app/sensors/components/deployment/deployment.tmpl.html
deleted file mode 100644
index a8f7468..0000000
--- a/ui/src/app/sensors/components/deployment/deployment.tmpl.html
+++ /dev/null
@@ -1,71 +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.
-  ~
-  -->
-
-<div flex="100" class="md-padding">
-	<div flex="100" layout="column" style="width:100%">	
-		<h5 class="md-subhead">Implementation</h5>
-		   <md-input-container class="md-padding-left">
-			 	<md-radio-group ng-model="ctrl.deployment.outputType" class="md-padding-left" style="display:inline;">
-			 	 		<md-radio-button value="{{outputType.type}}" ng-repeat="outputType in ctrl.deploymentSettings.outputTypes">{{outputType.description}}</md-radio-button>
-					   	</md-radio-group>	
-			</md-input-container> 
-		 <md-divider style="border-top-color:rgba(63, 81, 181, 0.5)"></md-divider> 
-		 <div flex="100" ng-show="ctrl.deployment.outputType == 'DESCRIPTION'">
-		 	<h5 class="md-subhead">Code generation options</h5>
-				    <div flex="100" layout="row" class="md-padding-left">
-				    	<div layout="row"> 
-						    <md-input-container>
-						    	<label>Class name prefix</label>
-						        <input ng-model="ctrl.deployment.classNamePrefix">
-						    </md-input-container>
-					    </div>
-					    <div flex="100" layout="column"> 
-			    			<md-button ng-click="ctrl.generateDescription()" class="md-accent">Generate code</md-button>
-		    			</div>
-					</div> 
-		</div>  
-		<div flex="100" ng-show="ctrl.deployment.outputType == 'IMPLEMENTATION'">
-		 	<h5 class="md-subhead">{{ctrl.deployment.runtimeType.title}}</h5>
-				    <md-radio-group ng-model="ctrl.deployment.runtimeType" class="md-padding-left" style="display:inline;">
-				     	 <md-radio-button value="{{runtimeType.type}}" ng-repeat="runtimeType in ctrl.deploymentSettings.runtimeType.runtimeTypes">{{runtimeType.description}}</md-radio-button>
-					 </md-radio-group> 	  
-			<md-divider style="border-top-color:rgba(63, 81, 181, 0.5)"></md-divider>
-			<div flex="100" layout="column">
-			 	<deployment-type deployment="ctrl.deployment"/>
-			</div>
-		 	<div flex="100" layout="column"> 
-		    	<md-button ng-click="ctrl.generateImplementation()" class="md-accent">Generate Implementation</md-button>
-		    </div>
-		</div> 	
-		<md-progress-circular class="md-accent" md-mode="indeterminate" ng-show="ctrl.loading"></md-progress-circular>
-		<div flex="100" layout="row" layout-align="center center" ng-if="ctrl.deployment.outputType == 'DESCRIPTION' && ctrl.resultReturned">
-			<div flex="100" layout="column">
-				<md-divider style="border-top-color:rgba(63, 81, 181, 0.5)"></md-divider>
-				<h5 class="md-subhead">Description</h5>
-				<generated-element-description jsonld="ctrl.jsonld" java="ctrl.java" element="element"/>
-			</div>
-		</div>
-		<div flex="100" layout="row" layout-align="center center" ng-if="ctrl.deployment.outputType == 'IMPLEMENTATION' && ctrl.resultReturned">
-			<div flex="100" layout="column">
-				<md-divider style="border-top-color:rgba(63, 81, 181, 0.5)"></md-divider>
-				<h5 class="md-subhead">Generated Implementation</h5>
-				<generated-element-implementation zip-file="ctrl.zipFile" element="ctrl.element"/>
-			</div>
-		</div>
-	</div>
-</div>
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/general/advanced-settings.component.ts b/ui/src/app/sensors/components/general/advanced-settings.component.ts
deleted file mode 100644
index 0206cdb..0000000
--- a/ui/src/app/sensors/components/general/advanced-settings.component.ts
+++ /dev/null
@@ -1,31 +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.
- *
- */
-
-import {AdvancedSettingsController} from "./advanced-settings.controller";
-
-declare const require: any;
-
-export let AdvancedSettingsComponent = {
-    template: require('./advanced-settings.tmpl.html'),
-    bindings: {
-        disabled : "<"
-    },
-    transclude: true,
-    controller: AdvancedSettingsController,
-    controllerAs: 'ctrl'
-};
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/general/advanced-settings.controller.ts b/ui/src/app/sensors/components/general/advanced-settings.controller.ts
deleted file mode 100644
index a0c0fd6..0000000
--- a/ui/src/app/sensors/components/general/advanced-settings.controller.ts
+++ /dev/null
@@ -1,38 +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.
- *
- */
-
-export class AdvancedSettingsController {
-
-    visible: any;
-
-    constructor() {
-        this.visible = false;
-    }
-    
-    showLabel() {
-        return this.visible == true ? "Hide" : "Show";
-    }
-
-    advancedSettingsVisible() {
-        return this.visible;
-    }
-
-    toggleAdvancedSettingsVisibility() {
-        this.visible = !this.visible;
-    }
-}
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/general/advanced-settings.tmpl.html b/ui/src/app/sensors/components/general/advanced-settings.tmpl.html
deleted file mode 100644
index b3e402d..0000000
--- a/ui/src/app/sensors/components/general/advanced-settings.tmpl.html
+++ /dev/null
@@ -1,25 +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.
-  ~
-  -->
-
-<md-button class="md-accent" ng-click="ctrl.toggleAdvancedSettingsVisibility()" ng-disabled="ctrl.disabled">{{ctrl.showLabel()}}
-    advanced settings
-</md-button>
-<div ng-if="ctrl.advancedSettingsVisible()" ng-transclude>
-
-</div>
-	
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/general/collapsible.component.ts b/ui/src/app/sensors/components/general/collapsible.component.ts
deleted file mode 100644
index fb3072c..0000000
--- a/ui/src/app/sensors/components/general/collapsible.component.ts
+++ /dev/null
@@ -1,37 +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.
- *
- */
-
-import {CollapsibleController} from "./collapsible.controller";
-
-declare const require: any;
-
-export let CollapsibleComponent = {
-    template: require('./collapsible.tmpl.html'),
-    bindings: {
-        list : "<",
-        ctr: "<",
-        disabled: "<",
-        removable: "<",
-        titleLabel: "<",
-        collapsible: "<",
-        subtitle: "<"
-    },
-    transclude: true,
-    controller: CollapsibleController,
-    controllerAs: 'ctrl'
-};
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/general/collapsible.controller.ts b/ui/src/app/sensors/components/general/collapsible.controller.ts
deleted file mode 100644
index 345ca76..0000000
--- a/ui/src/app/sensors/components/general/collapsible.controller.ts
+++ /dev/null
@@ -1,34 +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.
- *
- */
-
-export class CollapsibleController {
-
-    hide: any;
-
-    constructor() {
-        this.hide = true;
-    }
-    
-    toggleVisibility() {
-        this.hide = !this.hide;
-    }
-
-    removeProperty(list, ctr) {
-        list.splice(ctr, 1);
-    }
-}
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/general/collapsible.tmpl.html b/ui/src/app/sensors/components/general/collapsible.tmpl.html
deleted file mode 100644
index 49d4640..0000000
--- a/ui/src/app/sensors/components/general/collapsible.tmpl.html
+++ /dev/null
@@ -1,52 +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.
-  ~
-  -->
-
-<div flex="100" layout="column" layout-fill class="sp-blue-border-nopadding" style="margin-bottom:10px;">
-    <div flex="100" ng-class="!ctrl.subtitle ? 'assemblyOptions sp-blue-bg' : 'md-padding'" style="margin-top:0px;">
-        <div layout="row" layout-align="start center">
-            <h4>{{ctrl.titleLabel}}</h4>
-            <span flex></span>
-            <md-button class="md-icon-button" ng-show="ctrl.hide" ng-click="ctrl.toggleVisibility()" ng-if="ctrl.collapsible">
-                <i class="material-icons" ng-style="!ctrl.subtitle ? 'color: white;' : ''">arrow_drop_up</i>
-                <md-tooltip md-direction="top">
-                    Hide
-                </md-tooltip>
-            </md-button>
-            <md-button class="md-icon-button" ng-show="!ctrl.hide" ng-click="ctrl.toggleVisibility()" ng-if="ctrl.collapsible">
-                <i class="material-icons" ng-style="!ctrl.subtitle ? 'color: white;' : ''">arrow_drop_down</i>
-                <md-tooltip md-direction="top">
-                    Show
-                </md-tooltip>
-            </md-button>
-            <md-button ng-disabled="ctrl.disabled" ng-click="ctrl.removeProperty(ctrl.list, ctrl.ctr)" class="md-icon-button"
-                       ng-if="ctrl.removable" >
-                <i class="material-icons"
-                   ng-style="!ctrl.subtitle ? 'color: white;' : ''">clear</i>
-                <md-tooltip md-direction="top">
-                    Clear
-                </md-tooltip>
-            </md-button>
-
-        </div>
-    </div>
-    <div>
-        <div flex="100" layout="column" layout-fill ng-transclude ng-if="ctrl.hide" class="md-padding">
-
-        </div>
-    </div>
-</div>
diff --git a/ui/src/app/sensors/components/general/options.component.ts b/ui/src/app/sensors/components/general/options.component.ts
deleted file mode 100644
index 28ad58d..0000000
--- a/ui/src/app/sensors/components/general/options.component.ts
+++ /dev/null
@@ -1,31 +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.
- *
- */
-
-import {OptionsController} from "./options.controller";
-
-declare const require: any;
-
-export let OptionsComponent = {
-    template: './options.tmpl.html',
-    bindings: {
-        disabled : "<",
-        options : "<"
-    },
-    controller: OptionsController,
-    controllerAs: 'ctrl'
-};
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/general/options.controller.ts b/ui/src/app/sensors/components/general/options.controller.ts
deleted file mode 100644
index 87dc4d8..0000000
--- a/ui/src/app/sensors/components/general/options.controller.ts
+++ /dev/null
@@ -1,33 +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.
- *
- */
-
-export class OptionsController {
-
-    constructor() {
-
-    }
-
-    addOption(options) {
-        if (options == undefined) options = [];
-        options.push({"name": ""});
-    }
-
-    removeOption(options, index) {
-        options.splice(index, 1);
-    }
-}
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/general/options.tmpl.html b/ui/src/app/sensors/components/general/options.tmpl.html
deleted file mode 100644
index 9a21992..0000000
--- a/ui/src/app/sensors/components/general/options.tmpl.html
+++ /dev/null
@@ -1,32 +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.
-  ~
-  -->
-
-<h4>Options</h4>
-<div ng-repeat = "(index, option) in ctrl.options">
-	<div layout="column" flex="100" class="panel-margin ontology-panel-property">
-		<div flex="100" layout="row">
-				<div flex="70" layout="row" layout-align="start center">	<h5>Option {{index+1}}</h5></div>
-				<div flex="30" layout="row" layout-align="end center"><md-button  ng-disabled="ctrl.disabled" ng-click="ctrl.removeOption(ctrl.options, index)" class="md-icon-button tree-node-action" style="width:24px;height:24px;"><md-icon md-svg-icon="content:ic_clear_24px" aria-label="Delete Option"></md-icon></md-button></div>
-		</div>
-		<md-input-container>
-    	<label>Label</label>
-        <input ng-model="option.name"  ng-disabled="ctrl.disabled">
-		</md-input-container>
-	</div>
-</div>
-<md-button class="md-accent" ng-click="ctrl.addOption(ctrl.options)" ng-disabled="ctrl.disabled">Add Option</md-button>
diff --git a/ui/src/app/sensors/components/general/value-specification.component.ts b/ui/src/app/sensors/components/general/value-specification.component.ts
deleted file mode 100644
index 63e8d69..0000000
--- a/ui/src/app/sensors/components/general/value-specification.component.ts
+++ /dev/null
@@ -1,32 +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.
- *
- */
-
-import {ValueSpecificationController} from "./value-specification.controller";
-
-declare const require: any;
-
-export let ValueSpecificationComponent = {
-    template: require('./value-specification.tmpl.html'),
-    bindings: {
-        disabled : "<",
-        property : "<",
-        runtimeType : "<"
-    },
-    controller: ValueSpecificationController,
-    controllerAs: 'ctrl'
-};
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/general/value-specification.controller.ts b/ui/src/app/sensors/components/general/value-specification.controller.ts
deleted file mode 100644
index 64c1de1..0000000
--- a/ui/src/app/sensors/components/general/value-specification.controller.ts
+++ /dev/null
@@ -1,60 +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.
- *
- */
-
-export class ValueSpecificationController {
-
-    valueSpecifications: any;
-    runtimeType: any;
-    property: any;
-
-    constructor() {
-        this.valueSpecifications = [{label: "None", "type": undefined},
-            {label: "Quantitative Value", "type": "org.apache.streampipes.model.schema.QuantitativeValue"},
-            {label: "Enumeration", "type": "org.apache.streampipes.model.schema.Enumeration"}];
-    }
-
-    isDisallowed(type) {
-        if ((type == this.valueSpecifications[1].type) && !this.isNumericalProperty()) return true;
-        else if ((type == this.valueSpecifications[2].type) && this.isBoolean()) return true;
-        else return false;
-    }
-
-    isNumericalProperty() {
-        if (this.runtimeType != "http://www.w3.org/2001/XMLSchema#string" &&
-            this.runtimeType != "http://www.w3.org/2001/XMLSchema#boolean") return true;
-        else return false;
-
-    }
-
-    isBoolean() {
-        if (this.runtimeType == "http://www.w3.org/2001/XMLSchema#boolean") return true;
-        else return false;
-    }
-
-    add() {
-        if (this.property.properties == undefined) {
-            this.property.properties = {};
-            this.property.properties.runtimeValues = [];
-        }
-        this.property.properties.runtimeValues.push("");
-    }
-
-    remove(runtimeValues, propertyIndex) {
-        runtimeValues.splice(propertyIndex, 1);
-    };
-}
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/general/value-specification.tmpl.html b/ui/src/app/sensors/components/general/value-specification.tmpl.html
deleted file mode 100644
index 69f6ff4..0000000
--- a/ui/src/app/sensors/components/general/value-specification.tmpl.html
+++ /dev/null
@@ -1,69 +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.
-  ~
-  -->
-
-<div class="md-padding">
-	<md-radio-group ng-model="ctrl.property.type" ng-disabled="ctrl.disabled">
-	 <md-radio-button ng-repeat="t in ctrl.valueSpecifications"
-                         ng-value="t.type"
-                         ng-disabled="ctrl.isDisallowed(t.type)">{{t.label}}</md-radio-button>
-	</md-radio-group>
-	
-	<div ng-if="ctrl.property.type == ctrl.valueSpecifications[1].type" class="md-padding">
-	<b>Quantitative Value</b>
-		<div flex="100" layout-fill layout="row">
-			<div flex="33"> 
-				<md-input-container style="width:100%">
-			    	<label>Minimum value</label>
-			        <input ng-model="ctrl.property.properties.minValue" required ng-disabled="ctrl.disabled">
-			    </md-input-container>   
-		  	</div>
-		  	<div flex="33">
-				<md-input-container style="width:100%">
-			    	<label>Maximum value</label>
-			        <input ng-model="ctrl.property.properties.maxValue" required ng-disabled="ctrl.disabled">
-			    </md-input-container>
-			</div>
-			<div flex="33">
-	    		<md-input-container style="width:100%">
-			    	<label>Step</label>
-			        <input ng-model="ctrl.property.properties.step" required ng-disabled="ctrl.disabled">
-			    </md-input-container>
-	    	</div>
-		</div>
-	
-	</div>
-	<div ng-if="ctrl.property.type == ctrl.valueSpecifications[2].type" class="md-padding">
-	<b>Enumeration</b>
-		<div flex="70" layout="column">
-			<div ng-repeat="runtimeValue in ctrl.property.properties.runtimeValues track by $index">
-				<div flex="70" layout-fill layout="row">
-					<div flex="60"> 
-						<md-input-container style="width:100%">
-				    	<label>Runtime Value</label>
-				        	<input ng-model="ctrl.property.properties.runtimeValues[$index]" required ng-disabled="ctrl.disabled">
-				    	</md-input-container>
-					</div>
-					<div flex="40"> 
-						<md-button class="md-accent" ng-click="ctrl.remove(ctrl.property.properties.runtimeValues, $index)" ng-disabled="ctrl.disabled">Remove</md-button>
-					</div>
-				</div>
-			</div>
-			<div flex><md-button class="md-accent" ng-click="ctrl.add()" ng-disabled="ctrl.disabled">Add Member</md-button></div>
-		</div>
-	</div>
-</div>
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/generated-element/generated-element-description.component.ts b/ui/src/app/sensors/components/generated-element/generated-element-description.component.ts
deleted file mode 100644
index 3bd10a3..0000000
--- a/ui/src/app/sensors/components/generated-element/generated-element-description.component.ts
+++ /dev/null
@@ -1,32 +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.
- *
- */
-
-import {GeneratedElementDescriptionController} from "./generated-element-description.controller";
-
-declare const require: any;
-
-export let GeneratedElementDescriptionComponent = {
-    template: require('./generated-element-description.tmpl.html'),
-    bindings: {
-        jsonld : "<",
-        java : "<",
-        element: "<"
-    },
-    controller: GeneratedElementDescriptionController,
-    controllerAs: 'ctrl'
-};
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/generated-element/generated-element-description.controller.ts b/ui/src/app/sensors/components/generated-element/generated-element-description.controller.ts
deleted file mode 100644
index d7b63ea..0000000
--- a/ui/src/app/sensors/components/generated-element/generated-element-description.controller.ts
+++ /dev/null
@@ -1,41 +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.
- *
- */
-
-export class GeneratedElementDescriptionController {
-
-    element: any;
-    jsonld: any;
-
-    constructor() {
-
-    }
-
-    downloadJsonLd() {
-        this.openSaveAsDialog(this.element.name + ".jsonld", this.jsonld, "application/json");
-    }
-
-    downloadJava() {
-        this.openSaveAsDialog(this.element.name + ".java", this.jsonld, "application/java");
-    }
-
-    openSaveAsDialog(filename, content, mediaType) {
-        var blob = new Blob([content], {type: mediaType});
-        // TODO: saveAs not implemented
-        //this.saveAs(blob, filename);
-    }
-}
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/generated-element/generated-element-description.tmpl.html b/ui/src/app/sensors/components/generated-element/generated-element-description.tmpl.html
deleted file mode 100644
index c082c09..0000000
--- a/ui/src/app/sensors/components/generated-element/generated-element-description.tmpl.html
+++ /dev/null
@@ -1,62 +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.
-  ~
-  -->
-
-<div flex="100" md-scroll-y>
-<md-tabs md-dynamic-height >
-      <md-tab id="tab1">
-        <md-tab-label>JSON-LD</md-tab-label>
-        <md-tab-body>  
-			    <div class="assemblyOptions" style="padding:0px;margin:0px;">
-			    	<md-button class="md-icon-button" aria-label="Copy to clipboard" clipboard text="ctrl.jsonld">
-				        <md-icon md-svg-icon="content:ic_content_copy_24px" style="color: white;"> </md-icon>
-				        <md-tooltip md-direction="top">
-							Copy to clipboard
-						</md-tooltip>
-			        </md-button>
-			        <md-button class="md-icon-button" aria-label="Download" ng-click="ctrl.downloadJsonLd()">
-			        	<md-icon md-svg-icon="file:ic_file_download_24px" style="color: white;"> </md-icon>
-			        	<md-tooltip md-direction="top">
-							Download
-						</md-tooltip>
-			        </md-button>
-			    </div>	    
-	        <pre nag-prism source="{{ctrl.jsonld}}" class="language-json" style="margin-top:0px;border-radius:0px;"></pre>
-        </md-tab-body>
-      </md-tab>
-      <md-tab id="tab2">
-        <md-tab-label>Java</md-tab-label>
-        <md-tab-body>
-        	<div class="assemblyOptions" style="padding:0px;margin:0px;">
-			    	<md-button class="md-icon-button" aria-label="Copy to clipboard" clipboard text="ctrl.java">
-				        <md-icon md-svg-icon="content:ic_content_copy_24px" style="color: white;"> </md-icon>
-				        <md-tooltip md-direction="top">
-							Copy to clipboard
-						</md-tooltip>
-			        </md-button>
-			        <md-button class="md-icon-button" aria-label="Download" ng-click="ctrl.downloadJava()">
-			        	<md-icon md-svg-icon="file:ic_file_download_24px" style="color: white;"> </md-icon>
-			        	<md-tooltip md-direction="top">
-							Download
-						</md-tooltip>
-			        </md-button>
-			    </div>
-           <pre nag-prism source="{{ctrl.java}}" class="language-java" style="margin-top:0px;border-radius:0px;"></pre>
-        </md-tab-body>
-      </md-tab>
-</md-tabs>
-</div>
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/generated-element/generated-element-implementation.component.ts b/ui/src/app/sensors/components/generated-element/generated-element-implementation.component.ts
deleted file mode 100644
index fdbb58c..0000000
--- a/ui/src/app/sensors/components/generated-element/generated-element-implementation.component.ts
+++ /dev/null
@@ -1,31 +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.
- *
- */
-
-import {GeneratedElementImplementationController} from "./generated-element-implementation.controller";
-
-declare const require: any;
-
-export let GeneratedElementImplementationComponent = {
-    template: require('./generated-element-implementation.tmpl.html'),
-    bindings: {
-        zipFile : "<",
-        element: "<"
-    },
-    controller: GeneratedElementImplementationController,
-    controllerAs: 'ctrl'
-};
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/generated-element/generated-element-implementation.controller.ts b/ui/src/app/sensors/components/generated-element/generated-element-implementation.controller.ts
deleted file mode 100644
index c07ba42..0000000
--- a/ui/src/app/sensors/components/generated-element/generated-element-implementation.controller.ts
+++ /dev/null
@@ -1,104 +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.
- *
- */
-
-import * as angular from 'angular';
-import * as JSZip from 'jszip';
-import * as FileSaver from 'file-saver';
-
-export class GeneratedElementImplementationController {
-
-    extractedFiles: any;
-    currentFileName: any;
-    currentFileContents: any;
-    loadingCompleted: any;
-    new_zip: any;
-    zipFile: any;
-    element: any;
-
-    constructor() {
-        this.extractedFiles = [];
-        this.currentFileName = "";
-        this.currentFileContents = "";
-        this.loadingCompleted = false;
-
-        this.new_zip = new JSZip();
-    }
-
-    $onInit() {
-        this.new_zip.loadAsync(this.zipFile)
-            .then(zip => {
-                angular.forEach(zip.files, file => {
-                    var filename = file.name;
-                    this.extractedFiles.push({
-                        "fileNameLabel": this.getFileName(filename),
-                        "fileNameDescription": this.getDirectory(filename),
-                        "fileName": filename,
-                        "fileContents": file
-                    });
-                })
-            });
-    }
-
-    openFile(file) {
-        this.loadingCompleted = false;
-        this.currentFileName = file.fileName;
-        file.fileContents.async("string")
-            .then(content => {
-                this.currentFileContents = content;
-                this.loadingCompleted = true;
-            });
-        ;
-    }
-
-    getLanguage(filename) {
-        if (filename.endsWith("java")) return "java";
-        else if (filename.endsWith("xml")) return "xml";
-        else return "";
-    }
-
-    getFileName(filename) {
-        if (/.+\\/gi.test(filename))
-            return filename.replace(/.+\\/g, "");
-        else if (/.+\//gi.test(filename))
-            return filename.replace(/.+\//g, "");
-        else
-            return filename;
-    }
-
-    getDirectory(filename) {
-        if (/.+\\/gi.test(filename)) {
-            var directory = /.+\\/gi.exec(filename)[0];
-            return directory.replace(/\\/g, "/");
-        }
-        else if (/.+\//gi.test(filename)) {
-            var directory = /.+\//gi.exec(filename)[0];
-            return directory.replace(/\//g, "/");
-        }
-        else return "/";
-    }
-
-    downloadZip() {
-        this.openSaveAsDialog(this.element.name + ".zip", this.zipFile, "application/zip");
-    }
-
-    openSaveAsDialog(filename, content, mediaType) {
-        var blob = new Blob([content], {type: mediaType})
-        FileSaver.saveAs(blob, filename);
-    }
-
-}
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/generated-element/generated-element-implementation.tmpl.html b/ui/src/app/sensors/components/generated-element/generated-element-implementation.tmpl.html
deleted file mode 100644
index ac46938..0000000
--- a/ui/src/app/sensors/components/generated-element/generated-element-implementation.tmpl.html
+++ /dev/null
@@ -1,46 +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.
-  ~
-  -->
-
-<div flex="100" style="border: 1px solid rgb(63,81,181);">
-	<div class="assemblyOptions sp-accent-bg" style="padding:0px;margin:0px;">
-	       <md-button class="md-icon-button" aria-label="Download" ng-click="ctrl.downloadZip()">
-	       	<md-icon md-svg-icon="file:ic_file_download_24px" style="color: white;"> </md-icon>
-	       	<md-tooltip md-direction="top">
-				Download
-			</md-tooltip>
-	       </md-button>
-	</div>	
-	<div flex="100" layout="row">
-		<div flex="30" class="md-padding-left">
-			<h5 class="md-subhead">Generated files</h5>
-			<md-list flex class="md-dense">
-				<md-list-item class="md-2-line" ng-repeat="file in ctrl.extractedFiles track by $index">
-					<md-button class="md-icon-button md-secondary" ng-click="ctrl.openFile(file)"><md-icon class="md-icon-avatar" md-svg-icon="action:ic_search_24px" classstyle="color: rgb(63,81,181);"></md-icon></md-button>
-	          		<div class="md-list-item-text" >
-	          			<h4>{{file.fileNameLabel}}</h4>
-	            		<p style="font-size:12px;">{{file.fileNameDescription}}</p>
-	          		</div>
-				</md-list-item>
-			</md-list>
-		</div>
-		<div flex="70">
-			<pre nag-prism source="{{ctrl.currentFileContents}}" class="language-clike language-java line-numbers" style="margin-top:0px;border-radius:0px;" ng-if="ctrl.getLanguage(ctrl.currentFileName) == 'java' && ctrl.loadingCompleted"/>
-		    <pre nag-prism source="{{ctrl.currentFileContents}}" class="language-xml line-numbers" style="margin-top:0px;border-radius:0px;" ng-if="ctrl.getLanguage(ctrl.currentFileName) == 'xml' && ctrl.loadingCompleted"/>
-		</div>
-	</div>
-</div>
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/grounding/supported-grounding.component.ts b/ui/src/app/sensors/components/grounding/supported-grounding.component.ts
deleted file mode 100644
index 262c922..0000000
--- a/ui/src/app/sensors/components/grounding/supported-grounding.component.ts
+++ /dev/null
@@ -1,31 +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.
- *
- */
-
-import {SupportedGroundingController} from "./supported-grounding.controller";
-
-declare const require: any;
-
-export let SupportedGroundingComponent = {
-    template: require('./supported-grounding.tmpl.html'),
-    bindings: {
-        disabled : "<",
-        grounding : "="
-    },
-    controller: SupportedGroundingController,
-    controllerAs: 'ctrl'
-};
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/grounding/supported-grounding.controller.ts b/ui/src/app/sensors/components/grounding/supported-grounding.controller.ts
deleted file mode 100644
index 16d6b10..0000000
--- a/ui/src/app/sensors/components/grounding/supported-grounding.controller.ts
+++ /dev/null
@@ -1,142 +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.
- *
- */
-
-import * as angular from 'angular';
-
-export class SupportedGroundingController {
-
-    transportFormatTypesThrift: any;
-    transportFormatTypesJson: any;
-    thriftFormat: any;
-    jsonFormat: any;
-    kafkaClass: any;
-    jmsClass: any;
-    grounding: any;
-
-    constructor() {
-        this.transportFormatTypesThrift = ["http://sepa.event-processing.org/sepa#TransportFormat", "http://www.w3.org/2000/01/rdf-schema#Resource", "http://sepa.event-processing.org/sepa#thrift"];
-        this.transportFormatTypesJson = ["http://sepa.event-processing.org/sepa#TransportFormat", "http://www.w3.org/2000/01/rdf-schema#Resource", "http://sepa.event-processing.org/sepa#json"];
-
-        this.thriftFormat = "http://sepa.event-processing.org/sepa#thrift";
-        this.jsonFormat = "http://sepa.event-processing.org/sepa#json";
-
-        this.kafkaClass = "org.apache.streampipes.model.grounding.KafkaTransportProtocol";
-        this.jmsClass = "org.apache.streampipes.model.grounding.JmsTransportProtocol";
-    }
-
-
-    kafkaSelected(transportProtocols) {
-        return this.brokerSelected(transportProtocols, this.kafkaClass);
-    }
-
-    jmsSelected(transportProtocols) {
-        return this.brokerSelected(transportProtocols, this.jmsClass);
-    }
-
-    jsonSelected(transportFormats) {
-        return this.formatSelected(transportFormats, this.jsonFormat);
-    }
-
-    thriftSelected(transportFormats) {
-        return this.formatSelected(transportFormats, this.thriftFormat);
-    }
-
-    brokerSelected(transportProtocols, protocolClass) {
-        var selected = false;
-        angular.forEach(transportProtocols, protocol => {
-            if (protocol.type == protocolClass) selected = true;
-        });
-        return selected;
-    }
-
-    formatSelected(transportFormats, formatClass) {
-        var selected = false;
-        angular.forEach(transportFormats, format => {
-            angular.forEach(format.rdfType, function (type) {
-                if (type == formatClass) selected = true;
-            })
-        });
-        return selected;
-    }
-
-    toggleKafka(transportProtocols) {
-        if (this.kafkaSelected(transportProtocols)) {
-            this.removeBroker(transportProtocols, this.kafkaClass);
-        }
-        else {
-            this.checkGrounding();
-            if (transportProtocols == undefined) this.grounding.transportProtocols = [];
-            this.grounding.transportProtocols.push({
-                "type": this.kafkaClass,
-                "properties": {"kafkaPort": 0, "zookeeperPort": 0}
-            })
-        }
-    }
-
-    toggleJms(transportProtocols) {
-        if (this.jmsSelected(transportProtocols)) {
-            this.removeBroker(transportProtocols, this.jmsClass);
-        }
-        else {
-            this.checkGrounding();
-            if (transportProtocols == undefined) this.grounding.transportProtocols = [];
-            this.grounding.transportProtocols.push({"type": this.jmsClass, "properties": {"port": 0}})
-        }
-    }
-
-    removeBroker(transportProtocols, protocolClass) {
-        angular.forEach(transportProtocols, protocol => {
-            if (protocol.type == protocolClass) transportProtocols.splice(transportProtocols.indexOf(protocol), 1);
-        });
-    }
-
-    toggleJson(transportFormats) {
-        if (this.jsonSelected(transportFormats)) {
-            this.removeFormat(transportFormats, this.jsonFormat);
-        }
-        else {
-            this.checkGrounding();
-            if (transportFormats == undefined) this.grounding.transportFormats = [];
-            this.grounding.transportFormats.push({"rdfType": this.transportFormatTypesJson});
-        }
-    }
-
-    toggleThrift(transportFormats) {
-        if (this.thriftSelected(transportFormats)) {
-            this.removeFormat(transportFormats, this.thriftFormat);
-        }
-        else {
-            this.checkGrounding();
-            if (transportFormats == undefined) this.grounding.transportFormats = [];
-            this.grounding.transportFormats.push({"rdfType": this.transportFormatTypesThrift});
-        }
-    }
-
-    checkGrounding() {
-        if (this.grounding == undefined) this.grounding = {};
-    }
-
-
-    removeFormat(transportFormats, formatClass) {
-        angular.forEach(transportFormats, format => {
-            angular.forEach(format.rdfType, type => {
-                if (type == formatClass) transportFormats.splice(transportFormats.indexOf(format), 1);
-            })
-        });
-    }
-}
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/grounding/supported-grounding.tmpl.html b/ui/src/app/sensors/components/grounding/supported-grounding.tmpl.html
deleted file mode 100644
index b12417a..0000000
--- a/ui/src/app/sensors/components/grounding/supported-grounding.tmpl.html
+++ /dev/null
@@ -1,28 +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.
-  ~
-  -->
-
-<h4>Transport Protocols</h4>
-	<md-input-container flex> 
-		<md-checkbox ng-checked="ctrl.kafkaSelected(ctrl.grounding.transportProtocols)" ng-click="ctrl.toggleKafka(ctrl.grounding.transportProtocols)" ng-disabled="ctrl.disabled" >Supports Kafka Protocol</md-checkbox>
-		<md-checkbox ng-checked="ctrl.jmsSelected(ctrl.grounding.transportProtocols)" ng-click="ctrl.toggleJms(ctrl.grounding.transportProtocols)" ng-disabled="ctrl.disabled" >Supports JMS Protocol</md-checkbox>
-	</md-input-container>
-<h4>Transport Formats</h4>
-	<md-input-container flex> 
-		<md-checkbox ng-checked="ctrl.jsonSelected(ctrl.grounding.transportFormats)" ng-click="ctrl.toggleJson(ctrl.grounding.transportFormats)" ng-disabled="ctrl.disabled" >Supports JSON format</md-checkbox>
-		<md-checkbox ng-checked="ctrl.thriftSelected(ctrl.grounding.transportFormats)" ng-click="ctrl.toggleThrift(ctrl.grounding.transportFormats)" ng-disabled="ctrl.disabled" >Supports ProaSense Thrift format</md-checkbox>
-	</md-input-container>
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/grounding/transport-format.component.ts b/ui/src/app/sensors/components/grounding/transport-format.component.ts
deleted file mode 100644
index d83bded..0000000
--- a/ui/src/app/sensors/components/grounding/transport-format.component.ts
+++ /dev/null
@@ -1,31 +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.
- *
- */
-
-import {TransportFormatController} from "./transport-format.controller";
-
-declare const require: any;
-
-export let TransportFormatComponent = {
-    template: require('./transport-format.tmpl.html'),
-    bindings: {
-        disabled : "<",
-        grounding : "="
-    },
-    controller: TransportFormatController,
-    controllerAs: 'ctrl'
-};
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/grounding/transport-format.controller.ts b/ui/src/app/sensors/components/grounding/transport-format.controller.ts
deleted file mode 100644
index a9ba554..0000000
--- a/ui/src/app/sensors/components/grounding/transport-format.controller.ts
+++ /dev/null
@@ -1,65 +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.
- *
- */
-
-export class TransportFormatController {
-
-    availableTransportFormats: any;
-    selectedTransportFormat: any;
-
-    constructor() {
-        this.availableTransportFormats = [{
-            "id": "thrift",
-            "name": "Thrift Simple Event Format",
-            "rdf": ["http://www.w3.org/2000/01/rdf-schema#Resource", "http://sepa.event-processing.org/sepa#TransportFormat", "http://sepa.event-processing.org/sepa#thrift"]
-        },
-            {
-                "id": "json",
-                "name": "Flat JSON Format",
-                "rdf": ["http://www.w3.org/2000/01/rdf-schema#Resource", "http://sepa.event-processing.org/sepa#TransportFormat", "http://sepa.event-processing.org/sepa#json"]
-            },
-            {
-                "id": "xml",
-                "name": "XML",
-                "rdf": ["http://www.w3.org/2000/01/rdf-schema#Resource", "http://sepa.event-processing.org/sepa#TransportFormat", "http://sepa.event-processing.org/sepa#xml"]
-            }];
-        this.selectedTransportFormat = "";
-
-    }
-
-
-    getFormat() {
-        if (this.selectedTransportFormat == 'thrift') return this.availableTransportFormats[0].rdf;
-        else return this.availableTransportFormats[1].rdf;
-    }
-
-    addTransportFormat(transportFormats) {
-        transportFormats.push({"rdfType": this.getFormat()});
-    }
-
-    removeTransportFormat(transportFormats) {
-        transportFormats.splice(0, 1);
-    }
-
-    findFormat(transportFormat) {
-        if (transportFormat == undefined) return "";
-        else {
-            if (transportFormat.rdfType.indexOf(this.availableTransportFormats[0].rdf[2]) != -1) return this.availableTransportFormats[0].name;
-            else return this.availableTransportFormats[1].name;
-        }
-    }
-}
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/grounding/transport-format.tmpl.html b/ui/src/app/sensors/components/grounding/transport-format.tmpl.html
deleted file mode 100644
index 7e228fa..0000000
--- a/ui/src/app/sensors/components/grounding/transport-format.tmpl.html
+++ /dev/null
@@ -1,45 +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.
-  ~
-  -->
-
-<div layout="column" flex="100" class="md-padding">
-    <div layout="row">
-        <md-select ng-model="ctrl.selectedTransportFormat" placeholder="Select Transport Format" ng-disabled="ctrl.disabled">
-            <md-option ng-repeat="format in ctrl.availableTransportFormats" value="{{format.id}}">
-                <b>{{format.name}}</b>
-            </md-option>
-        </md-select>
-        <md-button class="md-accent" ng-click="ctrl.addTransportFormat(ctrl.grounding)"
-                   ng-disabled="ctrl.disabled || ctrl.grounding.length > 0">Add Transport Format
-        </md-button>
-    </div>
-    <div ng-show="ctrl.grounding.length > 0">
-        <div layout="column" flex="100" class="panel-margin ontology-panel-pipeline-configurator">
-            <div flex="100" layout="row">
-                <div flex="70" layout="row" layout-align="start center"><h4>Transport Format:
-                    {{ctrl.findFormat(ctrl.grounding[0])}}</h4></div>
-                <div flex="30" layout="row" layout-align="end center">
-                    <md-button ng-disabled="ctrl.disabled" ng-click="ctrl.removeTransportFormat(ctrl.grounding)"
-                               class="md-icon-button tree-node-action">
-                        <md-icon md-svg-icon="content:ic_clear_24px" aria-label="Remove Format"></md-icon>
-                    </md-button>
-                </div>
-            </div>
-        </div>
-    </div>
-</div>
-<p></p>
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/grounding/transport-protocol.component.ts b/ui/src/app/sensors/components/grounding/transport-protocol.component.ts
deleted file mode 100644
index 37f2bda..0000000
--- a/ui/src/app/sensors/components/grounding/transport-protocol.component.ts
+++ /dev/null
@@ -1,29 +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.
- *
- */
-
-import {TransportProtocolController} from "./transport-protocol.controller";
-
-export let TransportProtocolComponent = {
-    templateUrl: '/src/app/sensors/components/grounding/transport-protocol.tmpl.html',
-    bindings: {
-        disabled : "<",
-        grounding : "="
-    },
-    controller: TransportProtocolController,
-    controllerAs: 'ctrl'
-};
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/grounding/transport-protocol.controller.ts b/ui/src/app/sensors/components/grounding/transport-protocol.controller.ts
deleted file mode 100644
index 893c079..0000000
--- a/ui/src/app/sensors/components/grounding/transport-protocol.controller.ts
+++ /dev/null
@@ -1,71 +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.
- *
- */
-
-export class TransportProtocolController {
-
-    availableTransportProtocols: any;
-    selectedTransportProtocol: any;
-
-    constructor() {
-        this.availableTransportProtocols = [{
-            "id": "kafka",
-            "name": "Apache Kafka",
-            "type": "org.apache.streampipes.model.grounding.KafkaTransportProtocol"
-        },
-            {"id": "jms", "name": "JMS", "type": "org.apache.streampipes.model.grounding.JmsTransportProtocol"},
-            {"id": "mqtt", "name": "MQTT", "type": "org.apache.streampipes.model.grounding.MqttTransportProtocol"}];
-        this.selectedTransportProtocol = "";
-    }
-    
-    addTransportProtocol(transportProtocols) {
-        if (this.selectedTransportProtocol == this.availableTransportProtocols[0].id) this.addKafkaProtocol(transportProtocols);
-        else this.addJmsProtocol(transportProtocols);
-    }
-
-    addKafkaProtocol(transportProtocols) {
-        transportProtocols.push({
-            "type": this.availableTransportProtocols[0].type,
-            "properties": {
-                "zookeeperHost": "",
-                "zookeeperPort": 2181,
-                "brokerHostname": "",
-                "kafkaPort": 9092,
-                "topicName": ""
-            }
-        });
-    }
-
-    addJmsProtocol(transportProtocols) {
-        transportProtocols.push({
-            "type": this.availableTransportProtocols[1].type,
-            "properties": {"brokerHostname": "", "port": 61616, "topicName": ""}
-        });
-    }
-
-    removeTransportProtocol(transportProtocols) {
-        transportProtocols.splice(0, 1);
-    }
-
-    findProtocol(transportProtocol) {
-        if (transportProtocol == undefined) return "";
-        else {
-            if (transportProtocol.type == this.availableTransportProtocols[0].type) return this.availableTransportProtocols[0].name;
-            else return this.availableTransportProtocols[1].name;
-        }
-    }
-}
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/grounding/transport-protocol.tmpl.html b/ui/src/app/sensors/components/grounding/transport-protocol.tmpl.html
deleted file mode 100644
index 2863ad8..0000000
--- a/ui/src/app/sensors/components/grounding/transport-protocol.tmpl.html
+++ /dev/null
@@ -1,84 +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.
-  ~
-  -->
-
-<div layout="column" flex="100" class="md-padding">
-    <div layout="row">
-        <md-select ng-model="ctrl.selectedTransportProtocol" placeholder="Select Transport Protocol" ng-disabled="ctrl.disabled">
-            <md-option ng-repeat="protocol in ctrl.availableTransportProtocols" value="{{protocol.id}}">
-                <b>{{protocol.name}}</b>
-            </md-option>
-        </md-select>
-        <md-button class="md-accent" ng-click="ctrl.addTransportProtocol(ctrl.grounding)"
-                   ng-disabled="ctrl.disabled || ctrl.grounding.length > 0">Add Transport Protocol
-        </md-button>
-    </div>
-    <div ng-show="ctrl.grounding.length > 0">
-        <div layout="column" flex="100" class="panel-margin ontology-panel-pipeline-configurator">
-            <div flex="100" layout="row">
-                <div flex="70" layout="row" layout-align="start center"><h4>Transport Protocol:
-                    {{ctrl.findProtocol(ctrl.grounding[0])}}</h4></div>
-                <div flex="30" layout="row" layout-align="end center">
-                    <md-button ng-disabled="ctrl.disabled" ng-click="ctrl.removeTransportProtocol(ctrl.grounding)"
-                               class="md-icon-button tree-node-action">
-                        <md-icon md-svg-icon="content:ic_clear_24px" aria-label="Remove Format"></md-icon>
-                    </md-button>
-                </div>
-            </div>
-            <div ng-show="ctrl.grounding[0].type =='org.apache.streampipes.model.grounding.KafkaTransportProtocol'">
-                <div flex layout="column">
-                    <md-input-container>
-                        <label>Zookeeper Host</label>
-                        <input ng-model="ctrl.grounding[0].properties.zookeeperHost" ng-disabled="ctrl.disabled">
-                    </md-input-container>
-                    <md-input-container>
-                        <label>Zookeeper Port</label>
-                        <input ng-model="ctrl.grounding[0].properties.zookeeperPort" ng-disabled="ctrl.disabled">
-                    </md-input-container>
-                    <md-input-container>
-                        <label>Kafka Host</label>
-                        <input ng-model="ctrl.grounding[0].properties.brokerHostname" ng-disabled="ctrl.disabled">
-                    </md-input-container>
-                    <md-input-container>
-                        <label>Kafka Port</label>
-                        <input ng-model="grounding[0].properties.kafkaPort" ng-disabled="ctrl.disabled">
-                    </md-input-container>
-                    <md-input-container>
-                        <label>Topic Name</label>
-                        <input ng-model="ctrl.grounding[0].properties.topicName" ng-disabled="ctrl.disabled">
-                    </md-input-container>
-                </div>
-            </div>
-            <div ng-show="ctrl.grounding[0].type =='org.apache.streampipes.model.grounding.JmsTransportProtocol'">
-                <div flex layout="column">
-                    <md-input-container>
-                        <label>Jms Host</label>
-                        <input ng-model="ctrl.grounding[0].properties.brokerHostname" ng-disabled="ctrl.disabled">
-                    </md-input-container>
-                    <md-input-container>
-                        <label>Jms Port</label>
-                        <input ng-model="ctrl.grounding[0].properties.port" ng-disabled="ctrl.disabled">
-                    </md-input-container>
-                    <md-input-container>
-                        <label>Topic Name</label>
-                        <input ng-model="ctrl.grounding[0].properties.topicName" ng-disabled="ctrl.disabled">
-                    </md-input-container>
-                </div>
-            </div>
-        </div>
-    </div>
-</div>
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/output/output-strategy.component.ts b/ui/src/app/sensors/components/output/output-strategy.component.ts
deleted file mode 100644
index 942e764..0000000
--- a/ui/src/app/sensors/components/output/output-strategy.component.ts
+++ /dev/null
@@ -1,31 +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.
- *
- */
-
-import {OutputStrategyController} from "./output-strategy.controller";
-
-declare const require: any;
-
-export let OutputStrategyComponent = {
-    template: require('./output-strategy.tmpl.html'),
-    bindings: {
-        disabled : "<",
-        strategies : "="
-    },
-    controller: OutputStrategyController,
-    controllerAs: 'ctrl'
-};
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/output/output-strategy.controller.ts b/ui/src/app/sensors/components/output/output-strategy.controller.ts
deleted file mode 100644
index 1a2a0b5..0000000
--- a/ui/src/app/sensors/components/output/output-strategy.controller.ts
+++ /dev/null
@@ -1,67 +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.
- *
- */
-
-import * as angular from 'angular';
-
-export class OutputStrategyController {
-
-    outputStrategyTypes: any;
-    selectedOutputStrategy: any;
-    strategies: any;
-
-    constructor() {
-        this.outputStrategyTypes = [{label: "Append", "type": "org.apache.streampipes.model.output.AppendOutputStrategy"},
-            {label: "Custom", "type": "org.apache.streampipes.model.output.CustomOutputStrategy"},
-            {label: "Fixed", "type": "org.apache.streampipes.model.output.FixedOutputStrategy"},
-            {label: "List", "type": "org.apache.streampipes.model.output.ListOutputStrategy"},
-            {label: "Keep", "type": "org.apache.streampipes.model.output.RenameOutputStrategy"}];
-
-        this.selectedOutputStrategy = this.outputStrategyTypes[0].type;
-    }
-
-    addOutputStrategy(strategies) {
-        if (strategies == undefined) this.strategies = [];
-        this.strategies.push(this.getNewOutputStrategy());
-    }
-
-    removeOutputStrategy(strategies, index) {
-        strategies.splice(index, 1);
-    }
-
-    getNewOutputStrategy() {
-        if (this.selectedOutputStrategy === this.outputStrategyTypes[0].type)
-            return {"type": this.outputStrategyTypes[0].type, "properties": {"eventProperties": []}};
-        else if (this.selectedOutputStrategy === this.outputStrategyTypes[1].type)
-            return {"type": this.outputStrategyTypes[1].type, "properties": {"eventProperties": []}};
-        else if (this.selectedOutputStrategy === this.outputStrategyTypes[2].type)
-            return {"type": this.outputStrategyTypes[2].type, "properties": {"eventProperties": []}};
-        else if (this.selectedOutputStrategy === this.outputStrategyTypes[3].type)
-            return {"type": this.outputStrategyTypes[3].type, "properties": {}};
-        else if (this.selectedOutputStrategy === this.outputStrategyTypes[4].type)
-            return {"type": this.outputStrategyTypes[4].type, "properties": {}};
-
-    }
-
-    getType(strategy) {
-        var label;
-        angular.forEach(this.outputStrategyTypes, function (value) {
-            if (value.type == strategy.type) label = value.label;
-        });
-        return label;
-    }
-}
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/output/output-strategy.tmpl.html b/ui/src/app/sensors/components/output/output-strategy.tmpl.html
deleted file mode 100644
index 6f25d8f..0000000
--- a/ui/src/app/sensors/components/output/output-strategy.tmpl.html
+++ /dev/null
@@ -1,45 +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.
-  ~
-  -->
-
-<div ng-repeat = "(key, strategy) in ctrl.strategies">
-	<collapsible title-label="ctrl.getType(strategy)" list="ctrl.strategies" index="key" disabled="ctrl.disabled" subtitle="true" removable="!ctrl.disabled" collapsible="true" subtitle="true" layout-fill>
-		<div ng-show="strategy.type == ctrl.outputStrategyTypes[0].type">
-			<event-properties properties="strategy.properties.eventProperties" disabled="ctrl.disabled"></event-properties>
-		</div>
-		<div ng-show="strategy.type == ctrl.outputStrategyTypes[1].type">
-			(no further configuration required)
-		</div>
-		<div ng-show="strategy.type == ctrl.outputStrategyTypes[2].type">
-			<event-properties properties="strategy.properties" disabled="ctrl.disabled"></event-properties>
-		</div>
-		<div ng-show="strategy.type == ctrl.outputStrategyTypes[3].type">
-			(not yet implemented)
-		</div>
-		<div ng-show="strategy.type == ctrl.outputStrategyTypes[4].type">
-			(no further configuration required)
-		</div>
-	</collapsible>
-</div>
-<div layout="row">
-	<md-select  ng-disabled="ctrl.disabled" ng-model="ctrl.selectedOutputStrategy" placeholder="Select output strategy type" ng-disabled="ctrl.strategies.length >= 1">
-          <md-option ng-repeat="spt in ctrl.outputStrategyTypes" value="{{spt.type}}">
-            <b>{{spt.label}}</b>
-          </md-option>
-	</md-select>
-	<md-button class="md-accent" ng-click="ctrl.addOutputStrategy(ctrl.strategies)" ng-disabled="ctrl.strategies.length >= 1 || ctrl.disabled">Add output strategy</md-button>
-</div>	
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/property/datatype-property.component.ts b/ui/src/app/sensors/components/property/datatype-property.component.ts
deleted file mode 100644
index 9e6cdc8..0000000
--- a/ui/src/app/sensors/components/property/datatype-property.component.ts
+++ /dev/null
@@ -1,32 +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.
- *
- */
-
-import {DatatypePropertyController} from "./datatype-property.controller";
-
-declare const require: any;
-
-export let DatatypePropertyComponent = {
-    template: require('./datatype-property.tmpl.html'),
-    bindings: {
-        disabled : "<",
-        runtimeType : "=",
-        dpMode: "="
-    },
-    controller: DatatypePropertyController,
-    controllerAs: 'ctrl'
-};
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/property/datatype-property.controller.ts b/ui/src/app/sensors/components/property/datatype-property.controller.ts
deleted file mode 100644
index 046471e..0000000
--- a/ui/src/app/sensors/components/property/datatype-property.controller.ts
+++ /dev/null
@@ -1,61 +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.
- *
- */
-
-export class DatatypePropertyController {
-
-    primitiveClasses: any;
-    dpMode: any;
-
-    constructor() {
-        this.primitiveClasses = [{
-            "title": "String",
-            "description": "A textual datatype, e.g., 'machine1'",
-            "id": "http://www.w3.org/2001/XMLSchema#string"
-        },
-            {"title": "Boolean", "description": "A true/false value", "id": "http://www.w3.org/2001/XMLSchema#boolean"},
-            {
-                "title": "Integer",
-                "description": "A whole-numerical datatype, e.g., '1'",
-                "id": "http://www.w3.org/2001/XMLSchema#integer"
-            },
-            {
-                "title": "Long",
-                "description": "A whole numerical datatype, e.g., '2332313993'",
-                "id": "http://www.w3.org/2001/XMLSchema#long"
-            },
-            {
-                "title": "Double",
-                "description": "A floating-point number, e.g., '1.25'",
-                "id": "http://www.w3.org/2001/XMLSchema#double"
-            },
-            {
-                "title": "Float",
-                "description": "A floating-point number, e.g., '1.25'",
-                "id": "http://www.w3.org/2001/XMLSchema#float"
-            }];
-
-
-        if (this.dpMode == 'restriction')
-            this.primitiveClasses.push({
-                "title": "Number",
-                "description": "Any numerical value",
-                "id": "http://schema.org/Number"
-            });
-    }
-    
-}
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/property/datatype-property.tmpl.html b/ui/src/app/sensors/components/property/datatype-property.tmpl.html
deleted file mode 100644
index 9db9941..0000000
--- a/ui/src/app/sensors/components/property/datatype-property.tmpl.html
+++ /dev/null
@@ -1,27 +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.
-  ~
-  -->
-
-<md-input-container style="width:100%">
-    <h5>Datatype</h5>
-    <select ng-model="ctrl.runtimeType" ng-disabled="ctrl.disabled">
-        <option ng-repeat="primitive in ctrl.primitiveClasses" value="{{primitive.id}}"
-                   ng-selected="runtimeType == primitive.id" ng-disabled="ctrl.disabled">
-            {{primitive.title}} - {{primitive.description}}
-        </option>
-    </select>
-</md-input-container>
diff --git a/ui/src/app/sensors/components/property/domain-concept-property.component.ts b/ui/src/app/sensors/components/property/domain-concept-property.component.ts
deleted file mode 100644
index 3af21ad..0000000
--- a/ui/src/app/sensors/components/property/domain-concept-property.component.ts
+++ /dev/null
@@ -1,31 +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.
- *
- */
-
-import {DomainConceptPropertyController} from "./domain-concept-property.controller";
-
-declare const require: any;
-
-export let DomainConceptPropertyComponent = {
-    template: require('./domain-concept-property.tmpl.html'),
-    bindings: {
-        disabled : "<",
-        domainProperty : "="
-    },
-    controller: DomainConceptPropertyController,
-    controllerAs: 'ctrl'
-};
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/property/domain-concept-property.controller.ts b/ui/src/app/sensors/components/property/domain-concept-property.controller.ts
deleted file mode 100644
index 7dc4ffe..0000000
--- a/ui/src/app/sensors/components/property/domain-concept-property.controller.ts
+++ /dev/null
@@ -1,78 +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.
- *
- */
-
-export class DomainConceptPropertyController {
-
-    RestApi: any;
-    concepts: any;
-    properties: any;
-
-    constructor(RestApi) {
-        this.RestApi = RestApi;
-        this.concepts = [];
-        this.properties = [];
-    }
-
-    $onInit() {
-        this.loadProperties();
-        this.loadConcepts();
-    }
-
-    loadProperties() {
-        this.RestApi.getOntologyProperties()
-            .then(propertiesData => {
-                this.properties = propertiesData.data;
-            });
-    }
-
-    loadConcepts() {
-        this.RestApi.getOntologyConcepts()
-            .then(conceptsData => {
-                this.concepts = conceptsData.data;
-            });
-    }
-
-    addSupportedProperty(supportedProperties) {
-        if (supportedProperties == undefined) supportedProperties = [];
-        supportedProperties.push({"propertyId": ""});
-    }
-
-    removeSupportedProperty(supportedProperties, index) {
-        supportedProperties.splice(index, 1);
-    }
-
-    conceptRestricted(domainProperty) {
-        return (domainProperty.requiredClass != undefined);
-    }
-
-    toggleConceptRestriction(domainProperty) {
-        if (this.conceptRestricted(domainProperty)) domainProperty.requiredClass = undefined;
-        else domainProperty.requiredClass = this.concepts[0].id;
-    }
-
-    conceptSelected(conceptId, currentConceptId) {
-        return (conceptId == currentConceptId);
-    }
-
-    isSelectedProperty(availableProperty, selectedProperty) {
-        return (availableProperty == selectedProperty);
-    }
-
-}
-
-DomainConceptPropertyController.$inject = ['RestApi'];
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/property/domain-concept-property.tmpl.html b/ui/src/app/sensors/components/property/domain-concept-property.tmpl.html
deleted file mode 100644
index a8003ff..0000000
--- a/ui/src/app/sensors/components/property/domain-concept-property.tmpl.html
+++ /dev/null
@@ -1,61 +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.
-  ~
-  -->
-
-<md-checkbox ng-checked="ctrl.conceptRestricted(ctrl.domainProperty)" ng-click="ctrl.toggleConceptRestriction(ctrl.domainProperty)"
-             aria-label="Concept restriction" ng-disabled="ctrl.disabled">
-    Restrict concept
-</md-checkbox>
-<div ng-show="ctrl.conceptRestricted(ctrl.domainProperty)">
-    <md-input-container>
-        <label>Required Class</label>
-        <select ng-model="ctrl.domainProperty.requiredClass" placeholder="Select required class" ng-disabled="ctrl.disabled">
-            <option ng-repeat="concept in ctrl.concepts" value="{{concept.id}}"
-                    ng-selected="ctrl.conceptSelected(ctrl.domainProperty.requiredClass, concept.id)">
-                {{concept.title}}
-            </option>
-        </select>
-    </md-input-container>
-</div>
-<h4>Supported Properties</h4>
-<div ng-repeat="(index, supportedProperty) in ctrl.domainProperty.supportedProperties">
-    <div layout="column" flex="100" class="panel-margin ontology-panel-property">
-        <div flex="100" layout="row">
-            <div flex="70" layout="row" layout-align="start center"><h5>Supported Property {{index+1}}</h5></div>
-            <div flex="30" layout="row" layout-align="end center">
-                <md-button ng-disabled="ctrl.disabled"
-                           ng-click="ctrl.removeSupportedProperty(ctrl.domainProperty.supportedProperties, index)"
-                           class="md-icon-button tree-node-action" style="width:24px;height:24px;">
-                    <md-icon md-svg-icon="content:ic_clear_24px" aria-label="Delete supported property"></md-icon>
-                </md-button>
-            </div>
-        </div>
-        <md-input-container>
-            <label>Property Id</label>
-            <select ng-model="supportedProperty.propertyId" placeholder="Select required property"
-                    ng-disabled="ctrl.disabled">
-                <option ng-repeat="property in ctrl.properties" value="{{property.id}}"
-                        ng-selected="ctrl.isSelectedProperty(property.id, supportedProperty.propertyId)">
-                    {{property.title}}
-                </option>
-            </select>
-        </md-input-container>
-    </div>
-</div>
-<md-button class="md-accent" ng-click="ctrl.addSupportedProperty(ctrl.domainProperty.supportedProperties)" ng-disabled="ctrl.disabled">
-    Add suported property
-</md-button>
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/property/domain-property.component.ts b/ui/src/app/sensors/components/property/domain-property.component.ts
deleted file mode 100644
index 0eb6a85..0000000
--- a/ui/src/app/sensors/components/property/domain-property.component.ts
+++ /dev/null
@@ -1,31 +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.
- *
- */
-
-import {DomainPropertyController} from "./domain-property.controller";
-
-declare const require: any;
-
-export let DomainPropertyComponent = {
-    template: require('./domain-property.tmpl.html'),
-    bindings: {
-        disabled : "<",
-        property : "="
-    },
-    controller: DomainPropertyController,
-    controllerAs: 'ctrl'
-};
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/property/domain-property.controller.ts b/ui/src/app/sensors/components/property/domain-property.controller.ts
deleted file mode 100644
index c32f366..0000000
--- a/ui/src/app/sensors/components/property/domain-property.controller.ts
+++ /dev/null
@@ -1,34 +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.
- *
- */
-
-export class DomainPropertyController {
-
-    domainProperties: any;
-    DomainPropertiesService: any;
-
-    constructor(DomainProperties) {
-        this.DomainPropertiesService = DomainProperties;
-    }
-
-    $onInit() {
-        this.domainProperties = this.DomainPropertiesService.getDomainProperties();
-    }
-
-}
-
-DomainPropertyController.$inject = ['DomainProperties'];
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/property/domain-property.tmpl.html b/ui/src/app/sensors/components/property/domain-property.tmpl.html
deleted file mode 100644
index 1742943..0000000
--- a/ui/src/app/sensors/components/property/domain-property.tmpl.html
+++ /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.
-  ~
-  -->
-
-<md-input-container style="width:100%">
-    <h5>Domain Property</h5>
-    <select ng-model="ctrl.property" ng-disabled="ctrl.disabled">
-        <option ng-repeat="p in ctrl.domainProperties" value="{{p.id}}" ng-selected="ctrl.property == p.id">
-            {{p.title}}
-        </option>
-    </select>
-</md-input-container>
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/property/event-properties.component.ts b/ui/src/app/sensors/components/property/event-properties.component.ts
deleted file mode 100644
index f797082..0000000
--- a/ui/src/app/sensors/components/property/event-properties.component.ts
+++ /dev/null
@@ -1,31 +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.
- *
- */
-
-import {EventPropertiesController} from "./event-properties.controller";
-
-declare const require: any;
-
-export let EventPropertiesComponent = {
-    template: require('./event-properties.tmpl.html'),
-    bindings: {
-        disabled : "<",
-        properties : "="
-    },
-    controller: EventPropertiesController,
-    controllerAs: 'ctrl'
-};
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/property/event-properties.controller.ts b/ui/src/app/sensors/components/property/event-properties.controller.ts
deleted file mode 100644
index bdd3060..0000000
--- a/ui/src/app/sensors/components/property/event-properties.controller.ts
+++ /dev/null
@@ -1,67 +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.
- *
- */
-
-export class EventPropertiesController {
-
-    RestApi: any;
-    primitiveClasses: any;
-    existingProperties: any;
-
-    constructor(RestApi) {
-        this.RestApi = RestApi;
-        this.primitiveClasses = [{
-            "title": "String",
-            "description": "A textual datatype, e.g., 'machine1'",
-            "id": "http://www.w3.org/2001/XMLSchema#string"
-        },
-            {"title": "Boolean", "description": "A true/false value", "id": "http://www.w3.org/2001/XMLSchema#boolean"},
-            {
-                "title": "Integer",
-                "description": "A whole-numerical datatype, e.g., '1'",
-                "id": "http://www.w3.org/2001/XMLSchema#integer"
-            },
-            {
-                "title": "Double",
-                "description": "A floating-point number, e.g., '1.25'",
-                "id": "http://www.w3.org/2001/XMLSchema#double"
-            }];
-
-        this.existingProperties = [];
-    }
-
-    $onInit() {
-        this.loadProperties();
-    }
-
-    loadProperties() {
-        this.RestApi.getOntologyProperties()
-            .then(propertiesData => {
-                this.existingProperties = propertiesData.data;
-            });
-    }
-
-    addProperty(properties) {
-        if (properties == undefined) properties = [];
-        properties.push({
-            "type": "org.apache.streampipes.model.schema.EventPropertyPrimitive",
-            "properties": {"runtimeType": "", "domainProperties": [""]}
-        });
-    }
-}
-
-EventPropertiesController.$inject = ['RestApi'];
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/property/event-properties.tmpl.html b/ui/src/app/sensors/components/property/event-properties.tmpl.html
deleted file mode 100644
index 296387d..0000000
--- a/ui/src/app/sensors/components/property/event-properties.tmpl.html
+++ /dev/null
@@ -1,83 +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.
-  ~
-  -->
-
-<div layout="column" flex="100" class="md-padding">
-    <div layout="column" flex="100" ng-repeat="(key2, property) in ctrl.properties track by $index">
-        <collapsible list="ctrl.properties" ctr="key2" title-label="'Property ' +(key2+1)"
-                     disabled="ctrl.disabled" removable="!ctrl.disabled" subtitle="true" collapsible="true">
-            <h5 class="md-subhead">Basics</h5>
-            <div flex="100" layout="row" class="md-padding">
-                <div flex="33">
-                    <md-input-container style="width:100%">
-                        <label>Label</label>
-                        <input ng-model="property.properties.label" required ng-disabled="ctrl.disabled">
-                    </md-input-container>
-                </div>
-                <div flex="67">
-                    <md-input-container style="width:100%">
-                        <label>Description</label>
-                        <input ng-model="property.properties.description" required ng-disabled="ctrl.disabled">
-                    </md-input-container>
-                </div>
-            </div>
-            <md-divider style="border-top-color:rgba(63, 81, 181, 0.5)"></md-divider>
-            <h5 class="md-subhead">Runtime Settings</h5>
-            <div flex="100" layout-fill layout="column" class="md-padding">
-                <div flex="100">
-                    <md-input-container style="width:100%">
-                        <h5>Runtime Name</h5>
-                        <input ng-model="property.properties.runtimeName" required ng-disabled="ctrl.disabled">
-                    </md-input-container>
-                </div>
-                <div flex="100">
-                    <datatype-property runtime-type="property.properties.runtimeType" dp-mode="capability"
-                                       disabled="ctrl.disabled"></datatype-property>
-                </div>
-                <div flex="100">
-                    <domain-property property="property.properties.domainProperties[0]" disabled="ctrl.disabled"></domain-property>
-                </div>
-            </div>
-            <advanced-settings index="$index">
-                <md-divider style="border-top-color:rgba(63, 81, 181, 0.5)"></md-divider>
-                <h3 class="md-subhead">Measurement Unit</h3>
-                <div flex="100" layout="row">
-                    <measurement-unit disabled="ctrl.disabled" property="property.properties.measurementUnit"
-                                      style="width:100%;"></measurement-unit>
-                </div>
-
-                <md-divider style="border-top-color:rgba(63, 81, 181, 0.5)"></md-divider>
-                <h3 class="md-subhead">Value Specification</h3>
-                <div flex="100" layout="row">
-                    <value-specification property="property.properties.valueSpecification"
-                                         runtime-type="property.properties.runtimeType" disabled="ctrl.disabled"
-                                         style="width:100%;"></value-specification>
-                </div>
-
-                <md-divider style="border-top-color:rgba(63, 81, 181, 0.5)"></md-divider>
-                <h3 class="md-subhead">Property qualities</h3>
-                <div flex="100" layout="row">
-                    <property-quality-definitions property="property.properties.eventPropertyQualities"
-                                                  disabled="ctrl.disabled"
-                                                  style="width:100%"></property-quality-definitions>
-                </div>
-            </advanced-settings>
-        </collapsible>
-    </div>
-    <div ng-if="ctrl.properties.length == 0">No event properties configured yet.</div>
-    <md-button class="md-accent" ng-disabled="ctrl.disabled" ng-click="ctrl.addProperty(ctrl.properties)">Add Property</md-button>
-</div>
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/property/property-restriction.component.ts b/ui/src/app/sensors/components/property/property-restriction.component.ts
deleted file mode 100644
index 65565d6..0000000
--- a/ui/src/app/sensors/components/property/property-restriction.component.ts
+++ /dev/null
@@ -1,31 +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.
- *
- */
-
-import {PropertyRestrictionController} from "./property-restriction.controller";
-
-declare const require: any;
-
-export let PropertyRestrictionComponent = {
-    template: require('./property-restriction.tmpl.html'),
-    bindings: {
-        disabled : "<",
-        restriction : "=element"
-    },
-    controller: PropertyRestrictionController,
-    controllerAs: 'ctrl'
-};
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/property/property-restriction.controller.ts b/ui/src/app/sensors/components/property/property-restriction.controller.ts
deleted file mode 100644
index 1985e40..0000000
--- a/ui/src/app/sensors/components/property/property-restriction.controller.ts
+++ /dev/null
@@ -1,75 +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.
- *
- */
-
-export class PropertyRestrictionController {
-
-    constructor() {
-
-    }
-
-    addPropertyRestriction(key, restriction) {
-        if (restriction.eventSchema.eventProperties == undefined) restriction.eventSchema.eventProperties = [];
-        restriction.eventSchema.eventProperties.push({
-            "type": "org.apache.streampipes.model.schema.EventPropertyPrimitive",
-            "properties": {"elementName": this.makeElementName(), "runtimeType": "", "domainProperties": []}
-        });
-    }
-
-    datatypeRestricted(property) {
-        return (property.properties.runtimeType != undefined);
-    }
-
-    toggleDatatypeRestriction(property) {
-        if (this.datatypeRestricted(property)) property.properties.runtimeType = undefined;
-        else property.properties.runtimeType = "";
-    }
-
-    measurementUnitRestricted(property) {
-        return (property.properties.measurementUnit != undefined);
-    }
-
-    toggleMeasurementUnitRestriction(property) {
-        if (this.measurementUnitRestricted(property)) property.properties.measurementUnit = undefined;
-        else property.properties.measurementUnit = "";
-    }
-
-    domainPropertyRestricted(property) {
-        return (property.properties.domainProperties != undefined && property.properties.domainProperties[0] != undefined);
-    }
-
-    toggleDomainPropertyRestriction(property) {
-        if (this.domainPropertyRestricted(property)) {
-            property.properties.domainProperties = [];
-        }
-        else {
-            property.properties.domainProperties = [];
-            property.properties.domainProperties[0] = "";
-        }
-    }
-
-    makeElementName() {
-        return "urn:streampipes.apache.org:sepa:" + this.randomString();
-    }
-
-    randomString() {
-        var result = '';
-        var chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
-        for (var i = 0; i < 12; i++) result += chars[Math.round(Math.random() * (chars.length - 1))];
-        return result;
-    }
-}
diff --git a/ui/src/app/sensors/components/property/property-restriction.tmpl.html b/ui/src/app/sensors/components/property/property-restriction.tmpl.html
deleted file mode 100644
index 557d12f..0000000
--- a/ui/src/app/sensors/components/property/property-restriction.tmpl.html
+++ /dev/null
@@ -1,55 +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.
-  ~
-  -->
-
-<div ng-repeat="(key2, property) in ctrl.restriction.eventSchema.eventProperties track by $index">
-    <collapsible title-label="'Property ' +(key2+1)" list="restriction.eventSchema.eventProperties" index="key"
-                 disabled="ctrl.disabled" removable="!ctrl.disabled" collapsible="true" subtitle="true" layout-fill>
-        <md-checkbox ng-checked="ctrl.datatypeRestricted(property)" ng-disabled="ctrl.disabled"
-                     ng-click="ctrl.toggleDatatypeRestriction(property)" aria-label="Datatype requirement">
-            Requires datatype
-        </md-checkbox>
-
-        <div ng-show="ctrl.datatypeRestricted(property)" class="md-padding-left">
-            <datatype-property runtime-type="property.properties.runtimeType" dp-mode="'restriction'"
-                               disabled="ctrl.disabled">
-            </datatype-property>
-        </div>
-        <md-checkbox ng-checked="ctrl.domainPropertyRestricted(property)"
-                     ng-click="ctrl.toggleDomainPropertyRestriction(property)" aria-label="Domain property requirement"
-                     ng-disabled="ctrl.disabled">
-            Requires domain property
-        </md-checkbox>
-        <div ng-show="ctrl.domainPropertyRestricted(property)" class="md-padding-left">
-            <domain-property property="property.properties.domainProperties[0]" disabled="ctrl.disabled"></domain-property>
-        </div>
-        <advanced-settings index="$index">
-            <md-checkbox ng-checked="ctrl.measurementUnitRestricted(property)"
-                         ng-click="ctrl.toggleMeasurementUnitRestriction(property)" aria-label="Measurement unit requirement"
-                         ng-disabled="ctrl.disabled">
-                Requires measurement unit
-            </md-checkbox>
-            <div ng-show="ctrl.measurementUnitRestricted(property)" class="md-padding-left">
-                <measurement-unit disabled="ctrl.disabled" property="property.properties.measurementUnit"
-                                  style="width:100%;"></measurement-unit>
-            </div>
-        </advanced-settings>
-    </collapsible>
-</div>
-<md-button class="md-accent" ng-disabled="ctrl.disabled" ng-click="ctrl.addPropertyRestriction(ctrl.key, ctrl.restriction)">Add property
-    requirement
-</md-button>
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/property/required-property-values.component.ts b/ui/src/app/sensors/components/property/required-property-values.component.ts
deleted file mode 100644
index 31f3f1a..0000000
--- a/ui/src/app/sensors/components/property/required-property-values.component.ts
+++ /dev/null
@@ -1,31 +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.
- *
- */
-
-import {RequiredPropertyValuesController} from "./required-property-values.controller";
-
-declare const require: any;
-
-export let RequiredPropertyValuesComponent = {
-    template: require('./required-property-values.tmpl.html'),
-    bindings: {
-        disabled : "<",
-        property : "="
-    },
-    controller: RequiredPropertyValuesController,
-    controllerAs: 'ctrl'
-};
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/property/required-property-values.controller.ts b/ui/src/app/sensors/components/property/required-property-values.controller.ts
deleted file mode 100644
index ff35937..0000000
--- a/ui/src/app/sensors/components/property/required-property-values.controller.ts
+++ /dev/null
@@ -1,24 +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.
- *
- */
-
-export class RequiredPropertyValuesController {
-
-    constructor() {
-        
-    }
-}
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/property/required-property-values.tmpl.html b/ui/src/app/sensors/components/property/required-property-values.tmpl.html
deleted file mode 100644
index 9591d33..0000000
--- a/ui/src/app/sensors/components/property/required-property-values.tmpl.html
+++ /dev/null
@@ -1,32 +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.
-  ~
-  -->
-
-<div flex layout="column">
-	<md-input-container>
-	 	<label>Internal Name</label>
-		<input ng-model="ctrl.property.internalName" ng-disabled="ctrl.disabled" >
-	</md-input-container>
-	<md-input-container>
-		    	<label>Label</label>
-		        <input ng-model="ctrl.property.label" ng-disabled="ctrl.disabled" >
-	</md-input-container>
-	<md-input-container>
-		    	<label>Description</label>
-		        <input ng-model="ctrl.property.description" ng-disabled="ctrl.disabled" >
-	</md-input-container>
-</div>
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/property/static-properties.component.ts b/ui/src/app/sensors/components/property/static-properties.component.ts
deleted file mode 100644
index 7e4393f..0000000
--- a/ui/src/app/sensors/components/property/static-properties.component.ts
+++ /dev/null
@@ -1,32 +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.
- *
- */
-
-import {StaticPropertiesController} from "./static-properties.controller";
-
-declare const require: any;
-
-export let StaticPropertiesComponent = {
-    template: require('./static-properties.tmpl.html'),
-    bindings: {
-        disabled : "<",
-        staticProperties : "=",
-        streams: "="
-    },
-    controller: StaticPropertiesController,
-    controllerAs: 'ctrl'
-};
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/property/static-properties.controller.ts b/ui/src/app/sensors/components/property/static-properties.controller.ts
deleted file mode 100644
index 6a8692a..0000000
--- a/ui/src/app/sensors/components/property/static-properties.controller.ts
+++ /dev/null
@@ -1,132 +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.
- *
- */
-
-import * as angular from 'angular';
-
-export class StaticPropertiesController {
-
-    RestApi: any;
-    staticPropertyTypes: any;
-    newStaticPropertyType: any;
-    memberTypeSelected: any;
-    properties: any;
-
-    constructor(RestApi) {
-        this.RestApi = RestApi;
-        this.staticPropertyTypes = [{
-            label: "Text Input",
-            "type": "org.apache.streampipes.model.staticproperty.FreeTextStaticProperty"
-        },
-            {label: "Single-Value Selection", "type": "org.apache.streampipes.model.staticproperty.OneOfStaticProperty"},
-            {label: "Multi-Value Selection", "type": "org.apache.streampipes.model.staticproperty.AnyStaticProperty"},
-            {label: "Domain Concept", "type": "org.apache.streampipes.model.staticproperty.DomainStaticProperty"},
-            {
-                label: "Single-Value Mapping Property",
-                "type": "org.apache.streampipes.model.staticproperty.MappingPropertyUnary"
-            },
-            {label: "Multi-Value Mapping Property", "type": "org.apache.streampipes.model.staticproperty.MappingPropertyNary"},
-            {label: "Collection", "type": "org.apache.streampipes.model.staticproperty.CollectionStaticProperty"}];
-
-        this.newStaticPropertyType = this.staticPropertyTypes[0].type;
-        this.memberTypeSelected = false;
-        this.properties = [];
-    }
-
-    $onInit() {
-        this.loadProperties();
-    }
-
-    range(count) {
-        return new Array(+count);
-    }
-
-    isSelectedProperty(mapsFrom, property) {
-        return (property.properties.elementName == mapsFrom);
-    };
-
-    addStaticProperty(staticProperties, type) {
-        if (staticProperties == undefined) staticProperties = [];
-        staticProperties.push(this.getNewStaticProperty(type));
-    }
-
-    getNewStaticProperty(type) {
-        if (type === this.staticPropertyTypes[0].type)
-            return {"type": this.staticPropertyTypes[0].type, "properties": {"label": "", "description": ""}};
-        else if (type === this.staticPropertyTypes[1].type)
-            return {
-                "type": this.staticPropertyTypes[1].type,
-                "properties": {"label": "", "description": "", "options": []}
-            };
-        else if (type === this.staticPropertyTypes[2].type)
-            return {
-                "type": this.staticPropertyTypes[2].type,
-                "properties": {"label": "", "description": "", "options": []}
-            };
-        else if (type === this.staticPropertyTypes[3].type)
-            return {
-                "type": this.staticPropertyTypes[3].type,
-                "properties": {"label": "", "description": "", "supportedProperties": []}
-            };
-        else if (type === this.staticPropertyTypes[4].type)
-            return {"type": this.staticPropertyTypes[4].type, "properties": {"label": "", "description": ""}};
-        else if (type === this.staticPropertyTypes[5].type)
-            return {"type": this.staticPropertyTypes[5].type, "properties": {"label": "", "description": ""}};
-        else if (type === this.staticPropertyTypes[6].type)
-            return {
-                "type": this.staticPropertyTypes[6].type,
-                "properties": {"label": "", "description": "", "memberType": "", "members": []}
-            };
-    }
-
-    getType(property) {
-        var label;
-        angular.forEach(this.staticPropertyTypes, function (value) {
-            if (value.type == property.type) label = value.label;
-        });
-        return label;
-    };
-
-    domainPropertyRestricted(property) {
-        return (property.type != undefined);
-    };
-
-    toggleDomainPropertyRestriction(property) {
-        if (property.type != undefined) property.type = undefined;
-        else property.type = this.properties[0].id;
-    }
-
-    addMember(property) {
-        property.members.push(angular.copy(this.getNewStaticProperty(property.memberType)));
-        this.memberTypeSelected = true;
-    }
-
-    removeMember(property) {
-        property.members = [];
-        property.memberType = '';
-        this.memberTypeSelected = false;
-    }
-
-    loadProperties() {
-        this.RestApi.getOntologyProperties()
-            .then(propertiesData =>  {
-                this.properties = propertiesData.data;
-            });
-    }
-}
-
-StaticPropertiesController.$inject = ['RestApi'];
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/property/static-properties.tmpl.html b/ui/src/app/sensors/components/property/static-properties.tmpl.html
deleted file mode 100644
index bf09de9..0000000
--- a/ui/src/app/sensors/components/property/static-properties.tmpl.html
+++ /dev/null
@@ -1,143 +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.
-  ~
-  -->
-
-<div ng-repeat="(key, sp) in ctrl.staticProperties">
-    <collapsible title-label="'Static Property ' +(key2+1) +' (' +ctrl.getType(sp) +')'" list="staticProperties" index="key"
-                 disabled="ctrl.disabled" removable="!ctrl.disabled" collapsible="true" subtitle="true"
-                 layout-fill>
-        <required-property-values property="sp.properties" disabled="ctrl.disabled"></required-property-values>
-        <div ng-if="sp.type == ctrl.staticPropertyTypes[0].type">
-            <md-checkbox ng-checked="ctrl.domainPropertyRestricted(sp.properties)"
-                         ng-click="ctrl.toggleDomainPropertyRestriction(sp.properties)"
-                         aria-label="Domain property requirement" ng-disabled="ctrl.disabled">
-                Supported domain property
-            </md-checkbox>
-            <div ng-show="ctrl.domainPropertyRestricted(sp.properties)">
-                <md-input-container>
-                    <label>Domain Property</label>
-                    <select ng-model="sp.properties.type" placeholder="Select Static Property type"
-                            ng-disabled="ctrl.disabled">
-                        <option ng-repeat="property in ctrl.properties" value="{{property.id}}">
-                            {{property.title}}
-                        </option>
-                    </select>
-                </md-input-container>
-            </div>
-        </div>
-        <div ng-if="sp.type == ctrl.staticPropertyTypes[1].type">
-            <options element="sp.properties.options" disabled="ctrl.disabled"></options>
-        </div>
-        <div ng-if="sp.type == ctrl.staticPropertyTypes[2].type">
-            <options element="sp.properties.options" disabled="ctrl.disabled"></options>
-        </div>
-        <div ng-if="sp.type == ctrl.staticPropertyTypes[3].type">
-            <domain-concept-property domain-property="sp.properties" auto-complete-static-property="sp.properties"
-                                     disabled="ctrl.disabled"></domain-concept-property>
-        </div>
-        <div ng-if="sp.type == ctrl.staticPropertyTypes[4].type">
-            <md-input-container>
-                <label>Event Property Mapping</label>
-                <select ng-model="sp.properties.mapsFrom" placeholder="Select Static Property type"
-                        ng-disabled="ctrl.disabled">
-                    <option ng-selected="ctrl.isSelectedProperty(sp.properties.mapsFrom, property)"
-                            ng-repeat="(firstKey, property) in streams[0].eventSchema.eventProperties"
-                            value="{{property.properties.elementName}}">Stream 1 - Property {{firstKey+1}} -
-                        {{property.properties.elementName}}
-                    </option>
-                    <option ng-selected="ctrl.isSelectedProperty(sp.properties.mapsFrom, property)"
-                            ng-repeat="(secondKey, property) in streams[1].eventSchema.eventProperties"
-                            value="{{property.properties.elementName}}">Stream 2 - Property {{secondKey+1}} -
-                        {{property.properties.elementName}}
-                    </option>
-                </select>
-            </md-input-container>
-        </div>
-        <div ng-if="sp.type == ctrl.staticPropertyTypes[5].type">
-            (computed at runtime)
-        </div>
-        <div ng-if="sp.type == ctrl.staticPropertyTypes[6].type">
-            <md-input-container>
-                <h5>Member type</h5>
-                <div class="row md-padding">
-                    <select ng-model="sp.properties.memberType" placeholder="Select member type" ng-disabled="ctrl.disabled"
-                            class="md-padding">
-                        <option value="{{staticPropertyTypes[0].type}}">
-                            <b>{{staticPropertyTypes[0].label}}</b>
-                        </option>
-                        <option value="{{staticPropertyTypes[3].type}}">
-                            <b>{{staticPropertyTypes[3].label}}</b>
-                        </option>
-                    </select>
-                    <md-button class="md-accent" ng-click="ctrl.addMember(sp.properties)" ng-disabled="ctrl.disabled">Define
-                        member type
-                    </md-button>
-                </div>
-            </md-input-container>
-            <div ng-if="ctrl.memberTypeSelected || sp.properties.members.length > 0">
-                <div layout="column" flex="100" class="panel-margin ontology-panel-property">
-                    <div flex="100" layout="row">
-                        <div flex="70" layout="row" layout-align="start center"><h4>Member</h4><br/></div>
-                        <div flex="30" layout="row" layout-align="end center">
-                            <md-button ng-disabled="ctrl.disabled" ng-click="ctrl.removeMember(sp.properties)"
-                                       class="md-icon-button tree-node-action" style="width:24px;height:24px;">
-                                <md-icon md-svg-icon="content:ic_clear_24px" aria-label="Delete Restriction"></md-icon>
-                            </md-button>
-                        </div>
-                    </div>
-                    <required-property-values property="sp.properties.members[0].properties"
-                                              disabled="ctrl.disabled"></required-property-values>
-                    <div ng-if="sp.properties.members[0].type == ctrl.staticPropertyTypes[0].type">
-
-                        <md-checkbox ng-checked="ctrl.domainPropertyRestricted(sp.properties.members[0].properties)"
-                                     ng-click="ctrl.toggleDomainPropertyRestriction(sp.properties.members[0].properties)"
-                                     aria-label="Domain property requirement" ng-disabled="ctrl.disabled">
-                            Supported domain property
-                        </md-checkbox>
-                        <div ng-show="ctrl.domainPropertyRestricted(sp.properties.members[0].properties)">
-                            <md-input-container>
-                                <label>Domain Property</label>
-                                <select ng-model="sp.properties.members[0].properties.type"
-                                        placeholder="Select Static Property type" ng-disabled="ctrl.disabled">
-                                    <option ng-repeat="property in ctrl.properties" value="{{property.id}}">
-                                        {{property.title}}
-                                    </option>
-                                </select>
-                            </md-input-container>
-                        </div>
-                    </div>
-                    <div ng-if="sp.properties.members[0].type == ctrl.staticPropertyTypes[3].type">
-                        <domain-concept-property domain-property="sp.properties.members[0].properties"
-                                                 disabled="ctrl.disabled"></domain-concept-property>
-                    </div>
-                </div>
-            </div>
-        </div>
-    </collapsible>
-</div>
-<div layout="row">
-
-        <select ng-model="newStaticPropertyType" placeholder="Select Static Property type" >
-            <option ng-repeat="spt in ctrl.staticPropertyTypes" value="{{spt.type}}">
-                <b>{{spt.label}}</b>
-            </option>
-        </select>
-        <md-button class="md-accent" ng-click="ctrl.addStaticProperty(staticProperties, ctrl.newStaticPropertyType)"
-                   ng-disabled="ctrl.disabled">Add Static Property
-        </md-button>
-
-</div>
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/quality/property-quality-definitions.component.ts b/ui/src/app/sensors/components/quality/property-quality-definitions.component.ts
deleted file mode 100644
index 30ef74c..0000000
--- a/ui/src/app/sensors/components/quality/property-quality-definitions.component.ts
+++ /dev/null
@@ -1,32 +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.
- *
- */
-
-import {PropertyQualityDefinitionsController} from "./property-quality-definitions.controller";
-
-declare const require: any;
-
-export let PropertyQualityDefinitionsComponent = {
-    template: require('./property-quality-definitions.tmpl.html'),
-    bindings: {
-        disabled : "<",
-        property : "=",
-        runtimeType: "="
-    },
-    controller: PropertyQualityDefinitionsController,
-    controllerAs: 'ctrl'
-};
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/quality/property-quality-definitions.controller.ts b/ui/src/app/sensors/components/quality/property-quality-definitions.controller.ts
deleted file mode 100644
index 1b9e2ce..0000000
--- a/ui/src/app/sensors/components/quality/property-quality-definitions.controller.ts
+++ /dev/null
@@ -1,41 +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.
- *
- */
-
-export class PropertyQualityDefinitionsController {
-
-    qualities: any;
-    property: any;
-
-    constructor() {
-        this.qualities = [{label: "Accuracy", "description": "", "type": "org.apache.streampipes.model.quality.Accuracy"},
-            {label: "Precision", "description": "", "type": "org.apache.streampipes.model.quality.Precision"},
-            {label: "Resolution", "description": "", "type": "org.apache.streampipes.model.quality.Resolution"}];
-    }
-
-    add() {
-        if (this.property.properties == undefined) {
-            this.property.properties = {};
-            this.property.properties.runtimeValues = [];
-        }
-        this.property.properties.runtimeValues.push("");
-    }
-
-    remove(runtimeValues, propertyIndex) {
-        runtimeValues.splice(propertyIndex, 1);
-    }
-}
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/quality/property-quality-definitions.tmpl.html b/ui/src/app/sensors/components/quality/property-quality-definitions.tmpl.html
deleted file mode 100644
index 4c1640d..0000000
--- a/ui/src/app/sensors/components/quality/property-quality-definitions.tmpl.html
+++ /dev/null
@@ -1,73 +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.
-  ~
-  -->
-
-<div layout="column" flex="100" class="md-padding-left">
-    <md-checkbox ng-model="ctrl.accuracySelected" aria-label="ctrl.qualities[0].label">
-        {{qualities[0].label}}
-    </md-checkbox>
-    <div ng-if="ctrl.accuracySelected" class="md-padding-left">
-        <div layout="row" flex="70">
-
-            <div flex="50">
-                <md-input-container>
-                    <label>Quantity Value</label>
-                    <input ng-model="ctrl.element.description" required ng-disabled="ctrl.disabled">
-                </md-input-container>
-            </div>
-            <div flex="50">
-                <measurement-unit disabled="ctrl.disabled" property="ctrl.property.properties.measurementUnit"
-                                  style="width:100%;"/>
-            </div>
-        </div>
-    </div>
-    <md-checkbox ng-model="ctrl.precisionSelected" aria-label="ctrl.qualities[1].label">
-        {{ctrl.qualities[1].label}}
-    </md-checkbox>
-    <div ng-if="ctrl.precisionSelected" class="md-padding-left">
-        <div layout="row" flex="70">
-
-            <div flex="50">
-                <md-input-container>
-                    <label>Quantity Value</label>
-                    <input ng-model="ctrl.element.description" required ng-disabled="ctrl.disabled">
-                </md-input-container>
-            </div>
-            <div flex="50">
-                <measurement-unit disabled="ctrl.disabled" property="ctrl.property.properties.measurementUnit"
-                                  style="width:100%;"/>
-            </div>
-        </div>
-    </div>
-    <md-checkbox ng-model="ctrl.resolutionSelected" aria-label="ctrl.qualities[2].label">
-        {{ctrl.qualities[2].label}}
-    </md-checkbox>
-    <div ng-if="ctrl.resolutionSelected" class="md-padding-left">
-        <div layout="row" flex="70">
-            <div flex="50">
-                <md-input-container>
-                    <label>Quantity Value</label>
-                    <input ng-model="ctrl.element.description" required ng-disabled="ctrl.disabled">
-                </md-input-container>
-            </div>
-            <div flex="50">
-                <measurement-unit disabled="ctrl.disabled" property="ctrl.property.properties.measurementUnit"
-                                  style="width:100%;"/>
-            </div>
-        </div>
-    </div>
-</div>
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/quality/stream-quality-definitions.component.ts b/ui/src/app/sensors/components/quality/stream-quality-definitions.component.ts
deleted file mode 100644
index 32ee34e..0000000
--- a/ui/src/app/sensors/components/quality/stream-quality-definitions.component.ts
+++ /dev/null
@@ -1,32 +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.
- *
- */
-
-import {StreamQualityDefinitionsController} from "./stream-quality-definitions.controller";
-
-declare const require: any;
-
-export let StreamQualityDefinitionsComponent = {
-    template: require('./stream-quality-definitions.tmpl.html'),
-    bindings: {
-        disabled : "<",
-        property : "=element",
-        runtimeType: "="
-    },
-    controller: StreamQualityDefinitionsController,
-    controllerAs: 'ctrl'
-};
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/quality/stream-quality-definitions.controller.ts b/ui/src/app/sensors/components/quality/stream-quality-definitions.controller.ts
deleted file mode 100644
index 483b545..0000000
--- a/ui/src/app/sensors/components/quality/stream-quality-definitions.controller.ts
+++ /dev/null
@@ -1,40 +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.
- *
- */
-
-export class StreamQualityDefinitionsController {
-
-    qualities: any;
-    property: any;
-
-    constructor() {
-        this.qualities = [{label: "Frequency", "description": "", "type": "org.apache.streampipes.model.quality.Frequency"},
-            {label: "Latency", "description": "", "type": "org.apache.streampipes.model.quality.Latency"}];
-    }
-    
-    add() {
-        if (this.property.properties == undefined) {
-            this.property.properties = {};
-            this.property.properties.runtimeValues = [];
-        }
-        this.property.properties.runtimeValues.push("");
-    }
-
-    remove(runtimeValues, propertyIndex) {
-        runtimeValues.splice(propertyIndex, 1);
-    }
-}
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/quality/stream-quality-definitions.tmpl.html b/ui/src/app/sensors/components/quality/stream-quality-definitions.tmpl.html
deleted file mode 100644
index 63439d5..0000000
--- a/ui/src/app/sensors/components/quality/stream-quality-definitions.tmpl.html
+++ /dev/null
@@ -1,58 +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.
-  ~
-  -->
-
-<div layout="row" flex="100" class="md-padding">
-    <div flex="100" layout="column">
-        <md-checkbox ng-model="ctrl.frequencySelected" aria-label="ctrl.qualities[0].label">
-            {{ctrl.qualities[0].label}}
-        </md-checkbox>
-        <div ng-if="ctrl.frequencySelected" class="md-padding-left">
-            <div layout="row" flex="70">
-
-                <div flex="50">
-                    <md-input-container>
-                        <label>Quantity Value</label>
-                        <input ng-model="ctrl.element.properties.quantityValue" required ng-disabled="disabled">
-                    </md-input-container>
-                </div>
-                <div flex="50">
-                    <measurement-unit disabled="disabled" property="element.properties.measurementUnit"
-                                      style="width:100%;"></measurement-unit>
-                </div>
-            </div>
-        </div>
-        <md-checkbox ng-model="latencySelected" aria-label="qualities[1].label">
-            {{ctrl.qualities[1].label}}
-        </md-checkbox>
-        <div ng-if="ctrl.latencySelected" class="md-padding-left">
-            <div layout="row" flex="70">
-
-                <div flex="50">
-                    <md-input-container>
-                        <label>Quantity Value</label>
-                        <input ng-model="ctrl.element.properties.quantityValue" required ng-disabled="ctrl.disabled">
-                    </md-input-container>
-                </div>
-                <div flex="50">
-                    <measurement-unit disabled="ctrl.disabled" property="ctrl.element.properties.measurementUnit"
-                                      style="width:100%;"></measurement-unit>
-                </div>
-            </div>
-        </div>
-    </div>
-</div>
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/restriction/stream-restriction.component.ts b/ui/src/app/sensors/components/restriction/stream-restriction.component.ts
deleted file mode 100644
index d1203c3..0000000
--- a/ui/src/app/sensors/components/restriction/stream-restriction.component.ts
+++ /dev/null
@@ -1,31 +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.
- *
- */
-
-import {StreamRestrictionController} from "./stream-restriction.controller";
-
-declare const require: any;
-
-export let StreamRestrictionComponent = {
-    template: require('./stream-restriction.tmpl.html'),
-    bindings: {
-        disabled : "<",
-        streams : "=element"
-    },
-    controller: StreamRestrictionController,
-    controllerAs: 'ctrl'
-};
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/restriction/stream-restriction.controller.ts b/ui/src/app/sensors/components/restriction/stream-restriction.controller.ts
deleted file mode 100644
index b3c5b0a..0000000
--- a/ui/src/app/sensors/components/restriction/stream-restriction.controller.ts
+++ /dev/null
@@ -1,33 +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.
- *
- */
-
-export class StreamRestrictionController {
-
-    constructor() {
-
-    }
-
-    addStreamRestriction(streams) {
-        if (streams == undefined) streams = [];
-        streams.push({"eventSchema": {"eventProperties": []}});
-    }
-
-    removeStreamRestriction(streamIndex, streams) {
-        streams.splice(streamIndex, 1);
-    }
-}
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/restriction/stream-restriction.tmpl.html b/ui/src/app/sensors/components/restriction/stream-restriction.tmpl.html
deleted file mode 100644
index ec17b1f..0000000
--- a/ui/src/app/sensors/components/restriction/stream-restriction.tmpl.html
+++ /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.
-  ~
-  -->
-
-<div ng-repeat = "(key, restriction) in ctrl.streams track by $index">
-<collapsible title-label="'Stream ' +(key+1)" list="ctrl.streams" index="key" disabled="ctrl.disabled" removable="!ctrl.disabled" collapsible="true" subtitle="true" layout-fill>
-	    <property-restriction element="restriction" disabled="ctrl.disabled" ></property-restriction>
-</collapsible>
-<p/>
-</div>
-<md-button class="md-accent" ng-click="ctrl.addStreamRestriction(ctrl.streams)" ng-disabled="ctrl.streams.length >= 2 || ctrl.disabled">Add stream requirement</md-button>
-<p></p>
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/sepa/sepa-basics.component.ts b/ui/src/app/sensors/components/sepa/sepa-basics.component.ts
deleted file mode 100644
index b35fa3e..0000000
--- a/ui/src/app/sensors/components/sepa/sepa-basics.component.ts
+++ /dev/null
@@ -1,31 +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.
- *
- */
-
-import {SepaBasicsController} from "./sepa-basics.controller";
-
-declare const require: any;
-
-export let SepaBasicsComponent = {
-    template: require('./sepa-basics.tmpl.html'),
-    bindings: {
-        disabled : "<",
-        element : "="
-    },
-    controller: SepaBasicsController,
-    controllerAs: 'ctrl'
-};
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/sepa/sepa-basics.controller.ts b/ui/src/app/sensors/components/sepa/sepa-basics.controller.ts
deleted file mode 100644
index 54cc681..0000000
--- a/ui/src/app/sensors/components/sepa/sepa-basics.controller.ts
+++ /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.
- *
- */
-
-export class SepaBasicsController {
-
-    constructor() {
-
-    }
-
-    
-}
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/sepa/sepa-basics.tmpl.html b/ui/src/app/sensors/components/sepa/sepa-basics.tmpl.html
deleted file mode 100644
index f80eaf9..0000000
--- a/ui/src/app/sensors/components/sepa/sepa-basics.tmpl.html
+++ /dev/null
@@ -1,34 +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.
-  ~
-  -->
-
-<div layout="row" flex="100" class="md-padding">
-	<div flex="100" layout="column">
-		<md-input-container>
-	        <label>Name</label>
-	        <input ng-model="ctrl.element.name" required ng-disabled="ctrl.disabled">
-      	</md-input-container>
-	    <md-input-container>
-	    	<label>Description</label>
-	        <input ng-model="ctrl.element.description" required ng-disabled="ctrl.disabled">
-	    </md-input-container>
-	    <md-input-container>
-	        <label>Internal Identifier</label>
-	        <input ng-model="ctrl.element.pathName" required ng-disabled="ctrl.disabled">
-      	</md-input-container>
-	</div>
-</div>
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/sepa/sepa-stream-detail.component.ts b/ui/src/app/sensors/components/sepa/sepa-stream-detail.component.ts
deleted file mode 100644
index 9e1bb21..0000000
--- a/ui/src/app/sensors/components/sepa/sepa-stream-detail.component.ts
+++ /dev/null
@@ -1,31 +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.
- *
- */
-
-import {SepaStreamDetailController} from "./sepa-stream-detail.controller";
-
-declare const require: any;
-
-export let SepaStreamDetailComponent = {
-    template: require('./sepa-stream-detail.tmpl.html'),
-    bindings: {
-        disabled : "<",
-        stream : "="
-    },
-    controller: SepaStreamDetailController,
-    controllerAs: 'ctrl'
-};
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/sepa/sepa-stream-detail.controller.ts b/ui/src/app/sensors/components/sepa/sepa-stream-detail.controller.ts
deleted file mode 100644
index 102057e..0000000
--- a/ui/src/app/sensors/components/sepa/sepa-stream-detail.controller.ts
+++ /dev/null
@@ -1,50 +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.
- *
- */
-
-export class SepaStreamDetailController {
-
-    activeStreamTab: any;
-
-    constructor() {
-        this.activeStreamTab = "basics";
-    }
-    
-    selectStreamTab(name) {
-        this.activeStreamTab = name;
-    }
-
-    isStreamTabSelected(name) {
-        return this.activeStreamTab == name;
-    }
-
-    getStreamActiveTabCss(name) {
-        if (name == this.activeStreamTab) return "md-fab md-accent md-mini";
-        else return "md-fab md-accent md-mini wizard-inactive";
-    }
-
-    addProperty(properties) {
-        properties.push({
-            "type": "org.apache.streampipes.model.schema.EventPropertyPrimitive",
-            "properties": {"runtimeName": "", "runtimeType": "", "domainProperties": []}
-        });
-    }
-
-    removeProperty(index, properties) {
-        properties.splice(index, 1);
-    }
-}
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/sepa/sepa-stream-detail.tmpl.html b/ui/src/app/sensors/components/sepa/sepa-stream-detail.tmpl.html
deleted file mode 100644
index e8285eb..0000000
--- a/ui/src/app/sensors/components/sepa/sepa-stream-detail.tmpl.html
+++ /dev/null
@@ -1,74 +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.
-  ~
-  -->
-
-<div layout="row" flex="100" layout-align="center center" style="margin-bottom:5%;">
-    <div layout="column" flex="33" layout-align="center center">
-        <md-button ng-class="ctrl.getStreamActiveTabCss('basics')" aria-label="Basics" ng-click="ctrl.selectStreamTab('basics')">
-            1
-        </md-button>
-        Basics
-    </div>
-    <div layout="column" flex="33" layout-align="center center">
-        <md-button ng-class="ctrl.getStreamActiveTabCss('schema')" aria-label="Schema" ng-click="ctrl.selectStreamTab('schema')">
-            2
-        </md-button>
-        Event Schema
-    </div>
-    <div layout="column" flex="33" layout-align="center center">
-        <md-button ng-class="ctrl.getStreamActiveTabCss('quality')" aria-label="Deployment"
-                   ng-click="ctrl.selectStreamTab('quality')">3
-        </md-button>
-        Stream Quality
-    </div>
-    <div layout="column" flex="33" layout-align="center center">
-        <md-button ng-class="ctrl.getStreamActiveTabCss('format')" aria-label="Deployment"
-                   ng-click="ctrl.selectStreamTab('format')">4
-        </md-button>
-        Transport Format
-    </div>
-    <div layout="column" flex="33" layout-align="center center">
-        <md-button ng-class="ctrl.getStreamActiveTabCss('protocol')" aria-label="Deployment"
-                   ng-click="ctrl.selectStreamTab('protocol')">5
-        </md-button>
-        Transport Protocol
-    </div>
-</div>
-<div flex="100" layout="column" layout-align="center center">
-
-    <collapsible title-label="'Basics'" disabled="ctrl.disabled" removable="false" collapsible="false"
-                 ng-if="ctrl.isStreamTabSelected('basics')" style="width:100%">
-        <sepa-basics element="ctrl.stream" disabled="ctrl.disabled"></sepa-basics>
-    </collapsible>
-    <collapsible title-label="'Event Schema'" disabled="ctrl.disabled" removable="false" collapsible="false"
-                 ng-if="ctrl.isStreamTabSelected('schema')" style="width:100%">
-        <event-properties properties="ctrl.stream.eventSchema.eventProperties" disabled="disabled">
-    </collapsible>
-    <collapsible title-label="'Stream Qualities'" disabled="ctrl.disabled" removable="false" collapsible="false"
-                 ng-if="ctrl.isStreamTabSelected('quality')" style="width:100%">
-        <stream-quality-definitions property="ctrl.stream.hasEventStreamQualities" disabled="disabled" style="width:100%"/>
-    </collapsible>
-    <collapsible title-label="'Transport Format'" disabled="ctrl.disabled" removable="false" collapsible="false"
-                 ng-if="ctrl.isStreamTabSelected('format')" style="width:100%">
-        <transport-format grounding="ctrl.stream.eventGrounding.transportFormats" disabled="ctrl.disabled"></transport-format>
-    </collapsible>
-    <collapsible title-label="'Transport Protocol'" disabled="ctrl.disabled" removable="false" collapsible="false"
-                 ng-if="ctrl.isStreamTabSelected('protocol')" style="width:100%">
-        <transport-protocol grounding="ctrl.stream.eventGrounding.transportProtocols"
-                            disabled="ctrl.disabled"></transport-protocol>
-    </collapsible>
-</div>
diff --git a/ui/src/app/sensors/components/unit/measurement-unit.component.ts b/ui/src/app/sensors/components/unit/measurement-unit.component.ts
deleted file mode 100644
index 765233a..0000000
--- a/ui/src/app/sensors/components/unit/measurement-unit.component.ts
+++ /dev/null
@@ -1,31 +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.
- *
- */
-
-import {MeasurementUnitController} from "./measurement-unit.controller";
-
-declare const require: any;
-
-export let MeasurementUnitComponent = {
-    template: require('./measurement-unit.tmpl.html'),
-    bindings: {
-        disabled : "<",
-        property : "="
-    },
-    controller: MeasurementUnitController,
-    controllerAs: 'ctrl'
-};
\ No newline at end of file
diff --git a/ui/src/app/sensors/components/unit/measurement-unit.controller.ts b/ui/src/app/sensors/components/unit/measurement-unit.controller.ts
deleted file mode 100644
index c8aae1b..0000000
--- a/ui/src/app/sensors/components/unit/measurement-unit.controller.ts
+++ /dev/null
@@ -1,65 +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.
- *
- */
-
-import * as angular from 'angular';
-
-export class MeasurementUnitController {
-
-    query: any;
-    selectedItem: any;
-    items: any;
-    property: any;
-    MeasurementUnitsService: any;
-
-    constructor(MeasurementUnitsService) {
-        this.MeasurementUnitsService = MeasurementUnitsService;
-        this.query = {};
-        this.selectedItem = "";
-    }
-
-    $onInit() {
-        this.items = this.MeasurementUnitsService.getUnits();
-
-        if (this.property != undefined && this.property != "") {
-            angular.forEach(this.items, function (item) {
-                if (item.resource == this.property) this.selectedItem = item;
-            });
-        }
-    }
-
-    querySearch(query) {
-        var results = [];
-
-        angular.forEach(this.items, function (item) {
-            if (query == undefined || item.label.substring(0, query.length) === query) results.push(item);
-        })
-
-        return results;
-    }
-
-    searchTextChange(text) {
-
-    }
-
-    selectedItemChange(item) {
-        if (item != undefined) this.property = item.resource;
-    }
-
-}
-
-MeasurementUnitController.$inject = ['MeasurementUnitsService'];
diff --git a/ui/src/app/sensors/components/unit/measurement-unit.tmpl.html b/ui/src/app/sensors/components/unit/measurement-unit.tmpl.html
deleted file mode 100644
index eb3d949..0000000
--- a/ui/src/app/sensors/components/unit/measurement-unit.tmpl.html
+++ /dev/null
@@ -1,42 +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.
-  ~
-  -->
-
-<div flex="100" layout="column" class="md-padding">
-    <div style="width:100%">
-        <md-autocomplete
-                ng-disabled="false"
-                md-no-cache="false"
-                md-selected-item="ctrl.selectedItem"
-                md-search-text-change="ctrl.searchTextChange(searchText)"
-                md-search-text="searchText"
-                md-selected-item-change="ctrl.selectedItemChange(item)"
-                md-items="item in ctrl.querySearch(searchText)"
-                md-item-text="item.label"
-                md-min-length="0"
-                placeholder="Unit" style="width:100%">
-            <md-item-template>
-                <span md-highlight-text="searchText"
-                      md-highlight-flags="^i">{{item.label}} ({{item.abbreviation}})</span>
-            </md-item-template>
-            <md-not-found>
-                No measurement unit matching "{{searchText}}" were found.
-            </md-not-found>
-        </md-autocomplete>
-        <p/>
-    </div>
-</div>
diff --git a/ui/src/app/sensors/sensors.controller.ts b/ui/src/app/sensors/sensors.controller.ts
deleted file mode 100644
index fd3f3d2..0000000
--- a/ui/src/app/sensors/sensors.controller.ts
+++ /dev/null
@@ -1,333 +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.
- *
- */
-
-import * as angular from 'angular';
-
-declare const require: any;
-
-export class SensorsCtrl {
-
-    RestApi: any;
-    $filter: any;
-    editingDisabled: any;
-    categoryOpt: any;
-    sepas: any;
-    sources: any;
-    actions: any;
-    selectedSepa: any;
-    selectedSource: any;
-    selectedAction: any;
-    selectedStream: any;
-    sepaSelected: any;
-    sourceSelected: any;
-    actionSelected: any;
-    streamSelected: any;
-    availableEpaCategories: any;
-    availableEcCategories: any;
-    selectedCategories: any;
-    selectedTab: any;
-    activeProducerTab: any;
-    activeStreamTab: any;
-    activeEpaTab: any;
-    activeConsumerTab: any;
-    showHints: any;
-    deploymentSettings: any
-
-    constructor(RestApi, $filter, $templateCache) {
-        $templateCache.put('templates/grounding.html', require('./templates/grounding.html'));
-        $templateCache.put('templates/sec.html', require('./templates/sec.html'));
-        $templateCache.put('templates/sec-menu-bar.html', require('./templates/sec-menu-bar.html'));
-        $templateCache.put('templates/sep.html', require('./templates/sep.html'));
-        $templateCache.put('templates/sep-menu-bar.html', require('./templates/sep-menu-bar.html'));
-        $templateCache.put('templates/sepa.html', require('./templates/sepa.html'));
-        $templateCache.put('templates/sepa-menu-bar.html', require('./templates/sepa-menu-bar.html'));
-        $templateCache.put('templates/stream.html', require('./templates/stream.html'));
-
-        this.RestApi = RestApi;
-        this.$filter = $filter;
-
-        this.editingDisabled = true;
-
-        this.categoryOpt = {displayProp: 'type', idProp: 'type', externalIdProp: 'type'};
-
-        this.sepas = [];
-        this.sources = [];
-        this.actions = [];
-
-        this.selectedSepa;
-        this.selectedSource;
-        this.selectedAction;
-        this.selectedStream;
-
-        this.sepaSelected = false;
-        this.sourceSelected = false;
-        this.actionSelected = false;
-        this.streamSelected = false;
-
-        this.availableEpaCategories = [];
-        this.availableEcCategories = [];
-
-        this.selectedCategories = [];
-
-        this.selectedTab = "SOURCES";
-
-        this.activeProducerTab = "basics";
-        this.activeStreamTab = "basics";
-        this.activeEpaTab = "basics";
-        this.activeConsumerTab = "basics";
-
-        this.showHints = false;
-
-        this.deploymentSettings = [{
-            "elementType": "SEPA",
-            "outputTypes": [{"type": "IMPLEMENTATION", "description": "I'd like to generate a runtime implementation."},
-                {"type": "DESCRIPTION", "description": "I'd like to generate the description only."}],
-            "runtimeType": {
-                "title": "Runtime implementation",
-                "runtimeTypes": [{"type": "ALGORITHM", "description": "Custom implementation"},
-                    {"type": "ESPER", "description": "Esper"},
-                    {"type": "FLINK", "description": "Apache Flink"},
-                    {"type": "STORM", "description": "Apache Storm"}]
-            }
-        },
-            {
-                "elementType": "SEP",
-                "outputTypes": [{
-                    "type": "IMPLEMENTATION",
-                    "description": "I'd like to implement an adapter based on this description."
-                },
-                    {"type": "DESCRIPTION", "description": "I'd like to generate the description only."},
-                    {
-                        "type": "DIRECT_IMPORT",
-                        "description": "Specified streams are already available on the message broker (no adapter implementation needed)."
-                    }],
-                "runtimeType": {
-                    "title": "Adapter type (beta)",
-                    "runtimeTypes": [{"type": "CUSTOM", "description": "Custom adapter"},
-                        {"type": "OPC", "description": "OPC adapter"},
-                        {"type": "FILE", "description": "File adapter"},
-                        {"type": "MYSQL", "description": "MySQL adapter"}]
-                }
-            },
-            {
-                "elementType": "SEC",
-                "outputTypes": [{
-                    "type": "IMPLEMENTATION",
-                    "description": "I'd like to generate a runtime implementation."
-                },
-                    {"type": "DESCRIPTION", "description": "I'd like to generate the description only."},
-                ],
-                "runtimeTypes": {
-                    "title": "Runtime implementation",
-                    "runtimeTypes": [{"type": "ACTION", "description": "Custom implementation"},
-                        {"type": "ACTION_FLINK", "description": "Apache Flink"},
-                    ]
-                }
-            }];
-    }
-
-    $onInit() {
-        this.loadSepas();
-        this.loadActions();
-        this.loadSources();
-        this.loadEcCategories();
-        this.loadEpaCategories();
-    }
-
-
-    setSelectedTab(type) {
-        this.selectedTab = type;
-    }
-
-    toggleEditMode() {
-        this.editingDisabled = !this.editingDisabled;
-
-    }
-
-    selectProducerTab(name) {
-        this.activeProducerTab = name;
-    }
-
-    isProducerTabSelected(name) {
-        return this.activeProducerTab == name;
-    }
-
-    getProducerActiveTabCss(name) {
-        if (name == this.activeProducerTab) {
-            return "md-fab md-accent";
-        }
-        else {
-            return "md-fab md-accent wizard-inactive";
-        }
-    }
-
-    selectEpaTab(name) {
-        this.activeEpaTab = name;
-    }
-
-    isEpaTabSelected(name) {
-        return this.activeEpaTab == name;
-    }
-
-    getEpaActiveTabCss(name) {
-        if (name == this.activeEpaTab) {
-            return "md-fab md-accent";
-        }
-        else {
-            return "md-fab md-accent wizard-inactive";
-        }
-    }
-
-    selectConsumerTab(name) {
-        this.activeConsumerTab = name;
-    }
-
-    isConsumerTabSelected(name) {
-        return this.activeConsumerTab == name;
-    }
-
-    getConsumerActiveTabCss(name) {
-        if (name == this.activeConsumerTab) return "md-fab md-accent";
-        else return "md-fab md-accent wizard-inactive";
-    }
-
-
-    removeStream(eventStreams, stream) {
-        eventStreams.splice(stream, 1);
-    }
-
-    loadStreamDetails(stream, editingDisabled?) {
-        this.editingDisabled = editingDisabled;
-        this.streamSelected = true;
-        this.selectedStream = stream;
-    }
-
-    addNewSepa() {
-        this.selectedSepa = {"spDataStreams": [], "name": "", "staticProperties": []};
-        this.sepaSelected = true;
-        this.editingDisabled = false;
-    }
-
-    addNewAction() {
-        this.selectedAction = {"spDataStreams": [], "name": "", "staticProperties": []};
-        this.actionSelected = true;
-        this.editingDisabled = false;
-    }
-
-    addNewSource() {
-        this.selectedSource = undefined;
-        this.selectedSource = {"spDataStreams": [], "name": ""};
-        this.sourceSelected = true;
-        this.streamSelected = false;
-        this.selectedStream = "";
-        this.editingDisabled = false;
-        this.activeProducerTab = "basics";
-        this.activeStreamTab = "basics";
-    }
-
-    addStream(element) {
-        element.push({
-            "name": "",
-            "eventSchema": {"eventProperties": []},
-            "eventGrounding": {"transportFormats": [], "transportProtocols": []}
-        });
-        this.loadStreamDetails(element[element.length - 1]);
-    }
-
-    cloneStream(eventStreams, stream) {
-        var clonedStream = angular.copy(stream);
-        clonedStream.uri = "";
-        eventStreams.push(clonedStream);
-    }
-
-    loadSepaDetails(uri, keepIds, editingDisabled) {
-        this.RestApi.getSepaDetailsFromOntology(uri, keepIds)
-            .then(sepaData => {
-                this.selectedSepa = sepaData.data;
-                this.sepaSelected = true;
-                this.editingDisabled = editingDisabled;
-            });
-    }
-
-    loadActionDetails(uri, keepIds, editingDisabled) {
-        this.RestApi.getActionDetailsFromOntology(uri, keepIds)
-            .then(actionData => {
-                this.selectedAction = actionData.data;
-                this.actionSelected = true;
-                this.editingDisabled = editingDisabled;
-            });
-    }
-
-    loadSourceDetails(index) {
-        this.editingDisabled = true;
-        this.sourceSelected = true;
-        this.selectedSource = this.sources[index];
-    }
-
-    loadSepas() {
-        this.RestApi.getSepasFromOntology()
-            .then(sepaData => {
-                this.sepas = this.$filter('orderBy')(sepaData.data, "name", false);
-                ;
-            });
-    };
-
-    getSourceDetailsFromOntology(sourceId) {
-        this.RestApi.getSourceDetailsFromOntology(sourceId, false)
-            .then(source => {
-                this.editingDisabled = false;
-                this.sourceSelected = true;
-                this.selectedSource = source.data;
-                this.selectedSource.uri = "";
-                angular.forEach(this.selectedSource.spDataStreams, (stream, key) => {
-                    stream.uri = "";
-                });
-            });
-    }
-
-    loadSources() {
-        this.RestApi.getSourcesFromOntology()
-            .then(sources => {
-                this.sources = this.$filter('orderBy')(sources.data, "name", false);
-            });
-    };
-
-    loadActions() {
-        this.RestApi.getActionsFromOntology()
-            .then(actions => {
-                this.actions = this.$filter('orderBy')(actions.data, "name", false);
-            });
-    };
-
-    loadEpaCategories() {
-        this.RestApi.getEpaCategories()
-            .then(epas => {
-                this.availableEpaCategories = epas.data;
-            });
-    }
-
-    loadEcCategories() {
-        this.RestApi.getEcCategories()
-            .then(ecs => {
-                this.availableEcCategories = ecs.data;
-            });
-    }
-
-}
-
-SensorsCtrl.$inject = ['RestApi', '$filter', '$templateCache'];
diff --git a/ui/src/app/sensors/sensors.html b/ui/src/app/sensors/sensors.html
deleted file mode 100644
index 6d1a6e6..0000000
--- a/ui/src/app/sensors/sensors.html
+++ /dev/null
@@ -1,80 +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.
-  ~
-  -->
-
-<div flex class="page-container page-container-padding" ng-controller="SensorsCtrl as ctrl">
-    <div flex="100" layout="row" style="padding:0px;background-color:#f6f6f6">
-        <div layout-fill>
-            <md-tabs md-border-bottom>
-                <md-tab label="Data Sources" md-on-select="ctrl.setSelectedTab('SOURCES')"></md-tab>
-                <md-tab label="Processing Elements" md-on-select="ctrl.setSelectedTab('EPAS')"></md-tab>
-                <md-tab label="Data Sinks" md-on-select="ctrl.setSelectedTab('SINKS')"></md-tab>
-            </md-tabs>
-        </div>
-    </div>
-
-    <div layout="column" flex="100" ng-if="ctrl.selectedTab === 'SOURCES'">
-        <ng-include src="'templates/sep-menu-bar.html'"></ng-include>
-        <div flex="100" layout="row" layout-align="center center" class="md-padding">
-            <div flex="100" layout="column" ng-if="ctrl.sourceSelected">
-                <div flex="none" layout-wrap layout="row">
-                    <h4 class="md-display-1">{{ctrl.selectedSource.name == '' ? 'Unnamed Element' :
-                        ctrl.selectedSource.name}}</h4>
-                </div>
-
-                <ng-include src="'templates/sep.html'"></ng-include>
-                <md-divider></md-divider>
-
-            </div>
-        </div>
-    </div>
-
-
-    <div layout="column" flex="100" ng-if="ctrl.selectedTab === 'EPAS'">
-        <ng-include src="'templates/sepa-menu-bar.html'"></ng-include>
-        <div flex="100" layout="row" layout-align="center center" class="md-padding">
-            <div flex="100" layout="column" ng-if="ctrl.sepaSelected">
-                <div flex="none" layout-wrap layout="row">
-                    <h4 class="md-display-1">{{ctrl.selectedSepa.name == '' ? 'Unnamed Element' :
-                        ctrl.selectedSepa.name}}</h4>
-                </div>
-
-                <ng-include src="'templates/sepa.html'"></ng-include>
-                <md-divider></md-divider>
-
-            </div>
-        </div>
-    </div>
-
-
-    <div layout="column" flex="100" ng-if="ctrl.selectedTab === 'SINKS'">
-        <ng-include src="'templates/sec-menu-bar.html'"></ng-include>
-        <div flex="100" layout="row" layout-align="center center" class="md-padding">
-            <div flex="100" layout="column" ng-if="ctrl.actionSelected">
-                <div flex="none" layout-wrap layout="row">
-                    <h4 class="md-display-1">{{ctrl.selectedAction.name == '' ? 'Unnamed Element' :
-                        ctrl.selectedAction.name}}</h4>
-                </div>
-                <md-content class="md-padding">
-                    <ng-include src="'templates/sec.html'"></ng-include>
-                    <md-divider></md-divider>
-                </md-content>
-            </div>
-        </div>
-    </div>
-</div>
-
diff --git a/ui/src/app/sensors/sensors.module.ts b/ui/src/app/sensors/sensors.module.ts
deleted file mode 100644
index 12ed8d2..0000000
--- a/ui/src/app/sensors/sensors.module.ts
+++ /dev/null
@@ -1,99 +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.
- *
- */
-
-import * as angular from 'angular';
-
-import spServices from '../services/services.module';
-
-import {SensorsCtrl} from './sensors.controller';
-import {startsWithLetter} from './starts-with-letter.filter';
-
-import {DeploymentTypeComponent} from './components/deployment/deployment-type.component'
-import {DeploymentComponent} from './components/deployment/deployment.component'
-
-import {AdvancedSettingsComponent} from './components/general/advanced-settings.component'
-import {CollapsibleComponent} from './components/general/collapsible.component'
-import {OptionsComponent} from './components/general/options.component'
-import {ValueSpecificationComponent} from './components/general/value-specification.component'
-
-import {GeneratedElementDescriptionComponent} from './components/generated-element/generated-element-description.component'
-import {GeneratedElementImplementationComponent} from './components/generated-element/generated-element-implementation.component'
-
-import {SupportedGroundingComponent} from './components/grounding/supported-grounding.component'
-import {TransportFormatComponent} from './components/grounding/transport-format.component'
-import {TransportProtocolComponent} from './components/grounding/transport-protocol.component'
-
-import {OutputStrategyComponent} from './components/output/output-strategy.component'
-
-import {DatatypePropertyComponent} from './components/property/datatype-property.component'
-import {DomainConceptPropertyComponent} from './components/property/domain-concept-property.component'
-import {DomainPropertyComponent} from './components/property/domain-property.component'
-import {EventPropertiesComponent} from './components/property/event-properties.component'
-import {PropertyRestrictionComponent} from './components/property/property-restriction.component'
-import {RequiredPropertyValuesComponent} from './components/property/required-property-values.component'
-import {StaticPropertiesComponent} from './components/property/static-properties.component'
-
-import {PropertyQualityDefinitionsComponent} from './components/quality/property-quality-definitions.component'
-import {StreamQualityDefinitionsComponent} from './components/quality/stream-quality-definitions.component'
-
-import {StreamRestrictionComponent} from './components/restriction/stream-restriction.component'
-
-import {SepaBasicsComponent} from './components/sepa/sepa-basics.component'
-import {SepaStreamDetailComponent} from './components/sepa/sepa-stream-detail.component'
-
-import {MeasurementUnitComponent} from './components/unit/measurement-unit.component'
-
-
-export default angular.module('sp.sensors', [spServices])
-	.controller('SensorsCtrl', SensorsCtrl)
-	.filter('startsWithLetter', startsWithLetter)
-	.component('deploymentType', DeploymentTypeComponent)
-	.component('deployment', DeploymentComponent)
-
-	.component('advancedSettings', AdvancedSettingsComponent)
-	.component('collapsible', CollapsibleComponent)
-	.component('options', OptionsComponent)
-	.component('valueSpecification', ValueSpecificationComponent)
-
-	.component('generatedElementDescription', GeneratedElementDescriptionComponent)
-	.component('generatedElementImplementation', GeneratedElementImplementationComponent)
-
-	.component('supportedGrounding', SupportedGroundingComponent)
-	.component('transportFormat', TransportFormatComponent)
-	.component('transportProtocol', TransportProtocolComponent)
-
-	.component('outputStrategy', OutputStrategyComponent)
-
-	.component('datatypeProperty', DatatypePropertyComponent )
-	.component('domainConceptProperty', DomainConceptPropertyComponent)
-	.component('domainProperty', DomainPropertyComponent)
-	.component('eventProperties', EventPropertiesComponent)
-	.component('propertyRestriction', PropertyRestrictionComponent)
-	.component('requiredPropertyValues', RequiredPropertyValuesComponent)
-	.component('staticProperties', StaticPropertiesComponent)
-
-	.component('propertyQualityDefinitions', PropertyQualityDefinitionsComponent)
-	.component('streamQualityDefinitions', StreamQualityDefinitionsComponent)
-
-	.component('streamRestriction', StreamRestrictionComponent)
-
-	.component('sepaBasics', SepaBasicsComponent)
-	.component('sepaStreamDetail', SepaStreamDetailComponent)
-
-	.component('measurementUnit', MeasurementUnitComponent)
-.name;
diff --git a/ui/src/app/sensors/starts-with-letter.filter.ts b/ui/src/app/sensors/starts-with-letter.filter.ts
deleted file mode 100644
index 816ef5b..0000000
--- a/ui/src/app/sensors/starts-with-letter.filter.ts
+++ /dev/null
@@ -1,32 +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.
- *
- */
-
-export function startsWithLetter() {
-	return function (items, fromLetter, toLetter) {
-		var filtered = [];
-		for (var i = 0; i < items.length; i++) {
-			var item = items[i];
-			var firstLetter = item.name.substring(0, 1).toLowerCase();
-			if ((!fromLetter || firstLetter >= fromLetter)
-				&& (!toLetter || firstLetter <= toLetter)) {
-					filtered.push(item);
-				}
-		}
-		return filtered;
-	};
-};
diff --git a/ui/src/app/sensors/templates/grounding.html b/ui/src/app/sensors/templates/grounding.html
deleted file mode 100644
index bcf5265..0000000
--- a/ui/src/app/sensors/templates/grounding.html
+++ /dev/null
@@ -1,29 +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.
-  ~
-  -->
-
-<h3 class="md-display-2">Supported Grounding</h3>
-	<h4>Protocols</h4>
-	 		<md-input-container flex> 
-				<md-checkbox ng-model="">Supports Kafka Protocol</md-checkbox>
-				<md-checkbox ng-model="">Supports JMS Protocol</md-checkbox>
-			</md-input-container>
-	<h4>Message Formats</h4>
-			<md-input-container flex> 
-				<md-checkbox ng-model="">Supports JSON format</md-checkbox>
-				<md-checkbox ng-model="">Supports ProaSense Thrift format</md-checkbox>
-			</md-input-container>
\ No newline at end of file
diff --git a/ui/src/app/sensors/templates/sec-menu-bar.html b/ui/src/app/sensors/templates/sec-menu-bar.html
deleted file mode 100644
index 9ff6840..0000000
--- a/ui/src/app/sensors/templates/sec-menu-bar.html
+++ /dev/null
@@ -1,107 +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.
-  ~
-  -->
-
-<div flex="100" layout="column">
-    <div flex="100" layout="row" style="border-bottom:1px solid #ccc">
-        <div layout="row">
-            <md-menu-bar>
-                <md-menu>
-                    <button ng-click="$mdOpenMenu()" style="color: rgb(63, 81, 181);">
-                        <md-icon md-svg-icon="content:ic_add_circle_outline_24px"
-                                 style="color: rgb(63,81,181);"></md-icon>
-                        Create new data sink
-                    </button>
-                    <md-menu-content>
-                        <md-menu-item class="md-indent">
-                            <md-button ng-click="ctrl.addNewAction()">&nbsp;New</md-button>
-                        </md-menu-item>
-                    </md-menu-content>
-                </md-menu>
-            </md-menu-bar>
-        </div>
-        <div layout="row">
-            <md-menu-bar>
-                <md-menu>
-                    <button ng-click="$mdOpenMenu()" style="color: rgb(63, 81, 181);">
-                        <md-icon md-svg-icon="file:ic_folder_open_24px"
-                                 style="color: rgb(63,81,181);"></md-icon>
-                        View existing data sinks
-                    </button>
-                    <md-menu-content>
-                        <md-menu-item class="md-indent">
-                            <md-menu>
-                                <md-button ng-click="$mdOpenMenu()">A-F</md-button>
-                                <md-menu-content>
-                                    <div ng-repeat="action in ctrl.actions | startsWithLetter:'a':'f' | orderBy: 'name'">
-                                        <md-menu-item class="md-indent">
-                                            <md-button ng-click="ctrl.loadActionDetails(action.uri, true, true)">
-                                                &nbsp;{{action.name}}
-                                            </md-button>
-                                        </md-menu-item>
-                                    </div>
-                                </md-menu-content>
-                            </md-menu>
-                        </md-menu-item>
-                        <md-menu-item class="md-indent">
-                            <md-menu>
-                                <md-button ng-click="$mdOpenMenu()">G-M</md-button>
-                                <md-menu-content>
-                                    <div ng-repeat="action in ctrl.actions | startsWithLetter:'g':'m' | orderBy: 'name'">
-                                        <md-menu-item class="md-indent">
-                                            <md-button ng-click="ctrl.loadActionDetails(action.uri, true, true)">
-                                                &nbsp;{{action.name}}
-                                            </md-button>
-                                        </md-menu-item>
-                                    </div>
-                                </md-menu-content>
-                            </md-menu>
-                        </md-menu-item>
-                        <md-menu-item class="md-indent">
-                            <md-menu>
-                                <md-button ng-click="$mdOpenMenu()">N-S</md-button>
-                                <md-menu-content>
-                                    <div ng-repeat="action in ctrl.actions | startsWithLetter:'n':'s' | orderBy: 'name'">
-                                        <md-menu-item class="md-indent">
-                                            <md-button ng-click="ctrl.loadActionDetails(action.uri, true, true)">
-                                                &nbsp;{{action.name}}
-                                            </md-button>
-                                        </md-menu-item>
-                                    </div>
-                                </md-menu-content>
-                            </md-menu>
-                        </md-menu-item>
-                        <md-menu-item class="md-indent">
-                            <md-menu>
-                                <md-button ng-click="$mdOpenMenu()">T-Z</md-button>
-                                <md-menu-content>
-                                    <div ng-repeat="action in ctrl.actions | startsWithLetter:'t':'z' | orderBy: 'name'">
-                                        <md-menu-item class="md-indent">
-                                            <md-button ng-click="ctrl.loadActionDetails(action.uri, true, true)">
-                                                &nbsp;{{action.name}}
-                                            </md-button>
-                                        </md-menu-item>
-                                    </div>
-                                </md-menu-content>
-                            </md-menu>
-                        </md-menu-item>
-                    </md-menu-content>
-                </md-menu>
-            </md-menu-bar>
-        </div>
-    </div>
-</div>
\ No newline at end of file
diff --git a/ui/src/app/sensors/templates/sec.html b/ui/src/app/sensors/templates/sec.html
deleted file mode 100644
index 477da29..0000000
--- a/ui/src/app/sensors/templates/sec.html
+++ /dev/null
@@ -1,58 +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.
-  ~
-  -->
-
-<div layout="row" flex="100" layout-align="center center" class="wizard-row" style="margin-bottom:5%;">
-	<div layout="column" flex="33" layout-align="center center">
-		<md-button ng-class="ctrl.getConsumerActiveTabCss('basics')" aria-label="Basics" ng-click="ctrl.selectConsumerTab('basics')">1</md-button>
-		Basics
-	</div>
-	<div layout="column" flex="33" layout-align="center center">
-		<md-button ng-class="ctrl.getConsumerActiveTabCss('streams')" aria-label="Streams" ng-click="ctrl.selectConsumerTab('streams')">2</md-button>
-		Stream Requirements
-	</div>
-	<div layout="column" flex="33" layout-align="center center">
-		<md-button ng-class="ctrl.getConsumerActiveTabCss('staticProperties')" aria-label="Streams" ng-click="ctrl.selectConsumerTab('staticProperties')">3</md-button>
-		Static Properties
-	</div>
-	<div layout="column" flex="33" layout-align="center center">
-		<md-button ng-class="ctrl.getConsumerActiveTabCss('supportedGrounding')" aria-label="Deployment" ng-click="ctrl.selectConsumerTab('supportedGrounding')">4</md-button>
-		Supported Grounding
-	</div>
-	<div layout="column" flex="33" layout-align="center center">
-		<md-button ng-class="ctrl.getConsumerActiveTabCss('deployment')" aria-label="Deployment" ng-click="ctrl.selectConsumerTab('deployment')">5</md-button>
-		Deployment
-	</div>
-</div>
-
-<div flex="100" class="md-whiteframe-z1">
-	<collapsible title-label="'Basics'" disabled="ctrl.disabled" removable="false" collapsible="false" layout-fill ng-if="ctrl.isConsumerTabSelected('basics')">
-		<sepa-basics element="ctrl.selectedAction" disabled="ctrl.editingDisabled"></sepa-basics>
-	</collapsible> 
-	<collapsible title-label="'Stream Requirements'" disabled="ctrl.disabled" removable="false" collapsible="false" layout-fill ng-if="ctrl.isConsumerTabSelected('streams')">
-		<stream-restriction element="ctrl.selectedAction.spDataStreams" disabled="ctrl.editingDisabled"></stream-restriction>
-	</collapsible>
-	<collapsible title-label="'Basics'" disabled="ctrl.disabled" removable="false" collapsible="false" layout-fill ng-if="ctrl.isConsumerTabSelected('staticProperties')">
-		<static-properties element="ctrl.selectedAction.staticProperties" streams="ctrl.selectedAction.spDataStreams" disabled="editingDisabled"></static-properties>
-	</collapsible>		
-	<collapsible title-label="'Supported Grounding'" disabled="ctrl.disabled" removable="false" collapsible="false" layout-fill ng-if="ctrl.isConsumerTabSelected('supportedGrounding')">
-		<supported-grounding grounding="ctrl.selectedAction.supportedGrounding" disabled="ctrl.editingDisabled"></supported-grounding>
-	</collapsible>
-	<collapsible title-label="'Deployment'" disabled="ctrl.disabled" removable="false" collapsible="false" layout-fill ng-if="ctrl.isConsumerTabSelected('deployment')">
-		<deployment element="ctrl.selectedAction" deployment-settings="ctrl.deploymentSettings[2]" disabled="ctrl.disabled" style="width:100%;"/>
-	</collapsible>
-</div>
\ No newline at end of file
diff --git a/ui/src/app/sensors/templates/sep-menu-bar.html b/ui/src/app/sensors/templates/sep-menu-bar.html
deleted file mode 100644
index f5a3d6b..0000000
--- a/ui/src/app/sensors/templates/sep-menu-bar.html
+++ /dev/null
@@ -1,78 +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.
-  ~
-  -->
-
-<div flex="100" layout="column">
-    <div flex="100" layout="row" style="border-bottom:1px solid #ccc">
-        <div layout="row">
-            <md-menu-bar>
-                <md-menu>
-                    <button ng-click="$mdOpenMenu()" style="color: rgb(63, 81, 181);">
-                        <md-icon md-svg-icon="content:ic_add_circle_outline_24px"
-                                 style="color: rgb(63,81,181);"></md-icon>
-                        Create new source
-                    </button>
-                    <md-menu-content>
-                        <md-menu-item class="md-indent">
-                            <md-button ng-click="ctrl.addNewSource()">&nbsp;New model</md-button>
-                        </md-menu-item>
-                        <md-menu-item class="md-indent">
-                            <md-menu>
-                                <md-button ng-click="$mdOpenMenu()">Create from existing model</md-button>
-                                <md-menu-content>
-                                    <div ng-repeat="(pointer, source) in ctrl.sources track by $index">
-                                        <md-menu-item class="md-indent">
-
-                                            <md-button ng-click="ctrl.getSourceDetailsFromOntology(source.uri)">
-                                                &nbsp;{{source.name}}
-                                            </md-button>
-                                        </md-menu-item>
-                                    </div>
-                                </md-menu-content>
-                            </md-menu>
-                        </md-menu-item>
-                    </md-menu-content>
-                </md-menu>
-            </md-menu-bar>
-        </div>
-        <div layout="row">
-            <md-menu-bar>
-                <md-menu>
-                    <button ng-click="$mdOpenMenu()" style="color: rgb(63, 81, 181);">
-                        <md-icon md-svg-icon="file:ic_folder_open_24px"
-                                 style="color: rgb(63,81,181);"></md-icon>
-                        View existing sources
-                    </button>
-                    <md-menu-content>
-                        <div ng-repeat="(pointer, source) in ctrl.sources track by $index">
-                            <md-menu-item class="md-indent">
-                                <md-button ng-click="ctrl.loadSourceDetails(pointer)">&nbsp;{{source.name}}
-                                </md-button>
-                            </md-menu-item>
-                        </div>
-                    </md-menu-content>
-                </md-menu>
-            </md-menu-bar>
-        </div>
-        <span flex></span>
-        <div layout="row" layout-align="center center">
-            <md-switch ng-model="showHints" style="margin:0px;margin-right:20%">{{ctrl.showHints ? "Showing
-                hints" : "Hiding hints"}}
-            </md-switch>
-        </div>
-    </div>
-</div>
\ No newline at end of file
diff --git a/ui/src/app/sensors/templates/sep.html b/ui/src/app/sensors/templates/sep.html
deleted file mode 100644
index 6893694..0000000
--- a/ui/src/app/sensors/templates/sep.html
+++ /dev/null
@@ -1,85 +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.
-  ~
-  -->
-
-<div layout="row" flex="100" layout-align="center center" class="wizard-row" style="margin-bottom:5%;">
-    <div layout="column" flex="33" layout-align="center center">
-        <md-button ng-class="ctrl.getProducerActiveTabCss('basics')" aria-label="Basics"
-                   ng-click="ctrl.selectProducerTab('basics')">1
-        </md-button>
-        Basics
-    </div>
-    <div layout="column" flex="33" layout-align="center center">
-        <md-button ng-class="ctrl.getProducerActiveTabCss('streams')" aria-label="Streams"
-                   ng-click="ctrl.selectProducerTab('streams')">2
-        </md-button>
-        Streams
-    </div>
-    <div layout="column" flex="33" layout-align="center center">
-        <md-button ng-class="ctrl.getProducerActiveTabCss('deployment')" aria-label="Deployment"
-                   ng-click="ctrl.selectProducerTab('deployment')">3
-        </md-button>
-        Deployment
-    </div>
-</div>
-<div flex="100" layout-wrap class="md-whiteframe-z1">
-    <collapsible layout-wrap title-label="'Basics'" disabled="ctrl.disabled" removable="false" collapsible="false"
-                 subtitle="false" ng-if="ctrl.isProducerTabSelected('basics')">
-        <sepa-basics element="ctrl.selectedSource" disabled="ctrl.editingDisabled"></sepa-basics>
-    </collapsible>
-    <collapsible title-label="'Streams'" disabled="ctrl.disabled" removable="false" collapsible="false"
-                 ng-if="ctrl.isProducerTabSelected('streams')">
-        <sepa-streams element="ctrl.selectedSource.spDataStreams" disabled="ctrl.editingDisabled"></sepa-streams>
-        <div class="md-padding">
-            <md-list-item class="md-3-line" ng-repeat="(key, stream) in ctrl.selectedSource.spDataStreams track by $index">
-                <img ng-src="{{stream.iconUrl}}" class="md-avatar" alt="{{Icon}}"
-                     ng-show="stream.iconUrl != undefined"/>
-                <div flex="50" layout="row" layout-align="start center">
-                    <div class="md-list-item-text" layout="column">
-                        <h3>{{ stream.name == '' ? 'Unnamed stream' : stream.name }}</h3>
-                        <h4>{{ stream.description == '' ? '-' : stream.description}}</h4>
-                    </div>
-                </div>
-                <div flex="50" layout="row" layout-align="start center">
-                    <md-button class="md-accent" ng-click="ctrl.loadStreamDetails(stream, ctrl.editingDisabled)">View</md-button>
-                    <md-button class="md-accent" ng-click="ctrl.cloneStream(ctrl.selectedSource.spDataStreams, stream)">Clone
-                    </md-button>
-                    <md-button class="md-accent" ng-click="ctrl.loadStreamDetails(stream, ctrl.editingDisabled)"
-                               ng-disabled="ctrl.editingDisabled">Modify
-                    </md-button>
-                    <md-button class="md-accent" ng-click="removeStream(ctrl.selectedSource.spDataStreams, stream)"
-                               ng-disabled="ctrl.editingDisabled">Delete
-                    </md-button>
-                </div>
-            </md-list-item>
-            <div ng-if="ctrl.selectedSource.spDataStreams.length == 0">No streams configured yet.</div>
-            <md-button class="md-accent" ng-click="ctrl.addStream(ctrl.selectedSource.spDataStreams)">Add Stream</md-button>
-            <md-divider></md-divider>
-            <div ng-show="ctrl.streamSelected">
-                <div flex="none" layout-wrap layout="row">
-                    <h4 class="md-headline">{{ctrl.selectedStream.name}}</h4>
-                </div>
-                <sepa-stream-detail stream="ctrl.selectedStream" disabled="ctrl.editingDisabled"></sepa-stream-detail>
-            </div>
-        </div>
-    </collapsible>
-    <collapsible title-label="'Deployment'" disabled="ctrl.disabled" removable="false" collapsible="false" layout-fill
-                 ng-if="ctrl.isProducerTabSelected('deployment')">
-        <deployment element="ctrl.selectedSource" deployment-settings="ctrl.deploymentSettings[1]" disabled="ctrl.disabled"
-                    style="width:100%;"></deployment>
-    </collapsible>
-</div>
\ No newline at end of file
diff --git a/ui/src/app/sensors/templates/sepa-menu-bar.html b/ui/src/app/sensors/templates/sepa-menu-bar.html
deleted file mode 100644
index 87e249a..0000000
--- a/ui/src/app/sensors/templates/sepa-menu-bar.html
+++ /dev/null
@@ -1,107 +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.
-  ~
-  -->
-
-<div flex="100" layout="column">
-    <div flex="100" layout="row" style="border-bottom:1px solid #ccc">
-        <div layout="row">
-            <md-menu-bar>
-                <md-menu>
-                    <button ng-click="$mdOpenMenu()" style="color: rgb(63, 81, 181);">
-                        <md-icon md-svg-icon="content:ic_add_circle_outline_24px"
-                                 style="color: rgb(63,81,181);"></md-icon>
-                        Create new processing element
-                    </button>
-                    <md-menu-content>
-                        <md-menu-item class="md-indent">
-                            <md-button ng-click="ctrl.addNewSepa()">&nbsp;New</md-button>
-                        </md-menu-item>
-                    </md-menu-content>
-                </md-menu>
-            </md-menu-bar>
-        </div>
-        <div layout="row">
-            <md-menu-bar>
-                <md-menu>
-                    <button ng-click="$mdOpenMenu()" style="color: rgb(63, 81, 181);">
-                        <md-icon md-svg-icon="file:ic_folder_open_24px"
-                                 style="color: rgb(63,81,181);"></md-icon>
-                        View existing processing elements
-                    </button>
-                    <md-menu-content>
-                        <md-menu-item class="md-indent">
-                            <md-menu>
-                                <md-button ng-click="$mdOpenMenu()">A-F</md-button>
-                                <md-menu-content>
-                                    <div ng-repeat="sepa in ctrl.sepas | startsWithLetter:'a':'f' | orderBy: 'name'">
-                                        <md-menu-item class="md-indent">
-                                            <md-button ng-click="ctrl.loadSepaDetails(sepa.uri, true, true)">
-                                                &nbsp;{{ctrl.sepa.name}}
-                                            </md-button>
-                                        </md-menu-item>
-                                    </div>
-                                </md-menu-content>
-                            </md-menu>
-                        </md-menu-item>
-                        <md-menu-item class="md-indent">
-                            <md-menu>
-                                <md-button ng-click="$mdOpenMenu()">G-M</md-button>
-                                <md-menu-content>
-                                    <div ng-repeat="sepa in ctrl.sepas | startsWithLetter:'g':'m' | orderBy: 'name'">
-                                        <md-menu-item class="md-indent">
-                                            <md-button ng-click="ctrl.loadSepaDetails(sepa.uri, true, true)">
-                                                &nbsp;{{sepa.name}}
-                                            </md-button>
-                                        </md-menu-item>
-                                    </div>
-                                </md-menu-content>
-                            </md-menu>
-                        </md-menu-item>
-                        <md-menu-item class="md-indent">
-                            <md-menu>
-                                <md-button ng-click="$mdOpenMenu()">N-S</md-button>
-                                <md-menu-content>
-                                    <div ng-repeat="sepa in ctrl.sepas | startsWithLetter:'n':'s' | orderBy: 'name'">
-                                        <md-menu-item class="md-indent">
-                                            <md-button ng-click="ctrl.loadSepaDetails(sepa.uri, true, true)">
-                                                &nbsp;{{sepa.name}}
-                                            </md-button>
-                                        </md-menu-item>
-                                    </div>
-                                </md-menu-content>
-                            </md-menu>
-                        </md-menu-item>
-                        <md-menu-item class="md-indent">
-                            <md-menu>
-                                <md-button ng-click="$mdOpenMenu()">T-Z</md-button>
-                                <md-menu-content>
-                                    <div ng-repeat="sepa in ctrl.sepas | startsWithLetter:'t':'z' | orderBy: 'name'">
-                                        <md-menu-item class="md-indent">
-                                            <md-button ng-click="ctrl.loadSepaDetails(sepa.uri, true, true)">
-                                                &nbsp;{{sepa.name}}
-                                            </md-button>
-                                        </md-menu-item>
-                                    </div>
-                                </md-menu-content>
-                            </md-menu>
-                        </md-menu-item>
-                    </md-menu-content>
-                </md-menu>
-            </md-menu-bar>
-        </div>
-    </div>
-</div>
\ No newline at end of file
diff --git a/ui/src/app/sensors/templates/sepa.html b/ui/src/app/sensors/templates/sepa.html
deleted file mode 100644
index a9b42fc..0000000
--- a/ui/src/app/sensors/templates/sepa.html
+++ /dev/null
@@ -1,87 +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.
-  ~
-  -->
-
-<div layout="row" flex="100" layout-align="center center" class="wizard-row" style="margin-bottom:5%;">
-    <div layout="column" flex="33" layout-align="center center">
-        <md-button ng-class="ctrl.getEpaActiveTabCss('basics')" aria-label="Basics" ng-click="ctrl.selectEpaTab('basics')">1
-        </md-button>
-        Basics
-    </div>
-    <div layout="column" flex="33" layout-align="center center">
-        <md-button ng-class="ctrl.getEpaActiveTabCss('streams')" aria-label="Streams" ng-click="ctrl.selectEpaTab('streams')">2
-        </md-button>
-        Stream Requirements
-    </div>
-    <div layout="column" flex="33" layout-align="center center">
-        <md-button ng-class="ctrl.getEpaActiveTabCss('staticProperties')" aria-label="Streams"
-                   ng-click="ctrl.selectEpaTab('staticProperties')">3
-        </md-button>
-        Static Properties
-    </div>
-    <div layout="column" flex="33" layout-align="center center">
-        <md-button ng-class="ctrl.getEpaActiveTabCss('outputStrategy')" aria-label="Deployment"
-                   ng-click="ctrl.selectEpaTab('outputStrategy')">4
-        </md-button>
-        Output Strategy
-    </div>
-    <div layout="column" flex="33" layout-align="center center">
-        <md-button ng-class="ctrl.getEpaActiveTabCss('supportedGrounding')" aria-label="Deployment"
-                   ng-click="ctrl.selectEpaTab('supportedGrounding')">5
-        </md-button>
-        Supported Grounding
-    </div>
-    <div layout="column" flex="33" layout-align="center center">
-        <md-button ng-class="ctrl.getEpaActiveTabCss('deployment')" aria-label="Deployment"
-                   ng-click="ctrl.selectEpaTab('deployment')">6
-        </md-button>
-        Deployment
-    </div>
-</div>
-
-<div flex="100" class="md-whiteframe-z1">
-    <collapsible title-label="'Basics'" disabled="disabled" removable="false" collapsible="false" layout-fill
-                 ng-if="ctrl.isEpaTabSelected('basics')">
-        <sepa-basics element="ctrl.selectedSepa" disabled="ctrl.editingDisabled"></sepa-basics>
-        Category:
-        <!-- 			 <div ng-dropdown-multiselect="" options="availableEpaCategories" selected-model="selectedCategories" extra-settings="categoryOpt"></div> -->
-
-    </collapsible>
-    <collapsible title-label="'Stream Requirements'" disabled="disabled" removable="false" collapsible="false"
-                 layout-fill ng-if="ctrl.isEpaTabSelected('streams')">
-        <stream-restriction element="ctrl.selectedSepa.spDataStreams" disabled="ctrl.editingDisabled"></stream-restriction>
-    </collapsible>
-    <collapsible title-label="'Static Properties'" disabled="disabled" removable="false" collapsible="false" layout-fill
-                 ng-if="ctrl.isEpaTabSelected('staticProperties')">
-        <static-properties element="sctrl.electedSepa.staticProperties" streams="ctrl.selectedSepa.spDataStreams"
-                           disabled="ctrl.editingDisabled"></static-properties>
-    </collapsible>
-    <collapsible title-label="'Output Strategy'" disabled="disabled" removable="false" collapsible="false" layout-fill
-                 ng-if="ctrl.isEpaTabSelected('outputStrategy')">
-        <output-strategy strategies="ctrl.selectedSepa.outputStrategies" disabled="ctrl.editingDisabled"></output-strategy>
-    </collapsible>
-    <collapsible title-label="'Supported Grounding'" disabled="disabled" removable="false" collapsible="false"
-                 layout-fill ng-if="ctrl.isEpaTabSelected('supportedGrounding')">
-        <supported-grounding grounding="ctrl.selectedSepa.supportedGrounding"
-                             disabled="ctrl.editingDisabled"></supported-grounding>
-    </collapsible>
-    <collapsible title-label="'Deployment'" disabled="disabled" removable="false" collapsible="false" layout-fill
-                 ng-if="ctrl.isEpaTabSelected('deployment')">
-        <deployment element="ctrl.selectedSepa" deployment-settings="ctrl.deploymentSettings[0]" disabled="ctrl.disabled"
-                    style="width:100%;"></deployment>
-    </collapsible>
-</div>
\ No newline at end of file
diff --git a/ui/src/app/sensors/templates/stream.html b/ui/src/app/sensors/templates/stream.html
deleted file mode 100644
index e5abc7d..0000000
--- a/ui/src/app/sensors/templates/stream.html
+++ /dev/null
@@ -1,59 +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.
-  ~
-  -->
-
-<md-tabs md-dynamic-height md-border-bottom md-selected="selectedSepaIndex">
-    <md-tab label="Basics">
-        <md-content class="md-padding">
-            <sepa-basics element="selectedStream"></sepa-basics>
-
-            <section layout="row" layout-sm="column" layout-align="end center" layout-wrap>
-                <md-button class="md-raised md-accent" ng-click="ctrl.switchSepaTab(1)">Next</md-button>
-            </section>
-        </md-content>
-    </md-tab>
-    <md-tab label="Schema">
-        <md-content class="md-padding">
-            <div layout="row" flex="100" class="md-padding">
-                <h3 class="md-display-2">Schema</h3>
-                <div ng-repeat="property in ctrl.selectedStream.eventSchema.eventProperties">
-                    <h4>Property {{$index+1}}</h4>
-                    <md-input-container>
-                        <label>Datatype</label>
-                        <input ng-model="property.properties.runtimeType" required ng-disabled="{{ctrl.editingDisabled}}">
-                    </md-input-container>
-                    <md-input-container>
-                        <label>Runtime Name</label>
-                        <input ng-model="property.properties.runtimeName" required ng-disabled="{{ctrl.editingDisabled}}">
-                    </md-input-container>
-                    <md-input-container>
-                        <label>Domain Properties</label>
-                        <div ng-repeat="dp in property.properties.domainProperties">
-                            <input ng-model="dp">
-                        </div>
-                    </md-input-container>
-                    <md-divider></md-divider>
-                </div>
-            </div>
-        </md-content>
-    </md-tab>
-    <md-tab label="Grounding">
-        <md-content class="md-padding">
-            <h3 class="md-display-2">Grounding</h3>
-        </md-content>
-    </md-tab>
-</md-tabs>
\ No newline at end of file