From e0788a30e4a2f58a1fe79b3c8ed1c09693ca5edc Mon Sep 17 00:00:00 2001 From: Miciele Ghiorghis Date: Wed, 16 Jan 2013 18:39:30 +0100 Subject: [PATCH] Tim-connector: extended with connectors functionaliteit. Functionaliteit added to save and get connector properties --- .../web/common/ConfigurationModel.java | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/libreplan-webapp/src/main/java/org/libreplan/web/common/ConfigurationModel.java b/libreplan-webapp/src/main/java/org/libreplan/web/common/ConfigurationModel.java index bb0fd97b1..60675d093 100644 --- a/libreplan-webapp/src/main/java/org/libreplan/web/common/ConfigurationModel.java +++ b/libreplan-webapp/src/main/java/org/libreplan/web/common/ConfigurationModel.java @@ -37,8 +37,10 @@ import java.util.TreeMap; import org.apache.commons.lang.StringUtils; import org.libreplan.business.calendars.daos.IBaseCalendarDAO; import org.libreplan.business.calendars.entities.BaseCalendar; +import org.libreplan.business.common.daos.IAppPropertiesDAO; import org.libreplan.business.common.daos.IConfigurationDAO; import org.libreplan.business.common.daos.IEntitySequenceDAO; +import org.libreplan.business.common.entities.AppProperties; import org.libreplan.business.common.entities.Configuration; import org.libreplan.business.common.entities.EntityNameEnum; import org.libreplan.business.common.entities.EntitySequence; @@ -88,6 +90,13 @@ public class ConfigurationModel implements IConfigurationModel { @Autowired private IWorkReportDAO workReportDAO; + @Autowired + IAppPropertiesDAO appPropertiesDAO; + + private Map> appPropertiesMap = new HashMap>(); + + private String connectorId = "Tim"; + @Override @Transactional(readOnly = true) public List getCalendars() { @@ -107,6 +116,8 @@ public class ConfigurationModel implements IConfigurationModel { public void init() { this.configuration = getCurrentConfiguration(); initEntitySequences(); + initLdapConfiguration(); + initConnectorConfiguration(); } private void initEntitySequences() { @@ -120,6 +131,23 @@ public class ConfigurationModel implements IConfigurationModel { } } + private void initLdapConfiguration() { + if (null == configuration.getLdapConfiguration()) { + configuration.setLdapConfiguration(LDAPConfiguration.create()); + } + } + + private void initConnectorConfiguration() { + this.appPropertiesMap.clear(); + for (AppProperties appProperties : appPropertiesDAO.getAll()) { + if (!this.appPropertiesMap.containsKey(appProperties.getMajorId())) { + appPropertiesMap.put(appProperties.getMajorId(), + new ArrayList()); + } + appPropertiesMap.get(appProperties.getMajorId()).add(appProperties); + } + } + private Configuration getCurrentConfiguration() { Configuration configuration = configurationDAO.getConfiguration(); if (configuration == null) { @@ -160,6 +188,7 @@ public class ConfigurationModel implements IConfigurationModel { public void confirm() { checkEntitySequences(); configurationDAO.save(configuration); + storeAppProperties(); try { storeAndRemoveEntitySequences(); } catch (IllegalStateException e) { @@ -695,4 +724,32 @@ public class ConfigurationModel implements IConfigurationModel { } } + public void storeAppProperties() { + List appProperties = appPropertiesMap + .get(getAppConnectorId()); + for (AppProperties appProperty : appProperties) { + appPropertiesDAO.save(appProperty); + } + } + + @Override + public Map> getAppProperties() { + return appPropertiesMap; + } + + @Override + public void updateProperties(String key, List value) { + this.appPropertiesMap.put(key, value); + } + + @Override + public void setAppConnectorId(String connectorId) { + this.connectorId = connectorId; + } + + @Override + public String getAppConnectorId() { + return connectorId; + } + }