You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jspwiki.apache.org by aj...@apache.org on 2009/05/02 16:08:17 UTC

svn commit: r770957 - /incubator/jspwiki/trunk/src/java/org/apache/wiki/JCRWikiPage.java

Author: ajaquith
Date: Sat May  2 14:08:16 2009
New Revision: 770957

URL: http://svn.apache.org/viewvc?rev=770957&view=rev
Log:
Fixed subtle bug in JCRWikiPage that was causing isAttachment() to incorrectly report its status. Also, JCRWikiPage no longer manages its own references (now handled by ReferenceManager) or saves itself to the JCR (it delegates to ContentManager, so that ContentEvent creation can be guaranteed).

Modified:
    incubator/jspwiki/trunk/src/java/org/apache/wiki/JCRWikiPage.java

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/JCRWikiPage.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/JCRWikiPage.java?rev=770957&r1=770956&r2=770957&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/JCRWikiPage.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/JCRWikiPage.java Sat May  2 14:08:16 2009
@@ -64,9 +64,6 @@
     public  static final String CONTENTTYPE  = "wiki:contentType";
     
 
-    public static final String REFERSTO = "wiki:refersTo";
-    
-
     private       WikiPath   m_name;
     private       WikiEngine m_engine;
     private String           m_jcrPath = null;
@@ -472,31 +469,14 @@
         return (String)getAttribute( CONTENTTYPE );
     }
 
-    public Set<String> getReferrers()
+    public List<WikiPath> getReferrers() throws ProviderException
     {
-        // TODO Auto-generated method stub
-        return null;
+        return m_engine.getReferenceManager().getReferredBy( m_name );
     }
     
-    public Collection<WikiPath> getRefersTo() throws ProviderException
+    public List<WikiPath> getRefersTo() throws ProviderException
     {
-        Collection<WikiPath> refs = new ArrayList<WikiPath>();
-        
-        try
-        {
-            Property p = getProperty( REFERSTO );
-            
-            Value[] values = p.getValues();
-            
-            for( Value v : values )
-                refs.add( WikiPath.valueOf( v.getString() ) );
-        }
-        catch( PathNotFoundException e ) {}
-        catch( RepositoryException e )
-        {
-            throw new ProviderException("Unable to get the referrals",e);
-        }
-        return refs;
+        return m_engine.getReferenceManager().getRefersTo( m_name );
     }
     
 
@@ -517,15 +497,14 @@
         setAttribute( CONTENTTYPE, contentType );
     }
     
+    /**
+     * {@inheritDoc}. This implementation delegates to {@link ContentManager#save(WikiPage)}.
+     */
     public void save() throws ProviderException
     {
         try
         {
-            Node nd = getJCRNode();
-            if( nd.isNew() )
-                nd.getParent().save();
-            else
-                nd.save();
+            m_engine.getContentManager().save( this );
         }
         catch( RepositoryException e )
         {
@@ -601,7 +580,7 @@
     {
         String contentType = getContentType();
         boolean exists = m_engine.getContentManager().pageExists( getPath() );
-        if( !exists || ContentManager.JSPWIKI_CONTENT_TYPE.equals( contentType ) ) return false;
+        if( !exists || contentType == null || ContentManager.JSPWIKI_CONTENT_TYPE.equals( contentType ) ) return false;
         
         return true;
     }