mcardle 2006/01/06 16:11:51 CET
Modified files:
core/src/java/org/jahia/services/esi EsiSOAPInvalidation.java
EsiService.java
PortRange.java
Log:
* fix for PortRange error in non-ESI mode
Revision Changes Path
1.11 +21 -12
jahia/core/src/java/org/jahia/services/esi/EsiSOAPInvalidation.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/esi/EsiSOAPInvalidation.java.diff?r1=1.10&r2=1.11&f=h
1.17 +0 -2
jahia/core/src/java/org/jahia/services/esi/EsiService.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/esi/EsiService.java.diff?r1=1.16&r2=1.17&f=h
1.2 +4 -2 jahia/core/src/java/org/jahia/services/esi/PortRange.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/esi/PortRange.java.diff?r1=1.1&r2=1.2&f=h
Index: EsiSOAPInvalidation.java
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/java/org/jahia/services/esi/EsiSOAPInvalidation.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- EsiSOAPInvalidation.java 4 Jan 2006 03:22:02 -0000 1.10
+++ EsiSOAPInvalidation.java 6 Jan 2006 15:11:51 -0000 1.11
@@ -29,6 +29,8 @@
//import org.jahia.registries.ServicesRegistry;
//import java.util.Iterator;
import org.jahia.settings.SettingsBean;
+import org.jahia.bin.Jahia;
+
import java.util.HashMap;
import org.apache.commons.httpclient.HttpClient;
@@ -44,17 +46,21 @@
private static HttpClient httpclient = new HttpClient();
private static Protocol http = null;
+ private static boolean initialized = false;
//TODO: change this to an instance class
public EsiSOAPInvalidation () {
- init();
+ //init();
}
- public static void init() {
- logger.info(" ---- EsiSOAPInvalidation init()");
- httpclient.setConnectionTimeout(8000);
- http = new Protocol("http", new PortRangeProtocolSocketFactory(),
80);
- Protocol.registerProtocol("http", http);
+ public static void init(SettingsBean settings) {
+ if (settings.lookupBoolean(SettingsBean.ESI_CACHE_ACTIVATED)) {
+ logger.info(" ---- EsiSOAPInvalidation init()");
+ http = new Protocol("http", new
PortRangeProtocolSocketFactory(), 80);
+ Protocol.registerProtocol("http", http);
+ httpclient.setConnectionTimeout(8000);
+ initialized = true;
+ }
}
/**
@@ -72,6 +78,10 @@
public static boolean Transmit(String soapRequest, SettingsBean
settings) {
+ //TODO: do this in instance method
+ if (!initialized)
+ init(settings);
+
boolean success = true;
//cycle through each ESI Invalidation IP/Port combination declared
@@ -99,13 +109,12 @@
String responseXML = null;
- /*
- covered by init()
-
httpclient.getHostConfiguration().setHost(EsiInvalidation.getEsiInvalidationIPs()[i],
+ /*
+ doesn't seem to have any effect
+
httpclient.getHostConfiguration().setHost(EsiInvalidation.getEsiInvalidationIPs()[i],
Integer.parseInt(EsiInvalidation.getEsiInvalidationPorts()[i]),
- new Protocol("http", new
PortRangeProtocolSocketFactory(), 80));
- */
-
+ http);
+ */
try {
// Execute request
int result = httpclient.executeMethod(post);
Index: EsiService.java
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/java/org/jahia/services/esi/EsiService.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- EsiService.java 6 Jan 2006 01:21:46 -0000 1.16
+++ EsiService.java 6 Jan 2006 15:11:51 -0000 1.17
@@ -68,8 +68,6 @@
public EsiService () {
- EsiSOAPInvalidation.init(); //TODO: make EsiSOAPInvalidation an
instance classe instead of static
-
}
/**
Index: PortRange.java
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/java/org/jahia/services/esi/PortRange.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- PortRange.java 2 Jan 2006 14:24:24 -0000 1.1
+++ PortRange.java 6 Jan 2006 15:11:51 -0000 1.2
@@ -180,13 +180,15 @@
}
private void init() {
- init(Jahia.getSettings().getEsiInvalidationPortRange() );
+ init( Jahia.getSettings().getEsiInvalidationPortRange() );
}
private void init(String portRangeStr) {
portRange = false;
- if (portRangeStr == null) return ;
+ if (portRangeStr == null || "".equals(portRangeStr) ) {
+ throw new IllegalArgumentException("Missing the PortRange
property in jahia.properties");
+ }
int pos = portRangeStr.indexOf("-");
if (pos == -1)