r363 - in trunk: sammoa-application/src/main/java/fr/ulr/sammoa/application sammoa-application/src/main/java/fr/ulr/sammoa/application/device/gps sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing
Author: tchemit Date: 2012-08-08 14:35:34 +0200 (Wed, 08 Aug 2012) New Revision: 363 Url: http://forge.codelutin.com/repositories/revision/sammoa/363 Log: can edit gpsHandlerClass from config Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/SammoaConfig.java trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/device/gps/GpsConfig.java trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/MainUIHandler.java Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/SammoaConfig.java =================================================================== --- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/SammoaConfig.java 2012-08-07 15:49:43 UTC (rev 362) +++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/SammoaConfig.java 2012-08-08 12:35:34 UTC (rev 363) @@ -25,6 +25,7 @@ package fr.ulr.sammoa.application; import com.google.common.base.Preconditions; +import com.google.common.base.Supplier; import com.google.common.base.Throwables; import fr.ulr.sammoa.application.device.gps.GpsConfig; import fr.ulr.sammoa.persistence.AutoSaveListener; @@ -36,7 +37,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.swing.*; +import javax.swing.KeyStroke; import java.io.File; import java.io.IOException; import java.net.URL; @@ -51,7 +52,7 @@ * @author sletellier <letellier@codelutin.com> * @author fdesbois <fdesbois@codelutin.com> */ -public class SammoaConfig { +public class SammoaConfig implements Supplier<ApplicationConfig> { /** * Logger. @@ -78,10 +79,12 @@ public static final String PROPERTY_CIRCLE_BACK = "circleBack"; + public static final String PROPERTY_GPS_CONFIG = "gpsConfig"; + /** * Delegate application config object containing configuration. */ - protected ApplicationConfig applicationConfig; + protected final ApplicationConfig applicationConfig; protected GpsConfig gpsConfig; @@ -109,6 +112,11 @@ logger.debug("parsed options in config file {}", applicationConfig.getOptions()); } + @Override + public ApplicationConfig get() { + return applicationConfig; + } + public ApplicationConfig getApplicationConfig() { return applicationConfig; } Modified: trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/device/gps/GpsConfig.java =================================================================== --- trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/device/gps/GpsConfig.java 2012-08-07 15:49:43 UTC (rev 362) +++ trunk/sammoa-application/src/main/java/fr/ulr/sammoa/application/device/gps/GpsConfig.java 2012-08-08 12:35:34 UTC (rev 363) @@ -2,8 +2,8 @@ /* * #%L * SAMMOA :: Application - * $Id:$ - * $HeadURL:$ + * $Id$ + * $HeadURL$ * %% * Copyright (C) 2012 UMS 3462, Code Lutin * %% @@ -36,6 +36,8 @@ */ public class GpsConfig { + public static final String PROPERTY_GPS_HNALDER_CLASS = "gpsHandlerClass"; + protected ApplicationConfig applicationConfig; public GpsConfig(ApplicationConfig applicationConfig) { @@ -54,6 +56,16 @@ } /** + * @param newValue new handler class to set in configuration + * @since 0.5 + */ + public void setGpsHandlerClass(Class<?> newValue) { + applicationConfig.setOption( + GpsConfig.GpsConfigOption.GPS_HANDLER.getKey(), + newValue.getName()); + } + + /** * @return {@link GpsConfigOption#GPS_CHECK_PERIOD} value */ public int getCheckPeriod() { @@ -90,7 +102,7 @@ /** Implementation class for GpsHandler */ GPS_HANDLER("gps.handler", n_("sammoa.config.gps.handler"), - "fr.ulr.sammoa.application.device.gps.GpsHandlerGpsylon", + GpsHandlerGpsylon.class.getName(), Class.class ), /** Period time in seconds for each check of the gps to update location */ Modified: trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/MainUIHandler.java =================================================================== --- trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/MainUIHandler.java 2012-08-07 15:49:43 UTC (rev 362) +++ trunk/sammoa-ui-swing/src/main/java/fr/ulr/sammoa/ui/swing/MainUIHandler.java 2012-08-08 12:35:34 UTC (rev 363) @@ -217,7 +217,7 @@ public void showConfig() { SammoaConfig config = context.getConfig(); - ConfigUIHelper helper = new ConfigUIHelper(config.getApplicationConfig()); + ConfigUIHelper helper = new ConfigUIHelper(config); helper.registerCallBack( "ui", @@ -307,9 +307,10 @@ } }); helper.addCategory(n_("sammoa.config.category.gps"), - n_("sammoa.config.category.gps.description")); -// helper.addOption(GpsConfig.GpsConfigOption.GPS_HANDLER); -// helper.setOptionCallBack("gps"); + n_("sammoa.config.category.gps.description")); + helper.addOption(GpsConfig.GpsConfigOption.GPS_HANDLER, + SammoaConfig.PROPERTY_GPS_CONFIG + "." + GpsConfig.PROPERTY_GPS_HNALDER_CLASS); + helper.setOptionCallBack("gps"); helper.addOption(GpsConfig.GpsConfigOption.GPS_DEVICE); helper.setOptionCallBack("gps"); helper.addOption(GpsConfig.GpsConfigOption.GPS_SPEED);
participants (1)
-
tchemit@users.forge.codelutin.com