01: // THIS SOFTWARE IS PROVIDED BY SOFTARIS PTY.LTD. AND OTHER METABOSS
02: // CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING,
03: // BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
04: // FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SOFTARIS PTY.LTD.
05: // OR OTHER METABOSS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
06: // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
07: // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
08: // OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
09: // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
10: // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
11: // EVEN IF SOFTARIS PTY.LTD. OR OTHER METABOSS CONTRIBUTORS ARE ADVISED OF THE
12: // POSSIBILITY OF SUCH DAMAGE.
13: //
14: // Copyright 2000-2005 © Softaris Pty.Ltd. All Rights Reserved.
15: package com.metaboss.applications.designstudio;
16:
17: import java.awt.Rectangle;
18: import java.util.StringTokenizer;
19:
20: import javax.naming.Context;
21: import javax.naming.InitialContext;
22:
23: import com.metaboss.enterprise.foundationservices.FSAccessToSettings;
24:
25: public class SettingsUtil {
26: // The path for the user and system settings for the application
27: private static final String sApplicationPath = "/com/metaboss/applications/developmentstudio";
28:
29: public static String getUserSetting(String pKey,
30: String pDefaultValue) throws javax.naming.NamingException {
31: Context lCtx = new InitialContext();
32: FSAccessToSettings lSettings = null;
33: String lSetting = null;
34: try {
35: lSettings = (FSAccessToSettings) lCtx
36: .lookup(FSAccessToSettings.COMPONENT_URL);
37: lSetting = lSettings.getSetting(sApplicationPath, pKey);
38: } catch (Throwable t) {
39: lSetting = null;
40: }
41: return (lSetting == null) ? pDefaultValue : lSetting;
42: }
43:
44: public static void setUserSetting(String pKey, String pValue)
45: throws javax.naming.NamingException {
46: Context lCtx = new InitialContext();
47: FSAccessToSettings lSettings = (FSAccessToSettings) lCtx
48: .lookup(FSAccessToSettings.COMPONENT_URL);
49: lSettings.storeSetting(sApplicationPath, pKey, pValue);
50: }
51:
52: public static Rectangle getUserSettingAsRectangle(String pKey,
53: Rectangle pDefaultValue)
54: throws javax.naming.NamingException {
55: Context lCtx = new InitialContext();
56: FSAccessToSettings lSettings = null;
57: String lSetting = null;
58: try {
59: lSettings = (FSAccessToSettings) lCtx
60: .lookup(FSAccessToSettings.COMPONENT_URL);
61: lSetting = lSettings.getSetting(sApplicationPath, pKey);
62: } catch (Throwable t) {
63: return pDefaultValue;
64: }
65: if (lSetting == null)
66: return pDefaultValue;
67: StringTokenizer lTokenizer = new StringTokenizer(lSetting, ",",
68: false);
69: return new Rectangle(Integer.parseInt(lTokenizer.nextToken()),
70: Integer.parseInt(lTokenizer.nextToken()), Integer
71: .parseInt(lTokenizer.nextToken()), Integer
72: .parseInt(lTokenizer.nextToken()));
73: }
74:
75: public static void setUserSetting(String pKey, Rectangle pValue)
76: throws javax.naming.NamingException {
77: Context lCtx = new InitialContext();
78: FSAccessToSettings lSettings = null;
79: String lSettingString = null;
80: try {
81: lSettings = (FSAccessToSettings) lCtx
82: .lookup(FSAccessToSettings.COMPONENT_URL);
83: lSettingString = Integer.toString((int) pValue.getX())
84: + "," + Integer.toString((int) pValue.getY()) + ","
85: + Integer.toString((int) pValue.getWidth()) + ","
86: + Integer.toString((int) pValue.getHeight());
87: lSettings.storeSetting(sApplicationPath, pKey,
88: lSettingString);
89: } catch (Throwable e) {
90: e.printStackTrace();
91: }
92: }
93: }
|