You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jspwiki.apache.org by Harry Metske <ha...@gmail.com> on 2009/03/12 19:57:52 UTC

Re: svn commit: r752963 - in /incubator/jspwiki/trunk: ChangeLog src/java/org/apache/wiki/Release.java src/java/org/apache/wiki/content/ContentManager.java

maybe I misunderstood, but my +1 was intended for your second suggestion :

*(A general question, should we start throwing something like
PageNotFoundExceptions as opposed to returning nulls? That would encourage a
bit safer coding and would eliminate a number of if(getPage() == null) tests
across the codebase.)*

/Harry


2009/3/12 <ja...@apache.org>

> Author: jalkanen
> Date: Thu Mar 12 18:34:27 2009
> New Revision: 752963
>
> URL: http://svn.apache.org/viewvc?rev=752963&view=rev
> Log:
> getPage(WikiName,int) was not catching exceptions properly.
>
> Modified:
>    incubator/jspwiki/trunk/ChangeLog
>    incubator/jspwiki/trunk/src/java/org/apache/wiki/Release.java
>
>  incubator/jspwiki/trunk/src/java/org/apache/wiki/content/ContentManager.java
>
> Modified: incubator/jspwiki/trunk/ChangeLog
> URL:
> http://svn.apache.org/viewvc/incubator/jspwiki/trunk/ChangeLog?rev=752963&r1=752962&r2=752963&view=diff
>
> ==============================================================================
> --- incubator/jspwiki/trunk/ChangeLog (original)
> +++ incubator/jspwiki/trunk/ChangeLog Thu Mar 12 18:34:27 2009
> @@ -1,3 +1,10 @@
> +2009-03-12  Janne Jalkanen <ja...@apache.org>
> +
> +        * 3.0.0-svn-82
> +
> +        * Fixed issue in ContentManager.getPage() not properly
> +        catching exceptions.
> +
>  2009-02-22  Andrew Jaquith <ajaquith AT apache DOT org>
>
>         * 3.0.0-svn-81
>
> Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/Release.java
> URL:
> http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/Release.java?rev=752963&r1=752962&r2=752963&view=diff
>
> ==============================================================================
> --- incubator/jspwiki/trunk/src/java/org/apache/wiki/Release.java
> (original)
> +++ incubator/jspwiki/trunk/src/java/org/apache/wiki/Release.java Thu Mar
> 12 18:34:27 2009
> @@ -77,7 +77,7 @@
>      *  <p>
>      *  If the build identifier is empty, it is not added.
>      */
> -    public static final String     BUILD         = "80";
> +    public static final String     BUILD         = "81";
>
>     /**
>      *  This is the generic version string you should use
>
> Modified:
> incubator/jspwiki/trunk/src/java/org/apache/wiki/content/ContentManager.java
> URL:
> http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/content/ContentManager.java?rev=752963&r1=752962&r2=752963&view=diff
>
> ==============================================================================
> ---
> incubator/jspwiki/trunk/src/java/org/apache/wiki/content/ContentManager.java
> (original)
> +++
> incubator/jspwiki/trunk/src/java/org/apache/wiki/content/ContentManager.java
> Thu Mar 12 18:34:27 2009
> @@ -655,7 +655,7 @@
>      *  @param wikiPath  the {@link WikiName} to check for
>      *  @param version The version to check
>      *  @return <code>true</code> if the page exists, <code>false</code>
> otherwise
> -     *  @throws WikiException If the backend fails or the wikiPath is
> illegal.
> +     *  @throws ProviderException If the backend fails or the wikiPath is
> illegal.
>      */
>     public boolean pageExists( WikiName wikiPath, int version )
>         throws ProviderException
> @@ -681,7 +681,7 @@
>      *  Deletes only a specific version of a WikiPage.
>      *
>      *  @param page The page to delete.
> -     *  @throws WikiException if the page fails
> +     *  @throws ProviderException if the page fails
>      */
>     public void deleteVersion( WikiPage page )
>         throws ProviderException
> @@ -706,7 +706,7 @@
>      *  Deletes an entire page, all versions, all traces.
>      *
>      *  @param page The WikiPage to delete
> -     *  @throws WikiException If the backend fails or the page is illegal.
> +     *  @throws ProviderException If the backend fails or the page is
> illegal.
>      */
>
>     public void deletePage( WikiPage page )
> @@ -947,7 +947,7 @@
>      *
>      *  @param jcrpath The JCR Path used to get the {@link WikiName}
>      *  @return The {@link WikiName} for the requested jcr path
> -     *  @throws WikiException If the backend fails.
> +     *  @throws ProviderException If the backend fails.
>      */
>     // FIXME: Should be protected - fix once WikiPage moves to
> content-package
>     public static WikiName getWikiPath( String jcrpath ) throws
> ProviderException
> @@ -975,7 +975,7 @@
>      *  @param path the WikiName
>      *  @param contentType the type of content
>      *  @return the {@link JCRWikiPage}
> -     *  @throws WikiException If the backend fails.
> +     *  @throws ProviderException If the backend fails.
>      */
>     public JCRWikiPage addPage( WikiName path, String contentType ) throws
> ProviderException
>     {
> @@ -1054,6 +1054,11 @@
>
>             return page;
>         }
> +        catch( PathNotFoundException e )
> +        {
> +            // Page was not found at all.
> +            return null;
> +        }
>         catch( RepositoryException e )
>         {
>             throw new ProviderException( "Unable to get a page", e );
>
>
>

Re: svn commit: r752963 - in /incubator/jspwiki/trunk: ChangeLog src/java/org/apache/wiki/Release.java src/java/org/apache/wiki/content/ContentManager.java

Posted by Andrew Jaquith <an...@gmail.com>.
+1, and meant in the spirit of Harry's comment.

On Mar 12, 2009, at 14:57, Harry Metske <ha...@gmail.com> wrote:

> maybe I misunderstood, but my +1 was intended for your second  
> suggestion :
>
> *(A general question, should we start throwing something like
> PageNotFoundExceptions as opposed to returning nulls? That would  
> encourage a
> bit safer coding and would eliminate a number of if(getPage() ==  
> null) tests
> across the codebase.)*
>
> /Harry
>
>
> 2009/3/12 <ja...@apache.org>
>
>> Author: jalkanen
>> Date: Thu Mar 12 18:34:27 2009
>> New Revision: 752963
>>
>> URL: http://svn.apache.org/viewvc?rev=752963&view=rev
>> Log:
>> getPage(WikiName,int) was not catching exceptions properly.
>>
>> Modified:
>>   incubator/jspwiki/trunk/ChangeLog
>>   incubator/jspwiki/trunk/src/java/org/apache/wiki/Release.java
>>
>> incubator/jspwiki/trunk/src/java/org/apache/wiki/content/ 
>> ContentManager.java
>>
>> Modified: incubator/jspwiki/trunk/ChangeLog
>> URL:
>> http://svn.apache.org/viewvc/incubator/jspwiki/trunk/ChangeLog?rev=752963&r1=752962&r2=752963&view=diff
>>
>> === 
>> === 
>> === 
>> =====================================================================
>> --- incubator/jspwiki/trunk/ChangeLog (original)
>> +++ incubator/jspwiki/trunk/ChangeLog Thu Mar 12 18:34:27 2009
>> @@ -1,3 +1,10 @@
>> +2009-03-12  Janne Jalkanen <ja...@apache.org>
>> +
>> +        * 3.0.0-svn-82
>> +
>> +        * Fixed issue in ContentManager.getPage() not properly
>> +        catching exceptions.
>> +
>> 2009-02-22  Andrew Jaquith <ajaquith AT apache DOT org>
>>
>>        * 3.0.0-svn-81
>>
>> Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/ 
>> Release.java
>> URL:
>> http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/Release.java?rev=752963&r1=752962&r2=752963&view=diff
>>
>> === 
>> === 
>> === 
>> =====================================================================
>> --- incubator/jspwiki/trunk/src/java/org/apache/wiki/Release.java
>> (original)
>> +++ incubator/jspwiki/trunk/src/java/org/apache/wiki/Release.java  
>> Thu Mar
>> 12 18:34:27 2009
>> @@ -77,7 +77,7 @@
>>     *  <p>
>>     *  If the build identifier is empty, it is not added.
>>     */
>> -    public static final String     BUILD         = "80";
>> +    public static final String     BUILD         = "81";
>>
>>    /**
>>     *  This is the generic version string you should use
>>
>> Modified:
>> incubator/jspwiki/trunk/src/java/org/apache/wiki/content/ 
>> ContentManager.java
>> URL:
>> http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/content/ContentManager.java?rev=752963&r1=752962&r2=752963&view=diff
>>
>> === 
>> === 
>> === 
>> =====================================================================
>> ---
>> incubator/jspwiki/trunk/src/java/org/apache/wiki/content/ 
>> ContentManager.java
>> (original)
>> +++
>> incubator/jspwiki/trunk/src/java/org/apache/wiki/content/ 
>> ContentManager.java
>> Thu Mar 12 18:34:27 2009
>> @@ -655,7 +655,7 @@
>>     *  @param wikiPath  the {@link WikiName} to check for
>>     *  @param version The version to check
>>     *  @return <code>true</code> if the page exists, <code>false</ 
>> code>
>> otherwise
>> -     *  @throws WikiException If the backend fails or the wikiPath  
>> is
>> illegal.
>> +     *  @throws ProviderException If the backend fails or the  
>> wikiPath is
>> illegal.
>>     */
>>    public boolean pageExists( WikiName wikiPath, int version )
>>        throws ProviderException
>> @@ -681,7 +681,7 @@
>>     *  Deletes only a specific version of a WikiPage.
>>     *
>>     *  @param page The page to delete.
>> -     *  @throws WikiException if the page fails
>> +     *  @throws ProviderException if the page fails
>>     */
>>    public void deleteVersion( WikiPage page )
>>        throws ProviderException
>> @@ -706,7 +706,7 @@
>>     *  Deletes an entire page, all versions, all traces.
>>     *
>>     *  @param page The WikiPage to delete
>> -     *  @throws WikiException If the backend fails or the page is  
>> illegal.
>> +     *  @throws ProviderException If the backend fails or the page  
>> is
>> illegal.
>>     */
>>
>>    public void deletePage( WikiPage page )
>> @@ -947,7 +947,7 @@
>>     *
>>     *  @param jcrpath The JCR Path used to get the {@link WikiName}
>>     *  @return The {@link WikiName} for the requested jcr path
>> -     *  @throws WikiException If the backend fails.
>> +     *  @throws ProviderException If the backend fails.
>>     */
>>    // FIXME: Should be protected - fix once WikiPage moves to
>> content-package
>>    public static WikiName getWikiPath( String jcrpath ) throws
>> ProviderException
>> @@ -975,7 +975,7 @@
>>     *  @param path the WikiName
>>     *  @param contentType the type of content
>>     *  @return the {@link JCRWikiPage}
>> -     *  @throws WikiException If the backend fails.
>> +     *  @throws ProviderException If the backend fails.
>>     */
>>    public JCRWikiPage addPage( WikiName path, String contentType )  
>> throws
>> ProviderException
>>    {
>> @@ -1054,6 +1054,11 @@
>>
>>            return page;
>>        }
>> +        catch( PathNotFoundException e )
>> +        {
>> +            // Page was not found at all.
>> +            return null;
>> +        }
>>        catch( RepositoryException e )
>>        {
>>            throw new ProviderException( "Unable to get a page", e );
>>
>>
>>

Re: svn commit: r752963 - in /incubator/jspwiki/trunk: ChangeLog src/java/org/apache/wiki/Release.java src/java/org/apache/wiki/content/ContentManager.java

Posted by Janne Jalkanen <Ja...@ecyrd.com>.
OK, it seems there's enough consensus on this... So I'll modify  
ContentManager accordingly.

(This commit was just to fix that one bug :-)

/Janne

On Mar 12, 2009, at 20:57 , Harry Metske wrote:

> maybe I misunderstood, but my +1 was intended for your second  
> suggestion :
>
> *(A general question, should we start throwing something like
> PageNotFoundExceptions as opposed to returning nulls? That would  
> encourage a
> bit safer coding and would eliminate a number of if(getPage() ==  
> null) tests
> across the codebase.)*
>
> /Harry
>
>
> 2009/3/12 <ja...@apache.org>
>
>> Author: jalkanen
>> Date: Thu Mar 12 18:34:27 2009
>> New Revision: 752963
>>
>> URL: http://svn.apache.org/viewvc?rev=752963&view=rev
>> Log:
>> getPage(WikiName,int) was not catching exceptions properly.
>>
>> Modified:
>>   incubator/jspwiki/trunk/ChangeLog
>>   incubator/jspwiki/trunk/src/java/org/apache/wiki/Release.java
>>
>> incubator/jspwiki/trunk/src/java/org/apache/wiki/content/ 
>> ContentManager.java
>>
>> Modified: incubator/jspwiki/trunk/ChangeLog
>> URL:
>> http://svn.apache.org/viewvc/incubator/jspwiki/trunk/ChangeLog?rev=752963&r1=752962&r2=752963&view=diff
>>
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> =====================================================================
>> --- incubator/jspwiki/trunk/ChangeLog (original)
>> +++ incubator/jspwiki/trunk/ChangeLog Thu Mar 12 18:34:27 2009
>> @@ -1,3 +1,10 @@
>> +2009-03-12  Janne Jalkanen <ja...@apache.org>
>> +
>> +        * 3.0.0-svn-82
>> +
>> +        * Fixed issue in ContentManager.getPage() not properly
>> +        catching exceptions.
>> +
>> 2009-02-22  Andrew Jaquith <ajaquith AT apache DOT org>
>>
>>        * 3.0.0-svn-81
>>
>> Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/ 
>> Release.java
>> URL:
>> http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/Release.java?rev=752963&r1=752962&r2=752963&view=diff
>>
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> =====================================================================
>> --- incubator/jspwiki/trunk/src/java/org/apache/wiki/Release.java
>> (original)
>> +++ incubator/jspwiki/trunk/src/java/org/apache/wiki/Release.java  
>> Thu Mar
>> 12 18:34:27 2009
>> @@ -77,7 +77,7 @@
>>     *  <p>
>>     *  If the build identifier is empty, it is not added.
>>     */
>> -    public static final String     BUILD         = "80";
>> +    public static final String     BUILD         = "81";
>>
>>    /**
>>     *  This is the generic version string you should use
>>
>> Modified:
>> incubator/jspwiki/trunk/src/java/org/apache/wiki/content/ 
>> ContentManager.java
>> URL:
>> http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/content/ContentManager.java?rev=752963&r1=752962&r2=752963&view=diff
>>
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> = 
>> =====================================================================
>> ---
>> incubator/jspwiki/trunk/src/java/org/apache/wiki/content/ 
>> ContentManager.java
>> (original)
>> +++
>> incubator/jspwiki/trunk/src/java/org/apache/wiki/content/ 
>> ContentManager.java
>> Thu Mar 12 18:34:27 2009
>> @@ -655,7 +655,7 @@
>>     *  @param wikiPath  the {@link WikiName} to check for
>>     *  @param version The version to check
>>     *  @return <code>true</code> if the page exists, <code>false</ 
>> code>
>> otherwise
>> -     *  @throws WikiException If the backend fails or the wikiPath  
>> is
>> illegal.
>> +     *  @throws ProviderException If the backend fails or the  
>> wikiPath is
>> illegal.
>>     */
>>    public boolean pageExists( WikiName wikiPath, int version )
>>        throws ProviderException
>> @@ -681,7 +681,7 @@
>>     *  Deletes only a specific version of a WikiPage.
>>     *
>>     *  @param page The page to delete.
>> -     *  @throws WikiException if the page fails
>> +     *  @throws ProviderException if the page fails
>>     */
>>    public void deleteVersion( WikiPage page )
>>        throws ProviderException
>> @@ -706,7 +706,7 @@
>>     *  Deletes an entire page, all versions, all traces.
>>     *
>>     *  @param page The WikiPage to delete
>> -     *  @throws WikiException If the backend fails or the page is  
>> illegal.
>> +     *  @throws ProviderException If the backend fails or the page  
>> is
>> illegal.
>>     */
>>
>>    public void deletePage( WikiPage page )
>> @@ -947,7 +947,7 @@
>>     *
>>     *  @param jcrpath The JCR Path used to get the {@link WikiName}
>>     *  @return The {@link WikiName} for the requested jcr path
>> -     *  @throws WikiException If the backend fails.
>> +     *  @throws ProviderException If the backend fails.
>>     */
>>    // FIXME: Should be protected - fix once WikiPage moves to
>> content-package
>>    public static WikiName getWikiPath( String jcrpath ) throws
>> ProviderException
>> @@ -975,7 +975,7 @@
>>     *  @param path the WikiName
>>     *  @param contentType the type of content
>>     *  @return the {@link JCRWikiPage}
>> -     *  @throws WikiException If the backend fails.
>> +     *  @throws ProviderException If the backend fails.
>>     */
>>    public JCRWikiPage addPage( WikiName path, String contentType )  
>> throws
>> ProviderException
>>    {
>> @@ -1054,6 +1054,11 @@
>>
>>            return page;
>>        }
>> +        catch( PathNotFoundException e )
>> +        {
>> +            // Page was not found at all.
>> +            return null;
>> +        }
>>        catch( RepositoryException e )
>>        {
>>            throw new ProviderException( "Unable to get a page", e );
>>
>>
>>