You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by jc...@apache.org on 2013/06/13 11:32:44 UTC

git commit: ISIS-436: extending the application settings to read/write

Updated Branches:
  refs/heads/master 449a03bac -> 77041d893


ISIS-436: extending the application settings to read/write


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/77041d89
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/77041d89
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/77041d89

Branch: refs/heads/master
Commit: 77041d89327d7311df1465179cbcd7700c7460bd
Parents: 449a03b
Author: Jeroen van der Wal <je...@stromboli.it>
Authored: Thu Jun 13 11:29:18 2013 +0200
Committer: Jeroen van der Wal <je...@stromboli.it>
Committed: Thu Jun 13 11:29:18 2013 +0200

----------------------------------------------------------------------
 .../settings/ApplicationSettingsServiceJdo.java | 23 ++++++++++-----
 .../settings/ApplicationSettingsService.java    |  6 +++-
 .../settings/ApplicationSettingsServiceRW.java  | 31 ++++++++++++++++++++
 3 files changed, 51 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/77041d89/component/objectstore/jdo/jdo-applib/src/main/java/org/apache/isis/objectstore/jdo/applib/service/settings/ApplicationSettingsServiceJdo.java
----------------------------------------------------------------------
diff --git a/component/objectstore/jdo/jdo-applib/src/main/java/org/apache/isis/objectstore/jdo/applib/service/settings/ApplicationSettingsServiceJdo.java b/component/objectstore/jdo/jdo-applib/src/main/java/org/apache/isis/objectstore/jdo/applib/service/settings/ApplicationSettingsServiceJdo.java
index aae1a2d..d73aa6f 100644
--- a/component/objectstore/jdo/jdo-applib/src/main/java/org/apache/isis/objectstore/jdo/applib/service/settings/ApplicationSettingsServiceJdo.java
+++ b/component/objectstore/jdo/jdo-applib/src/main/java/org/apache/isis/objectstore/jdo/applib/service/settings/ApplicationSettingsServiceJdo.java
@@ -31,6 +31,7 @@ import org.apache.isis.applib.annotation.Optional;
 import org.apache.isis.applib.query.QueryDefault;
 import org.apache.isis.applib.services.settings.ApplicationSetting;
 import org.apache.isis.applib.services.settings.ApplicationSettingsService;
+import org.apache.isis.applib.services.settings.ApplicationSettingsServiceRW;
 import org.apache.isis.applib.services.settings.SettingAbstract;
 import org.apache.isis.applib.services.settings.SettingType;
 
@@ -39,7 +40,7 @@ import org.apache.isis.applib.services.settings.SettingType;
  * as entities into a JDO-backed database.
  */
 @Named("Application Settings")
-public class ApplicationSettingsServiceJdo extends AbstractService implements ApplicationSettingsService {
+public class ApplicationSettingsServiceJdo extends AbstractService implements ApplicationSettingsServiceRW {
 
     @Hidden
     @Override
@@ -52,36 +53,41 @@ public class ApplicationSettingsServiceJdo extends AbstractService implements Ap
 
     // //////////////////////////////////////
 
+    @SuppressWarnings({ "rawtypes", "unchecked" })
     @MemberOrder(sequence="1")
-    public List<ApplicationSettingJdo> listAll() {
-        return allMatches(
+    public List<ApplicationSetting> listAll() {
+        return (List)allMatches(
                 new QueryDefault<ApplicationSettingJdo>(ApplicationSettingJdo.class, 
                         "applicationsetting_all"));
     }
 
     // //////////////////////////////////////
 
+    @Override
     @MemberOrder(sequence="10")
-    public ApplicationSettingJdo newString(
+    public ApplicationSetting newString(
             @Named("Key") String key, 
             @Named("Description") @Optional String description, 
             @Named("Value") String value) {
         return newSetting(key, description, SettingType.STRING, value);
     }
+    @Override
     @MemberOrder(sequence="11")
     public ApplicationSettingJdo newInt(
             @Named("Key") String key, 
             @Named("Description") @Optional String description, 
-            @Named("Value") int value) {
-        return newSetting(key, description, SettingType.INT, new Integer(value).toString());
+            @Named("Value") Integer value) {
+        return newSetting(key, description, SettingType.INT, value.toString());
     }
+    @Override
     @MemberOrder(sequence="12")
     public ApplicationSettingJdo newLong(
             @Named("Key") String key, 
             @Named("Description") @Optional String description, 
-            @Named("Value") long value) {
-        return newSetting(key, description, SettingType.LONG, new Long(value).toString());
+            @Named("Value") Long value) {
+        return newSetting(key, description, SettingType.LONG, value.toString());
     }
+    @Override
     @MemberOrder(sequence="13")
     public ApplicationSettingJdo newLocalDate(
             @Named("Key") String key, 
@@ -89,6 +95,7 @@ public class ApplicationSettingsServiceJdo extends AbstractService implements Ap
             @Named("Value") LocalDate value) {
         return newSetting(key, description, SettingType.LOCAL_DATE, value.toString(SettingAbstract.DATE_FORMATTER));
     }
+    @Override
     @MemberOrder(sequence="14")
     public ApplicationSettingJdo newBoolean(
             @Named("Key") String key, 

http://git-wip-us.apache.org/repos/asf/isis/blob/77041d89/core/applib/src/main/java/org/apache/isis/applib/services/settings/ApplicationSettingsService.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/settings/ApplicationSettingsService.java b/core/applib/src/main/java/org/apache/isis/applib/services/settings/ApplicationSettingsService.java
index 1d4c4c3..6eefcb5 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/settings/ApplicationSettingsService.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/settings/ApplicationSettingsService.java
@@ -18,10 +18,14 @@
  */
 package org.apache.isis.applib.services.settings;
 
+import java.util.List;
+
 import org.apache.isis.applib.annotation.Named;
 
 public interface ApplicationSettingsService {
 
     ApplicationSetting find(@Named("Key") String key);
-    
+
+    List<ApplicationSetting> listAll();
+
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/77041d89/core/applib/src/main/java/org/apache/isis/applib/services/settings/ApplicationSettingsServiceRW.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/settings/ApplicationSettingsServiceRW.java b/core/applib/src/main/java/org/apache/isis/applib/services/settings/ApplicationSettingsServiceRW.java
new file mode 100644
index 0000000..ba5c651
--- /dev/null
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/settings/ApplicationSettingsServiceRW.java
@@ -0,0 +1,31 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.isis.applib.services.settings;
+
+import org.joda.time.LocalDate;
+
+public interface ApplicationSettingsServiceRW extends ApplicationSettingsService {
+
+    ApplicationSetting newInt(String name, String description, Integer defaultValue);
+    ApplicationSetting newLocalDate(String name, String description, LocalDate defaultValue);
+    ApplicationSetting newLong(String name, String description, Long defaultValue);
+    ApplicationSetting newString(String name, String description, String defaultValue);
+    ApplicationSetting newBoolean(String name, String description, Boolean defaultValue);
+    
+}