Author: etnu
Date: Tue Oct 21 15:32:53 2008
New Revision: 706800

URL: http://svn.apache.org/viewvc?rev=706800&view=rev
Log:
Added user ip to gadget request objects to facilitate logging and access 
restrictions.


Modified:
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetContext.java
    
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpGadgetContext.java
    
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/HttpGadgetContextTest.java

Modified: 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetContext.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetContext.java?rev=706800&r1=706799&r2=706800&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetContext.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/GadgetContext.java
 Tue Oct 21 15:32:53 2008
@@ -25,8 +25,10 @@
 import java.util.Locale;
 
 /**
- * Bundles together context data for the current request with server config
- * data.
+ * Bundles together context data for the current request with server config 
data.
+ *
+ * TODO: This should probably be called "GadgetRequest" instead of 
GadgetContext, since it is
+ * actually serving as abstraction over different request types.
  */
 public class GadgetContext {
 
@@ -88,6 +90,13 @@
   }
 
   /**
+   * @return The IP Address for the current user.
+   */
+  public String getUserIp() {
+    return null;
+  }
+
+  /**
    * @return Whether or not to show debug output.
    */
   public boolean getDebug() {

Modified: 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpGadgetContext.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpGadgetContext.java?rev=706800&r1=706799&r2=706800&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpGadgetContext.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/HttpGadgetContext.java
 Tue Oct 21 15:32:53 2008
@@ -89,6 +89,15 @@
   }
 
   @Override
+  public String getUserIp() {
+    String ip = request.getRemoteAddr();
+    if (ip == null) {
+      return super.getUserIp();
+    }
+    return ip;
+  }
+
+  @Override
   public boolean getDebug() {
     if (debug == null) {
       return super.getDebug();

Modified: 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/HttpGadgetContextTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/HttpGadgetContextTest.java?rev=706800&r1=706799&r2=706800&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/HttpGadgetContextTest.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/servlet/HttpGadgetContextTest.java
 Tue Oct 21 15:32:53 2008
@@ -63,6 +63,13 @@
     assertEquals("foo.org", context.getHost());
   }
 
+  public void testGetUserIp() {
+    expect(request.getRemoteAddr()).andReturn("2.3.4.5");
+    replay();
+    GadgetContext context = new HttpGadgetContext(request);
+    assertEquals("2.3.4.5", context.getUserIp());
+  }
+
   public void testGetSecurityToken() throws Exception {
     SecurityToken expected = new AnonymousSecurityToken();
     
expect(request.getAttribute(AuthInfo.Attribute.SECURITY_TOKEN.getId())).andReturn(expected);


Reply via email to