From cea299691794392814d7a811116c310a2e669bd2 Mon Sep 17 00:00:00 2001 From: miciele Ghiorghis Date: Wed, 20 Mar 2013 09:36:44 +0100 Subject: [PATCH] jira-and-tim-connector: correction on OrderSyncInfo - In OrderSyncInfoDAO the method name findByKeyAndConnectorId is changed to findByKeyOrderAndConnectorId and a parameter Order is added. The files that uses this method are modified accordingly - In JiraSynchronizationController refresh added. If OrderSyncInfo is saved the jira sync info screen will be updated to show the change --- .../libreplan/business/orders/daos/IOrderSyncInfoDAO.java | 3 ++- .../org/libreplan/business/orders/daos/OrderSyncInfoDAO.java | 3 ++- .../java/org/libreplan/importers/ExportTimesheetsToTim.java | 3 ++- .../libreplan/importers/JiraOrderElementSynchronizer.java | 5 +++-- .../libreplan/web/orders/JiraSynchronizationController.java | 2 ++ 5 files changed, 11 insertions(+), 5 deletions(-) diff --git a/libreplan-business/src/main/java/org/libreplan/business/orders/daos/IOrderSyncInfoDAO.java b/libreplan-business/src/main/java/org/libreplan/business/orders/daos/IOrderSyncInfoDAO.java index 839cee517..f4d954f6d 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/orders/daos/IOrderSyncInfoDAO.java +++ b/libreplan-business/src/main/java/org/libreplan/business/orders/daos/IOrderSyncInfoDAO.java @@ -65,10 +65,11 @@ public interface IOrderSyncInfoDAO extends IGenericDAO { * * @param key * the unique key with in connector id + * @param order the order * @param connectorId * the connector id */ - OrderSyncInfo findByKeyAndConnectorId(String key, String connectorId); + OrderSyncInfo findByKeyOrderAndConnectorId(String key, Order order, String connectorId); /** * Finds the {@link OrderSyncInfo}s for the specified diff --git a/libreplan-business/src/main/java/org/libreplan/business/orders/daos/OrderSyncInfoDAO.java b/libreplan-business/src/main/java/org/libreplan/business/orders/daos/OrderSyncInfoDAO.java index c1150f315..3512aecdd 100644 --- a/libreplan-business/src/main/java/org/libreplan/business/orders/daos/OrderSyncInfoDAO.java +++ b/libreplan-business/src/main/java/org/libreplan/business/orders/daos/OrderSyncInfoDAO.java @@ -63,9 +63,10 @@ public class OrderSyncInfoDAO extends GenericDAOHibernate } @Override - public OrderSyncInfo findByKeyAndConnectorId(String key, String connectorId) { + public OrderSyncInfo findByKeyOrderAndConnectorId(String key, Order order, String connectorId) { Criteria criteria = getSession().createCriteria(OrderSyncInfo.class); criteria.add(Restrictions.eq("key", key)); + criteria.add(Restrictions.eq("order", order)); criteria.add(Restrictions.eq("connectorId", connectorId)); return (OrderSyncInfo) criteria.uniqueResult(); } diff --git a/libreplan-webapp/src/main/java/org/libreplan/importers/ExportTimesheetsToTim.java b/libreplan-webapp/src/main/java/org/libreplan/importers/ExportTimesheetsToTim.java index 14f1f3d75..fd86d9052 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/importers/ExportTimesheetsToTim.java +++ b/libreplan-webapp/src/main/java/org/libreplan/importers/ExportTimesheetsToTim.java @@ -247,7 +247,8 @@ public class ExportTimesheetsToTim implements IExportTimesheetsToTim { @Override public Void execute() { OrderSyncInfo orderSyncInfo = orderSyncInfoDAO - .findByKeyAndConnectorId(productCode, + .findByKeyOrderAndConnectorId(productCode, + order, PredefinedConnectors.TIM.getName()); if (orderSyncInfo == null) { orderSyncInfo = OrderSyncInfo.create(productCode, diff --git a/libreplan-webapp/src/main/java/org/libreplan/importers/JiraOrderElementSynchronizer.java b/libreplan-webapp/src/main/java/org/libreplan/importers/JiraOrderElementSynchronizer.java index 90163f02a..3575f9691 100755 --- a/libreplan-webapp/src/main/java/org/libreplan/importers/JiraOrderElementSynchronizer.java +++ b/libreplan-webapp/src/main/java/org/libreplan/importers/JiraOrderElementSynchronizer.java @@ -441,8 +441,9 @@ public class JiraOrderElementSynchronizer implements IJiraOrderElementSynchroniz @Override @Transactional public void saveSyncInfo(String key, Order order) { - OrderSyncInfo orderSyncInfo = orderSyncInfoDAO.findByKeyAndConnectorId( - key, PredefinedConnectors.JIRA.getName()); + OrderSyncInfo orderSyncInfo = orderSyncInfoDAO + .findByKeyOrderAndConnectorId(key, order, + PredefinedConnectors.JIRA.getName()); if (orderSyncInfo == null) { orderSyncInfo = OrderSyncInfo.create(key, order, PredefinedConnectors.JIRA.getName()); diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/orders/JiraSynchronizationController.java b/libreplan-webapp/src/main/java/org/libreplan/web/orders/JiraSynchronizationController.java index 19e1a06e2..8503a81e6 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/orders/JiraSynchronizationController.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/orders/JiraSynchronizationController.java @@ -215,6 +215,8 @@ public class JiraSynchronizationController extends GenericForwardComposer { jiraOrderElementSynchronizer.saveSyncInfo(label, order); + updateOrderLastSyncInfoScreen(); + if (jirasyncPopup != null) { jirasyncPopup.close(); }