[jboss-cvs] jboss-seam/examples/wiki/src/etc/WEB-INF ...

Christian Bauer christian at hibernate.org
Wed Mar 7 13:37:34 EST 2007


  User: cbauer  
  Date: 07/03/07 13:37:34

  Added:       examples/wiki/src/etc/WEB-INF       jboss-web.xml
                        faces-config.xml components.xml pages.xml web.xml
                        urlrewrite.xml
  Log:
  Moved to hot-redeploy WAR build structure
  
  Revision  Changes    Path
  1.1      date: 2007/03/07 18:37:34;  author: cbauer;  state: Exp;jboss-seam/examples/wiki/src/etc/WEB-INF/jboss-web.xml
  
  Index: jboss-web.xml
  ===================================================================
  <jboss-web>  
    <class-loading java2ClassLoadingCompliance="false">
      <loader-repository>
        seam.jboss.org:loader=wiki
        <loader-repository-config>java2ParentDelegation=false</loader-repository-config>
      </loader-repository>
    </class-loading>
  </jboss-web>
  
  
  
  1.1      date: 2007/03/07 18:37:34;  author: cbauer;  state: Exp;jboss-seam/examples/wiki/src/etc/WEB-INF/faces-config.xml
  
  Index: faces-config.xml
  ===================================================================
  <?xml version='1.0' encoding='UTF-8'?>
  <!DOCTYPE faces-config PUBLIC
            "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
            "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
  
  <faces-config>
  
     <application>
        <message-bundle>messages</message-bundle>
        <!-- Disabled when using Ajax4JSF -->
        <!--
        <view-handler>org.jboss.seam.ui.facelet.SeamFaceletViewHandler</view-handler>
        -->
     </application>
  
      <!-- Why do I have to define this here again? It's already in wiki.taglib.xml! -->
      <component>
          <component-type>org.jboss.seam.wiki.core.ui.UIWikiFormattedText</component-type>
          <component-class>org.jboss.seam.wiki.core.ui.UIWikiFormattedText</component-class>
          <property>
              <property-name>value</property-name>
              <property-class>java.lang.String</property-class>
          </property>
          <property>
              <property-name>linkStyleClass</property-name>
              <property-class>java.lang.String</property-class>
          </property>
          <property>
              <property-name>brokenLinkStyleClass</property-name>
              <property-class>java.lang.String</property-class>
          </property>
          <property>
              <property-name>attachmentLinkStyleClass</property-name>
              <property-class>java.lang.String</property-class>
          </property>
          <property>
              <property-name>inlineLinkStyleClass</property-name>
              <property-class>java.lang.String</property-class>
          </property>
      </component>
  
     <!-- Seam transaction management -->
     <lifecycle>
        <phase-listener>org.jboss.seam.jsf.TransactionalSeamPhaseListener</phase-listener>
     </lifecycle>
  
  </faces-config>
  
  
  
  1.1      date: 2007/03/07 18:37:34;  author: cbauer;  state: Exp;jboss-seam/examples/wiki/src/etc/WEB-INF/components.xml
  
  Index: components.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <components xmlns="http://jboss.com/products/seam/components"
              xmlns:core="http://jboss.com/products/seam/core"
              xmlns:security="http://jboss.com/products/seam/security"
              xmlns:drools="http://jboss.com/products/seam/drools"
              xmlns:web="http://jboss.com/products/seam/web"
              xmlns:mail="http://jboss.com/products/seam/mail"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation=
                  "http://jboss.com/products/seam/core http://jboss.com/products/seam/core-1.2.xsd
                   http://jboss.com/products/seam/security http://jboss.com/products/seam/security-1.2.xsd
                   http://jboss.com/products/seam/web http://jboss.com/products/seam/web-1.2.xsd
                   http://jboss.com/products/seam/drools http://jboss.com/products/seam/drools-1.2.xsd
                   http://jboss.com/products/seam/mail http://jboss.com/products/seam/mail-1.2.xsd
                   http://jboss.com/products/seam/components http://jboss.com/products/seam/components-1.2.xsd">
  
      <!-- ##### WIKI USER CONFIGURATION ##### -->
  
      <component name="globalPrefs" class="org.jboss.seam.wiki.core.model.GlobalPreferences"
                 scope="application" auto-create="true">
  
          <property name="baseURL">http://www.seamframework.org/wiki</property>
          <property name="defaultURLRendering">PERMLINK</property>
          <property name="permlinkSuffix">.html</property>
          <property name="themeName">default</property>
          <property name="newUserInRole">member</property>
          <property name="passwordRegex">^[0-9A-Za-z]{6,15}</property>
          <property name="activationCodeSalt">MySecretSalt123</property>
          <property name="defaultNewRevisionForEditedDocument">true</property>
  
      </component>
  
      <mail:mail-session host="mail.bluewin.ch" port="25"/>
  
      <web:multipart-filter create-temp-files="true" max-request-size="10000000" url-pattern="*.seam"/>
      
      <!-- ##### END OF WIKI USER CONFIGURATION ##### -->
  
      <!-- Seam settings -->
  
     <core:init debug="false" jndi-pattern="@jndiPattern@"/>
       
     <core:manager concurrent-request-timeout="500" 
                   conversation-timeout="120000" 
                   conversation-id-parameter="cid" 
                   conversation-is-long-running-parameter="clr"/>
      
     <core:managed-persistence-context name="entityManager"
                                auto-create="true"
                     entity-manager-factory="#{wikiEntityManagerFactory}"/>
  
     <core:entity-manager-factory name="wikiEntityManagerFactory" 
                 persistence-unit-name="wiki"/>
     
     <core:ejb installed="@embeddedEjb@"/>
      
      <!-- Login and security -->
  
     <drools:rule-base name="securityRules">
         <drools:rule-files><value>/security.drl</value></drools:rule-files>
     </drools:rule-base>
  
     <security:identity authenticate-method="#{authenticator.authenticate}"
                             security-rules="#{securityRules}"
                                remember-me="false"/>
                                
     <!-- Misc Settings -->
     <web:context-filter url-pattern="/files/*"/>
  
     <factory name="themePath" value="#{facesContext.externalContext.request.contextPath}/themes/#{globalPrefs.themeName}"/>
  
        
  </components>
  
  
  1.1      date: 2007/03/07 18:37:34;  author: cbauer;  state: Exp;jboss-seam/examples/wiki/src/etc/WEB-INF/pages.xml
  
  Index: pages.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE pages PUBLIC "-//Seam/Seam Pages DTD 1.2//EN" "http://jboss.com/products/seam/pages-1.2.dtd">
  
  <pages login-view-id="/loginRequired.xhtml">
  
      <page view-id="/display.xhtml" action="#{browser.prepare}">
          <param name="nodeId" value="#{browser.nodeId}"/>
  
          <!-- End any pending long-running conversation that was propagated into his view -->
          <end-conversation/>
  
          <navigation>
              <rule if="#{!empty currentDocument}">
                  <render view-id="/docDisplay.xhtml"/>
              </rule>
              <rule>
                  <render view-id="/dirDisplay.xhtml"/>
              </rule>
          </navigation>
      </page>
  
      <page view-id="/docDisplay.xhtml" action="#{browser.prepare}">
          <param name="nodeId" value="#{browser.nodeId}"/>
  
          <!-- End any pending long-running conversation that was propagated into his view -->
          <end-conversation/>
  
          <navigation>
              <rule if-outcome="createDoc">
                  <begin-conversation flush-mode="MANUAL"/>
                  <redirect view-id="/docEdit.xhtml">
                      <param name="parentDirId" value="#{currentDirectory.id}"/>
                  </redirect>
              </rule>
  
              <rule if-outcome="editDoc">
                  <begin-conversation flush-mode="MANUAL"/>
                  <redirect view-id="/docEdit.xhtml">
                      <param name="docId"         value="#{currentDocument.id}"/>
                      <param name="parentDirId"   value="#{currentDirectory.id}"/>
                  </redirect>
              </rule>
  
              <rule if-outcome="showHistory">
                  <begin-conversation flush-mode="MANUAL"/>
                  <out name="currentNode" value="#{currentDocument}"/>
                  <redirect view-id="/docHistory.xhtml"/>
              </rule>
  
              <rule if-outcome="browseDir">
                  <render view-id="/dirDisplay.xhtml"/>
              </rule>
  
          </navigation>
  
      </page>
  
      <page view-id="/docEdit.xhtml" login-required="true" no-conversation-view-id="/message.xhtml">
          <description>Edit Document '#{currentDocument.name}'</description>
  
          <restrict/>
  
          <navigation from-action="#{documentHome.remove}">
              <end-conversation/>
              <redirect view-id="/display.xhtml">
                  <param name="nodeId" value="#{currentDirectory.id}"/>
              </redirect>
          </navigation>
  
          <navigation>
              <rule if-outcome="uploadFile">
                  <begin-conversation nested="true" flush-mode="MANUAL"/>
                  <redirect view-id="/fileEdit.xhtml">
                      <param name="parentDirId" value="#{currentDirectory.id}"/>
                  </redirect>
              </rule>
          </navigation>
  
  
      </page>
  
      <page view-id="/docHistory.xhtml" login-required="false" no-conversation-view-id="/message.xhtml">
          <description>Document History '#{currentNode.name}'</description>
  
          <navigation>
              <rule if-outcome="rollback">
                  <redirect view-id="/docEdit.xhtml">
                      <param name="docId"         value="#{currentNode.id}"/>
                      <param name="parentDirId"   value="#{currentNode.parent.id}"/>
                  </redirect>
              </rule>
          </navigation>
  
      </page>
  
      <page view-id="/dirDisplay.xhtml" action="#{browser.prepare}">
          <param name="nodeId" value="#{browser.nodeId}"/>
  
          <!-- End any pending long-running conversation that was propagated into his view -->
          <end-conversation/>
  
          <navigation>
              <rule if-outcome="createDir">
                  <begin-conversation flush-mode="MANUAL"/>
                  <redirect view-id="/dirEdit.xhtml">
                      <param name="parentDirId" value="#{currentDirectory.id}"/>
                  </redirect>
              </rule>
              <rule if-outcome="editDir">
                  <begin-conversation flush-mode="MANUAL"/>
                  <redirect view-id="/dirEdit.xhtml">
                      <param name="dirId" value="#{currentDirectory.id}"/>
                  </redirect>
              </rule>
              <rule if-outcome="createDoc">
                  <begin-conversation flush-mode="MANUAL"/>
                  <redirect view-id="/docEdit.xhtml">
                      <param name="parentDirId" value="#{currentDirectory.id}"/>
                  </redirect>
              </rule>
              <rule if-outcome="uploadFile">
                  <begin-conversation flush-mode="MANUAL"/>
                  <redirect view-id="/fileEdit.xhtml">
                      <param name="parentDirId" value="#{currentDirectory.id}"/>
                  </redirect>
              </rule>
              <rule if-outcome="editFile">
                  <begin-conversation flush-mode="MANUAL"/>
                  <redirect view-id="/fileEdit.xhtml">
                      <param name="fileId" value="#{param.fileId}"/>
                      <param name="parentDirId" value="#{currentDirectory.id}"/>
                  </redirect>
              </rule>
  
          </navigation>
  
      </page>
  
      <page view-id="/dirEdit.xhtml" login-required="true" no-conversation-view-id="/dirDisplay.xhtml">
          <description>Edit Directory '#{directoryHome.instance.name}'</description>
          <restrict/>
  
          <navigation from-action="#{directoryHome.remove}">
              <rule if="#{!empty directoryHome.parentDirectory}">
                  <end-conversation/>
                  <redirect view-id="/dirDisplay.xhtml">
                      <param name="nodeId" value="#{directoryHome.parentDirectory.id}"/>
                  </redirect>
              </rule>
              <rule>
                  <end-conversation/>
                  <redirect view-id="/dirDisplay.xhtml">
                      <param name="nodeId" value="#{wikiRoot.id}"/>
                  </redirect>
              </rule>
          </navigation>
  
      </page>
  
      <page view-id="/fileEdit.xhtml" login-required="false" no-conversation-view-id="/dirDisplay.xhtml">
          <description>Edit File '#{fileHome.instance.name}'</description>
  
          <navigation from-action="#{fileHome.remove}">
              <rule>
                  <end-conversation/>
                  <redirect view-id="/dirDisplay.xhtml">
                      <param name="nodeId" value="#{parentDirectory.id}"/>
                  </redirect>
              </rule>
          </navigation>
  
          <!-- TODO: bug in file upload rendering vs. redirect, http://jira.jboss.com/jira/browse/JBSEAM-948 -->
          <navigation from-action="#{fileHome.persist}">
              <rule>
                  <end-conversation/>
                  <redirect view-id="/dirDisplay.xhtml">
                      <param name="nodeId" value="#{parentDirectory.id}"/>
                  </redirect>
              </rule>
          </navigation>
  
      </page>
  
      <page view-id="/userAccount.xhtml" no-conversation-view-id="/message.xhtml">
          <description>Managing Member Account '#{userHome.instance.username}'</description>
      </page>
      <page view-id="/userProfile.xhtml" no-conversation-view-id="/message.xhtml">
          <description>Managing Member Profile '#{userHome.instance.username}'</description>
      </page>
      <page view-id="/userPrefs.xhtml" no-conversation-view-id="/message.xhtml">
          <description>Managing Member Preferences '#{userHome.instance.username}'</description>
      </page>
      <page view-id="/userList.xhtml" no-conversation-view-id="/message.xhtml">
          <description>Searching Members (Results: #{userSearch.rowCount})</description>
      </page>
  
      <!-- Global actions -->
  
      <page view-id="/*">
          <navigation>
              <rule if-outcome="register">
                  <!-- TODO: I don't want to join, I want a new parallel root conversation: http://jira.jboss.com/jira/browse/JBSEAM-944 -->
                  <begin-conversation join="true" flush-mode="MANUAL"/>
                  <redirect view-id="/userAccount.xhtml"/>
              </rule>
              <rule if-outcome="editCurrentUser">
                  <!-- TODO: I don't want to join, I want a new parallel root conversation: http://jira.jboss.com/jira/browse/JBSEAM-944 -->
                  <begin-conversation join="true" flush-mode="MANUAL"/>
                  <redirect view-id="/userProfile.xhtml">
                      <param name="userId" value="#{authenticatedUser.id}"/>
                  </redirect>
              </rule>
              <rule if-outcome="editAccount">
                  <begin-conversation join="true" flush-mode="MANUAL"/>
                  <redirect view-id="/userAccount.xhtml">
                      <param name="userId" value="#{authenticatedUser.id}"/>
                  </redirect>
              </rule>
              <rule if-outcome="editProfile">
                  <begin-conversation join="true" flush-mode="MANUAL"/>
                  <redirect view-id="/userProfile.xhtml">
                      <param name="userId" value="#{authenticatedUser.id}"/>
                  </redirect>
              </rule>
              <rule if-outcome="editPreferences">
                  <begin-conversation join="true" flush-mode="MANUAL"/>
                  <redirect view-id="/userPrefs.xhtml">
                      <param name="userId" value="#{authenticatedUser.id}"/>
                  </redirect>
              </rule>
              <rule if-outcome="listUsers">
                  <!-- TODO: I don't want to join, I want a new parallel root conversation: http://jira.jboss.com/jira/browse/JBSEAM-944 -->
                  <begin-conversation join="true" flush-mode="MANUAL"/>
                  <redirect view-id="/userList.xhtml"/>
              </rule>
  
              <rule if-outcome="error">
                  <redirect view-id="/message.xhtml">
                      <message severity="ERROR">An unrecoverable error occured!</message>
                  </redirect>
              </rule>
          </navigation>
  
      </page>
  
      <!-- Special pages -->
  
      <page view-id="/confirmRegistration.xhtml" action="#{authenticator.activate}">
          <navigation>
              <rule if-outcome="activated">
                  <redirect view-id="/message.xhtml">
                      <message severity="INFO">Your account has been activated, please log in.</message>
                  </redirect>
              </rule>
              <rule if-outcome="notFound">
                  <redirect view-id="/message.xhtml">
                      <message severity="ERROR">Your activation code is invalid.</message>
                  </redirect>
              </rule>
          </navigation>
      </page>
  
      <!-- These effectively "block" the user from navigating forward, he stays on the last browsed page and
           gets an error message. -->
      <page view-id="/loginRequired.xhtml" action="#{browser.redirectToLastBrowsedPageWithConversation}"/>
      <page view-id="/permissionError.xhtml" action="#{browser.redirectToLastBrowsedPageWithConversation}"/>
      
      <exception class="org.jboss.seam.security.AuthorizationException">
          <end-conversation/>
          <redirect view-id="/permissionError.xhtml">
              <message severity="WARN">You do not have permission for this operation</message>
          </redirect>
      </exception>
  
  </pages>
  
  
  
  
  
  1.1      date: 2007/03/07 18:37:34;  author: cbauer;  state: Exp;jboss-seam/examples/wiki/src/etc/WEB-INF/web.xml
  
  Index: web.xml
  ===================================================================
  <?xml version="1.0" ?>
  <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
           version="2.4">
  
      <!-- Ajax4jsf (must come first!) -->
      
      <filter>
          <display-name>Ajax4jsf Filter</display-name>
          <filter-name>ajax4jsf</filter-name>
          <filter-class>org.ajax4jsf.Filter</filter-class>
      </filter>
      
      <filter-mapping>
          <filter-name>ajax4jsf</filter-name>
          <url-pattern>*.seam</url-pattern>
      </filter-mapping>
      
      <context-param>
          <param-name>org.ajax4jsf.VIEW_HANDLERS</param-name>
          <param-value>org.jboss.seam.ui.facelet.SeamFaceletViewHandler</param-value>
      </context-param>
      
      <!-- Seam -->
      
     <listener>
        <listener-class>org.jboss.seam.servlet.SeamListener</listener-class>
     </listener>
      
      <filter>
          <filter-name>Seam Filter</filter-name>
          <filter-class>org.jboss.seam.web.SeamFilter</filter-class>
      </filter>
  
      <filter-mapping>
          <filter-name>Seam Filter</filter-name>
          <url-pattern>/*</url-pattern>
      </filter-mapping>
          
     <servlet>
        <servlet-name>Seam Resource Servlet</servlet-name>
        <servlet-class>org.jboss.seam.servlet.ResourceServlet</servlet-class>
     </servlet>
      
     <servlet-mapping>
        <servlet-name>Seam Resource Servlet</servlet-name>
        <url-pattern>/seam/resource/*</url-pattern>
     </servlet-mapping>
     
     <!-- URL Rewrite -->
  
     <filter>
          <filter-name>UrlRewriteFilter</filter-name>
          <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
          <init-param>
              <param-name>logLevel</param-name>
              <param-value>WARN</param-value>
          </init-param>
          <init-param>
              <param-name>statusEnabled</param-name>
              <param-value>false</param-value>
          </init-param>
      </filter>
      <filter-mapping>
          <filter-name>UrlRewriteFilter</filter-name>
          <url-pattern>/*</url-pattern>
      </filter-mapping>
     
     <!-- MyFaces -->   
  
     <listener>
        <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
     </listener>
     
     <!-- Facelets development mode (disable in production) -->
     
     <context-param>
        <param-name>facelets.DEVELOPMENT</param-name>
        <param-value>true</param-value>
     </context-param>
      
     <!-- JSF -->
      
     <context-param>
        <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
        <param-value>client</param-value>
     </context-param>
      
     <context-param>
        <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
        <param-value>.xhtml</param-value>
     </context-param>
  
     <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
     </servlet>
      
     <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.seam</url-pattern>
     </servlet-mapping>
                    
     <security-constraint> 
         <display-name>Restrict raw XHTML Documents</display-name>
         <web-resource-collection>
             <web-resource-name>XHTML</web-resource-name>
             <url-pattern>*.xhtml</url-pattern>
         </web-resource-collection>
         <auth-constraint>
             <role-name>NONE</role-name>
         </auth-constraint>
     </security-constraint>
     
      <!-- Wiki: File Download Servlet -->
  
      <servlet>
          <servlet-name>File Servlet</servlet-name>
          <servlet-class>org.jboss.seam.wiki.core.ui.FileServlet</servlet-class>
      </servlet>
      <servlet-mapping>
          <servlet-name>File Servlet</servlet-name>
          <url-pattern>/files/*</url-pattern>
      </servlet-mapping>   
  
  
  </web-app>
  
  
  
  1.1      date: 2007/03/07 18:37:34;  author: cbauer;  state: Exp;jboss-seam/examples/wiki/src/etc/WEB-INF/urlrewrite.xml
  
  Index: urlrewrite.xml
  ===================================================================
  <?xml version="1.0" encoding="utf-8"?>
  <!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.0//EN"
          "http://tuckey.org/res/dtds/urlrewrite3.0.dtd">
  
  <!--
  
      Configuration file for UrlRewriteFilter
      http://tuckey.org/urlrewrite/
  
  -->
  <urlrewrite>
  
      <rule>
           <from>^/([0-9]+)\.html$</from>
           <to last="true">/display.seam?nodeId=$1</to>
       </rule>
  
      <rule>
          <from casesensitive="true">^/([A-Z0-9]+[A-Za-z0-9]*)$</from>
          <to last="true">/display.seam?areaName=$1</to>
      </rule>
  
      <rule>
          <from casesensitive="true">^/([A-Z0-9]+[A-Za-z0-9]*)/([A-Z0-9]+[A-Za-z0-9]*)$</from>
          <to last="true">/display.seam?areaName=$1&amp;nodeName=$2</to>
      </rule>
  
      <!--
  
      INSTALLATION
  
          in your web.xml add...
  
          <filter>
              <filter-name>UrlRewriteFilter</filter-name>
              <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
              <init-param>
                  <param-name>logLevel</param-name>
                  <param-value>WARN</param-value>
              </init-param>
          </filter>
          <filter-mapping>
              <filter-name>UrlRewriteFilter</filter-name>
              <url-pattern>/*</url-pattern>
          </filter-mapping>
  
       EXAMPLES
  
       Redirect one url
          <rule>
              <from>/some/old/page.html</from>
              <to type="redirect">/very/new/page.html</to>
          </rule>
  
      Redirect a directory
          <rule>
              <from>/some/olddir/(.*)</from>
              <to type="redirect">/very/newdir/$1</to>
          </rule>
  
      Clean a url
          <rule>
              <from>/products/([0-9]+)</from>
              <to>/products/index.jsp?product_id=$1</to>
          </rule>
      eg, /products/1234 will be passed on to /products/index.jsp?product_id=1234 without the user noticing.
  
      Browser detection
          <rule>
              <condition name="user-agent">Mozilla/[1-4]</condition>
              <from>/some/page.html</from>
              <to>/some/page-for-old-browsers.html</to>
          </rule>
      eg, will pass the request for /some/page.html on to /some/page-for-old-browsers.html only for older
      browsers whose user agent srtings match Mozilla/1, Mozilla/2, Mozilla/3 or Mozilla/4.
  
      -->
  
  </urlrewrite>
  
  
  
  



More information about the jboss-cvs-commits mailing list