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 <[email protected]> > 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 <[email protected]> > + > + * 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 ); > > >
