|
From: <mwl...@us...> - 2008-03-21 16:00:39
|
Revision: 662
http://cishell.svn.sourceforge.net/cishell/?rev=662&view=rev
Author: mwlinnem
Date: 2008-03-21 09:00:09 -0700 (Fri, 21 Mar 2008)
Log Message:
-----------
Commiting changes for user preferences.
Added Paths:
-----------
branches/user_prefs/org.cishell.reference.gui.menumanager/src/org/cishell/reference/gui/menumanager/menu/metatypewrapper/
branches/user_prefs/org.cishell.reference.gui.menumanager/src/org/cishell/reference/gui/menumanager/menu/metatypewrapper/ParamAD.java
branches/user_prefs/org.cishell.reference.gui.menumanager/src/org/cishell/reference/gui/menumanager/menu/metatypewrapper/ParamMetaTypeProvider.java
branches/user_prefs/org.cishell.reference.gui.menumanager/src/org/cishell/reference/gui/menumanager/menu/metatypewrapper/ParamOCD.java
Added: branches/user_prefs/org.cishell.reference.gui.menumanager/src/org/cishell/reference/gui/menumanager/menu/metatypewrapper/ParamAD.java
===================================================================
--- branches/user_prefs/org.cishell.reference.gui.menumanager/src/org/cishell/reference/gui/menumanager/menu/metatypewrapper/ParamAD.java (rev 0)
+++ branches/user_prefs/org.cishell.reference.gui.menumanager/src/org/cishell/reference/gui/menumanager/menu/metatypewrapper/ParamAD.java 2008-03-21 16:00:09 UTC (rev 662)
@@ -0,0 +1,62 @@
+package org.cishell.reference.gui.menumanager.menu.metatypewrapper;
+
+import org.osgi.service.log.LogService;
+import org.osgi.service.metatype.AttributeDefinition;
+
+public class ParamAD implements AttributeDefinition {
+
+ private LogService log;
+
+ private AttributeDefinition realAD;
+
+ private String[] defaultValueOverride;
+
+ public ParamAD(LogService log, AttributeDefinition realAD, String[] defaultValueOverride) {
+ this.log = log;
+
+ this.realAD = realAD;
+
+ this.defaultValueOverride = defaultValueOverride;
+ }
+
+ public int getCardinality() {
+ return this.realAD.getCardinality();
+ }
+
+ public String[] getDefaultValue() {
+ if (defaultValueOverride != null) {
+ return defaultValueOverride;
+ } else {
+ return realAD.getDefaultValue();
+ }
+ }
+
+ public String getDescription() {
+ return this.realAD.getDescription();
+ }
+
+ public String getID() {
+ return this.realAD.getID();
+ }
+
+ public String getName() {
+ return this.realAD.getName();
+ }
+
+ public String[] getOptionLabels() {
+ return this.realAD.getOptionLabels();
+ }
+
+ public String[] getOptionValues() {
+ return this.realAD.getOptionValues();
+ }
+
+ public int getType() {
+ return this.realAD.getType();
+ }
+
+ public String validate(String value) {
+ return this.realAD.validate(value);
+ }
+
+}
Added: branches/user_prefs/org.cishell.reference.gui.menumanager/src/org/cishell/reference/gui/menumanager/menu/metatypewrapper/ParamMetaTypeProvider.java
===================================================================
--- branches/user_prefs/org.cishell.reference.gui.menumanager/src/org/cishell/reference/gui/menumanager/menu/metatypewrapper/ParamMetaTypeProvider.java (rev 0)
+++ branches/user_prefs/org.cishell.reference.gui.menumanager/src/org/cishell/reference/gui/menumanager/menu/metatypewrapper/ParamMetaTypeProvider.java 2008-03-21 16:00:09 UTC (rev 662)
@@ -0,0 +1,34 @@
+package org.cishell.reference.gui.menumanager.menu.metatypewrapper;
+
+import java.util.Dictionary;
+
+import org.osgi.service.log.LogService;
+import org.osgi.service.metatype.MetaTypeProvider;
+import org.osgi.service.metatype.ObjectClassDefinition;
+
+public class ParamMetaTypeProvider implements MetaTypeProvider {
+
+ private MetaTypeProvider realMTP;
+
+ private Dictionary defaultOverrider;
+
+ public ParamMetaTypeProvider(MetaTypeProvider realMTP, Dictionary defaultOverrider) {
+ this.realMTP = realMTP;
+ this.defaultOverrider = defaultOverrider;
+ }
+
+ public String[] getLocales() {
+ return this.realMTP.getLocales();
+ }
+
+ public ObjectClassDefinition getObjectClassDefinition(String id,
+ String locale) {
+ ObjectClassDefinition ocd = realMTP.getObjectClassDefinition(id, locale);
+ if (ocd != null) {
+ return new ParamOCD(realMTP.getObjectClassDefinition(id, locale), defaultOverrider);
+ } else {
+ return null;
+ }
+ }
+
+}
Added: branches/user_prefs/org.cishell.reference.gui.menumanager/src/org/cishell/reference/gui/menumanager/menu/metatypewrapper/ParamOCD.java
===================================================================
--- branches/user_prefs/org.cishell.reference.gui.menumanager/src/org/cishell/reference/gui/menumanager/menu/metatypewrapper/ParamOCD.java (rev 0)
+++ branches/user_prefs/org.cishell.reference.gui.menumanager/src/org/cishell/reference/gui/menumanager/menu/metatypewrapper/ParamOCD.java 2008-03-21 16:00:09 UTC (rev 662)
@@ -0,0 +1,77 @@
+package org.cishell.reference.gui.menumanager.menu.metatypewrapper;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Dictionary;
+
+import org.osgi.service.log.LogService;
+import org.osgi.service.metatype.AttributeDefinition;
+import org.osgi.service.metatype.ObjectClassDefinition;
+
+public class ParamOCD implements ObjectClassDefinition {
+
+ private ObjectClassDefinition realOCD;
+ private ParamAD[] wrappedADs;
+
+ private LogService log;
+
+ private Dictionary defaultOverrider;
+
+ public ParamOCD(ObjectClassDefinition realOCD, Dictionary defaultOverrider) {
+ this.realOCD = realOCD;
+ this.defaultOverrider = defaultOverrider;
+
+ //TODO: don't always return all attributeDefinitions, regardless of filter
+ this.wrappedADs = wrapAttributeDefinitions(realOCD.getAttributeDefinitions(ObjectClassDefinition.ALL));
+ }
+
+ private ParamAD[] wrapAttributeDefinitions(AttributeDefinition[] realAttributeDefinitions) {
+ ParamAD[] wrappedADs = new ParamAD[realAttributeDefinitions.length];
+
+ for (int i = 0; i < realAttributeDefinitions.length; i++) {
+ AttributeDefinition realAD = realAttributeDefinitions[i];
+
+ String[] defaultOverrideValue = getDefaultOverrideValue(realAD.getID(), defaultOverrider);
+
+ ParamAD wrappedAD = new ParamAD(this.log, realAD, defaultOverrideValue);
+
+ wrappedADs[i] = wrappedAD;
+ }
+
+ return wrappedADs;
+ }
+
+ private String[] getDefaultOverrideValue(String overrideKey, Dictionary defaultOverrider) {
+ if (defaultOverrider != null) {
+ String defaultOverrideValue = (String) defaultOverrider.get(overrideKey);
+ if (defaultOverrideValue != null) {
+ return new String[]{defaultOverrideValue};
+ } else {
+ return null;
+ }
+ } else {
+ return null;
+ }
+ }
+
+ public AttributeDefinition[] getAttributeDefinitions(int filter) {
+ return wrappedADs;
+ }
+
+ public String getDescription() {
+ return this.realOCD.getDescription();
+ }
+
+ public String getID() {
+ return this.realOCD.getID();
+ }
+
+ public InputStream getIcon(int size) throws IOException {
+ return this.realOCD.getIcon(size);
+ }
+
+ public String getName() {
+ return this.realOCD.getName();
+ }
+
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|