aboutsummaryrefslogtreecommitdiffstats
path: root/dcae_dmaapbc_webapp/src/main/java/org/openecomp/dmaapbc/dbcapp/service
diff options
context:
space:
mode:
Diffstat (limited to 'dcae_dmaapbc_webapp/src/main/java/org/openecomp/dmaapbc/dbcapp/service')
-rw-r--r--dcae_dmaapbc_webapp/src/main/java/org/openecomp/dmaapbc/dbcapp/service/DmaapAccessService.java72
-rw-r--r--dcae_dmaapbc_webapp/src/main/java/org/openecomp/dmaapbc/dbcapp/service/DmaapAccessServiceImpl.java86
2 files changed, 158 insertions, 0 deletions
diff --git a/dcae_dmaapbc_webapp/src/main/java/org/openecomp/dmaapbc/dbcapp/service/DmaapAccessService.java b/dcae_dmaapbc_webapp/src/main/java/org/openecomp/dmaapbc/dbcapp/service/DmaapAccessService.java
new file mode 100644
index 0000000..e0bf0b2
--- /dev/null
+++ b/dcae_dmaapbc_webapp/src/main/java/org/openecomp/dmaapbc/dbcapp/service/DmaapAccessService.java
@@ -0,0 +1,72 @@
+/*-
+ * ================================================================================
+ * DCAE DMaaP Bus Controller Web Application
+ * ================================================================================
+ * 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.
+ * ================================================================================
+ */
+package org.openecomp.dmaapbc.dbcapp.service;
+
+import java.util.List;
+
+import org.openecomp.dmaapbc.dbcapp.domain.DmaapAccess;
+
+/**
+ * Defines methods to manipulate the database table with DmaapAccess domain
+ * objects. No method throws a checked exception, in keeping with the Spring
+ * philosophy of throwing unchecked exceptions.
+ */
+public interface DmaapAccessService {
+
+ /**
+ * Gets the number of Dmaap Access entries.
+ *
+ * @return Number of rows in the table.
+ */
+ int getDmaapAccessCount();
+
+ /**
+ * Gets all DMaaP access rows in the table for the specified user.
+ *
+ * @param userId
+ * UID of the user
+ * @return List of DMaaP instance objects, which may be empty.
+ */
+ List<DmaapAccess> getDmaapAccessList(String userId);
+
+ /**
+ * Gets the DMaaP access object with the specified row ID.
+ *
+ * @param dmaapId
+ * @return DMaap instance; null if none exists.
+ */
+ DmaapAccess getDmaapAccess(Long dmaapId);
+
+ /**
+ * Creates a new managed object (a new row in the table).
+ *
+ * @param dmaap
+ * DMaaP instance to create.
+ */
+ void saveDmaapAccess(DmaapAccess dmaap);
+
+ /**
+ * Deletes the DMaaP access row with the specified ID.
+ *
+ * @param dmaapId
+ */
+ void deleteDmaapAccess(Long dmaapId);
+
+}
diff --git a/dcae_dmaapbc_webapp/src/main/java/org/openecomp/dmaapbc/dbcapp/service/DmaapAccessServiceImpl.java b/dcae_dmaapbc_webapp/src/main/java/org/openecomp/dmaapbc/dbcapp/service/DmaapAccessServiceImpl.java
new file mode 100644
index 0000000..a7e5185
--- /dev/null
+++ b/dcae_dmaapbc_webapp/src/main/java/org/openecomp/dmaapbc/dbcapp/service/DmaapAccessServiceImpl.java
@@ -0,0 +1,86 @@
+/*-
+ * ================================================================================
+ * DCAE DMaaP Bus Controller Web Application
+ * ================================================================================
+ * 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.
+ * ================================================================================
+ */
+package org.openecomp.dmaapbc.dbcapp.service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.hibernate.criterion.Criterion;
+import org.hibernate.criterion.Restrictions;
+import org.openecomp.dmaapbc.dbcapp.domain.DmaapAccess;
+import org.openecomp.portalsdk.core.service.DataAccessService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * Hibernate-assisted methods to manipulate the DBCA_DMAAP table.
+ */
+@Service("dmaapAccessService")
+@Transactional
+public class DmaapAccessServiceImpl implements DmaapAccessService {
+
+ @Autowired
+ private DataAccessService dataAccessService;
+
+ public DataAccessService getDataAccessService() {
+ return dataAccessService;
+ }
+
+ public void setDataAccessService(DataAccessService dataAccessService) {
+ this.dataAccessService = dataAccessService;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public int getDmaapAccessCount() {
+ List<DmaapAccess> accesses = (List<DmaapAccess>) getDataAccessService().getList(DmaapAccess.class, null);
+ return accesses.size();
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public List<DmaapAccess> getDmaapAccessList(String userId) {
+ List<Criterion> restrictionsList = new ArrayList<Criterion>();
+ Criterion criterion1 = Restrictions.eq("userId", userId);
+ restrictionsList.add(criterion1);
+ List<DmaapAccess> accesses = (List<DmaapAccess>) getDataAccessService().getList(DmaapAccess.class, null,
+ restrictionsList, null);
+ return accesses;
+ }
+
+ @Override
+ public DmaapAccess getDmaapAccess(Long dmaapId) {
+ return (DmaapAccess) getDataAccessService().getDomainObject(DmaapAccess.class, dmaapId, null);
+ }
+
+ @Override
+ public void saveDmaapAccess(DmaapAccess dmaap) {
+ getDataAccessService().saveDomainObject(dmaap, null);
+ }
+
+ @Override
+ public void deleteDmaapAccess(Long dmaapId) {
+ DmaapAccess dmaapAccess = getDmaapAccess(dmaapId);
+ if (dmaapAccess != null)
+ getDataAccessService().deleteDomainObject(dmaapAccess, null);
+ }
+
+}