[jboss-cvs] jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action ...

Christian Bauer christian at hibernate.org
Tue Jun 12 08:30:02 EDT 2007


  User: cbauer  
  Date: 07/06/12 08:30:02

  Modified:    examples/wiki/src/main/org/jboss/seam/wiki/core/action     
                        PreferenceEditor.java DirectoryHome.java
                        AdminHome.java NodeBrowser.java
  Removed:     examples/wiki/src/main/org/jboss/seam/wiki/core/action     
                        NodeSearch.java
  Log:
  Completed first iteration of search engine
  
  Revision  Changes    Path
  1.4       +5 -5      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.3
  retrieving revision 1.4
  diff -u -b -r1.3 -r1.4
  --- PreferenceEditor.java	7 May 2007 11:42:33 -0000	1.3
  +++ PreferenceEditor.java	12 Jun 2007 12:30:02 -0000	1.4
  @@ -3,6 +3,7 @@
   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.core.FacesMessages;
   import org.jboss.seam.wiki.preferences.*;
   import org.jboss.seam.wiki.preferences.PreferenceRegistry;
  @@ -20,6 +21,8 @@
   @Scope(ScopeType.CONVERSATION)
   public class PreferenceEditor implements Serializable {
   
  +    @Logger static Log log;
  +
       @In
       private FacesMessages facesMessages;
   
  @@ -31,6 +34,7 @@
       boolean valid = true;
   
       public String save() {
  +        log.debug("saving preference component values");
           if (preferenceComponent == null) return null;
   
           validate();
  @@ -50,15 +54,11 @@
           }
           provider.flush();
   
  -        facesMessages.addToControlFromResourceBundleOrDefault(
  -            "preferenceValidationErrors",
  -            FacesMessage.SEVERITY_INFO,
  -            "preferencesSaved." + preferenceComponent.getName(),
  -            "Preferences have been saved, continue editing or exit.");
           return null;
       }
   
       public void validate() {
  +        log.debug("validating preference component values");
           if (preferenceComponent == null) return;
           valid = true;
           Map<PreferenceProperty, InvalidValue[]> invalidProperties = preferenceComponent.validate(preferenceValues);
  
  
  
  1.10      +0 -2      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.9
  retrieving revision 1.10
  diff -u -b -r1.9 -r1.10
  --- DirectoryHome.java	26 Apr 2007 18:54:26 -0000	1.9
  +++ DirectoryHome.java	12 Jun 2007 12:30:02 -0000	1.10
  @@ -5,12 +5,10 @@
   import org.jboss.seam.annotations.datamodel.DataModel;
   import org.jboss.seam.annotations.datamodel.DataModelSelection;
   import org.jboss.seam.ScopeType;
  -import org.jboss.seam.Component;
   import org.jboss.seam.wiki.core.model.Directory;
   import org.jboss.seam.wiki.core.model.Node;
   import org.jboss.seam.wiki.core.model.Document;
   import org.jboss.seam.wiki.core.model.Feed;
  -import org.jboss.seam.wiki.core.dao.FeedDAO;
   
   import javax.faces.application.FacesMessage;
   import java.util.List;
  
  
  
  1.4       +86 -6     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.3
  retrieving revision 1.4
  diff -u -b -r1.3 -r1.4
  --- AdminHome.java	7 May 2007 11:42:33 -0000	1.3
  +++ AdminHome.java	12 Jun 2007 12:30:02 -0000	1.4
  @@ -1,5 +1,12 @@
   package org.jboss.seam.wiki.core.action;
   
  +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.validator.ClassValidator;
  +import org.hibernate.validator.InvalidValue;
   import org.jboss.seam.Component;
   import org.jboss.seam.ScopeType;
   import org.jboss.seam.annotations.*;
  @@ -8,28 +15,33 @@
   import org.jboss.seam.annotations.security.Restrict;
   import org.jboss.seam.contexts.Contexts;
   import org.jboss.seam.core.FacesMessages;
  -import org.jboss.seam.core.Expressions;
   import org.jboss.seam.core.Validators;
  -import org.jboss.seam.framework.EntityHome;
  +import org.jboss.seam.log.Log;
   import org.jboss.seam.security.AuthorizationException;
   import org.jboss.seam.security.Identity;
  -import org.jboss.seam.wiki.core.model.User;
   import org.jboss.seam.wiki.core.model.LinkProtocol;
  +import org.jboss.seam.wiki.core.model.User;
  +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.PreferenceVisibility;
  -import org.hibernate.validator.InvalidValue;
  -import org.hibernate.validator.ClassValidator;
  +import org.jboss.seam.wiki.util.Progress;
   
   import javax.faces.application.FacesMessage;
   import javax.persistence.EntityManager;
  +import java.util.ArrayList;
  +import java.util.HashMap;
   import java.util.List;
   import java.util.Map;
  -import java.util.ArrayList;
   
   @Name("adminHome")
   @Scope(ScopeType.CONVERSATION)
   public class AdminHome {
   
  +    @Logger
  +    static Log log;
  +
       @In
       private FacesMessages facesMessages;
   
  @@ -65,6 +77,8 @@
           return null;
       }
   
  +    // ####################### PREFERENCES ##################################
  +
       @DataModel(value = "systemPreferenceComponents")
       private List<PreferenceComponent> systemPreferenceComponents;
   
  @@ -76,6 +90,9 @@
           Contexts.getConversationContext().set("preferenceEditor", preferenceEditor);
       }
   
  +
  +    // ####################### LINK PROTOCOLS ##################################
  +
       @DataModel(value = "linkProtocols")
       private List<LinkProtocol> linkProtocols;
   
  @@ -123,4 +140,67 @@
           linkProtocols.remove(selectedLinkProtocol);
       }
   
  +    // ####################### INDEXING ##################################
  +
  +    @DataModel(value = "indexedEntities")
  +    private List<SearchableEntity> indexedEntities;
  +
  +    @DataModelSelection(value = "indexedEntities")
  +    private SearchableEntity selectedIndexedEntity;
  +
  +    @Factory("indexedEntities")
  +    @Transactional
  +    public void loadIndexedEntities() throws Exception {
  +
  +        SearchRegistry registry = (SearchRegistry)Component.getInstance("searchRegistry");
  +        indexedEntities = registry.getSearchableEntities();
  +
  +        EntityManager em = (EntityManager) Component.getInstance("entityManager");
  +        Session session = (Session) em.getDelegate();
  +
  +        for (SearchableEntity indexedEntity : indexedEntities) {
  +            DirectoryProvider dirProvider = ContextHelper.getSearchFactory(session).getDirectoryProvider(indexedEntity.getClazz());
  +            IndexReader reader = IndexReader.open(dirProvider.getDirectory());
  +
  +            indexedEntity.setNumOfIndexedDocuments(reader.numDocs());
  +
  +            TermEnum te = reader.terms();
  +            long numTerms = 0;
  +            while (te.next()) numTerms++;
  +            indexedEntity.setNumOfIndexedTerms(numTerms);
  +
  +            long size = 0;
  +            String [] fileNames = dirProvider.getDirectory().list();
  +            for (String fileName : fileNames) {
  +                size += dirProvider.getDirectory().fileLength(fileName);
  +            }
  +            indexedEntity.setIndexSizeInBytes(size);
  +
  +            reader.close();
  +        }
  +    }
  +
  +    @In(required = false) @Out(required = false, scope = ScopeType.SESSION)
  +    public Map<String, Progress> indexingProgressMonitors;
  +
  +    public void resetSearchIndex() throws Exception {
  +
  +        IndexManager indexMgr = (IndexManager)Component.getInstance("indexManager");
  +        Progress progress = new Progress(selectedIndexedEntity.getClazz().getName());
  +        indexMgr.rebuildIndex(selectedIndexedEntity.getClazz(), progress);
  +
  +        if (indexingProgressMonitors == null) indexingProgressMonitors = new HashMap<String, Progress>();
  +        indexingProgressMonitors.put(selectedIndexedEntity.getClazz().getName(), progress);
  +    }
  +
  +    @WebRemote
  +    public Progress getIndexingProgress(String className) {
  +        return indexingProgressMonitors != null ? indexingProgressMonitors.get(className) : null;
  +    }
  +
  +    @WebRemote
  +    public void resetIndexingProgress(String className) {
  +        if (indexingProgressMonitors != null) indexingProgressMonitors.remove(className);
  +    }
  +
   }
  
  
  
  1.13      +1 -2      jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action/NodeBrowser.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: NodeBrowser.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/main/org/jboss/seam/wiki/core/action/NodeBrowser.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -b -r1.12 -r1.13
  --- NodeBrowser.java	27 Apr 2007 10:34:08 -0000	1.12
  +++ NodeBrowser.java	12 Jun 2007 12:30:02 -0000	1.13
  @@ -6,13 +6,12 @@
   import org.jboss.seam.log.Log;
   import org.jboss.seam.contexts.Contexts;
   import org.jboss.seam.core.*;
  +import org.jboss.seam.core.Conversation;
   import org.jboss.seam.security.Identity;
   import org.jboss.seam.wiki.core.dao.NodeDAO;
   import org.jboss.seam.wiki.core.model.*;
  -import org.jboss.seam.wiki.core.action.prefs.WikiPreferences;
   import org.jboss.seam.wiki.util.WikiUtil;
   
  -import javax.faces.application.FacesMessage;
   import java.util.*;
   import java.io.Serializable;
   
  
  
  



More information about the jboss-cvs-commits mailing list