Author: trong.tran
Date: 2010-03-04 01:41:43 -0500 (Thu, 04 Mar 2010)
New Revision: 1956
Added:
portal/trunk/gadgets/core/src/main/java/org/exoplatform/portal/gadget/core/ExoHttpFetcher.java
Modified:
portal/trunk/gadgets/core/src/main/java/org/exoplatform/portal/gadget/core/ExoContainerConfig.java
portal/trunk/gadgets/core/src/main/java/org/exoplatform/portal/gadget/core/ExoModule.java
Log:
GTNPORTAL-652 Increase the timeout of the http fetcher in shindig server
Modified:
portal/trunk/gadgets/core/src/main/java/org/exoplatform/portal/gadget/core/ExoContainerConfig.java
===================================================================
---
portal/trunk/gadgets/core/src/main/java/org/exoplatform/portal/gadget/core/ExoContainerConfig.java 2010-03-04
05:01:43 UTC (rev 1955)
+++
portal/trunk/gadgets/core/src/main/java/org/exoplatform/portal/gadget/core/ExoContainerConfig.java 2010-03-04
06:41:43 UTC (rev 1956)
@@ -19,6 +19,8 @@
package org.exoplatform.portal.gadget.core;
+import com.google.inject.Singleton;
+
import com.google.inject.Inject;
import com.google.inject.name.Named;
import sun.misc.BASE64Encoder;
@@ -57,6 +59,8 @@
* @author <a href="mailto:julien.viet@exoplatform.com">Julien
Viet</a>
* @version $Revision$
*/
+
+@Singleton
public class
ExoContainerConfig extends JsonContainerConfig
{
Added:
portal/trunk/gadgets/core/src/main/java/org/exoplatform/portal/gadget/core/ExoHttpFetcher.java
===================================================================
---
portal/trunk/gadgets/core/src/main/java/org/exoplatform/portal/gadget/core/ExoHttpFetcher.java
(rev 0)
+++
portal/trunk/gadgets/core/src/main/java/org/exoplatform/portal/gadget/core/ExoHttpFetcher.java 2010-03-04
06:41:43 UTC (rev 1956)
@@ -0,0 +1,46 @@
+/**
+ * Copyright (C) 2010 eXo Platform SAS.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.exoplatform.portal.gadget.core;
+
+import com.google.inject.Singleton;
+
+import com.google.inject.Inject;
+
+import org.apache.shindig.gadgets.http.BasicHttpFetcher;
+
+/**
+ * The goal of Http Fetcher subclass is to overwrite the default timeout in
BasicHttpFetcher
+ * which is quite short time to make a conversion if the server is slow.
+ *
+ * @author <a href="trong.tran(a)exoplatform.com">Trong Tran</a>
+ * @version $Revision$
+ */
+
+@Singleton
+public class ExoHttpFetcher extends BasicHttpFetcher
+{
+ private static final int DEFAULT_CONNECT_TIMEOUT_MS = 15000;
+ private static final int DEFAULT_MAX_OBJECT_SIZE = 1024 * 1024;
+
+ @Inject
+ public ExoHttpFetcher()
+ {
+ super(DEFAULT_MAX_OBJECT_SIZE, DEFAULT_CONNECT_TIMEOUT_MS);
+ }
+}
Modified:
portal/trunk/gadgets/core/src/main/java/org/exoplatform/portal/gadget/core/ExoModule.java
===================================================================
---
portal/trunk/gadgets/core/src/main/java/org/exoplatform/portal/gadget/core/ExoModule.java 2010-03-04
05:01:43 UTC (rev 1955)
+++
portal/trunk/gadgets/core/src/main/java/org/exoplatform/portal/gadget/core/ExoModule.java 2010-03-04
06:41:43 UTC (rev 1956)
@@ -21,6 +21,7 @@
import org.apache.shindig.config.ContainerConfig;
import org.apache.shindig.gadgets.DefaultGuiceModule;
+import org.apache.shindig.gadgets.http.HttpFetcher;
/**
* The goal of the module is to bind the {@link
org.apache.shindig.common.ContainerConfig} interface to the
@@ -40,5 +41,6 @@
//
bind(ContainerConfig.class).to(ExoContainerConfig.class);
+ bind(HttpFetcher.class).to(ExoHttpFetcher.class);
}
}