You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jspwiki.apache.org by me...@apache.org on 2012/12/02 13:49:16 UTC
svn commit: r1416167 - in /incubator/jspwiki/trunk: ./ src/org/apache/wiki/
src/org/apache/wiki/plugin/ tests/org/apache/wiki/
tests/org/apache/wiki/plugin/
Author: metskem
Date: Sun Dec 2 12:49:14 2012
New Revision: 1416167
URL: http://svn.apache.org/viewvc?rev=1416167&view=rev
Log:
2012-12-02 Harry Metske <me...@apache.org>
* 2.9.1-svn-1
* fixed JSPWIKI-665 Page View Plugin and page renames and deletions (thanks to Glen Mazza)
Modified:
incubator/jspwiki/trunk/ChangeLog
incubator/jspwiki/trunk/src/org/apache/wiki/Release.java
incubator/jspwiki/trunk/src/org/apache/wiki/WikiEngine.java
incubator/jspwiki/trunk/src/org/apache/wiki/plugin/PageViewPlugin.java
incubator/jspwiki/trunk/tests/org/apache/wiki/TestEngine.java
incubator/jspwiki/trunk/tests/org/apache/wiki/plugin/PageViewPluginTest.java
Modified: incubator/jspwiki/trunk/ChangeLog
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/ChangeLog?rev=1416167&r1=1416166&r2=1416167&view=diff
==============================================================================
--- incubator/jspwiki/trunk/ChangeLog (original)
+++ incubator/jspwiki/trunk/ChangeLog Sun Dec 2 12:49:14 2012
@@ -1,4 +1,10 @@
-2012-11-22 Florian Holeczek (florianh AT apache DOT org)
+2012-12-02 Harry Metske <me...@apache.org>
+
+ * 2.9.1-svn-1
+
+ * fixed JSPWIKI-665 Page View Plugin and page renames and deletions (thanks to Glen Mazza)
+
+ 2012-11-22 Florian Holeczek (florianh AT apache DOT org)
* version switch to 2.9.1-svn-0
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/Release.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/Release.java?rev=1416167&r1=1416166&r2=1416167&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/Release.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/Release.java Sun Dec 2 12:49:14 2012
@@ -75,7 +75,7 @@ public final class Release
* <p>
* If the build identifier is empty, it is not added.
*/
- public static final String BUILD = "0";
+ public static final String BUILD = "1";
/**
* This is the generic version string you should use
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/WikiEngine.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/WikiEngine.java?rev=1416167&r1=1416166&r2=1416167&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/WikiEngine.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/WikiEngine.java Sun Dec 2 12:49:14 2012
@@ -48,6 +48,7 @@ import org.apache.wiki.diff.DifferenceMa
import org.apache.wiki.event.WikiEngineEvent;
import org.apache.wiki.event.WikiEventListener;
import org.apache.wiki.event.WikiEventManager;
+import org.apache.wiki.event.WikiPageEvent;
import org.apache.wiki.filters.FilterException;
import org.apache.wiki.filters.FilterManager;
import org.apache.wiki.i18n.InternationalizationManager;
@@ -2182,6 +2183,7 @@ public class WikiEngine
}
}
m_pageManager.deletePage( p );
+ firePageEvent( WikiPageEvent.PAGE_DELETED, pageName );
}
}
}
@@ -2411,6 +2413,18 @@ public class WikiEngine
}
/**
+ * Fires a WikiPageEvent to all registered listeners.
+ * @param type the event type
+ */
+ protected final void firePageEvent( int type, String pageName )
+ {
+ if ( WikiEventManager.isListening(this) )
+ {
+ WikiEventManager.fireEvent(this,new WikiPageEvent(this,type,pageName));
+ }
+ }
+
+ /**
* Adds an attribute to the engine for the duration of this engine. The
* value is not persisted.
*
Modified: incubator/jspwiki/trunk/src/org/apache/wiki/plugin/PageViewPlugin.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/org/apache/wiki/plugin/PageViewPlugin.java?rev=1416167&r1=1416166&r2=1416167&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/org/apache/wiki/plugin/PageViewPlugin.java (original)
+++ incubator/jspwiki/trunk/src/org/apache/wiki/plugin/PageViewPlugin.java Sun Dec 2 12:49:14 2012
@@ -42,6 +42,7 @@ import org.apache.wiki.WikiPage;
import org.apache.wiki.event.WikiEngineEvent;
import org.apache.wiki.event.WikiEvent;
import org.apache.wiki.event.WikiEventListener;
+import org.apache.wiki.event.WikiPageEvent;
import org.apache.wiki.plugin.InitializablePlugin;
import org.apache.wiki.plugin.PluginException;
import org.apache.wiki.plugin.PluginManager;
@@ -139,11 +140,9 @@ public class PageViewPlugin extends Abst
{
if( c_singleton == null )
{
-
c_singleton = new PageViewManager( );
-
- c_singleton.initialize( engine );
}
+ c_singleton.initialize( engine );
}
}
@@ -289,6 +288,12 @@ public class PageViewPlugin extends Abst
log.info( "Detected wiki engine shutdown" );
handleShutdown();
}
+ }
+ else if( (event instanceof WikiPageEvent) && (event.getType() == WikiPageEvent.PAGE_DELETED) )
+ {
+ String pageName = ((WikiPageEvent) event).getPageName();
+ m_storage.remove(pageName);
+ m_counters.remove(pageName);
}
}
Modified: incubator/jspwiki/trunk/tests/org/apache/wiki/TestEngine.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/tests/org/apache/wiki/TestEngine.java?rev=1416167&r1=1416166&r2=1416167&view=diff
==============================================================================
--- incubator/jspwiki/trunk/tests/org/apache/wiki/TestEngine.java (original)
+++ incubator/jspwiki/trunk/tests/org/apache/wiki/TestEngine.java Sun Dec 2 12:49:14 2012
@@ -36,6 +36,7 @@ import org.apache.wiki.auth.Authenticati
import org.apache.wiki.auth.SessionMonitor;
import org.apache.wiki.auth.Users;
import org.apache.wiki.auth.WikiSecurityException;
+import org.apache.wiki.event.WikiPageEvent;
import org.apache.wiki.providers.AbstractFileProvider;
import org.apache.wiki.providers.BasicAttachmentProvider;
import org.apache.wiki.providers.FileSystemProvider;
@@ -254,6 +255,38 @@ public class TestEngine extends WikiEngi
}
/**
+ * Removes a page, but not any auxiliary information. Works only
+ * with FileSystemProvider.
+ */
+ public void nonStaticDeleteTestPage( String name )
+ {
+ Properties properties = new Properties();
+
+ try
+ {
+ properties.load( findTestProperties() );
+ String files = properties.getProperty( FileSystemProvider.PROP_PAGEDIR );
+
+ File f = new File( files, mangleName(name)+FileSystemProvider.FILE_EXT );
+
+ f.delete();
+
+ // Remove the property file, too
+ f = new File( files, mangleName(name)+".properties" );
+
+ if( f.exists() )
+ f.delete();
+
+ deleteAttachments( name );
+ firePageEvent( WikiPageEvent.PAGE_DELETED, name );
+ }
+ catch( Exception e )
+ {
+ log.error("Couldn't delete "+name, e );
+ }
+ }
+
+ /**
* Deletes all attachments related to the given page.
*/
public static void deleteAttachments( String page )
Modified: incubator/jspwiki/trunk/tests/org/apache/wiki/plugin/PageViewPluginTest.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/tests/org/apache/wiki/plugin/PageViewPluginTest.java?rev=1416167&r1=1416166&r2=1416167&view=diff
==============================================================================
--- incubator/jspwiki/trunk/tests/org/apache/wiki/plugin/PageViewPluginTest.java (original)
+++ incubator/jspwiki/trunk/tests/org/apache/wiki/plugin/PageViewPluginTest.java Sun Dec 2 12:49:14 2012
@@ -39,25 +39,9 @@ public class PageViewPluginTest extends
PluginManager manager;
- /*
- * Constructor is part of a workaround for execution ordering of the tests
- */
- public PageViewPluginTest ( String testName )
- {
- super( testName );
- }
-
- /*
- * Second part of the workaround for execution ordering of the tests
- */
public static Test suite()
{
- TestSuite ts = new TestSuite();
- ts.addTest( new PageViewPluginTest( "testShowCountsBasic" ) );
- ts.addTest( new PageViewPluginTest( "testShowCountsExclude" ) );
- ts.addTest( new PageViewPluginTest( "testShowCountsSorted" ) );
- ts.addTest( new PageViewPluginTest( "testShowCountEntries" ) );
- return ts;
+ return new TestSuite( PageViewPluginTest.class );
}
public void setUp() throws Exception
@@ -75,9 +59,9 @@ public class PageViewPluginTest extends
public void tearDown()
{
- TestEngine.deleteTestPage( "TestPage01" );
- TestEngine.deleteTestPage( "TestPage02" );
- TestEngine.deleteTestPage( "PageViews" );
+ testEngine.nonStaticDeleteTestPage( "TestPage01" );
+ testEngine.nonStaticDeleteTestPage( "TestPage02" );
+ testEngine.nonStaticDeleteTestPage( "PageViews" );
TestEngine.emptyWorkDir();
}
@@ -137,7 +121,7 @@ public class PageViewPluginTest extends
// this page should not have been shown:
assertFalse( result.contains( "Test Page Excluded" ) );
- TestEngine.deleteTestPage( "TestPageExcluded" );
+ testEngine.nonStaticDeleteTestPage( "TestPageExcluded" );
}
public void testShowCountsSorted() throws Exception
@@ -205,8 +189,8 @@ public class PageViewPluginTest extends
assertFalse( result.contains( "Test Page 04" ) );
- TestEngine.deleteTestPage( "TestPage03" );
- TestEngine.deleteTestPage( "TestPage04" );
+ testEngine.nonStaticDeleteTestPage( "TestPage03" );
+ testEngine.nonStaticDeleteTestPage( "TestPage04" );
}
}