jspwiki-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jalka...@apache.org
Subject svn commit: r723414 - in /incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki: ./ src/com/ecyrd/jspwiki/ src/com/ecyrd/jspwiki/action/ src/com/ecyrd/jspwiki/attachment/ src/com/ecyrd/jspwiki/content/ src/com/ecyrd/jspwiki/providers/ src/com/ecyrd...
Date Thu, 04 Dec 2008 19:57:38 GMT
Author: jalkanen
Date: Thu Dec  4 11:57:36 2008
New Revision: 723414

URL: http://svn.apache.org/viewvc?rev=723414&view=rev
Log:
Branch for JCR integration.

Added:
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/
      - copied from r723401, incubator/jspwiki/trunk/
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/JCRWikiPage.java
      - copied, changed from r723401, incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/WikiPage.java
Removed:
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/WikiPage.java
Modified:
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/.classpath
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/PageLock.java
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/PageManager.java
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/PageTimeComparator.java
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/ReferenceManager.java
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/VariableManager.java
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/WikiContext.java
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/WikiEngine.java
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/action/RenameActionBean.java
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/action/ViewActionBean.java
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/action/WikiContextFactory.java
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/attachment/Attachment.java
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/attachment/AttachmentManager.java
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/attachment/AttachmentServlet.java
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/content/PageRenamer.java
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/providers/AbstractFileProvider.java
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/providers/BasicAttachmentProvider.java
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/providers/CachingAttachmentProvider.java
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/providers/CachingProvider.java
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/rpc/atom/AtomAPIServlet.java
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/search/BasicSearchProvider.java
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/search/LuceneSearchProvider.java
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/search/SearchManager.java
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/search/SearchMatcher.java
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/search/SearchProvider.java
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/search/SearchResult.java
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/ui/admin/beans/SearchManagerBean.java
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/ui/stripes/DefaultWikiContext.java
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/ui/stripes/WikiActionBeanContext.java
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/util/HttpUtil.java
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/org/apache/jspwiki/api/WikiEngine.java
    incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/org/apache/jspwiki/api/WikiPage.java

Modified: incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/.classpath
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/.classpath?rev=723414&r1=723401&r2=723414&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/.classpath (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/.classpath Thu Dec  4 11:57:36 2008
@@ -40,6 +40,8 @@
 	<classpathentry kind="lib" path="lib/stripes-1.5.jar" sourcepath="/stripes-1.5/stripes/src"/>
 	<classpathentry kind="lib" path="lib/slf4j-log4j12-1.5.6.jar"/>
 	<classpathentry kind="lib" path="lib/log4j-1.2.14.jar"/>
+	<classpathentry kind="lib" path="lib/jcr-1.0.jar"/>
+	<classpathentry kind="lib" path="lib/priha-0.1.11.jar"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 	<classpathentry kind="lib" path="lib/slf4j-api-1.5.6.jar"/>
 	<classpathentry kind="lib" path="lib/jul-to-slf4j-1.5.6.jar"/>

Copied: incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/JCRWikiPage.java (from r723401, incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/WikiPage.java)
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/JCRWikiPage.java?p2=incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/JCRWikiPage.java&p1=incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/WikiPage.java&r1=723401&r2=723414&rev=723414&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/WikiPage.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/JCRWikiPage.java Thu Dec  4 11:57:36 2008
@@ -20,10 +20,11 @@
  */
 package com.ecyrd.jspwiki;
 
-import java.util.Date;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.Map;
+import java.io.InputStream;
+import java.util.*;
+
+import org.apache.jspwiki.api.WikiException;
+import org.apache.jspwiki.api.WikiPage;
 
 import com.ecyrd.jspwiki.auth.acl.Acl;
 import com.ecyrd.jspwiki.auth.acl.AclEntry;
@@ -39,9 +40,10 @@
 //        author, date, etc. should also be part of the metadata.  We also
 //        need to figure out the metadata lifecycle.
 
-public class WikiPage
+public class JCRWikiPage
     implements Cloneable,
-               Comparable
+               Comparable,
+               WikiPage
 {
     private static final long serialVersionUID = 1L;
 
@@ -76,7 +78,7 @@
      *  @param engine The WikiEngine that owns this page.
      *  @param name   The name of the page.
      */
-    public WikiPage( WikiEngine engine, String name )
+    public JCRWikiPage( WikiEngine engine, String name )
     {
         m_engine = engine;
         m_name = name;
@@ -327,7 +329,7 @@
      */
     public Object clone()
     {
-        WikiPage p = new WikiPage( m_engine, m_name );
+        JCRWikiPage p = new JCRWikiPage( m_engine, m_name );
        
         p.m_wiki         = m_wiki;
             
@@ -414,4 +416,52 @@
     {
         return m_name.hashCode() * m_version;
     }
+
+    public InputStream getContentAsStream() throws WikiException
+    {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public String getContentAsString() throws WikiException
+    {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public String getContentType() throws WikiException
+    {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public Set<String> getReferrers()
+    {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public void save() throws WikiException
+    {
+        // TODO Auto-generated method stub
+        
+    }
+
+    public void setContent( String content ) throws WikiException
+    {
+        // TODO Auto-generated method stub
+        
+    }
+
+    public void setContent( InputStream in ) throws WikiException
+    {
+        // TODO Auto-generated method stub
+        
+    }
+
+    public void setContentType( String contentType ) throws WikiException
+    {
+        // TODO Auto-generated method stub
+        
+    }
 }

Modified: incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/PageLock.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/PageLock.java?rev=723414&r1=723401&r2=723414&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/PageLock.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/PageLock.java Thu Dec  4 11:57:36 2008
@@ -23,6 +23,8 @@
 import java.io.Serializable;
 import java.util.Date;
 
+import org.apache.jspwiki.api.WikiPage;
+
 /**
  *  Describes a lock acquired by an user on a page.  For the most part,
  *  the regular developer does not have to instantiate this class.

Modified: incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/PageManager.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/PageManager.java?rev=723414&r1=723401&r2=723414&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/PageManager.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/PageManager.java Thu Dec  4 11:57:36 2008
@@ -28,6 +28,7 @@
 import org.apache.commons.lang.ArrayUtils;
 import org.apache.jspwiki.api.FilterException;
 import org.apache.jspwiki.api.WikiException;
+import org.apache.jspwiki.api.WikiPage;
 
 import com.ecyrd.jspwiki.auth.WikiPrincipal;
 import com.ecyrd.jspwiki.auth.WikiSecurityException;

Modified: incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/PageTimeComparator.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/PageTimeComparator.java?rev=723414&r1=723401&r2=723414&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/PageTimeComparator.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/PageTimeComparator.java Thu Dec  4 11:57:36 2008
@@ -21,7 +21,11 @@
 package com.ecyrd.jspwiki;
 
 import java.io.Serializable;
-import java.util.*;
+import java.util.Comparator;
+import java.util.Date;
+
+import org.apache.jspwiki.api.WikiPage;
+
 import com.ecyrd.jspwiki.log.Logger;
 import com.ecyrd.jspwiki.log.LoggerFactory;
 

Modified: incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/ReferenceManager.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/ReferenceManager.java?rev=723414&r1=723401&r2=723414&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/ReferenceManager.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/ReferenceManager.java Thu Dec  4 11:57:36 2008
@@ -26,8 +26,7 @@
 import java.util.*;
 
 import org.apache.commons.lang.time.StopWatch;
-import com.ecyrd.jspwiki.log.Logger;
-import com.ecyrd.jspwiki.log.LoggerFactory;
+import org.apache.jspwiki.api.WikiPage;
 
 import com.ecyrd.jspwiki.attachment.Attachment;
 import com.ecyrd.jspwiki.event.WikiEvent;
@@ -35,6 +34,8 @@
 import com.ecyrd.jspwiki.event.WikiEventUtils;
 import com.ecyrd.jspwiki.event.WikiPageEvent;
 import com.ecyrd.jspwiki.filters.BasicPageFilter;
+import com.ecyrd.jspwiki.log.Logger;
+import com.ecyrd.jspwiki.log.LoggerFactory;
 import com.ecyrd.jspwiki.modules.InternalModule;
 import com.ecyrd.jspwiki.providers.ProviderException;
 import com.ecyrd.jspwiki.providers.WikiPageProvider;
@@ -287,7 +288,7 @@
                 {
                     updatePageReferences( page );
 
-                    serializeAttrsToDisk( page );
+                    //serializeAttrsToDisk( page );
                 }
 
             }
@@ -411,157 +412,159 @@
      *  Reads the serialized data from the disk back to memory.
      *  Returns the date when the data was last written on disk
      */
-    private synchronized long unserializeAttrsFromDisk(WikiPage p)
-        throws IOException,
-               ClassNotFoundException
-    {
-        ObjectInputStream in = null;
-        long saved = 0L;
-
-        try
-        {
-            StopWatch sw = new StopWatch();
-            sw.start();
-
-            //
-            //  Find attribute cache, and check if it exists
-            //
-            File f = new File( m_engine.getWorkDir(), SERIALIZATION_DIR );
-
-            f = new File( f, getHashFileName(p.getName()) );
-
-            if( !f.exists() )
-            {
-                return 0L;
-            }
-
-            log.debug("Deserializing attributes for "+p.getName());
-
-            in = new ObjectInputStream( new BufferedInputStream(new FileInputStream(f)) );
-
-            long ver     = in.readLong();
-
-            if( ver != serialVersionUID )
-            {
-                log.debug("File format has changed; cannot deserialize.");
-                return 0L;
-            }
-
-            saved        = in.readLong();
-
-            String name  = in.readUTF();
-
-            if( !name.equals(p.getName()) )
-            {
-                log.debug("File name does not match ("+name+"), skipping...");
-                return 0L; // Not here
-            }
-
-            long entries = in.readLong();
-
-            for( int i = 0; i < entries; i++ )
-            {
-                String key   = in.readUTF();
-                Object value = in.readObject();
-
-                p.setAttribute( key, value );
-
-                log.debug("   attr: "+key+"="+value);
-            }
-
-            in.close();
-
-            sw.stop();
-            log.debug("Read serialized data for "+name+" successfully in "+sw);
-            p.setHasMetadata();
-        }
-        catch( NoSuchAlgorithmException e )
-        {
-            log.error("No MD5!?!");
-        }
-        finally
-        {
-            if( in != null ) in.close();
-        }
-
-        return saved;
-    }
+    // FIXME: Unnecessary with JCR
+//    private synchronized long unserializeAttrsFromDisk(WikiPage p)
+//        throws IOException,
+//               ClassNotFoundException
+//    {
+//        ObjectInputStream in = null;
+//        long saved = 0L;
+//
+//        try
+//        {
+//            StopWatch sw = new StopWatch();
+//            sw.start();
+//
+//            //
+//            //  Find attribute cache, and check if it exists
+//            //
+//            File f = new File( m_engine.getWorkDir(), SERIALIZATION_DIR );
+//
+//            f = new File( f, getHashFileName(p.getName()) );
+//
+//            if( !f.exists() )
+//            {
+//                return 0L;
+//            }
+//
+//            log.debug("Deserializing attributes for "+p.getName());
+//
+//            in = new ObjectInputStream( new BufferedInputStream(new FileInputStream(f)) );
+//
+//            long ver     = in.readLong();
+//
+//            if( ver != serialVersionUID )
+//            {
+//                log.debug("File format has changed; cannot deserialize.");
+//                return 0L;
+//            }
+//
+//            saved        = in.readLong();
+//
+//            String name  = in.readUTF();
+//
+//            if( !name.equals(p.getName()) )
+//            {
+//                log.debug("File name does not match ("+name+"), skipping...");
+//                return 0L; // Not here
+//            }
+//
+//            long entries = in.readLong();
+//
+//            for( int i = 0; i < entries; i++ )
+//            {
+//                String key   = in.readUTF();
+//                Object value = in.readObject();
+//
+//                p.setAttribute( key, value );
+//
+//                log.debug("   attr: "+key+"="+value);
+//            }
+//
+//            in.close();
+//
+//            sw.stop();
+//            log.debug("Read serialized data for "+name+" successfully in "+sw);
+//            p.setHasMetadata();
+//        }
+//        catch( NoSuchAlgorithmException e )
+//        {
+//            log.error("No MD5!?!");
+//        }
+//        finally
+//        {
+//            if( in != null ) in.close();
+//        }
+//
+//        return saved;
+//    }
 
     /**
      *  Serializes hashmaps to disk.  The format is private, don't touch it.
      */
-    private synchronized void serializeAttrsToDisk( WikiPage p )
-    {
-        ObjectOutputStream out = null;
-        StopWatch sw = new StopWatch();
-        sw.start();
-
-        try
-        {
-            File f = new File( m_engine.getWorkDir(), SERIALIZATION_DIR );
-
-            if( !f.exists() ) f.mkdirs();
-
-            //
-            //  Create a digest for the name
-            //
-            f = new File( f, getHashFileName(p.getName()) );
-
-            // FIXME: There is a concurrency issue here...
-            Set entries = p.getAttributes().entrySet();
-
-            if( entries.size() == 0 ) 
-            {
-                //  Nothing to serialize, therefore we will just simply remove the
-                //  serialization file so that the next time we boot, we don't
-                //  deserialize old data.
-                f.delete();
-                return;
-            }
-
-            out = new ObjectOutputStream( new BufferedOutputStream(new FileOutputStream(f)) );
-
-            out.writeLong( serialVersionUID );
-            out.writeLong( System.currentTimeMillis() ); // Timestamp
-
-            out.writeUTF( p.getName() );
-            out.writeLong( entries.size() );
-
-            for( Iterator i = entries.iterator(); i.hasNext(); )
-            {
-                Map.Entry e = (Map.Entry) i.next();
-
-                if( e.getValue() instanceof Serializable )
-                {
-                    out.writeUTF( (String)e.getKey() );
-                    out.writeObject( e.getValue() );
-                }
-            }
-
-            out.close();
-
-        }
-        catch( IOException e )
-        {
-            log.error("Unable to serialize!");
-
-            try
-            {
-                if( out != null ) out.close();
-            }
-            catch( IOException ex ) {}
-        }
-        catch( NoSuchAlgorithmException e )
-        {
-            log.error("No MD5 algorithm!?!");
-        }
-        finally
-        {
-            sw.stop();
-
-            log.debug("serialization for "+p.getName()+" done - took "+sw);
-        }
-    }
+    // Unnecessary with JCR
+//    private synchronized void serializeAttrsToDisk( WikiPage p )
+//    {
+//        ObjectOutputStream out = null;
+//        StopWatch sw = new StopWatch();
+//        sw.start();
+//
+//        try
+//        {
+//            File f = new File( m_engine.getWorkDir(), SERIALIZATION_DIR );
+//
+//            if( !f.exists() ) f.mkdirs();
+//
+//            //
+//            //  Create a digest for the name
+//            //
+//            f = new File( f, getHashFileName(p.getName()) );
+//
+//            // FIXME: There is a concurrency issue here...
+//            Set entries = p.getAttributes().entrySet();
+//
+//            if( entries.size() == 0 ) 
+//            {
+//                //  Nothing to serialize, therefore we will just simply remove the
+//                //  serialization file so that the next time we boot, we don't
+//                //  deserialize old data.
+//                f.delete();
+//                return;
+//            }
+//
+//            out = new ObjectOutputStream( new BufferedOutputStream(new FileOutputStream(f)) );
+//
+//            out.writeLong( serialVersionUID );
+//            out.writeLong( System.currentTimeMillis() ); // Timestamp
+//
+//            out.writeUTF( p.getName() );
+//            out.writeLong( entries.size() );
+//
+//            for( Iterator i = entries.iterator(); i.hasNext(); )
+//            {
+//                Map.Entry e = (Map.Entry) i.next();
+//
+//                if( e.getValue() instanceof Serializable )
+//                {
+//                    out.writeUTF( (String)e.getKey() );
+//                    out.writeObject( e.getValue() );
+//                }
+//            }
+//
+//            out.close();
+//
+//        }
+//        catch( IOException e )
+//        {
+//            log.error("Unable to serialize!");
+//
+//            try
+//            {
+//                if( out != null ) out.close();
+//            }
+//            catch( IOException ex ) {}
+//        }
+//        catch( NoSuchAlgorithmException e )
+//        {
+//            log.error("No MD5 algorithm!?!");
+//        }
+//        finally
+//        {
+//            sw.stop();
+//
+//            log.debug("serialization for "+p.getName()+" done - took "+sw);
+//        }
+//    }
 
     /**
      *  After the page has been saved, updates the reference lists.
@@ -576,7 +579,7 @@
         updateReferences( page.getName(),
                           context.getEngine().scanWikiLinks( page, content ) );
 
-        serializeAttrsToDisk( page );
+        //serializeAttrsToDisk( page );
     }
 
     /**

Modified: incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/VariableManager.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/VariableManager.java?rev=723414&r1=723401&r2=723414&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/VariableManager.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/VariableManager.java Thu Dec  4 11:57:36 2008
@@ -27,11 +27,12 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpSession;
 
-import com.ecyrd.jspwiki.log.Logger;
-import com.ecyrd.jspwiki.log.LoggerFactory;
+import org.apache.jspwiki.api.WikiPage;
 
 import com.ecyrd.jspwiki.filters.PageFilter;
 import com.ecyrd.jspwiki.i18n.InternationalizationManager;
+import com.ecyrd.jspwiki.log.Logger;
+import com.ecyrd.jspwiki.log.LoggerFactory;
 import com.ecyrd.jspwiki.modules.InternalModule;
 
 /**

Modified: incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/WikiContext.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/WikiContext.java?rev=723414&r1=723401&r2=723414&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/WikiContext.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/WikiContext.java Thu Dec  4 11:57:36 2008
@@ -26,6 +26,8 @@
 
 import javax.servlet.http.HttpServletRequest;
 
+import org.apache.jspwiki.api.WikiPage;
+
 import com.ecyrd.jspwiki.action.*;
 import com.ecyrd.jspwiki.ui.stripes.HandlerInfo;
 

Modified: incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/WikiEngine.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/WikiEngine.java?rev=723414&r1=723401&r2=723414&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/WikiEngine.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/WikiEngine.java Thu Dec  4 11:57:36 2008
@@ -37,6 +37,7 @@
 import org.apache.commons.lang.time.StopWatch;
 import org.apache.jspwiki.api.FilterException;
 import org.apache.jspwiki.api.WikiException;
+import org.apache.jspwiki.api.WikiPage;
 
 import com.ecyrd.jspwiki.action.WikiContextFactory;
 import com.ecyrd.jspwiki.attachment.Attachment;
@@ -47,6 +48,7 @@
 import com.ecyrd.jspwiki.auth.acl.AclManager;
 import com.ecyrd.jspwiki.auth.acl.DefaultAclManager;
 import com.ecyrd.jspwiki.auth.authorize.GroupManager;
+import com.ecyrd.jspwiki.content.ContentManager;
 import com.ecyrd.jspwiki.content.PageRenamer;
 import com.ecyrd.jspwiki.diff.DifferenceManager;
 import com.ecyrd.jspwiki.event.WikiEngineEvent;
@@ -268,6 +270,8 @@
     /** Stores wikiengine attributes. */
     private Map<String,Object> m_attributes = Collections.synchronizedMap(new HashMap<String,Object>());
 
+    private ContentManager   m_contentManager;
+    
     /**
      *  Gets a WikiEngine related to this servlet.  Since this method
      *  is only called from JSP pages (and JspInit()) to be specific,
@@ -529,6 +533,7 @@
             m_urlConstructor = (URLConstructor) urlclass.newInstance();
             m_urlConstructor.initialize( this, props );
 
+            m_contentManager    = (ContentManager)ClassUtil.getMappedObject( ContentManager.class.getName(), this );
             m_pageManager       = (PageManager)ClassUtil.getMappedObject(PageManager.class.getName(), this, props );
             m_pluginManager     = (PluginManager)ClassUtil.getMappedObject(PluginManager.class.getName(), this, props );
             m_differenceManager = (DifferenceManager)ClassUtil.getMappedObject(DifferenceManager.class.getName(), this, props );
@@ -1979,6 +1984,11 @@
         return m_renderingManager;
     }
 
+    public ContentManager getContentManager()
+    {
+        return m_contentManager;
+    }
+    
     /**
      *  Returns the current plugin manager.
      *  @since 1.6.1

Modified: incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/action/RenameActionBean.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/action/RenameActionBean.java?rev=723414&r1=723401&r2=723414&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/action/RenameActionBean.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/action/RenameActionBean.java Thu Dec  4 11:57:36 2008
@@ -2,8 +2,6 @@
 
 import javax.servlet.http.HttpServletRequest;
 
-import org.apache.jspwiki.api.WikiException;
-
 import net.sourceforge.stripes.action.HandlesEvent;
 import net.sourceforge.stripes.action.RedirectResolution;
 import net.sourceforge.stripes.action.Resolution;
@@ -13,8 +11,10 @@
 import net.sourceforge.stripes.validation.ValidationErrors;
 import net.sourceforge.stripes.validation.ValidationMethod;
 
+import org.apache.jspwiki.api.WikiException;
+import org.apache.jspwiki.api.WikiPage;
+
 import com.ecyrd.jspwiki.WikiEngine;
-import com.ecyrd.jspwiki.WikiPage;
 import com.ecyrd.jspwiki.auth.permissions.PagePermission;
 import com.ecyrd.jspwiki.log.Logger;
 import com.ecyrd.jspwiki.log.LoggerFactory;

Modified: incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/action/ViewActionBean.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/action/ViewActionBean.java?rev=723414&r1=723401&r2=723414&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/action/ViewActionBean.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/action/ViewActionBean.java Thu Dec  4 11:57:36 2008
@@ -1,15 +1,15 @@
 package com.ecyrd.jspwiki.action;
 
-import org.apache.jspwiki.api.WikiException;
-
 import net.sourceforge.stripes.action.*;
 import net.sourceforge.stripes.controller.LifecycleStage;
 import net.sourceforge.stripes.validation.Validate;
 import net.sourceforge.stripes.validation.ValidationError;
 import net.sourceforge.stripes.validation.ValidationErrors;
 
+import org.apache.jspwiki.api.WikiException;
+import org.apache.jspwiki.api.WikiPage;
+
 import com.ecyrd.jspwiki.WikiEngine;
-import com.ecyrd.jspwiki.WikiPage;
 import com.ecyrd.jspwiki.auth.permissions.PagePermission;
 import com.ecyrd.jspwiki.log.Logger;
 import com.ecyrd.jspwiki.log.LoggerFactory;

Modified: incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/action/WikiContextFactory.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/action/WikiContextFactory.java?rev=723414&r1=723401&r2=723414&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/action/WikiContextFactory.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/action/WikiContextFactory.java Thu Dec  4 11:57:36 2008
@@ -7,15 +7,19 @@
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.jsp.PageContext;
 
-import org.apache.jspwiki.api.WikiException;
-
 import net.sourceforge.stripes.action.RedirectResolution;
 import net.sourceforge.stripes.mock.MockHttpServletRequest;
 import net.sourceforge.stripes.mock.MockHttpServletResponse;
 import net.sourceforge.stripes.mock.MockHttpSession;
 import net.sourceforge.stripes.util.ResolverUtil;
 
-import com.ecyrd.jspwiki.*;
+import org.apache.jspwiki.api.WikiException;
+import org.apache.jspwiki.api.WikiPage;
+
+import com.ecyrd.jspwiki.WikiContext;
+import com.ecyrd.jspwiki.WikiEngine;
+import com.ecyrd.jspwiki.WikiProvider;
+import com.ecyrd.jspwiki.WikiSession;
 import com.ecyrd.jspwiki.auth.SessionMonitor;
 import com.ecyrd.jspwiki.log.Logger;
 import com.ecyrd.jspwiki.log.LoggerFactory;

Modified: incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/attachment/Attachment.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/attachment/Attachment.java?rev=723414&r1=723401&r2=723414&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/attachment/Attachment.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/attachment/Attachment.java Thu Dec  4 11:57:36 2008
@@ -20,8 +20,8 @@
  */
 package com.ecyrd.jspwiki.attachment;
 
+import com.ecyrd.jspwiki.JCRWikiPage;
 import com.ecyrd.jspwiki.WikiEngine;
-import com.ecyrd.jspwiki.WikiPage;
 
 /**
  *  Describes an attachment.  Attachments are actually derivatives of
@@ -30,7 +30,7 @@
  *  @author Erik Bunn
  */
 public class Attachment
-    extends WikiPage
+    extends JCRWikiPage
 {
     private String m_fileName;
     private String m_parentName;

Modified: incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/attachment/AttachmentManager.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/attachment/AttachmentManager.java?rev=723414&r1=723401&r2=723414&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/attachment/AttachmentManager.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/attachment/AttachmentManager.java Thu Dec  4 11:57:36 2008
@@ -28,11 +28,11 @@
 
 import org.apache.commons.lang.StringUtils;
 import org.apache.jspwiki.api.WikiException;
+import org.apache.jspwiki.api.WikiPage;
 
+import com.ecyrd.jspwiki.*;
 import com.ecyrd.jspwiki.log.Logger;
 import com.ecyrd.jspwiki.log.LoggerFactory;
-
-import com.ecyrd.jspwiki.*;
 import com.ecyrd.jspwiki.parser.MarkupParser;
 import com.ecyrd.jspwiki.providers.ProviderException;
 import com.ecyrd.jspwiki.providers.WikiAttachmentProvider;

Modified: incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/attachment/AttachmentServlet.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/attachment/AttachmentServlet.java?rev=723414&r1=723401&r2=723414&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/attachment/AttachmentServlet.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/attachment/AttachmentServlet.java Thu Dec  4 11:57:36 2008
@@ -43,11 +43,12 @@
 import org.apache.commons.fileupload.disk.DiskFileItemFactory;
 import org.apache.commons.fileupload.servlet.ServletFileUpload;
 import org.apache.jspwiki.api.WikiException;
+import org.apache.jspwiki.api.WikiPage;
 
-import com.ecyrd.jspwiki.log.Logger;
-import com.ecyrd.jspwiki.log.LoggerFactory;
-
-import com.ecyrd.jspwiki.*;
+import com.ecyrd.jspwiki.WikiContext;
+import com.ecyrd.jspwiki.WikiEngine;
+import com.ecyrd.jspwiki.WikiProvider;
+import com.ecyrd.jspwiki.WikiSession;
 import com.ecyrd.jspwiki.auth.AuthorizationManager;
 import com.ecyrd.jspwiki.auth.permissions.PermissionFactory;
 import com.ecyrd.jspwiki.dav.AttachmentDavProvider;
@@ -58,6 +59,8 @@
 import com.ecyrd.jspwiki.dav.methods.PropFindMethod;
 import com.ecyrd.jspwiki.filters.RedirectException;
 import com.ecyrd.jspwiki.i18n.InternationalizationManager;
+import com.ecyrd.jspwiki.log.Logger;
+import com.ecyrd.jspwiki.log.LoggerFactory;
 import com.ecyrd.jspwiki.providers.ProviderException;
 import com.ecyrd.jspwiki.ui.progress.ProgressItem;
 import com.ecyrd.jspwiki.util.HttpUtil;

Modified: incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/content/PageRenamer.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/content/PageRenamer.java?rev=723414&r1=723401&r2=723414&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/content/PageRenamer.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/content/PageRenamer.java Thu Dec  4 11:57:36 2008
@@ -28,11 +28,10 @@
 
 import org.apache.jspwiki.api.WikiException;
 
-import com.ecyrd.jspwiki.log.Logger;
-import com.ecyrd.jspwiki.log.LoggerFactory;
-
 import com.ecyrd.jspwiki.*;
 import com.ecyrd.jspwiki.attachment.Attachment;
+import com.ecyrd.jspwiki.log.Logger;
+import com.ecyrd.jspwiki.log.LoggerFactory;
 import com.ecyrd.jspwiki.parser.JSPWikiMarkupParser;
 import com.ecyrd.jspwiki.parser.MarkupParser;
 import com.ecyrd.jspwiki.providers.ProviderException;

Modified: incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/providers/AbstractFileProvider.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/providers/AbstractFileProvider.java?rev=723414&r1=723401&r2=723414&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/providers/AbstractFileProvider.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/providers/AbstractFileProvider.java Thu Dec  4 11:57:36 2008
@@ -21,12 +21,14 @@
 package com.ecyrd.jspwiki.providers;
 
 import java.io.*;
-import java.util.Properties;
-import java.util.Collection;
-import java.util.Date;
-import java.util.TreeSet;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.*;
+
+import org.apache.jspwiki.api.WikiPage;
+
+import com.ecyrd.jspwiki.InternalWikiException;
+import com.ecyrd.jspwiki.NoRequiredPropertyException;
+import com.ecyrd.jspwiki.WikiEngine;
+import com.ecyrd.jspwiki.WikiProvider;
 import com.ecyrd.jspwiki.log.Logger;
 import com.ecyrd.jspwiki.log.LoggerFactory;
 import com.ecyrd.jspwiki.search.QueryItem;
@@ -36,8 +38,6 @@
 import com.ecyrd.jspwiki.util.FileUtil;
 import com.ecyrd.jspwiki.util.TextUtil;
 
-import com.ecyrd.jspwiki.*;
-
 /**
  *  Provides a simple directory based repository for Wiki pages.
  *  <P>

Modified: incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/providers/BasicAttachmentProvider.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/providers/BasicAttachmentProvider.java?rev=723414&r1=723401&r2=723414&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/providers/BasicAttachmentProvider.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/providers/BasicAttachmentProvider.java Thu Dec  4 11:57:36 2008
@@ -20,34 +20,24 @@
  */
 package com.ecyrd.jspwiki.providers;
 
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.IOException;
-import java.io.FileNotFoundException;
-import java.io.File;
-import java.io.FilenameFilter;
-import java.io.FileOutputStream;
-import java.io.FileInputStream;
-
-import java.util.Collection;
-import java.util.Properties;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.Date;
-import java.util.List;
-import java.util.Collections;
+import java.io.*;
+import java.util.*;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import org.apache.jspwiki.api.WikiPage;
+
+import com.ecyrd.jspwiki.NoRequiredPropertyException;
+import com.ecyrd.jspwiki.PageTimeComparator;
+import com.ecyrd.jspwiki.WikiEngine;
+import com.ecyrd.jspwiki.WikiProvider;
+import com.ecyrd.jspwiki.attachment.Attachment;
 import com.ecyrd.jspwiki.log.Logger;
 import com.ecyrd.jspwiki.log.LoggerFactory;
 import com.ecyrd.jspwiki.search.QueryItem;
 import com.ecyrd.jspwiki.util.FileUtil;
 import com.ecyrd.jspwiki.util.TextUtil;
 
-import com.ecyrd.jspwiki.*;
-import com.ecyrd.jspwiki.attachment.Attachment;
-
 /**
  *  Provides basic, versioning attachments.
  *

Modified: incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/providers/CachingAttachmentProvider.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/providers/CachingAttachmentProvider.java?rev=723414&r1=723401&r2=723414&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/providers/CachingAttachmentProvider.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/providers/CachingAttachmentProvider.java Thu Dec  4 11:57:36 2008
@@ -24,12 +24,15 @@
 import java.io.InputStream;
 import java.util.*;
 
-import com.ecyrd.jspwiki.log.Logger;
-import com.ecyrd.jspwiki.log.LoggerFactory;
+import org.apache.jspwiki.api.WikiPage;
 
-import com.ecyrd.jspwiki.*;
+import com.ecyrd.jspwiki.NoRequiredPropertyException;
+import com.ecyrd.jspwiki.WikiEngine;
+import com.ecyrd.jspwiki.WikiProvider;
 import com.ecyrd.jspwiki.attachment.Attachment;
 import com.ecyrd.jspwiki.attachment.AttachmentManager;
+import com.ecyrd.jspwiki.log.Logger;
+import com.ecyrd.jspwiki.log.LoggerFactory;
 import com.ecyrd.jspwiki.search.QueryItem;
 import com.ecyrd.jspwiki.util.ClassUtil;
 import com.opensymphony.oscache.base.Cache;

Modified: incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/providers/CachingProvider.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/providers/CachingProvider.java?rev=723414&r1=723401&r2=723414&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/providers/CachingProvider.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/providers/CachingProvider.java Thu Dec  4 11:57:36 2008
@@ -23,10 +23,14 @@
 import java.io.IOException;
 import java.util.*;
 
+import org.apache.jspwiki.api.WikiPage;
+
+import com.ecyrd.jspwiki.NoRequiredPropertyException;
+import com.ecyrd.jspwiki.PageManager;
+import com.ecyrd.jspwiki.WikiContext;
+import com.ecyrd.jspwiki.WikiEngine;
 import com.ecyrd.jspwiki.log.Logger;
 import com.ecyrd.jspwiki.log.LoggerFactory;
-
-import com.ecyrd.jspwiki.*;
 import com.ecyrd.jspwiki.parser.MarkupParser;
 import com.ecyrd.jspwiki.render.RenderingManager;
 import com.ecyrd.jspwiki.search.QueryItem;

Modified: incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/rpc/atom/AtomAPIServlet.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/rpc/atom/AtomAPIServlet.java?rev=723414&r1=723401&r2=723414&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/rpc/atom/AtomAPIServlet.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/rpc/atom/AtomAPIServlet.java Thu Dec  4 11:57:36 2008
@@ -20,30 +20,33 @@
  */
 package com.ecyrd.jspwiki.rpc.atom;
 
-import java.io.*;
+import java.io.IOException;
+import java.util.Collection;
+import java.util.Date;
+import java.util.Iterator;
+
 import javax.servlet.ServletConfig;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import java.util.Date;
-import java.util.Collection;
-import java.util.Iterator;
-import com.ecyrd.jspwiki.log.Logger;
-import com.ecyrd.jspwiki.log.LoggerFactory;
-
 import org.apache.jspwiki.api.WikiException;
-import org.intabulas.sandler.*;
-import org.intabulas.sandler.exceptions.*;
+import org.apache.jspwiki.api.WikiPage;
+import org.intabulas.sandler.Sandler;
+import org.intabulas.sandler.SyndicationFactory;
 import org.intabulas.sandler.elements.*;
+import org.intabulas.sandler.exceptions.FeedMarshallException;
 
-import com.ecyrd.jspwiki.*;
-import com.ecyrd.jspwiki.util.*;
-
+import com.ecyrd.jspwiki.WikiContext;
+import com.ecyrd.jspwiki.WikiEngine;
+import com.ecyrd.jspwiki.log.Logger;
+import com.ecyrd.jspwiki.log.LoggerFactory;
 import com.ecyrd.jspwiki.plugin.WeblogEntryPlugin;
 import com.ecyrd.jspwiki.plugin.WeblogPlugin;
 import com.ecyrd.jspwiki.providers.ProviderException;
+import com.ecyrd.jspwiki.util.BlogUtil;
+import com.ecyrd.jspwiki.util.TextUtil;
 
 /**
  *  Handles incoming requests for the Atom API.  This class uses the

Modified: incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/search/BasicSearchProvider.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/search/BasicSearchProvider.java?rev=723414&r1=723401&r2=723414&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/search/BasicSearchProvider.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/search/BasicSearchProvider.java Thu Dec  4 11:57:36 2008
@@ -21,19 +21,15 @@
 package com.ecyrd.jspwiki.search;
 
 import java.io.IOException;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.Properties;
-import java.util.StringTokenizer;
-import java.util.TreeSet;
+import java.util.*;
 
-import com.ecyrd.jspwiki.log.Logger;
-import com.ecyrd.jspwiki.log.LoggerFactory;
+import org.apache.jspwiki.api.WikiPage;
 
 import com.ecyrd.jspwiki.NoRequiredPropertyException;
 import com.ecyrd.jspwiki.WikiEngine;
-import com.ecyrd.jspwiki.WikiPage;
 import com.ecyrd.jspwiki.attachment.Attachment;
+import com.ecyrd.jspwiki.log.Logger;
+import com.ecyrd.jspwiki.log.LoggerFactory;
 import com.ecyrd.jspwiki.providers.ProviderException;
 import com.ecyrd.jspwiki.providers.WikiPageProvider;
 

Modified: incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/search/LuceneSearchProvider.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/search/LuceneSearchProvider.java?rev=723414&r1=723401&r2=723414&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/search/LuceneSearchProvider.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/search/LuceneSearchProvider.java Thu Dec  4 11:57:36 2008
@@ -24,8 +24,7 @@
 import java.util.*;
 
 import org.apache.commons.lang.StringUtils;
-import com.ecyrd.jspwiki.log.Logger;
-import com.ecyrd.jspwiki.log.LoggerFactory;
+import org.apache.jspwiki.api.WikiPage;
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.document.Document;
@@ -47,9 +46,14 @@
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.FSDirectory;
 
-import com.ecyrd.jspwiki.*;
+import com.ecyrd.jspwiki.InternalWikiException;
+import com.ecyrd.jspwiki.NoRequiredPropertyException;
+import com.ecyrd.jspwiki.WikiEngine;
+import com.ecyrd.jspwiki.WikiProvider;
 import com.ecyrd.jspwiki.attachment.Attachment;
 import com.ecyrd.jspwiki.attachment.AttachmentManager;
+import com.ecyrd.jspwiki.log.Logger;
+import com.ecyrd.jspwiki.log.LoggerFactory;
 import com.ecyrd.jspwiki.parser.MarkupParser;
 import com.ecyrd.jspwiki.providers.ProviderException;
 import com.ecyrd.jspwiki.providers.WikiPageProvider;

Modified: incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/search/SearchManager.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/search/SearchManager.java?rev=723414&r1=723401&r2=723414&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/search/SearchManager.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/search/SearchManager.java Thu Dec  4 11:57:36 2008
@@ -26,8 +26,11 @@
 import org.apache.commons.lang.time.StopWatch;
 import org.apache.jspwiki.api.FilterException;
 import org.apache.jspwiki.api.WikiException;
+import org.apache.jspwiki.api.WikiPage;
 
-import com.ecyrd.jspwiki.*;
+import com.ecyrd.jspwiki.NoRequiredPropertyException;
+import com.ecyrd.jspwiki.WikiContext;
+import com.ecyrd.jspwiki.WikiEngine;
 import com.ecyrd.jspwiki.event.WikiEvent;
 import com.ecyrd.jspwiki.event.WikiEventListener;
 import com.ecyrd.jspwiki.event.WikiEventUtils;

Modified: incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/search/SearchMatcher.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/search/SearchMatcher.java?rev=723414&r1=723401&r2=723414&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/search/SearchMatcher.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/search/SearchMatcher.java Thu Dec  4 11:57:36 2008
@@ -21,12 +21,13 @@
 package com.ecyrd.jspwiki.search;
 
 
-import java.io.IOException;
 import java.io.BufferedReader;
+import java.io.IOException;
 import java.io.StringReader;
 
+import org.apache.jspwiki.api.WikiPage;
+
 import com.ecyrd.jspwiki.WikiEngine;
-import com.ecyrd.jspwiki.WikiPage;
 
 /**
  * SearchMatcher performs the task of matching a search query to a page's

Modified: incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/search/SearchProvider.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/search/SearchProvider.java?rev=723414&r1=723401&r2=723414&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/search/SearchProvider.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/search/SearchProvider.java Thu Dec  4 11:57:36 2008
@@ -23,7 +23,8 @@
 import java.io.IOException;
 import java.util.Collection;
 
-import com.ecyrd.jspwiki.WikiPage;
+import org.apache.jspwiki.api.WikiPage;
+
 import com.ecyrd.jspwiki.WikiProvider;
 import com.ecyrd.jspwiki.providers.ProviderException;
 

Modified: incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/search/SearchResult.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/search/SearchResult.java?rev=723414&r1=723401&r2=723414&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/search/SearchResult.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/search/SearchResult.java Thu Dec  4 11:57:36 2008
@@ -20,7 +20,7 @@
  */
 package com.ecyrd.jspwiki.search;
 
-import com.ecyrd.jspwiki.WikiPage;
+import org.apache.jspwiki.api.WikiPage;
 
 /**
  *  Defines a search result.

Modified: incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/ui/admin/beans/SearchManagerBean.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/ui/admin/beans/SearchManagerBean.java?rev=723414&r1=723401&r2=723414&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/ui/admin/beans/SearchManagerBean.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/ui/admin/beans/SearchManagerBean.java Thu Dec  4 11:57:36 2008
@@ -24,9 +24,10 @@
 
 import javax.management.NotCompliantMBeanException;
 
+import org.apache.jspwiki.api.WikiPage;
+
 import com.ecyrd.jspwiki.WikiContext;
 import com.ecyrd.jspwiki.WikiEngine;
-import com.ecyrd.jspwiki.WikiPage;
 import com.ecyrd.jspwiki.search.SearchManager;
 import com.ecyrd.jspwiki.ui.admin.SimpleAdminBean;
 import com.ecyrd.jspwiki.ui.progress.ProgressItem;

Modified: incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/ui/stripes/DefaultWikiContext.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/ui/stripes/DefaultWikiContext.java?rev=723414&r1=723401&r2=723414&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/ui/stripes/DefaultWikiContext.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/ui/stripes/DefaultWikiContext.java Thu Dec  4 11:57:36 2008
@@ -28,9 +28,10 @@
 
 import javax.servlet.http.HttpServletRequest;
 
+import org.apache.jspwiki.api.WikiPage;
+
 import com.ecyrd.jspwiki.WikiContext;
 import com.ecyrd.jspwiki.WikiEngine;
-import com.ecyrd.jspwiki.WikiPage;
 import com.ecyrd.jspwiki.WikiSession;
 import com.ecyrd.jspwiki.auth.WikiPrincipal;
 import com.ecyrd.jspwiki.auth.permissions.AllPermission;

Modified: incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/ui/stripes/WikiActionBeanContext.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/ui/stripes/WikiActionBeanContext.java?rev=723414&r1=723401&r2=723414&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/ui/stripes/WikiActionBeanContext.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/ui/stripes/WikiActionBeanContext.java Thu Dec  4 11:57:36 2008
@@ -4,6 +4,7 @@
 import java.util.MissingResourceException;
 import java.util.ResourceBundle;
 
+import javax.jcr.Session;
 import javax.servlet.ServletContext;
 import javax.servlet.http.HttpServletRequest;
 
@@ -44,7 +45,7 @@
         super();
         m_delegate = new DefaultWikiContext();      // Initialize the delegate
     }
-
+    
     /**
      * Returns the request context for this ActionBean by looking up the value
      * of the annotation {@link WikiRequestContext} associated with the current

Modified: incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/util/HttpUtil.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/util/HttpUtil.java?rev=723414&r1=723401&r2=723414&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/util/HttpUtil.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/com/ecyrd/jspwiki/util/HttpUtil.java Thu Dec  4 11:57:36 2008
@@ -28,11 +28,11 @@
 import javax.servlet.http.Cookie;
 import javax.servlet.http.HttpServletRequest;
 
+import org.apache.jspwiki.api.WikiPage;
+
 import com.ecyrd.jspwiki.log.Logger;
 import com.ecyrd.jspwiki.log.LoggerFactory;
 
-import com.ecyrd.jspwiki.WikiPage;
-
 /**
  *  Contains useful utilities for some common HTTP tasks.
  *

Modified: incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/org/apache/jspwiki/api/WikiEngine.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/org/apache/jspwiki/api/WikiEngine.java?rev=723414&r1=723401&r2=723414&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/org/apache/jspwiki/api/WikiEngine.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/org/apache/jspwiki/api/WikiEngine.java Thu Dec  4 11:57:36 2008
@@ -52,6 +52,8 @@
     
     public String getConfigParameter( String key );
     
+    public String getConfigParameter( String key, String defaultValue );
+
     /**
      *  Returns an iterator for all of the parameters keys.
      * 

Modified: incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/org/apache/jspwiki/api/WikiPage.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/org/apache/jspwiki/api/WikiPage.java?rev=723414&r1=723401&r2=723414&view=diff
==============================================================================
--- incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/org/apache/jspwiki/api/WikiPage.java (original)
+++ incubator/jspwiki/branches/JSPWIKI_2_9_JCR_BRANCH/JSPWiki/src/org/apache/jspwiki/api/WikiPage.java Thu Dec  4 11:57:36 2008
@@ -21,11 +21,11 @@
 package org.apache.jspwiki.api;
 
 import java.io.InputStream;
-import java.security.acl.Acl;
 import java.util.Date;
-import java.util.Map;
 import java.util.Set;
 
+import com.ecyrd.jspwiki.auth.acl.Acl;
+
 /**
  *  A WikiPage represents a Node in the repository.  Unlike in
  *  JSPWiki 2.x, a WikiPage also represents an attachment - in fact,
@@ -33,7 +33,13 @@
  *  that they hold different ContentTypes.
  */
 public interface WikiPage
-{    
+{   
+    // FIXME: Need to check which ones of these actually do have a good representation in JCR
+    public static final String ATTR_AUTHOR = "wiki:author";
+    public static final String ATTR_CONTENT = "wiki:content";
+    public static final String ATTR_CONTENTTYPE = "wiki:contentType";
+    public static final String ATTR_LASTMODIFIED = "wiki:lastModified";
+    
     /**
      *  Returns the name of the page.
      *  
@@ -46,45 +52,51 @@
      *  shall return "text/x-jspwiki".
      *  FIXME: The default MIME type is probably not correct. 
      *  @return The Wiki Content type.
+     * @throws WikiException 
      */
     // NEW
-    public String getContentType();
+    public String getContentType() throws WikiException;
     
     /**
      *  Easy accessor to setting the wiki:contentType attribute.
+     * @throws WikiException 
      */
     // NEW
-    public void setContentType( String contentType );
+    public void setContentType( String contentType ) throws WikiException;
     
     /**
      *  Returns the content of the page as a stream.
+     * @throws WikiException 
      */
     // NEW
-    public InputStream getContentAsStream();
+    public InputStream getContentAsStream() throws WikiException;
     
     /**
      *  Returns the content as a string, if it can be construed as a string.
      * 
      *  @return A string.
+     * @throws WikiException 
      */
     //NEW
-    public String getContentAsString();
+    public String getContentAsString() throws WikiException;
     
     /**
      *  Set the page content.  This is a shortcut to setting a property "wiki:content".
      *  
      *  @param content The page content as a String.
+     * @throws WikiException 
      */
     // NEW
-    public void setContent( String content );
+    public void setContent( String content ) throws WikiException;
     
     /**
      *  Set the page content from an input stream.
      *  
      *  @param in The inputstream to read from.
+     * @throws WikiException 
      */
     // NEW
-    public void setContent( InputStream in );
+    public void setContent( InputStream in ) throws WikiException;
     
     /**
      *  Returns the referrers (that is, those pages which reference this page in any form).
@@ -102,10 +114,11 @@
      *  
      *  @param key The key using which the attribute is fetched
      *  @return The attribute.  If the attribute has not been set, returns null.
+     * @throws WikiException 
      */
     // TODO: Should this also work with the old SET -attributes?
     // FIXME: Need to define the relationship between JCR Properties and these.
-    public Object getAttribute( String key );
+    public Object getAttribute( String key ) throws WikiException;
 
     /**
      *  Sets an metadata attribute.  When the page is stored, so are the attributes.
@@ -114,7 +127,7 @@
      *  @param key The key for the attribute used to fetch the attribute later on.
      *  @param attribute The attribute value
      */
-    public void setAttribute( String key, Object attribute );
+    public void setAttribute( String key, Object attribute ) throws WikiException;
 
     /**
      * Returns the full attributes Map, in case external code needs
@@ -123,7 +136,8 @@
      * @return The attribute Map.  Please note that this is a direct
      *         reference, not a copy.
      */
-    public Map<String,Object> getAttributes();
+    // FIXME: This cannot be performed with JCR with this signature
+    //public Map<String,Object> getAttributes();
 
     /**
      *  Removes an attribute from the page, if it exists.
@@ -132,14 +146,15 @@
      *  @return If the attribute existed, returns the object.
      *  @since 2.1.111
      */
-    public Object removeAttribute( String key );
+    public Object removeAttribute( String key ) throws WikiException;
 
     /**
      *  Returns the date when this page was last modified.
      *  
      *  @return The last modification date
+     * @throws WikiException 
      */
-    public Date getLastModified();
+    public Date getLastModified() throws WikiException;
 
     /**
      *  Sets the last modification date.  In general, this is only
@@ -147,7 +162,7 @@
      *  
      *  @param date The date
      */
-    public void setLastModified( Date date );
+    public void setLastModified( Date date ) throws WikiException;
 
     /**
      *  Returns the version that this WikiPage instance represents.
@@ -179,8 +194,9 @@
      *  Returns author name, or null, if no author has been defined.
      *  
      *  @return Author name, or possibly null.
+     * @throws WikiException 
      */
-    public String getAuthor();
+    public String getAuthor() throws WikiException;
     
     /**
      *  Returns the wiki nanme for this page
@@ -188,16 +204,6 @@
      *  @return The name of the wiki.
      */
     public String getWiki();
-
-    /**
-     *  Creates a deep clone of a WikiPage.  Strings are not cloned, since
-     *  they're immutable.  Attributes are not cloned, only the internal
-     *  HashMap (so if you modify the contents of a value of an attribute,
-     *  these will reflect back to everyone).
-     *  
-     *  @return A deep clone of the WikiPage
-     */
-    public Object clone();
     
     /**
      *  Compares a page with another.  The primary sorting order
@@ -213,4 +219,9 @@
      *  {@inheritDoc}
      */
     public int hashCode();
+
+    /** @throws WikiException 
+     * @since 3.0 */
+    // NEW
+    public void save() throws WikiException;
 }



Mime
View raw message