[jboss-cvs] jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action ...
Christian Bauer
christian at hibernate.org
Sat Dec 29 21:33:25 EST 2007
User: cbauer
Date: 07/12/29 21:33:25
Modified: examples/wiki/src/main/org/jboss/seam/wiki/core/action
PreferenceEditor.java WikiIdentity.java Help.java
DirectoryHome.java AdminHome.java
PluginPreferenceEditor.java Menu.java UserHome.java
Authenticator.java DocumentHome.java
CommentHome.java CommentQuery.java
Log:
Complete overhaul of the preferences system
Revision Changes Path
1.6 +48 -49 jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action/PreferenceEditor.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: PreferenceEditor.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action/PreferenceEditor.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- PreferenceEditor.java 20 Jun 2007 01:30:36 -0000 1.5
+++ PreferenceEditor.java 30 Dec 2007 02:33:25 -0000 1.6
@@ -2,19 +2,18 @@
import org.jboss.seam.annotations.*;
import org.jboss.seam.ScopeType;
-import org.jboss.seam.Component;
import org.jboss.seam.log.Log;
import org.jboss.seam.faces.FacesMessages;
-import org.jboss.seam.wiki.preferences.*;
-import org.jboss.seam.wiki.preferences.PreferenceRegistry;
import org.jboss.seam.wiki.core.model.User;
+import org.jboss.seam.wiki.preferences.PreferenceVisibility;
+import org.jboss.seam.wiki.preferences.PreferenceValue;
+import org.jboss.seam.wiki.preferences.PreferenceProvider;
+import org.jboss.seam.wiki.preferences.metamodel.PreferenceEntity;
+import org.jboss.seam.wiki.preferences.metamodel.PreferenceRegistry;
import org.hibernate.validator.InvalidValue;
import javax.faces.application.FacesMessage;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashSet;
+import java.util.*;
import java.io.Serializable;
@Name("prefEditor")
@@ -26,76 +25,76 @@
@In
private FacesMessages facesMessages;
- private User user;
- private PreferenceVisibility preferenceVisibility;
+ @In
+ PreferenceProvider preferenceProvider;
+
+ @In
+ PreferenceRegistry preferenceRegistry;
- private PreferenceComponent preferenceComponent;
+ private User user;
+ private PreferenceVisibility[] visibilities;
+ private List<PreferenceEntity> preferenceEntities;
+ private PreferenceEntity preferenceEntity;
private List<PreferenceValue> preferenceValues;
boolean valid = true;
public String save() {
- log.debug("saving preference component values");
- if (preferenceComponent == null) return null;
+ log.debug("saving preference values");
+ if (preferenceEntity == null) return null;
validate();
if (!valid) return "failed";
- PreferenceProvider provider = (PreferenceProvider)Component.getInstance("preferenceProvider");
- if (preferenceVisibility.equals(PreferenceVisibility.USER)) {
- // Store prefs for a user
- preferenceValues = new ArrayList<PreferenceValue>(
- provider.store(preferenceComponent, new HashSet<PreferenceValue>(preferenceValues), user, null)
- );
- } else {
- // Store system prefs
- preferenceValues = new ArrayList<PreferenceValue>(
- provider.store(preferenceComponent, new HashSet<PreferenceValue>(preferenceValues), null, null)
- );
- }
- provider.flush();
+ preferenceProvider.storeValues(new HashSet<PreferenceValue>(preferenceValues), user, null);
+ preferenceProvider.flush();
+ log.debug("completed saving of preference values");
return null;
}
public void validate() {
log.debug("validating preference component values");
- if (preferenceComponent == null) return;
+ if (preferenceEntity == null) return;
valid = true;
- Map<PreferenceProperty, InvalidValue[]> invalidProperties = preferenceComponent.validate(preferenceValues);
- for (Map.Entry<PreferenceProperty, InvalidValue[]> entry : invalidProperties.entrySet()) {
+ Map<PreferenceEntity.Property, InvalidValue[]> invalidProperties =
+ preferenceEntity.validate(preferenceValues, Arrays.asList(visibilities));
+
+ for (Map.Entry<PreferenceEntity.Property, InvalidValue[]> entry : invalidProperties.entrySet()) {
for (InvalidValue validationError : entry.getValue()) {
valid = false;
facesMessages.addToControlFromResourceBundleOrDefault(
"preferenceValidationErrors",
FacesMessage.SEVERITY_ERROR,
- "preferenceValueValidationFailed." + preferenceComponent.getName() + "." + entry.getKey().getName(),
- preferenceComponent.getDescription() + " - '" + entry.getKey().getDescription() + "': " + validationError.getMessage());
+ "preferenceValueValidationFailed." + preferenceEntity.getEntityName() + "." + entry.getKey().getFieldName(),
+ preferenceEntity.getDescription() + " - '" + entry.getKey().getDescription() + "': " + validationError.getMessage());
}
}
}
- public void selectPreferenceComponent(PreferenceComponent selectedPreferenceComponent) {
- preferenceComponent = selectedPreferenceComponent;
-
- PreferenceProvider provider = (PreferenceProvider)Component.getInstance("preferenceProvider");
-
- if (preferenceVisibility.equals(PreferenceVisibility.USER)) {
- // Load prefs for a user
- preferenceValues = new ArrayList<PreferenceValue>(provider.load(preferenceComponent, user, null, false));
- } else {
- // Load system prefs
- preferenceValues = new ArrayList<PreferenceValue>(provider.load(preferenceComponent, null, null, true));
+ public void selectPreferenceEntity(PreferenceEntity selectedPreferenceEntity) {
+ preferenceEntity = selectedPreferenceEntity;
+ log.debug("selected preference entity: " + preferenceEntity);
+ preferenceValues =
+ new ArrayList<PreferenceValue>(
+ preferenceProvider.loadValues(preferenceEntity.getEntityName(),
+ user,
+ null,
+ Arrays.asList(visibilities))
+ );
}
+
+ private void loadPreferenceEntities() {
+ preferenceEntities = new ArrayList<PreferenceEntity>(preferenceRegistry.getPreferenceEntities(visibilities));
}
- public List<PreferenceComponent> loadPreferenceComponents() {
- PreferenceRegistry registry = (PreferenceRegistry)Component.getInstance("preferenceRegistry");
- return new ArrayList<PreferenceComponent>(registry.getPreferenceComponents(preferenceVisibility));
+ public List<PreferenceEntity> getPreferenceEntities() {
+ if (preferenceEntities == null) loadPreferenceEntities();
+ return preferenceEntities;
}
- public PreferenceComponent getPreferenceComponent() {
- return preferenceComponent;
+ public PreferenceEntity getPreferenceEntity() {
+ return preferenceEntity;
}
public List<PreferenceValue> getPreferenceValues() {
@@ -106,8 +105,8 @@
this.user = user;
}
- public void setPreferenceVisibility(PreferenceVisibility preferenceVisibility) {
- this.preferenceVisibility = preferenceVisibility;
+ public void setVisibilities(PreferenceVisibility[] visibilities) {
+ this.visibilities = visibilities;
}
public boolean isValid() {
1.13 +0 -4 jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action/WikiIdentity.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: WikiIdentity.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action/WikiIdentity.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- WikiIdentity.java 19 Dec 2007 04:29:25 -0000 1.12
+++ WikiIdentity.java 30 Dec 2007 02:33:25 -0000 1.13
@@ -17,8 +17,6 @@
import org.jboss.seam.core.Events;
import org.jboss.seam.security.AuthorizationException;
import org.jboss.seam.security.Identity;
-import org.jboss.seam.wiki.core.action.prefs.WikiPreferences;
-import org.jboss.seam.wiki.core.dao.UserRoleAccessFactory;
import org.jboss.seam.wiki.core.model.User;
import org.jboss.seam.wiki.core.model.WikiNode;
import org.jboss.seam.wiki.core.model.Role;
@@ -37,7 +35,6 @@
private User currentUser;
private Integer currentAccessLevel;
- private WikiPreferences wikiPrefs;
// We don't care if a user is logged in, just check it...
public void checkRestriction(String expr) {
@@ -52,7 +49,6 @@
currentUser = (User)Component.getInstance("currentUser");
currentAccessLevel = (Integer)Component.getInstance("currentAccessLevel");
- wikiPrefs = (WikiPreferences) Component.getInstance("wikiPreferences");
if (args == null || args.length == 0) {
// All the security checks currently need arguments...
1.6 +1 -1 jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action/Help.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: Help.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action/Help.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- Help.java 20 Dec 2007 18:35:56 -0000 1.5
+++ Help.java 30 Dec 2007 02:33:25 -0000 1.6
@@ -22,7 +22,7 @@
@In
WikiNodeDAO wikiNodeDAO;
- @In
+ @In("#{preferences.get('Wiki')}")
WikiPreferences wikiPreferences;
WikiDirectory helpAreaRoot;
1.25 +6 -1 jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DirectoryHome.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: DirectoryHome.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DirectoryHome.java,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -b -r1.24 -r1.25
--- DirectoryHome.java 20 Dec 2007 12:34:54 -0000 1.24
+++ DirectoryHome.java 30 Dec 2007 02:33:25 -0000 1.25
@@ -203,7 +203,12 @@
getLog().debug("number of children: " + pager.getNumOfRecords());
if (pager.getNumOfRecords() > 0) {
getLog().debug("loading children page from: " + pager.getNextRecord() + " size: " + pager.getPageSize());
- childNodes = getWikiNodeDAO().findChildren(dir, "createdOn", false, pager.getNextRecord(), pager.getPageSize());
+ childNodes =
+ getWikiNodeDAO().findChildren(
+ dir, "createdOn", false,
+ new Long(pager.getNextRecord()).intValue(),
+ new Long(pager.getPageSize()).intValue()
+ );
}
}
1.14 +15 -17 jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action/AdminHome.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: AdminHome.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action/AdminHome.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- AdminHome.java 19 Dec 2007 04:29:25 -0000 1.13
+++ AdminHome.java 30 Dec 2007 02:33:25 -0000 1.14
@@ -2,23 +2,20 @@
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.TermEnum;
-import org.hibernate.Session;
-import org.hibernate.search.store.DirectoryProvider;
-import org.hibernate.search.util.ContextHelper;
import org.hibernate.search.FullTextSession;
+import org.hibernate.search.store.DirectoryProvider;
import org.hibernate.validator.ClassValidator;
import org.hibernate.validator.InvalidValue;
import org.jboss.seam.Component;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.*;
-import org.jboss.seam.annotations.remoting.WebRemote;
import org.jboss.seam.annotations.datamodel.DataModel;
import org.jboss.seam.annotations.datamodel.DataModelSelection;
+import org.jboss.seam.annotations.remoting.WebRemote;
import org.jboss.seam.annotations.security.Restrict;
import org.jboss.seam.contexts.Contexts;
-import org.jboss.seam.faces.FacesMessages;
import org.jboss.seam.core.Validators;
-import org.jboss.seam.core.Events;
+import org.jboss.seam.faces.FacesMessages;
import org.jboss.seam.log.Log;
import org.jboss.seam.security.AuthorizationException;
import org.jboss.seam.security.Identity;
@@ -27,17 +24,17 @@
import org.jboss.seam.wiki.core.search.IndexManager;
import org.jboss.seam.wiki.core.search.metamodel.SearchRegistry;
import org.jboss.seam.wiki.core.search.metamodel.SearchableEntity;
-import org.jboss.seam.wiki.preferences.PreferenceComponent;
+import org.jboss.seam.wiki.preferences.metamodel.PreferenceEntity;
import org.jboss.seam.wiki.preferences.PreferenceVisibility;
import org.jboss.seam.wiki.util.Progress;
import javax.faces.application.FacesMessage;
import javax.persistence.EntityManager;
+import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.io.Serializable;
@Name("adminHome")
@Scope(ScopeType.CONVERSATION)
@@ -52,8 +49,6 @@
@In
EntityManager entityManager;
- PreferenceEditor preferenceEditor;
-
@Create
public void create() {
if (!Identity.instance().hasPermission("User", "isAdmin", (User)Component.getInstance("currentUser") ) ) {
@@ -63,6 +58,7 @@
@Restrict("#{s:hasPermission('User', 'isAdmin', currentUser)}")
public String update() {
+ log.debug("updating system settings");
// Preferences
if (preferenceEditor != null) {
@@ -70,6 +66,7 @@
if (editorFailed != null) return null;
}
+ log.debug("flushing the entityManager (maybe again)");
entityManager.flush(); // Flush everything (maybe again if prefEditor.save() already flushed)
facesMessages.addFromResourceBundleOrDefault(
@@ -83,18 +80,19 @@
// ####################### PREFERENCES ##################################
- @DataModel(value = "systemPreferenceComponents")
- private List<PreferenceComponent> systemPreferenceComponents;
+ PreferenceEditor preferenceEditor;
+
+ @DataModel(value = "systemPreferenceEntities")
+ private List<PreferenceEntity> systemPreferenceEntities;
- @Factory("systemPreferenceComponents")
- public void loadUserPreferenceComponents() {
+ @Factory("systemPreferenceEntities")
+ public void initPreferencesEditor() {
preferenceEditor = (PreferenceEditor)Component.getInstance("prefEditor");
- preferenceEditor.setPreferenceVisibility(PreferenceVisibility.SYSTEM);
- systemPreferenceComponents = preferenceEditor.loadPreferenceComponents();
+ preferenceEditor.setVisibilities(new PreferenceVisibility[] {PreferenceVisibility.SYSTEM});
+ systemPreferenceEntities = preferenceEditor.getPreferenceEntities();
Contexts.getConversationContext().set("preferenceEditor", preferenceEditor);
}
-
// ####################### LINK PROTOCOLS ##################################
@DataModel(value = "linkProtocols")
1.7 +2 -2 jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action/PluginPreferenceEditor.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: PluginPreferenceEditor.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action/PluginPreferenceEditor.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- PluginPreferenceEditor.java 14 Nov 2007 10:55:25 -0000 1.6
+++ PluginPreferenceEditor.java 30 Dec 2007 02:33:25 -0000 1.7
@@ -36,7 +36,7 @@
* @author Christian Bauer
*/
public class PluginPreferenceEditor implements Serializable {
-
+/* TODO: We need to implement a new macro editor
private String pluginPreferenceName;
private PreferenceComponent preferenceComponent;
private List<PreferenceValue> preferenceValues = new ArrayList<PreferenceValue>();
@@ -125,5 +125,5 @@
}
}
-
+ */
}
1.14 +1 -1 jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action/Menu.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: Menu.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action/Menu.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- Menu.java 19 Dec 2007 04:29:25 -0000 1.13
+++ Menu.java 30 Dec 2007 02:33:25 -0000 1.14
@@ -34,7 +34,7 @@
@In
WikiNodeDAO wikiNodeDAO;
- @In
+ @In("#{preferences.get('Wiki')}")
WikiPreferences wikiPreferences;
NestedSetNodeWrapper<WikiDirectory> root;
1.19 +32 -30 jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action/UserHome.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: UserHome.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action/UserHome.java,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -b -r1.18 -r1.19
--- UserHome.java 19 Dec 2007 04:29:25 -0000 1.18
+++ UserHome.java 30 Dec 2007 02:33:25 -0000 1.19
@@ -6,11 +6,12 @@
*/
package org.jboss.seam.wiki.core.action;
-import static javax.faces.application.FacesMessage.SEVERITY_INFO;
-
import org.jboss.seam.Component;
import org.jboss.seam.ScopeType;
-import org.jboss.seam.annotations.*;
+import org.jboss.seam.annotations.Factory;
+import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Scope;
import org.jboss.seam.annotations.datamodel.DataModel;
import org.jboss.seam.annotations.security.Restrict;
import org.jboss.seam.contexts.Contexts;
@@ -24,19 +25,18 @@
import org.jboss.seam.wiki.core.dao.UserDAO;
import org.jboss.seam.wiki.core.model.Role;
import org.jboss.seam.wiki.core.model.User;
-import org.jboss.seam.wiki.core.model.WikiUpload;
import org.jboss.seam.wiki.core.model.WikiUploadImage;
-import org.jboss.seam.wiki.core.upload.UploadType;
import org.jboss.seam.wiki.core.upload.Uploader;
-import org.jboss.seam.wiki.preferences.PreferenceComponent;
import org.jboss.seam.wiki.preferences.PreferenceVisibility;
+import org.jboss.seam.wiki.preferences.Preferences;
+import org.jboss.seam.wiki.preferences.metamodel.PreferenceEntity;
import org.jboss.seam.wiki.util.Hash;
import org.jboss.seam.wiki.util.WikiUtil;
import javax.faces.application.FacesMessage;
-import java.util.List;
+import static javax.faces.application.FacesMessage.SEVERITY_INFO;
import java.util.ArrayList;
-import java.util.Map;
+import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -59,17 +59,13 @@
private UserDAO userDAO;
@In
- private UserManagementPreferences userManagementPreferences;
-
- @In
private Hash hashUtil;
@In(create = true)
private Renderer renderer;
- @DataModel
- private List<PreferenceComponent> userPreferenceComponents;
- PreferenceEditor preferenceEditor;
+ @In("#{preferences.get('UserManagement')}")
+ UserManagementPreferences prefs;
private String oldUsername;
private String password;
@@ -97,9 +93,7 @@
uploader = (Uploader)Component.getInstance("uploader");
} else {
- UserManagementPreferences userMgmtPrefs =
- (UserManagementPreferences) Component.getInstance("userManagementPreferences");
- if (!userMgmtPrefs.isEnableRegistration() &&
+ if (!prefs.getEnableRegistration() &&
!Identity.instance().hasPermission("User", "isAdmin", Component.getInstance("currentUser"))) {
throw new AuthorizationException("User registration is disabled");
}
@@ -134,8 +128,9 @@
getInstance().setActivated(true);
return super.persist();
} else {
+
// Set activation code (unique user in time)
- String seed = getInstance().getUsername() + System.currentTimeMillis() + userManagementPreferences.getActivationCodeSalt();
+ String seed = getInstance().getUsername() + System.currentTimeMillis() + prefs.getActivationCodeSalt();
getInstance().setActivationCode( ((Hash)Component.getInstance("hashUtil")).hash(seed) );
String outcome = super.persist();
@@ -145,7 +140,7 @@
// Send confirmation email
renderer.render("/themes/"
- + ((WikiPreferences)Component.getInstance("wikiPreferences")).getThemeName()
+ + ((WikiPreferences) Preferences.getInstance("Wiki")).getThemeName()
+ "/mailtemplates/confirmationRegistration.xhtml");
/* For debugging
@@ -334,15 +329,6 @@
);
}
- @Factory("userPreferenceComponents")
- public void loadUserPreferenceComponents() {
- preferenceEditor = (PreferenceEditor)Component.getInstance("prefEditor");
- preferenceEditor.setPreferenceVisibility(PreferenceVisibility.USER);
- preferenceEditor.setUser(getInstance());
- userPreferenceComponents = preferenceEditor.loadPreferenceComponents();
- Contexts.getConversationContext().set("preferenceEditor", preferenceEditor);
- }
-
// Validation rules for persist(), update(), and remove();
public boolean passwordAndControlNotNull() {
@@ -360,14 +346,14 @@
}
public boolean passwordMatchesRegex() {
- Matcher matcher = Pattern.compile(userManagementPreferences.getPasswordRegex()).matcher(getPassword());
+ Matcher matcher = Pattern.compile(prefs.getPasswordRegex()).matcher(getPassword());
if (!matcher.find()) {
facesMessages.addToControlFromResourceBundleOrDefault(
"password",
FacesMessage.SEVERITY_ERROR,
"lacewiki.msg.PasswordDoesntMatchPattern",
"Password does not match the pattern: {0}",
- userManagementPreferences.getPasswordRegex()
+ prefs.getPasswordRegex()
);
return false;
}
@@ -414,4 +400,20 @@
passwordMatchesControl();
}
+ // ####################### PREFERENCES ##################################
+
+ PreferenceEditor preferenceEditor;
+
+ @DataModel(value = "userPreferenceEntities")
+ private List<PreferenceEntity> userPreferenceEntities;
+
+ @Factory("userPreferenceEntities")
+ public void initPreferencesEditor() {
+ preferenceEditor = (PreferenceEditor)Component.getInstance("prefEditor");
+ preferenceEditor.setVisibilities(new PreferenceVisibility[] {PreferenceVisibility.USER});
+ preferenceEditor.setUser(getInstance());
+ userPreferenceEntities = preferenceEditor.getPreferenceEntities();
+ Contexts.getConversationContext().set("preferenceEditor", preferenceEditor);
+ }
+
}
1.12 +6 -5 jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action/Authenticator.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: Authenticator.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action/Authenticator.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- Authenticator.java 19 Dec 2007 04:29:25 -0000 1.11
+++ Authenticator.java 30 Dec 2007 02:33:25 -0000 1.12
@@ -15,6 +15,7 @@
import org.jboss.seam.wiki.core.engine.MacroWikiTextRenderer;
import org.jboss.seam.wiki.util.WikiUtil;
import org.jboss.seam.wiki.util.Hash;
+import org.jboss.seam.wiki.preferences.Preferences;
import org.jboss.seam.ScopeType;
import org.jboss.seam.Component;
import org.jboss.seam.log.Log;
@@ -117,8 +118,8 @@
// Optionally, create home directory
UserManagementPreferences userMgmtPrefs =
- (UserManagementPreferences)Component.getInstance("userManagementPreferences");
- if ( userMgmtPrefs.isCreateHomeAfterUserActivation() ) {
+ (UserManagementPreferences) Preferences.getInstance("UserManagement");
+ if ( userMgmtPrefs.getCreateHomeAfterUserActivation() ) {
createHomeDirectory(user);
}
@@ -160,12 +161,12 @@
homePage.setCreatedBy(user);
homePage.setAreaNumber(homeDirectory.getAreaNumber());
homePage.setContent(
- ((UserManagementPreferences)Component.getInstance("userManagementPreferences")).getHomepageDefaultContent()
+ ((UserManagementPreferences) Preferences.getInstance("UserManagement")).getHomepageDefaultContent()
);
homePage.setWriteAccessLevel(Role.ADMINROLE_ACCESSLEVEL);
homePage.setReadAccessLevel(Role.GUESTROLE_ACCESSLEVEL);
- MacroWikiTextRenderer renderer = MacroWikiTextRenderer.renderMacros(homeDirectory.getAreaNumber(), homePage.getContent());
+ MacroWikiTextRenderer renderer = MacroWikiTextRenderer.renderMacros(homePage.getContent());
homePage.setContentMacros(renderer.getMacros());
homePage.setContentMacrosString(renderer.getMacrosString());
@@ -196,7 +197,7 @@
*/
@Factory(value = "currentAccessLevel", scope = ScopeType.SESSION, autoCreate = true)
public Integer getGuestAccessLevel() {
- return ((Role)Component.getInstance("guestRole")).getAccessLevel();
+ return Role.GUESTROLE_ACCESSLEVEL;
}
}
1.39 +15 -15 jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DocumentHome.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: DocumentHome.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action/DocumentHome.java,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -b -r1.38 -r1.39
--- DocumentHome.java 19 Dec 2007 04:29:25 -0000 1.38
+++ DocumentHome.java 30 Dec 2007 02:33:25 -0000 1.39
@@ -23,7 +23,7 @@
import org.jboss.seam.wiki.core.model.WikiDocument;
import org.jboss.seam.wiki.core.model.WikiFile;
import org.jboss.seam.wiki.core.model.FeedEntry;
-import org.jboss.seam.wiki.preferences.PreferenceProvider;
+import org.jboss.seam.wiki.preferences.Preferences;
import static javax.faces.application.FacesMessage.SEVERITY_INFO;
import java.util.*;
@@ -82,7 +82,7 @@
public WikiDocument beforeNodeEditNew(WikiDocument doc) {
doc = super.beforeNodeEditNew(doc);
- doc.setEnableComments( ((CommentsPreferences)Component.getInstance("commentsPreferences")).getEnableByDefault() );
+ doc.setEnableComments( ((CommentsPreferences)Preferences.getInstance("Comments")).getEnableByDefault() );
return doc;
}
@@ -92,7 +92,7 @@
doc = super.afterNodeFound(doc);
findHistoricalFiles(doc);
- syncMacros(doc.getAreaNumber(), doc);
+ syncMacros(doc);
outjectDocumentAndDirectory(doc, getParentNode());
return doc;
@@ -141,7 +141,7 @@
// Create feed entries (needs identifiers assigned, so we run after persist())
if (outcome != null && isPushOnFeeds()) {
getLog().debug("creating feed entries on parent dirs - and on site feed: " + isPushOnSiteFeed());
- isOnSiteFeed = isPushOnSiteFeed();
+ if (isPushOnSiteFeed()) isOnSiteFeed = true;
FeedEntry feedEntry =
((FeedEntryManager)Component.getInstance(getFeedEntryManagerName())).createFeedEntry(getInstance());
@@ -165,7 +165,7 @@
// Update feed entries
if (isPushOnFeeds()) {
- isOnSiteFeed = isPushOnSiteFeed();
+ if (isPushOnSiteFeed()) isOnSiteFeed = true;
FeedEntry feedEntry = feedDAO.findFeedEntry(getInstance());
if (feedEntry == null) {
@@ -184,7 +184,7 @@
// Feeds should not be removed by a maintenance thread: If there
// is no activity on the site, feeds shouldn't be empty but show the last updates.
- WikiPreferences wikiPrefs = (WikiPreferences) Component.getInstance("wikiPreferences");
+ WikiPreferences wikiPrefs = (WikiPreferences) Preferences.getInstance("Wiki");
Calendar oldestDate = GregorianCalendar.getInstance();
oldestDate.add(Calendar.DAY_OF_YEAR, -wikiPrefs.getPurgeFeedEntriesAfterDays().intValue());
feedDAO.purgeOldFeedEntries(oldestDate.getTime());
@@ -204,8 +204,7 @@
// Reset form
setMinorRevision(
- (Boolean)((DocumentEditorPreferences)Component
- .getInstance("docEditorPreferences")).getProperties().get("minorRevisionEnabled")
+ ((DocumentEditorPreferences)Preferences.getInstance("DocEditor")).getMinorRevisionEnabled()
);
}
@@ -227,9 +226,11 @@
@Override
protected boolean beforeRemove() {
+ /* TODO:
// Delete preferences of this node
PreferenceProvider provider = (PreferenceProvider) Component.getInstance("preferenceProvider");
provider.deleteInstancePreferences(getInstance());
+ */
return super.beforeRemove();
@@ -309,19 +310,19 @@
getInstance().setTagsCommaSeparated(tagString);
}
- private void syncMacros(Long areaNumber, WikiDocument doc) {
+ private void syncMacros(WikiDocument doc) {
if (doc.getHeader() != null) {
- MacroWikiTextRenderer renderer = MacroWikiTextRenderer.renderMacros(areaNumber, doc.getHeader());
+ MacroWikiTextRenderer renderer = MacroWikiTextRenderer.renderMacros(doc.getHeader());
doc.setHeaderMacros(renderer.getMacros());
doc.setHeaderMacrosString(renderer.getMacrosString());
}
if (doc.getContent() != null) {
- MacroWikiTextRenderer renderer = MacroWikiTextRenderer.renderMacros(areaNumber, doc.getContent());
+ MacroWikiTextRenderer renderer = MacroWikiTextRenderer.renderMacros(doc.getContent());
doc.setContentMacros(renderer.getMacros());
doc.setContentMacrosString(renderer.getMacrosString());
}
if (doc.getFooter() != null) {
- MacroWikiTextRenderer renderer = MacroWikiTextRenderer.renderMacros(areaNumber, doc.getFooter());
+ MacroWikiTextRenderer renderer = MacroWikiTextRenderer.renderMacros(doc.getFooter());
doc.setFooterMacros(renderer.getMacros());
doc.setFooterMacrosString(renderer.getMacrosString());
}
@@ -335,7 +336,7 @@
getInstance().setContent(
wikiLinkResolver.convertToWikiProtocol(linkTargets, dir.getAreaNumber(), formContent)
);
- syncMacros(dir.getAreaNumber(), getInstance());
+ syncMacros(getInstance());
}
}
@@ -372,8 +373,7 @@
public boolean isMinorRevision() {
// Lazily initalize preferences
if (minorRevision == null)
- minorRevision = (Boolean)((DocumentEditorPreferences)Component
- .getInstance("docEditorPreferences")).getProperties().get("minorRevisionEnabled");
+ minorRevision = ((DocumentEditorPreferences) Preferences.getInstance("DocEditor")).getMinorRevisionEnabled();
return minorRevision;
}
public void setMinorRevision(boolean minorRevision) { this.minorRevision = minorRevision; }
1.15 +4 -4 jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action/CommentHome.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: CommentHome.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action/CommentHome.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- CommentHome.java 19 Dec 2007 04:29:25 -0000 1.14
+++ CommentHome.java 30 Dec 2007 02:33:25 -0000 1.15
@@ -38,7 +38,7 @@
@In
protected FeedDAO feedDAO;
- @In
+ @In("#{preferences.get('Comments')}")
protected CommentsPreferences commentsPreferences;
/* -------------------------- Internal State ------------------------------ */
@@ -222,14 +222,14 @@
if (parentCommentId == null || parentCommentId.equals(0l))
throw new IllegalStateException("Missing parentCommentId request parameter");
- if (commentsPreferences.getThreadedComments()) {
+ if (commentsPreferences.getThreaded()) {
// Override parent from @Create
setParentNodeId(parentCommentId);
}
getLog().debug("reply to comment id: " + parentCommentId);
newComment();
- if (commentsPreferences.getThreadedComments()) {
+ if (commentsPreferences.getThreaded()) {
getInstance(); // Init
setReplySubject((WikiComment)getParentNode());
} else {
@@ -242,7 +242,7 @@
public String quote() {
replyTo();
- if (commentsPreferences.getThreadedComments()) {
+ if (commentsPreferences.getThreaded()) {
setQuotedContent((WikiComment)getParentNode());
} else {
setQuotedContent(getWikiNodeDAO().findWikiComment(parentCommentId));
1.2 +2 -2 jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action/CommentQuery.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: CommentQuery.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action/CommentQuery.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- CommentQuery.java 19 Dec 2007 04:29:25 -0000 1.1
+++ CommentQuery.java 30 Dec 2007 02:33:25 -0000 1.2
@@ -24,7 +24,7 @@
@In
protected DocumentHome documentHome;
- @In
+ @In("#{preferences.get('Comments')}")
protected CommentsPreferences commentsPreferences;
protected List<WikiComment> comments;
@@ -47,7 +47,7 @@
return;
}
- if (commentsPreferences.getThreadedComments() != null && commentsPreferences.getThreadedComments()) {
+ if (commentsPreferences.getThreaded()) {
comments = wikiNodeDAO.findWikiCommentsThreaded(documentHome.getInstance());
} else {
comments = wikiNodeDAO.findWikiCommentsFlat(documentHome.getInstance(), commentsPreferences.getListAscending());
More information about the jboss-cvs-commits
mailing list