Initial OpenECOMP policy/drools-pdp commit

Change-Id: I0072ccab6f40ed32da39667f9f8523b6d6dad2e2
Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
diff --git a/policy-management/src/main/server-gen/bin/create-secured-topic.sh b/policy-management/src/main/server-gen/bin/create-secured-topic.sh
new file mode 100644
index 0000000..b0d4d6f
--- /dev/null
+++ b/policy-management/src/main/server-gen/bin/create-secured-topic.sh
@@ -0,0 +1,130 @@
+#! /bin/bash
+
+###
+# ============LICENSE_START=======================================================
+# policy-management
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#      http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+###
+
+function usage() {
+	echo -n "Usage: $(basename $0) "
+	echo -n "[(-d|--debug)] "
+	echo -n "(-h|--host) <bus-host> "
+	echo -n "[(-p|--port) <bus-port>] "
+	echo -n "(-k|--key) <api-key> "
+	echo -n "(-s|--secret) <api-secret> "
+	echo -n "[(-P|--partition) <partition-count>] "
+	echo -n "[(-R|--replication) <replication-count>] "
+	echo "(-t|--topic) <topic> "
+	echo ""
+}
+
+BUS_PORT=3904
+PARTITION_COUNT=1
+REPLICATION_COUNT=1
+
+# command line options parsing
+until [[ -z "$1" ]]; do
+	case $1 in
+		-d|--debug) 	set -x
+				;;
+		-h|--host) 		shift
+					BUS_HOST=$1
+					;;						
+		-p|--port) 		shift
+					BUS_PORT=$1
+					;;
+		-k|--key) 		shift
+					API_KEY=$1
+					;;	
+		-s|--secret) 		shift
+					API_SECRET=$1
+					;;	
+		-t|--topic) 		shift
+					TOPIC=$1
+					;;							
+		-P|--partition-count) 	shift
+					PARTITION_COUNT=$1
+					;;
+		-R|--replication-count) shift
+					REPLICATION_COUNT=$1
+					;;																	
+		*)			usage
+					exit 1
+					;;
+	esac
+	shift
+done
+
+if [[ -z ${BUS_HOST} ]]; then
+	echo "An UEB/DMAAP server must be provided."
+	echo
+	usage
+	exit 1
+fi
+
+if [[ -z ${API_KEY} ]]; then
+	echo "The API Key must be provided."
+	usage
+	exit 2
+fi
+
+if [[ -z ${API_SECRET} ]]; then
+	echo "The API Secret must be provided."
+	usage
+	exit 3
+fi
+
+if [[ -z ${TOPIC} ]]; then
+	echo "The Topic Name must be provided."
+	usage
+	exit 3
+fi
+
+if [[ -z ${PARTITION_COUNT} ]]; then
+	echo "The Partition Count must be provided."
+	usage
+	exit 4
+fi
+
+if [[ -z ${REPLICATION_COUNT} ]]; then
+	echo "The Replication Count must be provided."
+	usage
+	exit 5
+fi
+
+REQUEST_API_KEY_BODY=$(< <(cat <<EOF
+{
+	"topicName": "${TOPIC}",
+	"topicDescription": "Generated by PDP-D $(hostname -f)",
+	"partitionCount": ${PARTITION_COUNT},
+	"replicationCount": ${REPLICATION_COUNT}
+}
+EOF
+))
+
+DATE=$(date)
+DATE_HASH=$(echo -n "${DATE}" | openssl sha1 -hmac "${API_SECRET}" -binary | openssl base64)
+
+unset http_proxy
+curl --silent -X POST \
+	--header "Accept:" \
+	--header "X-CambriaDate: ${DATE}" \
+	--header "X-CambriaAuth: ${API_KEY}:${DATE_HASH}" \
+	--header "Content-Type: application/json" \
+	--data "${REQUEST_API_KEY_BODY}" \
+	http://${BUS_HOST}:${BUS_PORT}/topics/create