[jboss-cvs] jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/plugin/dirMenu ...
Christian Bauer
christian at hibernate.org
Sat Dec 29 21:33:20 EST 2007
User: cbauer
Date: 07/12/29 21:33:20
Modified: examples/wiki/src/main/org/jboss/seam/wiki/plugin/dirMenu
DirMenu.java DirMenuPreferences.java
Added: examples/wiki/src/main/org/jboss/seam/wiki/plugin/dirMenu
DirMenuPreferencesSupport.java
Log:
Complete overhaul of the preferences system
Revision Changes Path
1.4 +19 -16 jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/plugin/dirMenu/DirMenu.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: DirMenu.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/plugin/dirMenu/DirMenu.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- DirMenu.java 19 Dec 2007 04:29:32 -0000 1.3
+++ DirMenu.java 30 Dec 2007 02:33:20 -0000 1.4
@@ -6,14 +6,14 @@
*/
package org.jboss.seam.wiki.plugin.dirMenu;
-import org.jboss.seam.annotations.Name;
+import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.In;
-import org.jboss.seam.annotations.Scope;
+import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Observer;
-import org.jboss.seam.wiki.core.nestedset.query.NestedSetNodeWrapper;
+import org.jboss.seam.annotations.Scope;
import org.jboss.seam.wiki.core.dao.WikiNodeDAO;
import org.jboss.seam.wiki.core.model.WikiDirectory;
-import org.jboss.seam.ScopeType;
+import org.jboss.seam.wiki.core.nestedset.query.NestedSetNodeWrapper;
import java.io.Serializable;
@@ -32,21 +32,24 @@
@In
WikiNodeDAO wikiNodeDAO;
- @In
- DirMenuPreferences dirMenuPreferences;
-/*
- NestedSetNodeWrapper<WikiDirectoryNSDelegate> root;
-
- public NestedSetNodeWrapper<WikiDirectoryNSDelegate> getRoot() {
- if (root == null) {
- refreshRoot();
- }
+ @In("#{preferences.get('DirMenu', currentMacro)}")
+ DirMenuPreferences prefs;
+
+ NestedSetNodeWrapper<WikiDirectory> root;
+
+ public NestedSetNodeWrapper<WikiDirectory> getRoot() {
+ if (root == null) refreshRoot();
return root;
}
- @Observer("PreferenceComponent.refresh.dirMenuPreferences")
+ @Observer(value = "Macro.render.dirMenu", create = false)
public void refreshRoot() {
- root = wikiNodeDAO.findWikiDirectoryTree(currentDirectory, dirMenuPreferences.getMenuDepth(), dirMenuPreferences.getMenuLevels(), false);
+
+ if (prefs.getOnlyMenuItems() != null && prefs.getOnlyMenuItems()) {
+ root = wikiNodeDAO.findMenuItemTree(currentDirectory, 3l, 3l, false);
+ } else {
+ root = wikiNodeDAO.findWikiDirectoryTree(currentDirectory, 3l, 3l, false);
+ }
+
}
- */
}
1.3 +43 -21 jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/plugin/dirMenu/DirMenuPreferences.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: DirMenuPreferences.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/plugin/dirMenu/DirMenuPreferences.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- DirMenuPreferences.java 31 Aug 2007 13:38:13 -0000 1.2
+++ DirMenuPreferences.java 30 Dec 2007 02:33:20 -0000 1.3
@@ -8,42 +8,60 @@
import org.hibernate.validator.NotNull;
import org.hibernate.validator.Range;
-import org.jboss.seam.ScopeType;
-import org.jboss.seam.annotations.AutoCreate;
-import org.jboss.seam.annotations.Name;
-import org.jboss.seam.annotations.Observer;
-import org.jboss.seam.annotations.Scope;
-import org.jboss.seam.wiki.preferences.Preference;
-import org.jboss.seam.wiki.preferences.PreferenceSupport;
+import org.hibernate.validator.Length;
+import org.jboss.seam.wiki.preferences.annotations.Preferences;
+import org.jboss.seam.wiki.preferences.annotations.PreferenceProperty;
import org.jboss.seam.wiki.preferences.PreferenceVisibility;
import java.io.Serializable;
- at Name("dirMenuPreferences")
- at AutoCreate
- at Scope(ScopeType.CONVERSATION)
- at Preference(description = "Plugin: Directory Menu", visibility = PreferenceVisibility.INSTANCE)
-public class DirMenuPreferences extends PreferenceSupport implements Serializable {
+ at Preferences(name = "DirMenu", description = "#{messages['dirMenu.preferences.Name']}")
+public class DirMenuPreferences implements Serializable {
- public String getCurrentUserVariable() { return "currentUser"; }
- public String getCurrentInstanceVariable() { return "currentDocument"; }
-
- @Observer("PreferenceEditor.refresh.dirMenuPreferences")
- public void refreshProperties() { super.refreshProperties(); }
+ @PreferenceProperty(
+ description = "#{messages['dirMenu.preferences.Title']}",
+ visibility = {PreferenceVisibility.SYSTEM, PreferenceVisibility.INSTANCE},
+ editorIncludeName = "AdaptiveTextInput"
+ )
+ @Length(min = 0, max = 255)
+ @NotNull
+ private String title;
- @Preference(description = "01. Flatten display of menu tree to levels", visibility = PreferenceVisibility.INSTANCE)
- @Range(min = 1l, max = 100l)
+ @PreferenceProperty(
+ description = "#{messages['dirMenu.preferences.MenuLevels']}",
+ visibility = {PreferenceVisibility.SYSTEM, PreferenceVisibility.INSTANCE},
+ editorIncludeName = "NumberRange"
+ )
+ @Range(min = 1l, max = 10l)
@NotNull
private Long menuLevels;
- @Preference(description = "02. Maximum depth of menu tree nodes", visibility = PreferenceVisibility.INSTANCE)
+ @PreferenceProperty(
+ description = "#{messages['dirMenu.preferences.MenuDepth']}",
+ visibility = {PreferenceVisibility.SYSTEM, PreferenceVisibility.INSTANCE},
+ editorIncludeName = "NumberRange"
+
+ )
@Range(min = 1l, max = 100l)
@NotNull
private Long menuDepth;
- @Preference(description = "03. Show 'Subscribe' icon", visibility = PreferenceVisibility.INSTANCE)
+ @PreferenceProperty(
+ description = "#{messages['dirMenu.preferences.ShowSubscribeIcon']}",
+ visibility = PreferenceVisibility.INSTANCE
+ )
private Boolean showSubscribeIcon;
+ @PreferenceProperty(
+ description = "#{messages['dirMenu.preferences.OnlyMenuItems']}",
+ visibility = PreferenceVisibility.INSTANCE
+ )
+ private Boolean onlyMenuItems;
+
+ public String getTitle() {
+ return title;
+ }
+
public Long getMenuLevels() {
return menuLevels;
}
@@ -55,4 +73,8 @@
public Boolean getShowSubscribeIcon() {
return showSubscribeIcon;
}
+
+ public Boolean getOnlyMenuItems() {
+ return onlyMenuItems;
+ }
}
1.1 date: 2007/12/30 02:33:20; author: cbauer; state: Exp;jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/plugin/dirMenu/DirMenuPreferencesSupport.java
Index: DirMenuPreferencesSupport.java
===================================================================
package org.jboss.seam.wiki.plugin.dirMenu;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.wiki.preferences.metamodel.PreferenceEntity;
import org.jboss.seam.wiki.preferences.metamodel.PreferencesSupport;
import java.util.HashSet;
import java.util.Set;
@Name("dirMenuPreferencesSupport")
public class DirMenuPreferencesSupport extends PreferencesSupport {
public Set<PreferenceEntity> getPreferenceEntities() {
return new HashSet<PreferenceEntity>() {{
add( createPreferenceEntity(DirMenuPreferences.class) );
}};
}
/* TODO: Too complicated for now...
@Name("dirMenuQualityPreferenceValueTemplate")
@Scope(ScopeType.CONVERSATION)
public static class DirMenuQualityTemplate implements PreferenceValueTemplate {
public List<String> getTemplateValues() {
return Collections.emptyList();
}
public String getConverterComponentName() {
return "dirMenuQualityConverter";
}
}
@Name("dirMenuQualityConverter")
@org.jboss.seam.annotations.faces.Converter
public static class DirMenuQualityConverter implements Converter, Serializable {
public Object getAsObject(javax.faces.context.FacesContext facesContext, UIComponent uiComponent, String s) {
return s != null ? DirMenuQuality.valueOf(s) : null;
}
public String getAsString(javax.faces.context.FacesContext facesContext, UIComponent uiComponent, Object o) {
return o instanceof DirMenuQuality ? ((DirMenuQuality)o).name() : null;
}
}
*/
}
More information about the jboss-cvs-commits
mailing list