GNM-1193 Webservice getCalender erstellt
GNM-1197 Unittests
diff --git a/src/main/java/org/eclipse/openk/api/Calender.java b/src/main/java/org/eclipse/openk/api/Calender.java
new file mode 100644
index 0000000..9225e67
--- /dev/null
+++ b/src/main/java/org/eclipse/openk/api/Calender.java
@@ -0,0 +1,68 @@
+/**
+ ******************************************************************************
+ * Copyright © 2018 PTA GmbH.
+ * 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
+ *
+ ******************************************************************************
+ */
+package org.eclipse.openk.api;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Date;
+
+public class Calender {
+
+ @JsonProperty
+ private Integer gridMeasureId;
+
+ @JsonProperty
+ private String gridMeasureTitle;
+
+ @JsonProperty
+ private Integer gridMeasureStatusId;
+
+ @JsonProperty
+ private Integer singleGridMeasureId;
+
+ @JsonProperty
+ private String singleGridMeasureTitle;
+
+ @JsonProperty
+ private Date plannedStarttimSinglemeasure;
+
+ @JsonProperty
+ private Date plannedEndtimeSinglemeasure;
+
+
+ public Integer getGridMeasureId() { return gridMeasureId; }
+
+ public void setGridMeasureId(Integer gridMeasureId) { this.gridMeasureId = gridMeasureId; }
+
+ public Integer getSingleGridMeasureId() { return singleGridMeasureId; }
+
+ public void setSingleGridMeasureId(Integer singleGridMeasureId) { this.singleGridMeasureId = singleGridMeasureId; }
+
+ public String getGridMeasureTitle() { return gridMeasureTitle; }
+
+ public void setGridMeasureTitle(String gridMeasureTitle) { this.gridMeasureTitle = gridMeasureTitle; }
+
+ public Integer getGridMeasureStatusId() { return gridMeasureStatusId; }
+
+ public void setGridMeasureStatusId(Integer gridMeasureStatusId) { this.gridMeasureStatusId = gridMeasureStatusId; }
+
+ public String getSingleGridMeasureTitle() { return singleGridMeasureTitle; }
+
+ public void setSingleGridMeasureTitle(String singleGridMeasureTitle) { this.singleGridMeasureTitle = singleGridMeasureTitle; }
+
+ public Date getPlannedStarttimSinglemeasure() { return plannedStarttimSinglemeasure; }
+
+ public void setPlannedStarttimSinglemeasure(Date plannedStarttimSinglemeasure) { this.plannedStarttimSinglemeasure = plannedStarttimSinglemeasure; }
+
+ public Date getPlannedEndtimeSinglemeasure() { return plannedEndtimeSinglemeasure; }
+
+ public void setPlannedEndtimeSinglemeasure(Date plannedEndtimeSinglemeasure) { this.plannedEndtimeSinglemeasure = plannedEndtimeSinglemeasure; }
+}
diff --git a/src/main/java/org/eclipse/openk/core/controller/GridMeasureBackendController.java b/src/main/java/org/eclipse/openk/core/controller/GridMeasureBackendController.java
index db422f9..05f10fe 100644
--- a/src/main/java/org/eclipse/openk/core/controller/GridMeasureBackendController.java
+++ b/src/main/java/org/eclipse/openk/core/controller/GridMeasureBackendController.java
@@ -14,14 +14,7 @@
import org.apache.commons.codec.binary.Base64;
import org.apache.log4j.Logger;
import org.eclipse.jetty.http.HttpStatus;
-import org.eclipse.openk.api.BackendSettings;
-import org.eclipse.openk.api.Document;
-import org.eclipse.openk.api.FilterObject;
-import org.eclipse.openk.api.GridMeasure;
-import org.eclipse.openk.api.HGridMeasure;
-import org.eclipse.openk.api.Lock;
-import org.eclipse.openk.api.RoleAccessDefinitionApi;
-import org.eclipse.openk.api.VersionInfo;
+import org.eclipse.openk.api.*;
import org.eclipse.openk.common.mapper.GridMeasureMapper;
import org.eclipse.openk.common.mapper.generic.GenericApiToDbMapper;
import org.eclipse.openk.common.util.DateUtils;
@@ -793,6 +786,41 @@
return new ArrayList<>(networkControlsUniqueSet);
}
+ public List<Calender> getCalender() {
+
+ List<TblGridMeasure> mList;
+ List<TblSingleGridmeasure> sgmList;
+ List<Calender> calenderList = new ArrayList<>();
+
+ try (AutoCloseEntityManager em = createEm()) {
+ TblGridMeasureDao gmDao = createTblGridMeasureDao(em);
+ TblSingleGridmeasureDao sgmDao = createTblSingleGridmeasureDao(em);
+ mList = gmDao.getGridMeasuresExcludingStatusInTx(PlgmProcessState.CLOSED.getStatusValue(), PlgmProcessState.CANCELED.getStatusValue());
+
+ for (TblGridMeasure m : mList) {
+ sgmList = sgmDao.getSingleGridmeasuresByGmIdInTx(m.getId());
+
+ for (TblSingleGridmeasure sgm : sgmList) {
+
+ Calender calenderItem = new Calender();
+
+ calenderItem.setGridMeasureId(m.getId());
+ calenderItem.setGridMeasureTitle(m.getTitle());
+ calenderItem.setGridMeasureStatusId(m.getFkRefGmStatus());
+ calenderItem.setSingleGridMeasureId(sgm.getId());
+ calenderItem.setSingleGridMeasureTitle(sgm.getTitle());
+ calenderItem.setPlannedStarttimSinglemeasure(sgm.getPlannedStarttimeSinglemeasure());
+ calenderItem.setPlannedEndtimeSinglemeasure(sgm.getPlannedEndtimeSinglemeasure());
+
+ calenderList.add(calenderItem);
+ }
+ }
+ }
+ return calenderList;
+ }
+
+
+
protected TblSingleGridmeasureDao createTblSingleGridmeasureDao(EntityManager em) { return new TblSingleGridmeasureDao(em); }
protected TblGridMeasureDao createTblGridMeasureDao(EntityManager em) { return new TblGridMeasureDao(em); }
diff --git a/src/main/java/org/eclipse/openk/db/dao/TblGridMeasureDao.java b/src/main/java/org/eclipse/openk/db/dao/TblGridMeasureDao.java
index e01adcd..dba9c14 100644
--- a/src/main/java/org/eclipse/openk/db/dao/TblGridMeasureDao.java
+++ b/src/main/java/org/eclipse/openk/db/dao/TblGridMeasureDao.java
@@ -22,8 +22,6 @@
public class TblGridMeasureDao extends GenericDaoJpa<TblGridMeasure, Integer>{
public static final String FK_REF_GM_STATUS = "fkRefGmStatus";
- //public static final String MODIFIER_NAME = "modUser";
- //public static final String CREATOR_NAME = "createUser";
public TblGridMeasureDao() {
super();
@@ -144,7 +142,6 @@
public List<TblGridMeasure> getGridMeasuresByUserNameExcludingStatus(String username, Integer statusId1, Integer statusId2) {
try {
- //String selectString = "from TblGridMeasure t WHERE t.fkRefGmStatus NOT IN (:fkRefGmStatus1, :fkRefGmStatus2)";
String selectString = "from TblGridMeasure t where t.id IN (select distinct t.id from TblGridMeasure t INNER JOIN HTblGridMeasure h ON t.id = h.id WHERE h.hUser = :UserName) AND t.fkRefGmStatus NOT IN (:fkRefGmStatus1, :fkRefGmStatus2)";
Query q = getEM().createQuery(selectString);
q.setParameter("UserName", username);
diff --git a/src/main/java/org/eclipse/openk/resources/PlannedGridMeasuresResource.java b/src/main/java/org/eclipse/openk/resources/PlannedGridMeasuresResource.java
index 4b12506..33bc97b 100644
--- a/src/main/java/org/eclipse/openk/resources/PlannedGridMeasuresResource.java
+++ b/src/main/java/org/eclipse/openk/resources/PlannedGridMeasuresResource.java
@@ -138,6 +138,19 @@
.getGridMeasureById(Integer.parseInt(id)));
}
+ @ApiOperation(value = "Get Calender", notes = "This service gets single gridmeasures for the calender view")
+ @ApiResponses( value ={ @ApiResponse(code = 200, message = "OK", response = GridMeasure.class,reference = "#/definitions/Calender") } )
+ @GET
+ @Path("/getCalender")
+ @Consumes(MediaType.APPLICATION_JSON)
+ @Produces(MediaType.APPLICATION_JSON)
+ @Timed
+ public Response getCalender(@ApiParam(name ="Authorization", value ="JWT Token", required =true)
+ @HeaderParam(Globals.KEYCLOAK_AUTH_TAG) String jwt) {
+ return invokeRunnable(jwt, SecureType.NORMAL, modusr -> new GridMeasureBackendController()
+ .getCalender());
+ }
+
@ApiOperation(value = "Get Current Reminders", notes = "This service retrieves a list of Gridmeasure-Ids")
@ApiResponses( value ={ @ApiResponse(code = 200, message = "OK", response = GridMeasure.class,reference = "#/definitions/GridMeasure") } )
diff --git a/src/test/java/org/eclipse/openk/api/CalenderTest.java b/src/test/java/org/eclipse/openk/api/CalenderTest.java
new file mode 100644
index 0000000..53831e8
--- /dev/null
+++ b/src/test/java/org/eclipse/openk/api/CalenderTest.java
@@ -0,0 +1,121 @@
+/**
+ ******************************************************************************
+ * Copyright © 2018 PTA GmbH.
+ * 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
+ *
+ ******************************************************************************
+ */
+package org.eclipse.openk.api;
+
+import static org.junit.Assert.assertEquals;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import java.io.IOException;
+import java.util.Date;
+
+import org.junit.Test;
+
+public class CalenderTest {
+
+ @Test
+ public void testGetGridMeasureId()throws IOException {
+ Calender calender = new Calender();
+ calender.setGridMeasureId(5);
+
+ ObjectMapper om = new ObjectMapper();
+ String jsonString = om.writeValueAsString(calender);
+
+ Calender calender2 = om.readValue(jsonString, Calender.class);
+
+ assertEquals(calender.getGridMeasureId(), calender2.getGridMeasureId());
+ }
+
+ @Test
+ public void testGetGridMeasureTitle()throws IOException {
+ Calender calender = new Calender();
+ calender.setGridMeasureTitle("Test 5");
+
+ ObjectMapper om = new ObjectMapper();
+ String jsonString = om.writeValueAsString(calender);
+
+ Calender calender2 = om.readValue(jsonString, Calender.class);
+
+ assertEquals(calender.getGridMeasureTitle(), calender2.getGridMeasureTitle());
+ }
+
+ @Test
+ public void testGetGridMeasureStatusId()throws IOException {
+ Calender calender = new Calender();
+ calender.setGridMeasureStatusId(3);
+
+ ObjectMapper om = new ObjectMapper();
+ String jsonString = om.writeValueAsString(calender);
+
+ Calender calender2 = om.readValue(jsonString, Calender.class);
+
+ assertEquals(calender.getGridMeasureStatusId(), calender2.getGridMeasureStatusId());
+ }
+
+ @Test
+ public void testGetSingleGridMeasureId()throws IOException {
+ Calender calender = new Calender();
+ calender.setSingleGridMeasureId(2);
+
+ ObjectMapper om = new ObjectMapper();
+ String jsonString = om.writeValueAsString(calender);
+
+ Calender calender2 = om.readValue(jsonString, Calender.class);
+
+ assertEquals(calender.getSingleGridMeasureId(), calender2.getSingleGridMeasureId());
+ }
+
+ @Test
+ public void testGetSingleGridMeasureTitle()throws IOException {
+ Calender calender = new Calender();
+ calender.setSingleGridMeasureTitle("Test Single 2");
+
+ ObjectMapper om = new ObjectMapper();
+ String jsonString = om.writeValueAsString(calender);
+
+ Calender calender2 = om.readValue(jsonString, Calender.class);
+
+ assertEquals(calender.getSingleGridMeasureTitle(), calender2.getSingleGridMeasureTitle());
+ }
+
+ @Test
+ public void testGetPlannedStarttimSinglemeasure()throws IOException {
+ Calender calender = new Calender();
+
+ java.util.Date plannedStarttimeSinglemeasure = new Date(System.currentTimeMillis());
+ calender.setPlannedStarttimSinglemeasure(plannedStarttimeSinglemeasure);
+
+ ObjectMapper om = new ObjectMapper();
+ String jsonString = om.writeValueAsString(calender);
+
+ Calender calender2 = om.readValue(jsonString, Calender.class);
+
+ assertEquals(calender.getPlannedStarttimSinglemeasure(), calender2.getPlannedStarttimSinglemeasure());
+ }
+
+ @Test
+ public void testGetPlannedEndtimeSinglemeasure()throws IOException {
+ Calender calender = new Calender();
+
+ java.util.Date plannedEndtimeSinglemeasure = new Date(System.currentTimeMillis());
+ calender.setPlannedEndtimeSinglemeasure(plannedEndtimeSinglemeasure);
+
+ ObjectMapper om = new ObjectMapper();
+ String jsonString = om.writeValueAsString(calender);
+
+ Calender calender2 = om.readValue(jsonString, Calender.class);
+
+ assertEquals(calender.getPlannedEndtimeSinglemeasure(), calender2.getPlannedEndtimeSinglemeasure());
+ }
+
+
+}
+
diff --git a/src/test/java/org/eclipse/openk/core/controller/GridMeasureBackendControllerTest.java b/src/test/java/org/eclipse/openk/core/controller/GridMeasureBackendControllerTest.java
index eb0337b..1f2217d 100644
--- a/src/test/java/org/eclipse/openk/core/controller/GridMeasureBackendControllerTest.java
+++ b/src/test/java/org/eclipse/openk/core/controller/GridMeasureBackendControllerTest.java
@@ -380,7 +380,7 @@
TblSingleGridmeasureDao dao = EasyMock.createMock(TblSingleGridmeasureDao.class);
expect( dao.findByIdInTx(anyObject(), anyInt())).andReturn(mList.get(0)).anyTimes();
expect( dao.findById(anyObject(), anyInt())).andReturn(mList.get(0)).anyTimes();
- expect( dao.getSingleGridmeasuresByGmIdInTx(1)).andReturn(mList).anyTimes();
+ expect( dao.getSingleGridmeasuresByGmIdInTx(anyInt())).andReturn(mList).anyTimes();
expect( dao.getSingleGridmeasuresInTx()).andReturn(mList).anyTimes();
replay( dao );
verify( dao );
@@ -1246,4 +1246,22 @@
be.tblSingleGridmeasureDao = daoMock;
assertEquals( be.getResponsiblesOnSiteFromSingleGridmeasures().size(), 3 );
}
+
+
+ @Test
+ public void testGetCalender() {
+
+ TestableGridMeasureBackendController be = new TestableGridMeasureBackendController();
+
+ TblGridMeasureDao mockedGmDao = createTblGridMeasureDao();
+ be.tblGridMeasureDao = mockedGmDao;
+
+ TblSingleGridmeasureDao mockedSgmDao = createTblSingleGridmeasureDao();
+ be.tblSingleGridmeasureDao = mockedSgmDao;
+
+ assertEquals( be.getCalender().size(),5);
+
+ }
+
+
}
diff --git a/src/test/java/org/eclipse/openk/resources/PlannedGridMeasuresResourcesTest.java b/src/test/java/org/eclipse/openk/resources/PlannedGridMeasuresResourcesTest.java
index d7b1877..4579c6c 100644
--- a/src/test/java/org/eclipse/openk/resources/PlannedGridMeasuresResourcesTest.java
+++ b/src/test/java/org/eclipse/openk/resources/PlannedGridMeasuresResourcesTest.java
@@ -183,4 +183,12 @@
assertNotNull( r );
}
+ @Test
+ public void testGetCalender() {
+ Response r = new PlannedGridMeasuresResource().getCalender("LET_ME_IN");
+ assertNotNull( r );
+ }
+
+
+
}