script to add folders to monitored script locations

  hooks into context menu of IContainer objects to register them for
  script files.

Change-Id: I24b55e9912d25729b54da3bb09a76089391c65b5
diff --git a/JavaScript Snippets/Script helpers/Add to script locations.js b/JavaScript Snippets/Script helpers/Add to script locations.js
new file mode 100644
index 0000000..4f7224e
--- /dev/null
+++ b/JavaScript Snippets/Script helpers/Add to script locations.js
@@ -0,0 +1,38 @@
+/*******************************************************************************
+ * Copyright (c) 2014 Christian Pontesegger and others. All rights reserved.
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors: Christian Pontesegger - initial API and implementation
+ * 
+ * name			: Add script location
+ * popup		: enableFor(org.eclipse.core.resources.IContainer)
+ * description	: Adds the selected folder to monitored script locations 
+ ******************************************************************************/
+
+loadModule('/System/UI');
+var selection = getSelection();
+if (selection instanceof org.eclipse.jface.viewers.IStructuredSelection) {
+	// get location, due to context menu binding we know this is an IContainer
+	var container = selection.getFirstElement();
+	var location = "workspace:/" + container.getFullPath();
+	var node = location.replace(/\//g, "|");
+
+	loadModule('/System/Platform');
+	// verify that location is not already registered
+	var storedLocation = readPreferences("org.eclipse.ease.ui/" + node, "location");
+	if (storedLocation == "") {
+		// add location preferences
+		writePreferences("org.eclipse.ease.ui/" + node, "location", location);
+		writePreferences("org.eclipse.ease.ui/" + node, "default", false);
+		writePreferences("org.eclipse.ease.ui/" + node, "recursive", true);
+		
+		// trigger update
+		var repositoryService = getService(org.eclipse.ease.ui.scripts.repository.IRepositoryService);
+		repositoryService.updateLocations();
+		
+	}  else
+		// location already registered
+		showInfoDialog("Location is already registered");
+} 
\ No newline at end of file