aboutsummaryrefslogtreecommitdiffstats
path: root/musictrigger
diff options
context:
space:
mode:
authorNelson,Thomas(tn1381)(arthurdent3) <tn1381@att.com>2019-01-29 15:55:37 -0500
committerNelson,Thomas(tn1381)(arthurdent3) <tn1381@att.com>2019-01-29 16:05:01 -0500
commita27be9fdbbf2d271c9c5780ba70fe15a24dbdb63 (patch)
tree1fa631eae149ed6be33b636e7eac03dadbef64c3 /musictrigger
parent95489883ce973e84267fcbcee685f1598d4bdd6e (diff)
Push variuos changes
- Spring Boot - Cadi - Cassandra Locking Change-Id: Ie9882f81f0ca141bdb7862cdabf978481fcd7c4a Issue-ID: MUSIC-296,MUSIC-272 Signed-off-by: Nelson,Thomas(tn1381)(arthurdent3) <tn1381@att.com>
Diffstat (limited to 'musictrigger')
-rw-r--r--musictrigger/assembly.xml22
-rw-r--r--musictrigger/pom.xml100
-rw-r--r--musictrigger/src/JSONObject.java38
-rwxr-xr-xmusictrigger/src/MusicTrigger.java210
4 files changed, 0 insertions, 370 deletions
diff --git a/musictrigger/assembly.xml b/musictrigger/assembly.xml
deleted file mode 100644
index 34451eef..00000000
--- a/musictrigger/assembly.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
- <id>v1</id>
- <formats>
- <format>jar</format>
- </formats>
- <includeBaseDirectory>false</includeBaseDirectory>
- <dependencySets>
- <dependencySet>
- <unpack>false</unpack>
- <scope>runtime</scope>
- <useProjectArtifact>false</useProjectArtifact>
- </dependencySet>
- </dependencySets>
- <fileSets>
- <fileSet>
- <directory>${project.build.outputDirectory}</directory>
- <outputDirectory>.</outputDirectory>
- </fileSet>
- </fileSets>
-</assembly> \ No newline at end of file
diff --git a/musictrigger/pom.xml b/musictrigger/pom.xml
deleted file mode 100644
index f1d700a9..00000000
--- a/musictrigger/pom.xml
+++ /dev/null
@@ -1,100 +0,0 @@
-<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>
- <groupId>org.onap.music</groupId>
- <artifactId>musictrigger</artifactId>
- <packaging>jar</packaging>
- <version>0.1.0</version>
- <parent>
- <groupId>org.onap.oparent</groupId>
- <artifactId>oparent</artifactId>
- <version>1.2.0</version>
- <relativePath/>
- </parent>
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <!--nexus -->
- <nexusproxy>https://nexus.onap.org</nexusproxy>
- <snapshotNexusPath>/content/repositories/snapshots/</snapshotNexusPath>
- <releaseNexusPath>/content/repositories/releases/</releaseNexusPath>
- <stagingNexusPath>/content/repositories/staging/</stagingNexusPath>
- <sitePath>/content/sites/site/org/onap/music/${project.version}</sitePath>
- <!--maven -->
- <timestamp>${maven.build.timestamp}</timestamp>
- <maven.build.timestamp.format>yyyy.MM.dd.HH.mm</maven.build.timestamp.format>
- <!--docker -->
- <docker.tag>${project.version}-${timestamp}</docker.tag>
- <docker.latest.tag>${project.version}-latest</docker.latest.tag>
- </properties>
- <build>
- <sourceDirectory>src</sourceDirectory>
- <plugins>
- <plugin>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.6.1</version>
- <configuration>
- <source>1.8</source>
- <target>1.8</target>
- </configuration>
- </plugin>
- <plugin>
- <artifactId>maven-assembly-plugin</artifactId>
- <configuration>
- <archive>
- <manifest>
- <mainClass>fully.qualified.MainClass</mainClass>
- </manifest>
- </archive>
- <descriptorRefs>
- <descriptorRef>jar-with-dependencies</descriptorRef>
- </descriptorRefs>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- <dependencies>
- <dependency>
- <groupId>com.owlike</groupId>
- <artifactId>genson</artifactId>
- <version>0.99</version>
- </dependency>
- <dependency>
- <groupId>com.sun.jersey</groupId>
- <artifactId>jersey-client</artifactId>
- <version>1.17</version>
- </dependency>
- <dependency>
- <groupId>com.datastax.cassandra</groupId>
- <artifactId>cassandra-driver-core</artifactId>
- <version>3.0.0</version>
- </dependency>
- <dependency>
- <groupId>org.cassandraunit</groupId>
- <artifactId>cassandra-unit</artifactId>
- <version>3.3.0.1</version>
- </dependency>
- <dependency>
- <groupId>commons-codec</groupId>
- <artifactId>commons-codec</artifactId>
- <version>1.11</version>
- </dependency>
- </dependencies>
- <distributionManagement>
- <repository>
- <id>ecomp-releases</id>
- <name>Release Repository</name>
- <url>${nexusproxy}/${releaseNexusPath}</url>
- </repository>
- <snapshotRepository>
- <id>ecomp-snapshots</id>
- <name>Snapshot Repository</name>
- <url>${nexusproxy}/${snapshotNexusPath}</url>
- </snapshotRepository>
- <!-- added for javadoc -->
- <site>
- <id>ecomp-site</id>
- <url>dav:${nexusproxy}${sitePath}</url>
- </site>
- </distributionManagement>
-</project>
diff --git a/musictrigger/src/JSONObject.java b/musictrigger/src/JSONObject.java
deleted file mode 100644
index 38dfcbdc..00000000
--- a/musictrigger/src/JSONObject.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * ============LICENSE_START==========================================
- * org.onap.music
- * ===================================================================
- * Copyright (c) 2017 AT&T Intellectual Property
- * ===================================================================
- * 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=============================================
- * ====================================================================
- */
-
-
-public class JSONObject {
-
- private String data;
-
- public String getData() {
- return data;
- }
-
- public void setData(String data) {
- this.data = data;
- }
-
-
-
-}
diff --git a/musictrigger/src/MusicTrigger.java b/musictrigger/src/MusicTrigger.java
deleted file mode 100755
index eb79cb8c..00000000
--- a/musictrigger/src/MusicTrigger.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
- * ============LICENSE_START==========================================
- * org.onap.music
- * ===================================================================
- * Copyright (c) 2017 AT&T Intellectual Property
- * ===================================================================
- * 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=============================================
- * ====================================================================
- */
-
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.nio.ByteBuffer;
-import java.nio.charset.Charset;
-import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.Map;
-
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.MediaType;
-
-import org.apache.cassandra.config.ColumnDefinition;
-import org.apache.cassandra.db.Clustering;
-import org.apache.cassandra.db.Mutation;
-import org.apache.cassandra.db.partitions.Partition;
-import org.apache.cassandra.db.rows.Cell;
-import org.apache.cassandra.db.rows.Row;
-import org.apache.cassandra.db.rows.Unfiltered;
-import org.apache.cassandra.db.rows.UnfilteredRowIterator;
-import org.apache.cassandra.triggers.ITrigger;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.sun.jersey.api.client.Client;
-import com.sun.jersey.api.client.ClientResponse;
-import com.sun.jersey.api.client.WebResource;
-
-
-public class MusicTrigger implements ITrigger {
-
- private static final Logger logger = LoggerFactory.getLogger(MusicTrigger.class);
-
- public Collection<Mutation> augment(Partition partition)
- {
- new Thread(new Runnable() {
- public void run() {
- makeAsyncCall(partition);
- }
- }).start();
- return Collections.emptyList();
- }
-
- private void makeAsyncCall(Partition partition) {
- boolean isDelete = false;
- if(partition.partitionLevelDeletion().isLive()) {
-
- } else {
- // Partition Level Deletion
- isDelete = true;
- }
- logger.info("MusicTrigger isDelete: " + isDelete);
- String ksName = partition.metadata().ksName;
- String tableName = partition.metadata().cfName;
- String pkValue = partition.metadata().getKeyValidator().getString(partition.partitionKey().getKey());
- logger.info("MusicTrigger Table: " + tableName);
- boolean isInsert = checkQueryType(partition);
- org.json.simple.JSONObject obj = new org.json.simple.JSONObject();
-
- String operation = null;
- if(isDelete)
- operation = "delete";
- else if(isInsert)
- operation = "insert";
- else
- operation = "update";
- Map<String, Object> changeMap = new HashMap<>();
-
- obj.put("operation", operation);
- obj.put("keyspace", ksName);
- obj.put("table_name", tableName);
- obj.put("full_table", ksName+"."+tableName);
- obj.put("primary_key", partition.metadata().getKeyValidator().getString(partition.partitionKey().getKey()));
- List<String> updateList = new ArrayList<>();
- //obj.put("message_id", partition.metadata().getKeyValidator().getString(partition.partitionKey().getKey()));
- if("update".equals(operation)) {
- try {
- UnfilteredRowIterator it = partition.unfilteredIterator();
- while (it.hasNext()) {
- Unfiltered un = it.next();
- Clustering clt = (Clustering) un.clustering();
- Iterator<Cell> cells = partition.getRow(clt).cells().iterator();
- Iterator<ColumnDefinition> columns = partition.getRow(clt).columns().iterator();
-
- while(columns.hasNext()){
- ColumnDefinition columnDef = columns.next();
- Cell cell = cells.next();
-
- String data = null;
- if(cell.column().type.toString().equals("org.apache.cassandra.db.marshal.UTF8Type")) {
- logger.info(">> type is String");
- data = new String(cell.value().array()); // If cell type is text
- } else if(cell.column().type.toString().equals("org.apache.cassandra.db.marshal.Int32Type")) {
- //ByteBuffer wrapped = ByteBuffer.wrap(cell.value()); // big-endian by default
- int num = fromByteArray(cell.value().array());
- logger.info(">> type is Integer1 :: "+num);
- data = String.valueOf(num);
- }
-
- logger.info("Inside triggers loop: "+columnDef.name+" : "+data);
- //changeMap.put(ksName+"."+tableName+"."+columnDef.name,data);
- updateList.add(ksName+"."+tableName+":"+columnDef.name+":"+data);
- changeMap.put("field_value",ksName+"."+tableName+":"+columnDef.name+":"+data);
-
- }
- }
- } catch (Exception e) {
- logger.info("Exception while constructing.. "+e.getMessage());
- }
- obj.put("updateList", updateList);
- } else {
- changeMap.put("field_value", ksName+"."+tableName);
- }
-
- obj.put("changeValue", changeMap);
- logger.info("Sending response: "+obj.toString());
- try {
- notifyMusic(obj.toString());
- logger.info("MUSIC was notified.. "+obj.toString());
- } catch(Exception e) {
- logger.error("Notification failed..."+e.getMessage());
- logger.info("Notification failed..."+e.getMessage());
- }
-
- }
-
- private int fromByteArray(byte[] bytes) {
- return bytes[0] << 24 | (bytes[1] & 0xFF) << 16 | (bytes[2] & 0xFF) << 8 | (bytes[3] & 0xFF);
- }
-
- private boolean checkQueryType(Partition partition) {
- UnfilteredRowIterator it = partition.unfilteredIterator();
- while (it.hasNext()) {
- Unfiltered unfiltered = it.next();
- Row row = (Row) unfiltered;
- if (isInsert(row)) {
- return true;
- }
- }
- return false;
- }
-
- private boolean isInsert(Row row) {
- return row.primaryKeyLivenessInfo().timestamp() != Long.MIN_VALUE;
- }
-
- private void notifyMusic(String request) {
- logger.info("notifyMusic...");
- Client client = Client.create();
- WebResource webResource = client.resource("http://localhost:8080/MUSIC/rest/v2/admin/callbackOps");
-
- JSONObject data = new JSONObject();
- data.setData(request);
- ClientResponse response = null;
- try {
- response = webResource.accept("application/json").type("application/json")
- .post(ClientResponse.class, data);
- } catch (Exception e) {
- logger.info("Exception while notifying MUSIC. Retrying..");
- try {
- response = webResource.accept("application/json").type("application/json")
- .post(ClientResponse.class, data);
- } catch (Exception e1) {
- logger.info("Exception while notifying MUSIC. Stopping retry attempts..");
- }
- }
-
- if(response.getStatus() != 200){
- logger.info("Exception while notifying MUSIC...");
- try {
- response = webResource.accept("application/json").type("application/json")
- .post(ClientResponse.class, data);
- } catch (Exception e) {
- logger.info("Exception while notifying MUSIC. Retrying..");
- try {
- response = webResource.accept("application/json").type("application/json")
- .post(ClientResponse.class, data);
- } catch (Exception e1) {
- logger.info("Exception while notifying MUSIC. Stopping retry attempts..");
- }
- }
- }
- }
-
-} \ No newline at end of file