aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-dao/src/main/java/org/openecomp/sdc/be/dao/cassandra/ArtifactCassandraDao.java
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-dao/src/main/java/org/openecomp/sdc/be/dao/cassandra/ArtifactCassandraDao.java')
-rw-r--r--catalog-dao/src/main/java/org/openecomp/sdc/be/dao/cassandra/ArtifactCassandraDao.java165
1 files changed, 78 insertions, 87 deletions
diff --git a/catalog-dao/src/main/java/org/openecomp/sdc/be/dao/cassandra/ArtifactCassandraDao.java b/catalog-dao/src/main/java/org/openecomp/sdc/be/dao/cassandra/ArtifactCassandraDao.java
index c5b48d9a2c..81586a09ab 100644
--- a/catalog-dao/src/main/java/org/openecomp/sdc/be/dao/cassandra/ArtifactCassandraDao.java
+++ b/catalog-dao/src/main/java/org/openecomp/sdc/be/dao/cassandra/ArtifactCassandraDao.java
@@ -7,9 +7,9 @@
* 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.
@@ -17,13 +17,13 @@
* limitations under the License.
* ============LICENSE_END=========================================================
*/
-
package org.openecomp.sdc.be.dao.cassandra;
import com.datastax.driver.core.ResultSet;
import com.datastax.driver.core.Session;
import com.datastax.driver.mapping.MappingManager;
import fj.data.Either;
+import javax.annotation.PostConstruct;
import org.apache.commons.lang3.tuple.ImmutablePair;
import org.openecomp.sdc.be.resources.data.DAOArtifactData;
import org.openecomp.sdc.be.resources.data.auditing.AuditingTypesConstants;
@@ -31,91 +31,82 @@ import org.openecomp.sdc.common.log.wrappers.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
-import javax.annotation.PostConstruct;
-
@Component("artifact-cassandra-dao")
public class ArtifactCassandraDao extends CassandraDao {
- private static Logger logger = Logger.getLogger(ArtifactCassandraDao.class.getName());
- private ArtifactAccessor artifactAccessor;
-
-
- @Autowired
- public ArtifactCassandraDao(CassandraClient cassandraClient) {
- super(cassandraClient);
-
- }
-
- @PostConstruct
- public void init() {
- String keyspace = AuditingTypesConstants.ARTIFACT_KEYSPACE;
- if (client.isConnected()) {
- Either<ImmutablePair<Session, MappingManager>, CassandraOperationStatus> result = client.connect(keyspace);
- if (result.isLeft()) {
- session = result.left().value().left;
- manager = result.left().value().right;
- artifactAccessor = manager.createAccessor(ArtifactAccessor.class);
- logger.info("** ArtifactCassandraDao created");
- } else {
- logger.info("** ArtifactCassandraDao failed");
- throw new RuntimeException("Artifact keyspace [" + keyspace + "] failed to connect with error : "
- + result.right().value());
- }
- } else {
- logger.info("** Cassandra client isn't connected");
- logger.info("** ArtifactCassandraDao created, but not connected");
- }
- }
-
- public CassandraOperationStatus saveArtifact(DAOArtifactData artifact) {
- return client.save(artifact, DAOArtifactData.class, manager);
- }
-
- public Either<DAOArtifactData, CassandraOperationStatus> getArtifact(String artifactId) {
- return client.getById(artifactId, DAOArtifactData.class, manager);
- }
-
- public CassandraOperationStatus deleteArtifact(String artifactId) {
- return client.delete(artifactId, DAOArtifactData.class, manager);
- }
-
- /**
- * ---------for use in JUnit only--------------- the method deletes all the
- * tables in the audit keyspace
- *
- * @return the status of the last failed operation or ok if all the deletes
- * were successful
- */
- public CassandraOperationStatus deleteAllArtifacts() {
- logger.info("cleaning all artifacts.");
- String query = "truncate sdcartifact.resources;";
- try {
- session.execute(query);
- } catch (Exception e) {
- logger.debug("Failed to clean artifacts", e);
- return CassandraOperationStatus.GENERAL_ERROR;
- }
- logger.info("cleaning all artifacts finished successfully.");
- return CassandraOperationStatus.OK;
- }
-
- /**
- * the method checks if the given table is empty in the artifact keyspace
- *
- * @param tableName
- * the name of the table we want to check
- * @return true if the table is empty
- */
- public Either<Boolean, CassandraOperationStatus> isTableEmpty(String tableName) {
- return super.isTableEmpty(tableName);
- }
-
- public Either<Long, CassandraOperationStatus> getCountOfArtifactById(String uniqeId) {
- ResultSet artifactCount = artifactAccessor.getNumOfArtifactsById(uniqeId);
- if (artifactCount == null) {
- return Either.right(CassandraOperationStatus.NOT_FOUND);
- }
- return Either.left(artifactCount.one().getLong(0));
- }
-
+ private static Logger logger = Logger.getLogger(ArtifactCassandraDao.class.getName());
+ private ArtifactAccessor artifactAccessor;
+
+ @Autowired
+ public ArtifactCassandraDao(CassandraClient cassandraClient) {
+ super(cassandraClient);
+ }
+
+ @PostConstruct
+ public void init() {
+ String keyspace = AuditingTypesConstants.ARTIFACT_KEYSPACE;
+ if (client.isConnected()) {
+ Either<ImmutablePair<Session, MappingManager>, CassandraOperationStatus> result = client.connect(keyspace);
+ if (result.isLeft()) {
+ session = result.left().value().left;
+ manager = result.left().value().right;
+ artifactAccessor = manager.createAccessor(ArtifactAccessor.class);
+ logger.info("** ArtifactCassandraDao created");
+ } else {
+ logger.info("** ArtifactCassandraDao failed");
+ throw new RuntimeException("Artifact keyspace [" + keyspace + "] failed to connect with error : " + result.right().value());
+ }
+ } else {
+ logger.info("** Cassandra client isn't connected");
+ logger.info("** ArtifactCassandraDao created, but not connected");
+ }
+ }
+
+ public CassandraOperationStatus saveArtifact(DAOArtifactData artifact) {
+ return client.save(artifact, DAOArtifactData.class, manager);
+ }
+
+ public Either<DAOArtifactData, CassandraOperationStatus> getArtifact(String artifactId) {
+ return client.getById(artifactId, DAOArtifactData.class, manager);
+ }
+
+ public CassandraOperationStatus deleteArtifact(String artifactId) {
+ return client.delete(artifactId, DAOArtifactData.class, manager);
+ }
+
+ /**
+ * ---------for use in JUnit only--------------- the method deletes all the tables in the audit keyspace
+ *
+ * @return the status of the last failed operation or ok if all the deletes were successful
+ */
+ public CassandraOperationStatus deleteAllArtifacts() {
+ logger.info("cleaning all artifacts.");
+ String query = "truncate sdcartifact.resources;";
+ try {
+ session.execute(query);
+ } catch (Exception e) {
+ logger.debug("Failed to clean artifacts", e);
+ return CassandraOperationStatus.GENERAL_ERROR;
+ }
+ logger.info("cleaning all artifacts finished successfully.");
+ return CassandraOperationStatus.OK;
+ }
+
+ /**
+ * the method checks if the given table is empty in the artifact keyspace
+ *
+ * @param tableName the name of the table we want to check
+ * @return true if the table is empty
+ */
+ public Either<Boolean, CassandraOperationStatus> isTableEmpty(String tableName) {
+ return super.isTableEmpty(tableName);
+ }
+
+ public Either<Long, CassandraOperationStatus> getCountOfArtifactById(String uniqeId) {
+ ResultSet artifactCount = artifactAccessor.getNumOfArtifactsById(uniqeId);
+ if (artifactCount == null) {
+ return Either.right(CassandraOperationStatus.NOT_FOUND);
+ }
+ return Either.left(artifactCount.one().getLong(0));
+ }
}