Skip to content

Commit

Permalink
can't seem to inject EventListener. Moving the logic to a component
Browse files Browse the repository at this point in the history
  • Loading branch information
kohsuke committed Jun 19, 2012
1 parent 62c48a8 commit e4af5ac
Show file tree
Hide file tree
Showing 5 changed files with 74 additions and 48 deletions.
Expand Up @@ -30,24 +30,23 @@
*
*/

import java.io.IOException;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.SocketAddress;
import java.net.UnknownHostException;

import javax.net.SocketFactory;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;

import org.apache.commons.httpclient.ConnectTimeoutException;
import org.apache.commons.httpclient.HttpClientError;
import org.apache.commons.httpclient.params.HttpConnectionParams;
import org.apache.commons.httpclient.protocol.SecureProtocolSocketFactory;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import javax.net.SocketFactory;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import java.io.IOException;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.SocketAddress;
import java.net.UnknownHostException;

/**
* <p>
* EasySSLProtocolSocketFactory can be used to creats SSL {@link Socket}s
Expand Down
Expand Up @@ -26,18 +26,18 @@
*
*/

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import javax.net.ssl.TrustManager;
import javax.net.ssl.TrustManagerFactory;
import javax.net.ssl.X509TrustManager;
import java.security.KeyStore;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;

import javax.net.ssl.TrustManagerFactory;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
* <p>
* EasyX509TrustManager unlike default {@link X509TrustManager} accepts
Expand Down
48 changes: 48 additions & 0 deletions src/main/java/org/kohsuke/confluence/scache/EventListenerImpl.java
@@ -0,0 +1,48 @@
package org.kohsuke.confluence.scache;

import com.atlassian.confluence.event.events.content.comment.CommentCreateEvent;
import com.atlassian.confluence.event.events.content.comment.CommentRemoveEvent;
import com.atlassian.confluence.event.events.content.comment.CommentUpdateEvent;
import com.atlassian.confluence.event.events.content.page.PageCreateEvent;
import com.atlassian.confluence.event.events.content.page.PageMoveEvent;
import com.atlassian.confluence.event.events.content.page.PageRemoveEvent;
import com.atlassian.confluence.event.events.content.page.PageRestoreEvent;
import com.atlassian.confluence.event.events.content.page.PageUpdateEvent;
import com.atlassian.confluence.event.events.label.LabelAddEvent;
import com.atlassian.confluence.event.events.label.LabelRemoveEvent;
import com.atlassian.event.Event;
import com.atlassian.event.EventListener;

/**
* @author Kohsuke Kawaguchi
*/
public class EventListenerImpl implements EventListener {
private final StaticPageGenerator staticPageGenerator;

public EventListenerImpl(StaticPageGenerator staticPageGenerator) {
this.staticPageGenerator = staticPageGenerator;
}

@Override
public void handleEvent(Event event) {
staticPageGenerator.onEvent(event);
}

@Override
public Class[] getHandledEventClasses() {
return HANDLED_EVENTS;
}

private final Class[] HANDLED_EVENTS = new Class[] {
PageCreateEvent.class,
PageRestoreEvent.class,
PageUpdateEvent.class,
PageMoveEvent.class,
PageRemoveEvent.class,
LabelAddEvent.class,
LabelRemoveEvent.class,
CommentCreateEvent.class,
CommentUpdateEvent.class,
CommentRemoveEvent.class
};
}
@@ -1,26 +1,16 @@
package org.kohsuke.confluence.scache;

import com.atlassian.confluence.core.ContentEntityObject;
import com.atlassian.confluence.event.events.content.comment.CommentCreateEvent;
import com.atlassian.confluence.event.events.content.comment.CommentEvent;
import com.atlassian.confluence.event.events.content.comment.CommentRemoveEvent;
import com.atlassian.confluence.event.events.content.comment.CommentUpdateEvent;
import com.atlassian.confluence.event.events.content.page.PageCreateEvent;
import com.atlassian.confluence.event.events.content.page.PageEvent;
import com.atlassian.confluence.event.events.content.page.PageMoveEvent;
import com.atlassian.confluence.event.events.content.page.PageRemoveEvent;
import com.atlassian.confluence.event.events.content.page.PageRestoreEvent;
import com.atlassian.confluence.event.events.content.page.PageUpdateEvent;
import com.atlassian.confluence.event.events.label.LabelAddEvent;
import com.atlassian.confluence.event.events.label.LabelEvent;
import com.atlassian.confluence.event.events.label.LabelRemoveEvent;
import com.atlassian.confluence.labels.Labelable;
import com.atlassian.confluence.pages.Page;
import com.atlassian.confluence.pages.PageManager;
import com.atlassian.confluence.spaces.Space;
import com.atlassian.confluence.spaces.SpaceManager;
import com.atlassian.event.Event;
import com.atlassian.event.EventListener;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpMethod;
Expand All @@ -43,7 +33,7 @@
/**
* @author Kohsuke Kawaguchi
*/
public class StaticPageGenerator implements EventListener {
public class StaticPageGenerator {
private final ScheduledExecutorService worker = new ScheduledThreadPoolExecutor(1,DAEMON_THREAD_FACTORY);

private final ConfigurationManager configurationManager;
Expand Down Expand Up @@ -157,8 +147,8 @@ private Properties loadConfigFile() throws IOException {
return props;
}

public void handleEvent(Event event) {
LOGGER.info("Handling "+event);
public void onEvent(Event event) {
LOGGER.info("Handling " + event);
if (event instanceof PageRemoveEvent) {
new Task(((PageEvent) event).getPage()).delete();
}
Expand All @@ -184,10 +174,6 @@ protected void finalize() throws Throwable {
worker.shutdown();
}

public Class[] getHandledEventClasses() {
return HANDLED_EVENTS;
}

public void submit(Page page, boolean evictNow) {
final Task t = new Task(page);
if (evictNow)
Expand Down Expand Up @@ -217,18 +203,6 @@ public Thread newThread(Runnable r) {
}
};

private final Class[] HANDLED_EVENTS = new Class[] {
PageCreateEvent.class,
PageRestoreEvent.class,
PageUpdateEvent.class,
PageMoveEvent.class,
PageRemoveEvent.class,
LabelAddEvent.class,
LabelRemoveEvent.class,
CommentCreateEvent.class,
CommentUpdateEvent.class,
CommentRemoveEvent.class
};

private static File getBaseDir() {
String dir = System.getenv("STATIC_CACHE_DIR");
Expand Down
9 changes: 7 additions & 2 deletions src/main/resources/atlassian-plugin.xml
Expand Up @@ -13,8 +13,13 @@
<description>Configuration of static cache generator</description>
</component>

<listener name="Static Cache Generator" class="org.kohsuke.confluence.scache.StaticPageGenerator"
key="staticPageGenerator">
<component name="Static Cache Generator" class="org.kohsuke.confluence.scache.StaticPageGenerator"
key="staticPageGenerator">
<description>Actual page generator</description>
</component>

<listener name="Static Cache Generator" class="org.kohsuke.confluence.scache.EventListenerImpl"
key="eventListenerImpl">
<description>Renders HTML version of the page</description>
</listener>

Expand Down

0 comments on commit e4af5ac

Please sign in to comment.