You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2016/02/01 18:48:19 UTC

[43/51] [abbrv] [partial] brooklyn-library git commit: move subdir from incubator up a level as it is promoted to its own repo (first non-incubator commit!)

http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/02abbab0/brooklyn-library/sandbox/mobile-app/pom.xml
----------------------------------------------------------------------
diff --git a/brooklyn-library/sandbox/mobile-app/pom.xml b/brooklyn-library/sandbox/mobile-app/pom.xml
deleted file mode 100644
index e350e53..0000000
--- a/brooklyn-library/sandbox/mobile-app/pom.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    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.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <packaging>war</packaging>
-
-    <groupId>org.apache.brooklyn.sandbox</groupId>
-    <artifactId>brooklyn-mobile-app</artifactId>
-
-    <name>Brooklyn Mobile UI</name>
-
-    <description>
-        A mobile skin for Brooklyn
-    </description>
-
-    <parent>
-        <groupId>org.apache.brooklyn</groupId>
-        <artifactId>brooklyn-library</artifactId>
-        <version>0.9.0-SNAPSHOT</version><!-- BROOKLYN_VERSION -->
-        <relativePath>../../pom.xml</relativePath>
-    </parent>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.testng</groupId>
-            <artifactId>testng</artifactId>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <pluginManagement>
-            <plugins>
-                <plugin>
-                    <groupId>org.apache.rat</groupId>
-                    <artifactId>apache-rat-plugin</artifactId>
-                    <configuration>
-                        <excludes combine.children="append">
-                            <exclude>**/src/main/webapp/assets/mobile/js/i18n/*</exclude>
-                            <exclude>**/src/main/webapp/assets/mobile/libs/**</exclude>
-                        </excludes>
-                    </configuration>
-                </plugin>
-            </plugins>
-        </pluginManagement>
-    </build>
-</project>
-

http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/02abbab0/brooklyn-library/sandbox/mobile-app/src/main/webapp/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/brooklyn-library/sandbox/mobile-app/src/main/webapp/WEB-INF/web.xml b/brooklyn-library/sandbox/mobile-app/src/main/webapp/WEB-INF/web.xml
deleted file mode 100644
index a126eb1..0000000
--- a/brooklyn-library/sandbox/mobile-app/src/main/webapp/WEB-INF/web.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<!DOCTYPE web-app PUBLIC
- "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
- "http://java.sun.com/dtd/web-app_2_3.dtd" >
-<!--
-    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.
--->
-<web-app>
-  <display-name>Brooklyn Mobile</display-name>
-</web-app>

http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/02abbab0/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/css/mobile.css
----------------------------------------------------------------------
diff --git a/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/css/mobile.css b/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/css/mobile.css
deleted file mode 100644
index 0e729fb..0000000
--- a/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/css/mobile.css
+++ /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.
-*/
-.poweredLogo{
-	width:150px;
-	height:28px;
-	float:right;
-	margin: 20px 20px;
-	content:url("../images/brooklyn-logo.png");
-}
-
-.navbar-absolute-bottom{
-	border-top-width: 0px;
-}
-
-.navbar-app{
-	color:#419641;
-}
-.list-group-item a{
-	color:#666;
-}
-
-.navbar-app .btn, .navbar-app .btn-navbar{
-	color:#777;
-}
-
-.sidebar-left{
-	background: none repeat scroll 0 0 #555;
-}
-
-.navbar-footer{
-	background: none repeat scroll 0 0 #555;
-}
-
-.list-group-item span, .list-group-item h4, .navbar-brand span, .panel-body .panel h4{
-	white-space: nowrap;
-	/*width: 100%;*/
-	overflow: hidden;              /* "overflow" value must be different from "visible" */
-	text-overflow: ellipsis;
-}
-
-.panel-heading .btn-navbar:last-child{
-	padding:0px 0px 6px 12px;
-}
-
-.entityListHeader {
-	padding: 10px 0px 40px 0px;
-}
-
-.entityListHeader .navbar-brand-center {
-	margin: 0px 35px;
-}
-.navbar-brand{
-	padding:15px 30px !important;
-}
-
-.wrapword{
-	word-wrap: break-word;
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/02abbab0/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/images/brooklyn-logo.png
----------------------------------------------------------------------
diff --git a/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/images/brooklyn-logo.png b/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/images/brooklyn-logo.png
deleted file mode 100755
index 27b2e5a..0000000
Binary files a/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/images/brooklyn-logo.png and /dev/null differ

http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/02abbab0/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/js/app.js
----------------------------------------------------------------------
diff --git a/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/js/app.js b/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/js/app.js
deleted file mode 100644
index 906a4f4..0000000
--- a/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/js/app.js
+++ /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.
-*/
-var app = angular.module('BrooklynMobile', [ 
-  "ngRoute",
-  "ngTouch",
-  "mobile-angular-ui", 
-  "BrooklynApp.Services",
-  "BrooklynApp.filters",
-  "BrooklynApp.controllers",
-  "pascalprecht.translate",
-  "ngCookies"]);
-
-app.config(function($routeProvider, $translateProvider) {
-	//Defaults root to applications.  Should change in the future
-	$routeProvider.when('/', {
-		templateUrl : "assets/mobile/js/templates/applicationsList.html",
-		controller:"ApplicationListController"
-	});
-	
-	//Lists applications
-	$routeProvider.when('/v1/applications', {
-		templateUrl : "assets/mobile/js/templates/applicationsList.html",
-		controller:"ApplicationListController"
-	});
-	
-	//List entities
-	$routeProvider.when('/v1/applications/:appId/entities/:id', {
-		templateUrl : "assets/mobile/js/templates/entitiesList.html",
-		controller:"EntityListController"
-	});
-	$routeProvider.when('/v1/applications/:appId/entities', {
-		templateUrl : "assets/mobile/js/templates/entitiesList.html",
-		controller:"EntityListController"
-	});
-	$routeProvider.when('/v1/applications/:appId', {
-		templateUrl : "assets/mobile/js/templates/entitiesList.html",
-		controller:"EntityListController"
-	});
-	
-	//Application and entity details
-	$routeProvider.when('/v1/applications/:appId/entities/:id/summary', {
-		templateUrl : "assets/mobile/js/templates/entitySummary.html",
-		controller:"EntityDetailsController"
-	});
-	$routeProvider.when('/v1/applications/:appId/summary', {
-		templateUrl : "assets/mobile/js/templates/entitySummary.html",
-		controller:"EntityDetailsController"
-	});
-	
-	$translateProvider.useStaticFilesLoader({
-		  prefix: 'assets/mobile/js/i18n/',
-		  suffix: '.json'
-		});
-	//$translateProvider.useLocalStorage();
-	$translateProvider.preferredLanguage('en-us');
-	
-});
-
-app.controller('MainController', function($rootScope, $scope) {
-
-	$rootScope.$on("$routeChangeStart", function() {
-		$rootScope.loading = true;
-	});
-
-	$rootScope.$on("$routeChangeSuccess", function() {
-		$rootScope.loading = false;
-	});
-});

http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/02abbab0/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/js/controllers.js
----------------------------------------------------------------------
diff --git a/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/js/controllers.js b/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/js/controllers.js
deleted file mode 100644
index 68e21d1..0000000
--- a/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/js/controllers.js
+++ /dev/null
@@ -1,202 +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.
-*/
-var bklnControllers = angular.module('BrooklynApp.controllers',['ngResource']);
-
-//Brooklyn ApplicationList controller
-bklnControllers.controller('ApplicationListController', function($scope, $interval, ApplicationService){
-	//
-	$scope.reloadTimer;
-	$scope.loadData = function(){
-		ApplicationService.query({}, function (applications){
-			$scope.applications = applications;
-			console.log('ApplicationListController: new data loaded');
-		});
-	};
-	
-	$scope.showDetails = function($event){
-		alert("swipe happened");
-		$event.stopPropagation();
-		console.dir ($event);
-	};
-	
-	$scope.$on('$viewContentLoaded', function() {
-	    console.log('ApplicationListController: loadeding');
-	    $scope.loadData();
-	    console.log('ApplicationListController: requested data');
-	    $scope.reloadTimer = $interval($scope.loadData, 10000);
-	    console.log('ApplicationListController: reload timer set');
-	    console.log('ApplicationListController: loaded');
-	  });
-	
-	$scope.$on('$destroy', function() {
-	    console.log('ApplicationListController: unloading');
-	    if (angular.isDefined($scope.reloadTimer)) {
-	        $interval.cancel($scope.reloadTimer);
-	        $scope.reloadTimer = undefined;
-	      }
-	    console.log('ApplicationListController: reload timer stopped');
-	    console.log('ApplicationListController: unloaded');
-	  });
-	
-});
-
-
-bklnControllers.controller('EntityListController', function($scope, $http, $interval, $location, $routeParams){
-	
-	$scope.reloadTimer;
-	$scope.path = $location.path().replace("#",'');
-	var shownPath = false;
-	$scope.loadData = function(){
-		
-		$http({method: 'GET', url: $scope.path}).
-	    success(function(data) {
-	    	$scope.entity = data;
-	    	$scope.name = (data.spec) ? data.spec.name : data.name;
-	    	var children = (data.links.children) ? data.links.children : data.links.entities ;
-	    	$scope.back = (data.links.parent) ? data.links.parent : "/v1/applications";
-	    	if (!shownPath) {
-	    		console.info ("Current path: "+ $location.path());
-	    		console.info ("Back path: "+ $scope.back);
-	    		shownPath = true;
-			}
-	    	console.log('EntityListController: new data loaded');
-	    	$http({method: 'GET', url: children}).
-	        success(function(data) {
-	        	$scope.entities = data;
-	        	//get status sequentially..
-	        	angular.forEach($scope.entities, function (value, index){
-	        		$http.get(value.links.sensors + "/service.state")
-	        		.success(function(data){
-	        			data = data.replace(/"/g,'');
-	        			value.status = (data.length > 0) ? data : "Unknown";
-	        		});
-	        	});
-	        	
-	        });
-	    });
-	};
-		
-	$scope.$on('$viewContentLoaded', function() {
-	    console.log('EntityListController: loadeding');
-	    $scope.loadData();
-	    console.log('EntityListController: requested data');
-	    $scope.reloadTimer = $interval($scope.loadData, 10000);
-	    console.log('EntityListController: reload timer set');
-	    console.log('EntityListController: loaded');
-	  });
-	
-	$scope.$on('$destroy', function() {
-	    console.log('EntityListController: unloading');
-	    if (angular.isDefined($scope.reloadTimer)) {
-	        $interval.cancel($scope.reloadTimer);
-	        $scope.reloadTimer = undefined;
-	      }
-	    console.log('EntityListController: reload timer stopped');
-	    console.log('EntityListController: unloaded');
-	  });
-	
-});
-
-bklnControllers.controller('EntityDetailsController', function($scope, $filter, $window, $location, $http, $resource, $routeParams){
-
-	
-	$scope.goBack = function (){
-		$window.history.back();
-	};
-	
-	$scope.init = function(){
-		$scope.path = $location.path().replace("#",'');
-		
-		$scope.selfLink = $location.path().replace("/summary",'');
-		
-		$http({method: 'GET', url: $scope.selfLink}).
-	    success(function(data) {
-	    	$scope.entity = data;
-	    	$scope.name = (data.spec) ? data.spec.name : data.name;
-	    	var sensors = ($scope.entity.links.sensors) ? $scope.entity.links.sensors : $scope.selfLink + "/sensors"; 
-	    	$http({method:'GET', url:$scope.entity.links.effectors}).
-	    	success(function(data){
-	    		$scope.entity.effectors = data;
-	    		console.dir (data);
-	    	});
-	    	
-	    	$http({method: 'GET', url: sensors + '/current-state'}).
-		    success(function(data) {
-		    	$scope.entity.status = (data["service.state"]) ? data["service.state"].replace(/"/g,'') : null;
-		    	$scope.entity.isUp = data["service.isUp"];
-		    });
-
-	    	var activities = ($scope.entity.links.activities) ? $scope.entity.links.activities : $scope.selfLink + "/activities"; 
-	    	$http({method: 'GET', url: activities}).
-		    success(function(data) {
-		    	console.info(activities);
-		    	console.dir(data);
-		    	$scope.entity.activities = data;
-		    });
-	    	var config = ($scope.entity.links.config) ? $scope.entity.links.config : $scope.selfLink + "/config"; 
-	    	var configUrl = config +  '/current-state';
-	    	$http({method: 'GET', url: configUrl}).
-		    success(function(data) {
-		    	console.info(configUrl);
-		    	console.dir(data);
-		    	var config = [];
-		    	angular.forEach(data, function (v, k){
-		    		config.push({"key": k, "value":v});
-		    	});
-		    	$scope.entity.config = config;
-		    });
-	    	
-			console.dir ($scope.entity);
-	    });
-	};
-	
-	$scope.isTopLevelActivity = function(input){
-		var submitter = input.submittedByTask;
-		return (submitter == null ||(submitter != null && $filter('filter')($scope.entity.activities,{"id":submitter.metadata.id}).length == 0 ));
-	};
-	
-	$scope.expunge = function (){
-		//TODO: show dialog requesting if user wants to release resources
-		var expungeURL = $scope.selfLink + "/expunge?replace=false";
-		$http({method: 'POST', url: expungeURL}).
-	    success(function(data) {
-	    	console.info(expungeURL);
-	    	console.dir(data);
-	    });
-		
-		
-	};
-	
-	$scope.executeEffector = function (uri){
-		var effector = uri + "?timeout=0";
-		var data = ""; 
-		console.info ("Executing: " + effector);
-		$http({method: 'POST', url: effector, data:data, headers: {'Content-Type': 'application/x-www-form-urlencoded'}}).
-	    success(function(data) {
-	    	console.info("Success");
-	    	console.dir(data);
-	    }).
-	    error(function(data, status){
-	    	console.error ("Failed: " + status);
-	    	console.dir (data);
-	    });
-	};
-	$scope.init();
-	
-});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/02abbab0/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/js/filters.js
----------------------------------------------------------------------
diff --git a/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/js/filters.js b/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/js/filters.js
deleted file mode 100644
index 289bd3f..0000000
--- a/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/js/filters.js
+++ /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.
-*/
-'use strict';
-var bklnFilters = angular.module('BrooklynApp.filters',[]);
-
-bklnFilters.filter('Capitalize', function(){
-	return function(input){
-	input = input || '';
-	var out = input.toLocaleLowerCase();
-	out = out.charAt(0).toLocaleUpperCase() + out.substring(1);
-	return out;
-};
-});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/02abbab0/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/js/i18n/en-us.json
----------------------------------------------------------------------
diff --git a/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/js/i18n/en-us.json b/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/js/i18n/en-us.json
deleted file mode 100644
index ca3ea5e..0000000
--- a/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/js/i18n/en-us.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
-	"TITLE"     : "Brooklyn",
-	"APP_NAME_LONG"    : "Brooklyn",
-	"APP_NAME_SHORT"    : "Brooklyn",
-	"APPLICATION_LIST_TITLE":"Applications",
-	"NO_APPS_FOUND": "No applications found.",
-	"NO_ENTITIES_FOUND": "No entities found.",
-	"M_MENU_APPS": "Applications",
-	"M_MENU_HELP": "Help",
-	"M_MEMU_POWERED_BY":"",
-	"LOADING": "Loading ...",
-	"E_DISMISS_BUTTON":"Dismiss",
-	"E_DETIALS_SUMMARY":"Summary",
-	"E_DETIALS_CONFIG": "Config",
-	"E_DETIALS_LIFECYCLE": "Lifecycle",
-	"E_DETIALS_POLICIES":"Policies",
-	"E_DETIALS_ACTIVITIES":"Activities",
-	"E_DETIALS_NO_CONFIG_FOUND":"No configurations found",
-	"E_DETIALS_NO_POLICIES_FOUND":"No policies found",
-	"E_DETIALS_NO_ACTIVITIES_FOUND":"No activities found",
-	"E_SUMMARY_NAME":"Name",
-	"E_SUMMARY_ID": "Id",
-	"E_SUMMARY_STATUS":"Status",
-	"E_SUMMARY_TYPE": "Type",
-	"E_SUMMARY_SERVICE_UP":"Service up"
-	
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/02abbab0/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/js/services.js
----------------------------------------------------------------------
diff --git a/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/js/services.js b/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/js/services.js
deleted file mode 100644
index 6e16afa..0000000
--- a/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/js/services.js
+++ /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.
-*/
-
-var brooklynServices = angular.module('BrooklynApp.Services', ['ngResource']);
-
-brooklynServices.factory('ApplicationService', ['$resource', function ($resource) {
-    var Application = $resource('/v1/applications/:id', {url:'/v1/applications/:id'}, {
-    	query: {method:'GET', params:{}, isArray:true},
-    	entities:{url:'v1/applications/:id/entities', method:'GET', isArray:true},
-    });
-    return Application;
-}]);

http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/02abbab0/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/js/templates/applicationsList.html
----------------------------------------------------------------------
diff --git a/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/js/templates/applicationsList.html b/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/js/templates/applicationsList.html
deleted file mode 100644
index 1ab6fc5..0000000
--- a/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/js/templates/applicationsList.html
+++ /dev/null
@@ -1,72 +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="scrollable">
-	<div class="scrollable-content">
-		<div class="list-group">
-			<div style="padding: 10px 0px 19px 0px;" class="list-group-item">
-				<span style="font-size: 1.5em; font-weight: 400; padding-left: 15px">{{'APPLICATION_LIST_TITLE' | translate}}</span>
-				<!-- <div class="btn-group pull-right">
-					<a href="{{$scope.loadData()}}" class="btn btn-navbar"> <i
-						class="fa fa-refresh"></i>
-					</a>
-				</div> -->
-			</div>
-
-			<div ng-if="applications.length == 0" class="list-group-item">
-				<h5 class="list-group-item-text text-center">{{'NO_APPS_FOUND' | translate}}</h5>
-			</div>
-
-			<div ng-repeat="application in applications"
-				href="#{{application.links.entities}}/{{application.id}}"
-				class="list-group-item">
-				<a href="#{{application.links.entities}}/{{application.id}}" ng-show="!showActions" ng-swipe-left="showDetails($event)">
-					<i class="fa fa-chevron-right pull-right"></i>
-					<h5 class="list-group-item-heading">{{application.spec.name}}</h5>
-	
-					<p class="list-group-item-text">
-	
-						<i ng-if="application.status == 'RUNNING'"
-							class="fa fa-circle text-success"></i> <i
-							ng-if="application.status == 'UNKNOWN'"
-							class="fa fa-exclamation text-warning"></i> <i
-							ng-if="application.status == 'STARTING'"
-							class="fa fa-circle text-info"></i> {{application.status | Capitalize}}
-					</p>
-				</a>
-				
-				<a href="#{{application.links.entities}}/{{application.id}}" ng-show="showActions" ng-swipe-right="showActions = false">
-					<span ng-href="#{{application.links.self}}/summary" class="fa pull-right" style="background-color:green;margin: -10px 0px;padding: 20px 20px;color: white;display: block;z-index: 2000;"> Details</span>
-					<i class="fa fa-chevron-right pull-right"></i>
-					<h5 class="list-group-item-heading">{{application.spec.name}}</h5>
-	
-					<p class="list-group-item-text">
-	
-						<i ng-if="application.status == 'RUNNING'"
-							class="fa fa-circle text-success"></i> <i
-							ng-if="application.status == 'UNKNOWN'"
-							class="fa fa-exclamation text-warning"></i> <i
-							ng-if="application.status == 'STARTING'"
-							class="fa fa-circle text-info"></i> {{application.status | Capitalize}}
-					</p>
-				</a>
-			</div>
-		</div>
-	</div>
-</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/02abbab0/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/js/templates/entitiesList.html
----------------------------------------------------------------------
diff --git a/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/js/templates/entitiesList.html b/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/js/templates/entitiesList.html
deleted file mode 100644
index 0417f8b..0000000
--- a/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/js/templates/entitiesList.html
+++ /dev/null
@@ -1,53 +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="scrollable">
-
-	<div class="list-group-item entityListHeader">
-
-		<div class="btn-group pull-left">
-			<a href="#{{back}}" class="btn btn-navbar "> <i
-				class="fa fa-chevron-left"></i>
-			</a>
-		</div>
-		<div class=" navbar-brand navbar-brand-center"><span style="font-size: 1.5em; font-weight: 400;">{{name}}</span></div>
-		
-		<div class="btn-group pull-right">
-			<a href="#{{entity.links.self}}/summary" class="btn btn-navbar">
-				<i class="fa fa-info"></i>
-			</a>
-		</div>
-
-	</div>
-	<div ng-if="entities.length == 0" class="list-group-item">
-		<h5 class="list-group-item-text text-center">{{'NO_ENTITIES_FOUND' | translate}}</h5>
-	</div>
-	<a ng-repeat="entry in entities" href="#{{entry.links.self}}"
-		class="list-group-item"> <i class="fa fa-chevron-right pull-right"></i>
-		<h4 class="list-group-item-heading">{{entry.name}}</h4>
-		<p class="list-group-item-text">
-			<i ng-if="entry.status == 'running'"
-				class="fa fa-circle text-success"></i> <i
-				ng-if="entry.status == 'Unknown'"
-				class="fa fa-exclamation text-warning"></i> <i
-				ng-if="entry.status == 'on-fire'" class="fa fa-fire text-danger"></i>
-			<i ng-if="entry.status == 'starting'" class="fa fa-circle text-info"></i>
-			{{entry.status | Capitalize}}
-		</p>
-	</a>
-</div>

http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/02abbab0/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/js/templates/entitySummary.html
----------------------------------------------------------------------
diff --git a/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/js/templates/entitySummary.html b/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/js/templates/entitySummary.html
deleted file mode 100644
index 832700d..0000000
--- a/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/js/templates/entitySummary.html
+++ /dev/null
@@ -1,250 +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 content-for="title">
-	<span ng-click="goBack()">{{entity.name}}</span>
-</div>
-<!-- Left icon -->
-<div content-for="left-control-nav-icon-left">
-	<div ng-click="toggle('mainSidebar')"
-		class="btn btn-navbar sidebar-toggle">
-		<i class="fa fa-cogs"></i>
-	</div>
-</div>
-
-<!-- Right icon -->
-<div content-for="right-control-nav-icon-right">
-	<div ng-click="toggle('rightSidebar')"
-		class="btn btn-navbar sidebar-toggle">
-		<i class="fa fa-list"></i>
-	</div>
-</div>
-
-<!-- Left navigation (effectors) -->
-<div content-for="left-control-nav">
-	<h2 class="app-name">&nbsp;</h2>
-	<div class="scrollable sidebar-scrollable">
-		<div class="scrollable-content">
-			<div class="list-group" toggle="off" bubble target="mainSidebar">
-				<a class="list-group-item" ng-repeat="effector in entity.effectors"
-					ng-click="executeEffector(effector.links.self); toggle('leftSidebar');" > <span ng-switch on="effector.name"> <i
-						ng-switch-when="restart" class="fa fa-refresh fa-2x"></i> <i
-						ng-switch-when="start" class="fa fa-play fa-2x"></i> <i
-						ng-switch-when="stop" class="fa fa-power-off fa-2x"></i> <i
-						ng-switch-when="resize" class="fa fa-arrows fa-2x"></i> <i
-						ng-switch-when="deploy" class="fa fa-cloud-upload fa-2x"></i> <i
-						ng-switch-when="undeploy" class="fa fa-cloud-download fa-2x"></i>
-						<i ng-switch-default class="fa fa-cloud fa-2x"></i>
-				</span> <span style="padding-left: 10px; font-size: 1.5em;">{{effector.name | Capitalize}}</span>
-				</a>
-			</div>
-
-		</div>
-	</div>
-</div>
-
-<div content-for="right-control-nav">
-	<h2 class="app-name">&nbsp;</h2>
-	<div class="scrollable sidebar-scrollable">
-		<div class="scrollable-content">
-			<div class="list-group" toggle="off" bubble target="rightSidebar">
-				<a class="list-group-item" href="" ng-click="selected = 'Summary'; toggle('rightSidebar')"> <span ng-switch
-					on="effector.name"> <i ng-switch-default
-						class="fa fa-bullseye fa-2x"></i>
-				</span> <span style="padding-left: 10px; font-size: 1.5em;">{{'E_DETIALS_SUMMARY' | translate}}</span>
-				</a> <a class="list-group-item" href="" ng-click="selected = 'Lifecycle'; toggle('rightSidebar')"> <span ng-switch
-					on="effector.name"> <i ng-switch-default
-						class="fa fa-sun-o fa-2x"></i>
-				</span> <span style="padding-left: 10px; font-size: 1.5em;">{{'E_DETIALS_LIFECYCLE' | translate}}</span>
-				</a> <a class="list-group-item" href="" ng-click="selected = 'Config'; toggle('rightSidebar')"> <span ng-switch
-					on="effector.name"> <i ng-switch-default
-						class="fa fa-cogs fa-2x"></i>
-				</span> <span style="padding-left: 10px; font-size: 1.5em;">{{'E_DETIALS_CONFIG' | translate}}</span>
-				</a> <a class="list-group-item" href="" ng-click="selected = 'Policies'; toggle('rightSidebar')"> <span ng-switch
-					on="effector.name"> <i ng-switch-default
-						class="fa fa-legal fa-2x"></i>
-				</span> <span style="padding-left: 10px; font-size: 1.5em;">{{'E_DETIALS_POLICIES' | translate}}</span>
-				</a> <a class="list-group-item" href="" ng-click="selected = 'Activities'; toggle('rightSidebar')"> <span ng-switch
-					on="effector.name"> <i ng-switch-default
-						class="fa fa-tasks fa-2x"></i>
-				</span> <span style="padding-left: 10px; font-size: 1.5em;">{{'E_DETIALS_ACTIVITIES' | translate}}</span>
-				</a>
-			</div>
-	
-		</div>
-	</div>
-</div>
-
-<!-- Entity Details/Summary -->
-
-<div class="scrollable" ng-init="selected = 'Summary'" >
-	<div class="scrollable-content section" ng-show="selected == 'Summary'">
-
-		<form action="" id="">
-
-			<div class="panel">
-				<div class="panel-heading">
-					<div class="panel-title">
-						<span>{{'E_DETIALS_SUMMARY' | translate}}</span>
-					</div>
-				</div>
-				<div class="panel-body">
-
-					<div class="block">
-						<label class="control-label">{{'E_SUMMARY_NAME' | translate}}</label> <input type="text"
-							ng-model="entity.name" placeholder="Name" class="form-control"
-							readonly>
-					</div>
-					<div class="block">
-						<label class="control-label">{{'E_SUMMARY_STATUS' | translate}}</label> <input type="text"
-							ng-model="entity.status" placeholder="Status"
-							class="form-control" readonly>
-					</div>
-					<div class="block">
-						<label class="control-label">{{'E_SUMMARY_SERVICE_UP' | translate}}</label> <input type="text"
-							ng-model="entity.isUp" placeholder="Service isUp"
-							class="form-control" readonly>
-					</div>
-
-					<div class="block">
-						<label class="control-label">{{'E_SUMMARY_TYPE' | translate}}</label> <input type="text"
-							ng-model="entity.type" placeholder="Type" class="form-control"
-							readonly>
-					</div>
-
-					<div class="block">
-						<label class="control-label">{{'E_SUMMARY_ID' | translate}}</label> <input type="text"
-							ng-model="entity.id" placeholder="Id" class="form-control"
-							readonly>
-					</div>
-
-				</div>
-				<br />
-				<br />
-
-				<div bs-panel class="form-actions">
-					<button class="btn btn-success btn-block" ng-click="goBack()">{{'E_DISMISS_BUTTON' | translate}}</button>
-				</div>
-			</div>
-		</form>
-	</div>
-	
-	<div class="scrollable-content section" ng-show="selected == 'Lifecycle'">
-
-			<div class="panel">
-				<div class="panel-heading">
-					<div class="panel-title">
-						<span>{{'E_DETIALS_LIFECYCLE' | translate}}</span>
-					</div>
-				</div>
-				<div class="panel-body">
-					<p> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </p>
-					<br/>
-					
-				</div>
-				<div bs-panel class="form-actions">
-					<button class="btn btn-danger btn-block" ng-click="expunge(); goBack();">Expunge</button>
-				</div>
-				<div bs-panel class="form-actions">
-					<button class="btn btn-success btn-block" ng-click="goBack()">{{'E_DISMISS_BUTTON' | translate}}</button>
-				</div>
-			</div>
-	</div>
-	<div class="scrollable-content section" ng-show="selected == 'Config'">
-
-			<div class="panel">
-				<div class="panel-heading">
-					<div class="panel-title">
-						<span>{{'E_DETIALS_CONFIG' | translate}}</span>
-					</div>
-				</div>
-				<div class="panel-body">
-					<br/>
-					<div ng-if="entity.config.length == 0">
-						<h5 class="list-group-item-text text-center">{{'E_DETIALS_NO_CONFIG_FOUND' | translate}}</h5>
-						<br/>
-					</div>
-					<div class="panel panel-default" ng-repeat="conf in entity.config | orderBy:'key'">
-					   <div class="panel-heading">
-					      <h4>{{conf.key | Capitalize}}</h4>
-					   </div>
-					   <div class="panel-body wrapword">
-					      {{conf.value}}
-					   </div>
-					</div>
-				</div>
-				<div bs-panel class="form-actions">
-					<button class="btn btn-success btn-block" ng-click="goBack()">{{'E_DISMISS_BUTTON' | translate}}</button>
-				</div>
-			</div>
-	</div>
-	<div class="scrollable-content section" ng-show="selected == 'Policies'">
-
-			<div class="panel">
-				<div class="panel-heading">
-					<div class="panel-title">
-						<span>{{'E_DETIALS_POLICIES' | translate}}</span>
-					</div>
-				</div>
-				<div class="panel-body">
-					<p> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </p>
-					<br/>
-
-				</div>
-				<div bs-panel class="form-actions">
-					<button class="btn btn-success btn-block" ng-click="goBack()">{{'E_DISMISS_BUTTON' | translate}}</button>
-				</div>
-				
-			</div>
-	</div>
-	<div class="scrollable-content section" ng-show="selected == 'Activities'">
-
-			<div class="panel">
-				<div class="panel-heading">
-					<div class="panel-title">
-						<span>{{'E_DETIALS_ACTIVITIES' | translate}}</span>
-					</div>
-				</div>
-				<div class="panel-body">
-					<!--<p> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. </p>
-					--><br/>
-
-					<div ng-if="entity.activities.length == 0">
-						<h5 class="list-group-item-text text-center">{{'E_DETIALS_NO_ACTIVITIES_FOUND' | translate}}</h5>
-					</div>
-					<!-- <div class="panel panel-default" ng-repeat="activity in entity.activities" ng-if="activity.submittedByTask == null || (ctivity.submittedByTask != null && $filter('filter')($scope.entity.links.activities,{'id':activity.submittedByTask.metadata.id}).length) == 0"> -->
-					<div class="panel panel-default" ng-repeat="activity in entity.activities" ng-if ="isTopLevelActivity(activity)"> 
-					   <div class="panel-heading">
-					      <h4>{{activity.displayName | Capitalize}}</h4>
-					   </div>
-					   <!-- <div class="panel-body">
-					      Panel content
-					   </div> -->
-					   <table class="table">
-					      <tr><td>Submitted</td><td>{{activity.submitTimeUtc | date:'MM/dd/yyyy @ h:mma'}}</td></tr>
-					      <tr><td>Status</td><td>{{activity.currentStatus}}</td></tr>
-					   </table>
-					</div>
-
-				</div>
-				<div bs-panel class="form-actions">
-					<button class="btn btn-success btn-block" ng-click="goBack()">{{'E_DISMISS_BUTTON' | translate}}</button>
-				</div>
-			</div>
-	</div>
-</div>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/02abbab0/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/libs/angular-1.2.19/angular-cookies.js
----------------------------------------------------------------------
diff --git a/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/libs/angular-1.2.19/angular-cookies.js b/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/libs/angular-1.2.19/angular-cookies.js
deleted file mode 100644
index 22f397a..0000000
--- a/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/libs/angular-1.2.19/angular-cookies.js
+++ /dev/null
@@ -1,204 +0,0 @@
-/**
- * @license AngularJS v1.2.19
- * (c) 2010-2014 Google, Inc. http://angularjs.org
- * License: MIT
- */
-(function(window, angular, undefined) {'use strict';
-
-/**
- * @ngdoc module
- * @name ngCookies
- * @description
- *
- * # ngCookies
- *
- * The `ngCookies` module provides a convenient wrapper for reading and writing browser cookies.
- *
- *
- * <div doc-module-components="ngCookies"></div>
- *
- * See {@link ngCookies.$cookies `$cookies`} and
- * {@link ngCookies.$cookieStore `$cookieStore`} for usage.
- */
-
-
-angular.module('ngCookies', ['ng']).
-  /**
-   * @ngdoc service
-   * @name $cookies
-   *
-   * @description
-   * Provides read/write access to browser's cookies.
-   *
-   * Only a simple Object is exposed and by adding or removing properties to/from this object, new
-   * cookies are created/deleted at the end of current $eval.
-   * The object's properties can only be strings.
-   *
-   * Requires the {@link ngCookies `ngCookies`} module to be installed.
-   *
-   * @example
-   *
-   * ```js
-   * function ExampleController($cookies) {
-   *   // Retrieving a cookie
-   *   var favoriteCookie = $cookies.myFavorite;
-   *   // Setting a cookie
-   *   $cookies.myFavorite = 'oatmeal';
-   * }
-   * ```
-   */
-   factory('$cookies', ['$rootScope', '$browser', function ($rootScope, $browser) {
-      var cookies = {},
-          lastCookies = {},
-          lastBrowserCookies,
-          runEval = false,
-          copy = angular.copy,
-          isUndefined = angular.isUndefined;
-
-      //creates a poller fn that copies all cookies from the $browser to service & inits the service
-      $browser.addPollFn(function() {
-        var currentCookies = $browser.cookies();
-        if (lastBrowserCookies != currentCookies) { //relies on browser.cookies() impl
-          lastBrowserCookies = currentCookies;
-          copy(currentCookies, lastCookies);
-          copy(currentCookies, cookies);
-          if (runEval) $rootScope.$apply();
-        }
-      })();
-
-      runEval = true;
-
-      //at the end of each eval, push cookies
-      //TODO: this should happen before the "delayed" watches fire, because if some cookies are not
-      //      strings or browser refuses to store some cookies, we update the model in the push fn.
-      $rootScope.$watch(push);
-
-      return cookies;
-
-
-      /**
-       * Pushes all the cookies from the service to the browser and verifies if all cookies were
-       * stored.
-       */
-      function push() {
-        var name,
-            value,
-            browserCookies,
-            updated;
-
-        //delete any cookies deleted in $cookies
-        for (name in lastCookies) {
-          if (isUndefined(cookies[name])) {
-            $browser.cookies(name, undefined);
-          }
-        }
-
-        //update all cookies updated in $cookies
-        for(name in cookies) {
-          value = cookies[name];
-          if (!angular.isString(value)) {
-            value = '' + value;
-            cookies[name] = value;
-          }
-          if (value !== lastCookies[name]) {
-            $browser.cookies(name, value);
-            updated = true;
-          }
-        }
-
-        //verify what was actually stored
-        if (updated){
-          updated = false;
-          browserCookies = $browser.cookies();
-
-          for (name in cookies) {
-            if (cookies[name] !== browserCookies[name]) {
-              //delete or reset all cookies that the browser dropped from $cookies
-              if (isUndefined(browserCookies[name])) {
-                delete cookies[name];
-              } else {
-                cookies[name] = browserCookies[name];
-              }
-              updated = true;
-            }
-          }
-        }
-      }
-    }]).
-
-
-  /**
-   * @ngdoc service
-   * @name $cookieStore
-   * @requires $cookies
-   *
-   * @description
-   * Provides a key-value (string-object) storage, that is backed by session cookies.
-   * Objects put or retrieved from this storage are automatically serialized or
-   * deserialized by angular's toJson/fromJson.
-   *
-   * Requires the {@link ngCookies `ngCookies`} module to be installed.
-   *
-   * @example
-   *
-   * ```js
-   * function ExampleController($cookies) {
-   *   // Put cookie
-   *   $cookieStore.put('myFavorite','oatmeal');
-   *   // Get cookie
-   *   var favoriteCookie = $cookieStore.get('myFavorite');
-   *   // Removing a cookie
-   *   $cookieStore.remove('myFavorite');
-   * }
-   * ```
-   */
-   factory('$cookieStore', ['$cookies', function($cookies) {
-
-      return {
-        /**
-         * @ngdoc method
-         * @name $cookieStore#get
-         *
-         * @description
-         * Returns the value of given cookie key
-         *
-         * @param {string} key Id to use for lookup.
-         * @returns {Object} Deserialized cookie value.
-         */
-        get: function(key) {
-          var value = $cookies[key];
-          return value ? angular.fromJson(value) : value;
-        },
-
-        /**
-         * @ngdoc method
-         * @name $cookieStore#put
-         *
-         * @description
-         * Sets a value for given cookie key
-         *
-         * @param {string} key Id for the `value`.
-         * @param {Object} value Value to be stored.
-         */
-        put: function(key, value) {
-          $cookies[key] = angular.toJson(value);
-        },
-
-        /**
-         * @ngdoc method
-         * @name $cookieStore#remove
-         *
-         * @description
-         * Remove given cookie
-         *
-         * @param {string} key Id of the key-value pair to delete.
-         */
-        remove: function(key) {
-          delete $cookies[key];
-        }
-      };
-
-    }]);
-
-
-})(window, window.angular);

http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/02abbab0/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/libs/angular-1.2.19/angular-cookies.min.js
----------------------------------------------------------------------
diff --git a/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/libs/angular-1.2.19/angular-cookies.min.js b/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/libs/angular-1.2.19/angular-cookies.min.js
deleted file mode 100644
index db53d64..0000000
--- a/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/libs/angular-1.2.19/angular-cookies.min.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/*
- AngularJS v1.2.19
- (c) 2010-2014 Google, Inc. http://angularjs.org
- License: MIT
-*/
-(function(p,f,n){'use strict';f.module("ngCookies",["ng"]).factory("$cookies",["$rootScope","$browser",function(e,b){var c={},g={},h,k=!1,l=f.copy,m=f.isUndefined;b.addPollFn(function(){var a=b.cookies();h!=a&&(h=a,l(a,g),l(a,c),k&&e.$apply())})();k=!0;e.$watch(function(){var a,d,e;for(a in g)m(c[a])&&b.cookies(a,n);for(a in c)d=c[a],f.isString(d)||(d=""+d,c[a]=d),d!==g[a]&&(b.cookies(a,d),e=!0);if(e)for(a in d=b.cookies(),c)c[a]!==d[a]&&(m(d[a])?delete c[a]:c[a]=d[a])});return c}]).factory("$cookieStore",
-["$cookies",function(e){return{get:function(b){return(b=e[b])?f.fromJson(b):b},put:function(b,c){e[b]=f.toJson(c)},remove:function(b){delete e[b]}}}])})(window,window.angular);
-//# sourceMappingURL=angular-cookies.min.js.map

http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/02abbab0/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/libs/angular-1.2.19/angular-cookies.min.js.map
----------------------------------------------------------------------
diff --git a/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/libs/angular-1.2.19/angular-cookies.min.js.map b/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/libs/angular-1.2.19/angular-cookies.min.js.map
deleted file mode 100644
index 4e6f87a..0000000
--- a/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/libs/angular-1.2.19/angular-cookies.min.js.map
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-"version":3,
-"file":"angular-cookies.min.js",
-"lineCount":7,
-"mappings":"A;;;;;aAKC,SAAQ,CAACA,CAAD,CAASC,CAAT,CAAkBC,CAAlB,CAA6B,CAmBtCD,CAAAE,OAAA,CAAe,WAAf,CAA4B,CAAC,IAAD,CAA5B,CAAAC,QAAA,CAyBW,UAzBX,CAyBuB,CAAC,YAAD,CAAe,UAAf,CAA2B,QAAS,CAACC,CAAD,CAAaC,CAAb,CAAuB,CAAA,IACxEC,EAAU,EAD8D,CAExEC,EAAc,EAF0D,CAGxEC,CAHwE,CAIxEC,EAAU,CAAA,CAJ8D,CAKxEC,EAAOV,CAAAU,KALiE,CAMxEC,EAAcX,CAAAW,YAGlBN,EAAAO,UAAA,CAAmB,QAAQ,EAAG,CAC5B,IAAIC,EAAiBR,CAAAC,QAAA,EACjBE,EAAJ,EAA0BK,CAA1B,GACEL,CAGA,CAHqBK,CAGrB,CAFAH,CAAA,CAAKG,CAAL,CAAqBN,CAArB,CAEA,CADAG,CAAA,CAAKG,CAAL,CAAqBP,CAArB,CACA,CAAIG,CAAJ,EAAaL,CAAAU,OAAA,EAJf,CAF4B,CAA9B,CAAA,EAUAL,EAAA,CAAU,CAAA,CAKVL,EAAAW,OAAA,CASAC,QAAa,EAAG,CAAA,IACVC,CADU,CAEVC,CAFU,CAIVC,CAGJ,KAAKF,CAAL,GAAaV,EAAb,CACMI,CAAA,CAAYL,CAAA,CAAQW,CAAR,CAAZ,CAAJ,EACEZ,CAAAC,QAAA,CAAiBW,CAAjB,CAAuBhB,CAAvB,CAKJ,KAAIgB,CAAJ,GAAYX,EAAZ,CACEY,CAKA,CALQZ,CAAA,CAAQW,CAAR,CAKR,CAJKjB,CAAAoB,SAAA,CAAiBF,CAAjB,CAIL,GAHEA,CACA,CADQ,EACR,CADaA,CACb,CAAAZ,CAAA,CAAQW,CAAR,CAAA,CAAgBC,CAElB,EAAIA,CAAJ,GAAcX,CAAA,CAAYU,CAAZ,CAAd,GACEZ,CAAA
 C,QAAA,CAAiBW,CAAjB,CAAuBC,CAAvB,CACA,CAAAC,CAAA,CAAU,CAAA,CAFZ,CAOF,IAAIA,CAAJ,CAIE,IAAKF,CAAL,GAFAI,EAEaf,CAFID,CAAAC,QAAA,EAEJA,CAAAA,CAAb,CACMA,CAAA,CAAQW,CAAR,CAAJ,GAAsBI,CAAA,CAAeJ,CAAf,CAAtB,GAEMN,CAAA,CAAYU,CAAA,CAAeJ,CAAf,CAAZ,CAAJ,CACE,OAAOX,CAAA,CAAQW,CAAR,CADT,CAGEX,CAAA,CAAQW,CAAR,CAHF,CAGkBI,CAAA,CAAeJ,CAAf,CALpB,CAhCU,CAThB,CAEA,OAAOX,EA1BqE,CAA3D,CAzBvB,CAAAH,QAAA,CAkIW,cAlIX;AAkI2B,CAAC,UAAD,CAAa,QAAQ,CAACmB,CAAD,CAAW,CAErD,MAAO,KAWAC,QAAQ,CAACC,CAAD,CAAM,CAEjB,MAAO,CADHN,CACG,CADKI,CAAA,CAASE,CAAT,CACL,EAAQxB,CAAAyB,SAAA,CAAiBP,CAAjB,CAAR,CAAkCA,CAFxB,CAXd,KA0BAQ,QAAQ,CAACF,CAAD,CAAMN,CAAN,CAAa,CACxBI,CAAA,CAASE,CAAT,CAAA,CAAgBxB,CAAA2B,OAAA,CAAeT,CAAf,CADQ,CA1BrB,QAuCGU,QAAQ,CAACJ,CAAD,CAAM,CACpB,OAAOF,CAAA,CAASE,CAAT,CADa,CAvCjB,CAF8C,CAAhC,CAlI3B,CAnBsC,CAArC,CAAA,CAsMEzB,MAtMF,CAsMUA,MAAAC,QAtMV;",
-"sources":["angular-cookies.js"],
-"names":["window","angular","undefined","module","factory","$rootScope","$browser","cookies","lastCookies","lastBrowserCookies","runEval","copy","isUndefined","addPollFn","currentCookies","$apply","$watch","push","name","value","updated","isString","browserCookies","$cookies","get","key","fromJson","put","toJson","remove"]
-}

http://git-wip-us.apache.org/repos/asf/brooklyn-library/blob/02abbab0/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/libs/angular-1.2.19/angular-csp.css
----------------------------------------------------------------------
diff --git a/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/libs/angular-1.2.19/angular-csp.css b/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/libs/angular-1.2.19/angular-csp.css
deleted file mode 100644
index 3abb3a0..0000000
--- a/brooklyn-library/sandbox/mobile-app/src/main/webapp/assets/mobile/libs/angular-1.2.19/angular-csp.css
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Include this file in your html if you are using the CSP mode. */
-
-@charset "UTF-8";
-
-[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak],
-.ng-cloak, .x-ng-cloak,
-.ng-hide {
-  display: none !important;
-}
-
-ng\:form {
-  display: block;
-}
-
-.ng-animate-block-transitions {
-  transition:0s all!important;
-  -webkit-transition:0s all!important;
-}
-
-/* show the element during a show/hide animation when the
- * animation is ongoing, but the .ng-hide class is active */
-.ng-hide-add-active, .ng-hide-remove {
-  display: block!important;
-}