diff --git a/src/main/java/com/ellisdon/portal/mv/controller/VacationPortletInitiator.java b/src/main/java/com/ellisdon/portal/mv/controller/VacationPortletInitiator.java
index 47ae938..deae459 100644
--- a/src/main/java/com/ellisdon/portal/mv/controller/VacationPortletInitiator.java
+++ b/src/main/java/com/ellisdon/portal/mv/controller/VacationPortletInitiator.java
@@ -44,6 +44,7 @@
//Below is the temporary code to mimic the LifeRay user login
LifeRayUser user = new LifeRayUser(11201, "Bilal Ahmed");
+ //LifeRayUser user = new LifeRayUser(10208, "Clark Kent");
Desktop dsktop = page.getDesktop();
dsktop.setAttribute(CommanConstants.USER, user);
diff --git a/src/main/java/com/ellisdon/portal/mv/dao/VacationEntitlementDAO.java b/src/main/java/com/ellisdon/portal/mv/dao/VacationEntitlementDAO.java
index c27b540..0698e4d 100644
--- a/src/main/java/com/ellisdon/portal/mv/dao/VacationEntitlementDAO.java
+++ b/src/main/java/com/ellisdon/portal/mv/dao/VacationEntitlementDAO.java
@@ -28,6 +28,8 @@
*/
public interface VacationEntitlementDAO {
+ public VacationEntitlementDTO insertUserEntitlement(VacationEntitlementDTO vacentdto) throws DataAccessException;
+
public VacationEntitlementDTO getUserEntitlement(int IDUser) throws DataAccessException;
public void updateUserEntitlement(int entdays, Date lastUpdate, int UserID) throws DataAccessException;
diff --git a/src/main/java/com/ellisdon/portal/mv/dao/impl/VacationEntitlementDAOImpl.java b/src/main/java/com/ellisdon/portal/mv/dao/impl/VacationEntitlementDAOImpl.java
index 93a77fb..0a72386 100644
--- a/src/main/java/com/ellisdon/portal/mv/dao/impl/VacationEntitlementDAOImpl.java
+++ b/src/main/java/com/ellisdon/portal/mv/dao/impl/VacationEntitlementDAOImpl.java
@@ -57,5 +57,12 @@
vacentdto.setLastupdated(lastUpdate);
sess.merge(vacentdto);
}
+
+ @Override
+ public VacationEntitlementDTO insertUserEntitlement(VacationEntitlementDTO vacentdto) throws DataAccessException {
+ Session sess = sessFactory.getCurrentSession();
+ sess.save(vacentdto);
+ return vacentdto;
+ }
}
diff --git a/src/main/java/com/ellisdon/portal/mv/service/VacationService.java b/src/main/java/com/ellisdon/portal/mv/service/VacationService.java
index 4f708e0..2dfd56b 100644
--- a/src/main/java/com/ellisdon/portal/mv/service/VacationService.java
+++ b/src/main/java/com/ellisdon/portal/mv/service/VacationService.java
@@ -30,7 +30,7 @@
* @since JDK1.6
*/
public interface VacationService {
-
+
public List<VacationHistoryDTO> getUserVacationHistory(int IDUser) throws MyVacationRuntimeException;
public void cancelVaction(VacationHistoryDTO vacHistDto) throws MyVacationRuntimeException;
diff --git a/src/main/java/com/ellisdon/portal/mv/service/impl/VacationServiceImpl.java b/src/main/java/com/ellisdon/portal/mv/service/impl/VacationServiceImpl.java
index 16084af..6d701be 100644
--- a/src/main/java/com/ellisdon/portal/mv/service/impl/VacationServiceImpl.java
+++ b/src/main/java/com/ellisdon/portal/mv/service/impl/VacationServiceImpl.java
@@ -29,6 +29,7 @@
import com.ellisdon.portal.mv.exception.MyVacationRuntimeException;
import com.ellisdon.portal.mv.logger.MyVacationLogger;
import com.ellisdon.portal.mv.service.VacationService;
+import com.ellisdon.portal.mv.util.Utility;
/**
* This is the single service class for MyVacation Portlet application
@@ -92,10 +93,16 @@
}
}
- @Transactional(readOnly=true)
+ @Transactional(readOnly=false)
public VacationEntitlementDTO getUserEntitlement(int IDUser) throws MyVacationRuntimeException {
try{
- return vacEntDAO.getUserEntitlement(IDUser);
+ VacationEntitlementDTO vacentdto = vacEntDAO.getUserEntitlement(IDUser);
+ if (Utility.isNull(vacentdto)) {
+ vacentdto = insertUserEntitlement(IDUser);
+ return vacentdto;
+ }else{
+ return vacentdto;
+ }
}catch(DataAccessException dex) {
logger.error("Data access exception occured : " + dex.getMessage(), dex);
throw new MyVacationRuntimeException("Data access exception", dex);
@@ -117,5 +124,17 @@
throw new MyVacationRuntimeException(ex.getMessage(), ex);
}
}
+
+ private VacationEntitlementDTO insertUserEntitlement(int IDUser) throws MyVacationRuntimeException {
+ VacationEntitlementDTO vacentdto = new VacationEntitlementDTO();
+ vacentdto.setUserid(IDUser);
+ vacentdto.setEntitledays(15);
+ vacentdto.setCarryoverdays(0);
+ Date dt = new Date();
+ java.util.Calendar cal = Utility.getOnlyDate(dt);
+ vacentdto.setLastupdated(cal.getTime());
+ vacEntDAO.insertUserEntitlement(vacentdto);
+ return vacentdto;
+ }
}
diff --git a/src/test/java/com/ellisdon/portal/mv/test/dao/TestVacationEntitlementDAO.java b/src/test/java/com/ellisdon/portal/mv/test/dao/TestVacationEntitlementDAO.java
index f25220a..2a89db8 100644
--- a/src/test/java/com/ellisdon/portal/mv/test/dao/TestVacationEntitlementDAO.java
+++ b/src/test/java/com/ellisdon/portal/mv/test/dao/TestVacationEntitlementDAO.java
@@ -94,5 +94,29 @@
}
}
+ @Test
+ public void testInsertUserEntitlement(){
+ try {
+ VacationEntitlementDTO vacentdto = new VacationEntitlementDTO();
+ vacentdto.setUserid(11212);
+ vacentdto.setEntitledays(15);
+ vacentdto.setCarryoverdays(0);
+ Date dt = new Date();
+ java.util.Calendar cal = Utility.getOnlyDate(dt);
+ vacentdto.setLastupdated(cal.getTime());
+ VacationEntitlementDTO vacentdtoRes = vacEntDAO.insertUserEntitlement(vacentdto);
+ if (!Utility.isNull(vacentdtoRes)){
+ assertTrue(true);
+ }
+ else{
+ assertTrue(false);
+ }
+ }catch(Exception ex){
+ ex.printStackTrace();
+ assertTrue(false);
+ }
+ }
+
+
}
diff --git a/src/test/java/com/ellisdon/portal/mv/test/service/TestVacationService.java b/src/test/java/com/ellisdon/portal/mv/test/service/TestVacationService.java
index c24f29b..7dc2eac 100644
--- a/src/test/java/com/ellisdon/portal/mv/test/service/TestVacationService.java
+++ b/src/test/java/com/ellisdon/portal/mv/test/service/TestVacationService.java
@@ -21,6 +21,7 @@
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.annotation.Rollback;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.transaction.annotation.Transactional;
@@ -52,7 +53,7 @@
List<VacationHistoryDTO> vacHistDTOList = vacService.getUserVacationHistory(userid);
if (vacHistDTOList != null){
if (vacHistDTOList.size() > 0 ) {
- System.out.println(" ********* Vacation History For User ID : " + userid + "********");
+ System.out.println(" ********* Vacation History For User ID : " + userid + " ********");
for (int i=0; i< vacHistDTOList.size(); i++)
{
VacationHistoryDTO vacHistDto = (VacationHistoryDTO) vacHistDTOList.get(i);
@@ -83,9 +84,10 @@
@Test
public void testGetUserEntitlement() throws Exception{
- Integer userid = new Integer(11201);
+ Integer userid = new Integer(10208);
VacationEntitlementDTO vacentdto = vacService.getUserEntitlement(userid);
if (vacentdto != null){
+ System.out.println(" ********* Vacation Entitlemnt For User ID : " + userid.toString() + " ********");
System.out.println("Entitlement Days : " + vacentdto.getEntitledays());
System.out.println("Carry over Days : " + vacentdto.getCarryoverdays());
String formattedDate = Utility.convertDate2String(vacentdto.getLastupdated(), "yyyy-MM-dd");