[kune-commits] r1146 - in trunk: . src/main/java/com/google/gwt/wave/client src/main/java/com/google/gwt/wave/public src/main/java/org/ourproject/kune/app/public/css src/main/java/org/ourproject/kune/chat/client src/main/java/org/ourproject/kune/platf/client/ui/img src/main/java/org/ourproject/kune/platf/client/ui/rte/img src/main/java/org/ourproject/kune/workspace/client/cnt src/test/java/org/ourproject/kune/platf/integration/selenium war/WEB-INF

vjrj vjrj at ourproject.org
Tue Mar 30 02:17:04 CEST 2010


Author: vjrj
Date: 2010-03-30 02:17:04 +0200 (Tue, 30 Mar 2010)
New Revision: 1146

Added:
   trunk/src/main/java/com/google/gwt/wave/public/README
   trunk/src/main/java/com/google/gwt/wave/public/wave_embed.js-pre2.0.0
   trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/ContentAddSeleniumTest.java.txt
   trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/EntityLogoSeleniumTest.java.txt
   trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/KuneSeleniumTestHelper.java.txt
   trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/NewGroupSeleniumTest.java.txt
   trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/SeleniumTestHelper.java.txt
   trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/SignInSeleniumTest.java.txt
   trunk/war/WEB-INF/localhost.cer
   trunk/war/WEB-INF/localhost.key
Removed:
   trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/ContentAddSeleniumTest.java
   trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/EntityLogoSeleniumTest.java
   trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/KuneSeleniumTestHelper.java
   trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/NewGroupSeleniumTest.java
   trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/SeleniumTestHelper.java
   trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/SignInSeleniumTest.java
Modified:
   trunk/TODO
   trunk/pom.xml
   trunk/src/main/java/com/google/gwt/wave/client/WaveEmbed.java
   trunk/src/main/java/com/google/gwt/wave/client/WaveWidget.java
   trunk/src/main/java/com/google/gwt/wave/public/wave_embed.js
   trunk/src/main/java/org/ourproject/kune/app/public/css/workspace.css
   trunk/src/main/java/org/ourproject/kune/chat/client/ChatEngineDefault.java
   trunk/src/main/java/org/ourproject/kune/platf/client/ui/img/kimg.css
   trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/img/RTEImgResources.java
   trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/img/rteimg.css
   trunk/src/main/java/org/ourproject/kune/workspace/client/cnt/FoldableContentPanel.java
Log:
some gwt and wave updates

Modified: trunk/TODO
===================================================================
--- trunk/TODO	2009-12-26 06:18:15 UTC (rev 1145)
+++ trunk/TODO	2010-03-30 00:17:04 UTC (rev 1146)
@@ -147,6 +147,7 @@
 
 ** danigb,vjrj URLs public/workspace braimstorming
    Read this ->  http://googlewebmastercentral.blogspot.com/2009/10/proposal-for-making-ajax-crawlable.html
+http://stackoverflow.com/questions/2430244/making-gwt-application-crawlable-by-a-search-engine
    Nowadays:
    - ws: #group.tool.container.content
    - public (prov): /public/group.tool.container.content.

Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml	2009-12-26 06:18:15 UTC (rev 1145)
+++ trunk/pom.xml	2010-03-30 00:17:04 UTC (rev 1146)
@@ -72,7 +72,7 @@
     <dependency>
       <groupId>com.allen_sauer.gwt.log.gwt-log</groupId>
       <artifactId>gwt-log</artifactId>
-      <version>2.6.2</version>
+      <version>3.0.1</version>
     </dependency>
     <dependency>
       <groupId>com.allen_sauer.gwt.voices.gwt-voices</groupId>
@@ -94,7 +94,7 @@
     <dependency>
       <groupId>com.calclab</groupId>
       <artifactId>suco</artifactId>
-      <version>0.6.1</version>
+      <version>0.6.5</version>
     </dependency>
     <dependency>
       <groupId>jmagick</groupId>
@@ -263,18 +263,16 @@
       <version>1.7.0.0</version>
     </dependency>
 
-    <!-- jetty dependencies -->
-    <!--    <dependency>-->
-    <!--      <groupId>org.mortbay.jetty</groupId>-->
-    <!--      <artifactId>jetty-util</artifactId>-->
-    <!--      <version>6.1.11</version>-->
-    <!--      -->
-    <!--      <version>7.0.0.pre5</version>-->
-    <!--      -->
-    <!--      <scope>provided</scope>-->
-    <!--    </dependency>-->
+<!--     jetty dependencies -->
         <dependency>
           <groupId>org.mortbay.jetty</groupId>
+          <artifactId>jetty-util</artifactId>
+          <version>6.1.11</version>
+<!--          <version>7.0.0.pre5</version>-->
+          <scope>provided</scope>
+        </dependency>
+        <dependency>
+          <groupId>org.mortbay.jetty</groupId>
           <artifactId>maven-jetty-plugin</artifactId>
 <!--            <artifactId>jetty-maven-plugin</artifactId>-->
 <!--            <version>7.0.0.1beta0</version>-->
@@ -292,6 +290,7 @@
     <dependency>
       <groupId>org.mockito</groupId>
       <artifactId>mockito-all</artifactId>
+      <scope>test</scope>
       <version>1.6</version>
     </dependency>
     <dependency>
@@ -308,12 +307,12 @@
         <scope>test</scope>
       -->
     </dependency>
-    <dependency>
-      <groupId>org.openqa.selenium.client-drivers</groupId>
-      <artifactId>selenium-java-client-driver</artifactId>
-      <version>1.0-beta-1</version>
-      <scope>test</scope>
-    </dependency>
+<!--    <dependency>-->
+<!--      <groupId>org.openqa.selenium.client-drivers</groupId>-->
+<!--      <artifactId>selenium-java-client-driver</artifactId>-->
+<!--      <version>1.0-beta-1</version>-->
+<!--      <scope>test</scope>-->
+<!--    </dependency>-->
 
     <!-- public side -->
     <dependency>
@@ -558,7 +557,7 @@
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>gwt-maven-plugin</artifactId>
         <!-- http://mojo.codehaus.org/gwt-maven-plugin/index.html -->
-        <version>1.2-SNAPSHOT</version>
+        <version>1.2</version>
         <executions>
           <execution>
             <configuration>
@@ -592,10 +591,8 @@
       </plugin>
       <plugin>
         <groupId>org.mortbay.jetty</groupId>
-      <!--
-        <artifactId>jetty-maven-plugin</artifactId>
-        <version>7.0.0.1beta0</version>
-      -->
+<!--        <artifactId>jetty-maven-plugin</artifactId>-->
+<!--        <version>7.0.0.1beta0</version>-->
         <artifactId>maven-jetty-plugin</artifactId>
         <version>6.1.11</version> <configuration>
         <contextPath>/</contextPath>
@@ -699,25 +696,25 @@
           </execution>
         </executions>
       </plugin>
+<!--      <plugin>-->
+<!--        <groupId>org.codehaus.mojo</groupId>-->
+<!--        <artifactId>selenium-maven-plugin</artifactId>-->
+<!--        <configuration>-->
+<!--          <port>4441</port>-->
+<!--        </configuration>-->
+<!--        <executions>-->
+<!--          <execution>-->
+<!--            <phase>pre-integration-test</phase>-->
+<!--            <goals>-->
+<!--              <goal>start-server</goal>-->
+<!--            </goals>-->
+<!--            <configuration>-->
+<!--              <background>true</background>-->
+<!--            </configuration>-->
+<!--          </execution>-->
+<!--        </executions>-->
+<!--      </plugin>-->
       <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>selenium-maven-plugin</artifactId>
-        <configuration>
-          <port>4441</port>
-        </configuration>
-        <executions>
-          <execution>
-            <phase>pre-integration-test</phase>
-            <goals>
-              <goal>start-server</goal>
-            </goals>
-            <configuration>
-              <background>true</background>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-plugin</artifactId>
         <configuration>

Modified: trunk/src/main/java/com/google/gwt/wave/client/WaveEmbed.java
===================================================================
--- trunk/src/main/java/com/google/gwt/wave/client/WaveEmbed.java	2009-12-26 06:18:15 UTC (rev 1145)
+++ trunk/src/main/java/com/google/gwt/wave/client/WaveEmbed.java	2010-03-30 00:17:04 UTC (rev 1146)
@@ -9,128 +9,146 @@
 
 final class WaveEmbed extends JavaScriptObject {
 
-  protected WaveEmbed() {
-    // Required by JavaScriptObject types
-  }
+    /**
+     * Creates a new WaveEmbed using the default Wave server URL:
+     * <code>http://wave-devel.corp.google.com/a/google.com/</code>
+     */
+    public static native WaveEmbed newInstance() /*-{
+        return new $wnd.WavePanel();
+    }-*/;
 
-  // Undocumented:
-  //     loadSearch
-  //     setContactProvider
-  //     provideContacts
+    // Undocumented:
+    // loadSearch
+    // setContactProvider
+    // provideContacts
 
-  // Not yet available:
-  //     addParticipant
-  //     addReply
-  
-  /**
-   * Creates a new WaveEmbed using the default Wave server URL:
-   * <code>http://wave-devel.corp.google.com/a/google.com/</code>
-   */
-  public static native WaveEmbed newInstance() /*-{
-    return new $wnd.WavePanel();
-  }-*/;
+    // Not yet available:
+    // addParticipant
+    // addReply
 
-  /**
-   * Creates a new WaveEmbed using the specified Wave server URL.
-   * 
-   * @param serverURL The URL of the Wave server to use
-   */
-  public static native WaveEmbed newInstance(String serverURL) /*-{
-    return new $wnd.WavePanel(serverURL);
-  }-*/;
+    /**
+     * Creates a new WaveEmbed using the specified Wave server URL.
+     * 
+     * @param serverURL
+     *            The URL of the Wave server to use
+     */
+    public static native WaveEmbed newInstance(String serverURL) /*-{
+        // http://code.google.com/p/google-wave-resources/issues/detail?id=486
+        var nwave = new $wnd.WavePanel(serverURL);
+        var uiConfig = new $wnd.WavePanel.UIConfig();
+        uiConfig.setFooterEnabled(true);
+        uiConfig.setHeaderEnabled(true);
+        uiConfig.setToolbarEnabled(true);
+        nwave.setUIConfigObject(uiConfig);
+        return nwave;
+    }-*/;
 
-  /**
-   * Set the UI configuration for the wave. This must be done before init() is
-   * called. Note that fontSize must be expressed in points, such as "12pts".
-   * 
-   * @param bgColor
-   * @param color
-   * @param font
-   * @param fontSize
-   */
-  public native void setUIConfig(String bgColor, String color, String font,
-      String fontSize) /*-{
-    this.setUIConfig(bgColor, color, font, fontSize);
-  }-*/;
+    // Called from JSNI
+    @SuppressWarnings("unused")
+    private static void fireWaveLoadEvent(final HasWaveLoadHandlers source, final String waveId) {
+        final UncaughtExceptionHandler ueh = GWT.getUncaughtExceptionHandler();
+        final WaveLoadEvent event = new WaveLoadEvent(waveId);
 
-  /**
-   * Actually creates the wave &gt;iframe> inside the given container. This is
-   * not done in the constructor so the caller can set various initialization
-   * options before the creation.
-   * 
-   * @param container The container element which will hold the Wave &gt;IFRAME>
-   */
-  public native void init(Element container) /*-{
-    this.init(container);
-  }-*/;
+        if (ueh != null) {
+            try {
+                source.fireEvent(event);
+            } catch (final Exception ex) {
+                ueh.onUncaughtException(ex);
+            }
+        } else {
+            source.fireEvent(event);
+        }
+    }
 
-  /**
-   * Loads the given wave into the wavePanel. This can be called before or after
-   * init.
-   * 
-   * @param waveId The Id of the Wave to load
-   */
-  public native void loadWave(String waveId) /*-{
-    this.loadWave(waveId);
-  }-*/;
+    protected WaveEmbed() {
+        // Required by JavaScriptObject types
+    }
 
-  /**
-   * Loads the given wave into the wavePanel. This can be called before or after
-   * init.
-   * 
-   * @param source An instance of HasWaveLoadHandlers where the WaveLoadEvent
-   *          will be dispatched from
-   * @param waveId The Id of the Wave to load
-   */
-  public native void loadWave(HasWaveLoadHandlers source, String waveId) /*-{
-    this.loadWave(waveId, function() {
+    /**
+     * Adds the current user as a participant to the wave.
+     * <p>
+     * NOTE: Not yet functional in developer sandbox!
+     */
+    public native void addParticipant() /*-{
+        this.addParticipant();
+    }-*/;
+
+    /**
+     * Adds a reply to the currently loaded wave. An empty reply will be added
+     * to the wave.
+     * <p>
+     * NOTE: Not yet functional in developer sandbox!
+     */
+    public native void addReply() /*-{
+        this.addReply();
+    }-*/;
+
+    /**
+     * Returns the ID of the created &lt;iframe>
+     * 
+     * @return the ID of the created &lt;iframe>
+     */
+    public native String getFrameId() /*-{
+        return this.getFrameId();
+    }-*/;
+
+    /**
+     * Actually creates the wave &gt;iframe> inside the given container. This is
+     * not done in the constructor so the caller can set various initialization
+     * options before the creation.
+     * 
+     * @param container
+     *            The container element which will hold the Wave &gt;IFRAME>
+     */
+    public native void init(Element container) /*-{
+        this.init(container);
+    }-*/;
+
+    /**
+     * Loads the given wave into the wavePanel. This can be called before or
+     * after init.
+     * 
+     * @param source
+     *            An instance of HasWaveLoadHandlers where the WaveLoadEvent
+     *            will be dispatched from
+     * @param waveId
+     *            The Id of the Wave to load
+     */
+    public native void loadWave(HasWaveLoadHandlers source, String waveId) /*-{
+        this.loadWave(waveId, function() {
         @com.google.gwt.wave.client.WaveEmbed::fireWaveLoadEvent(Lcom/google/gwt/wave/client/event/HasWaveLoadHandlers;Ljava/lang/String;)(source, waveId);
-    })
-  }-*/;
+        })
+    }-*/;
 
-  // Called from JSNI
-  @SuppressWarnings("unused")
-  private static void fireWaveLoadEvent(HasWaveLoadHandlers source,
-      String waveId) {
-    UncaughtExceptionHandler ueh = GWT.getUncaughtExceptionHandler();
-    WaveLoadEvent event = new WaveLoadEvent(waveId);
+    /**
+     * Loads the given wave into the wavePanel. This can be called before or
+     * after init.
+     * 
+     * @param waveId
+     *            The Id of the Wave to load
+     */
+    public native void loadWave(String waveId) /*-{
+        this.loadWave(waveId);
+    }-*/;
 
-    if (ueh != null) {
-      try {
-        source.fireEvent(event);
-      } catch (Exception ex) {
-        ueh.onUncaughtException(ex);
-      }
-    } else {
-      source.fireEvent(event);
-    }
-  }
+    public native void setEditMode(boolean value) /*-{
+        this.setEditMode(value);
+    }-*/;
 
-  /**
-   * Returns the ID of the created &lt;iframe>
-   * 
-   * @return the ID of the created &lt;iframe>
-   */
-  public native String getFrameId() /*-{
-    return this.getFrameId();
-  }-*/;
+    public native void setToolbarVisible(boolean value) /*-{
+        this.setToolbarVisible(value);
+    }-*/;
 
-  /**
-   * Adds the current user as a participant to the wave.
-   * <p>
-   * NOTE: Not yet functional in developer sandbox!
-   */
-  public native void addParticipant() /*-{
-    this.addParticipant();
-  }-*/;
-
-  /**
-   * Adds a reply to the currently loaded wave. An empty reply will be added to
-   * the wave.
-   * <p>
-   * NOTE: Not yet functional in developer sandbox!
-   */
-  public native void addReply() /*-{
-    this.addReply();
-  }-*/;
+    /**
+     * Set the UI configuration for the wave. This must be done before init() is
+     * called. Note that fontSize must be expressed in points, such as "12pts".
+     * 
+     * @param bgColor
+     * @param color
+     * @param font
+     * @param fontSize
+     */
+    public native void setUIConfig(String bgColor, String color, String font, String fontSize) /*-{
+        this.setUIConfig(bgColor, color, font, fontSize);
+    }-*/;
 }

Modified: trunk/src/main/java/com/google/gwt/wave/client/WaveWidget.java
===================================================================
--- trunk/src/main/java/com/google/gwt/wave/client/WaveWidget.java	2009-12-26 06:18:15 UTC (rev 1145)
+++ trunk/src/main/java/com/google/gwt/wave/client/WaveWidget.java	2010-03-30 00:17:04 UTC (rev 1146)
@@ -18,6 +18,16 @@
         this.waveEmbed = WaveEmbed.newInstance(waveServer);
     }
 
+    // Package protected until this is functional on the developer sandbox
+    public void addParticipant() {
+        waveEmbed.addParticipant();
+    }
+
+    // Package protected until this is functional on the developer sandbox
+    public void addReply() {
+        waveEmbed.addReply();
+    }
+
     public HandlerRegistration addWaveLoadHandler(final WaveLoadHandler handler) {
         return addHandler(handler, WaveLoadEvent.getType());
     }
@@ -35,6 +45,14 @@
         waveEmbed.init(getElement());
     }
 
+    public void setEditMode(final boolean value) {
+        waveEmbed.setEditMode(value);
+    }
+
+    public void setToolbarVisible(final boolean value) {
+        waveEmbed.setToolbarVisible(value);
+    }
+
     /**
      * Set the UI configuration for the wave. This must be done before the panel
      * is attached to the page.
@@ -53,13 +71,4 @@
         waveEmbed.setUIConfig(bgColor, color, font, fontSize);
     }
 
-    // Package protected until this is functional on the developer sandbox
-    void addParticipant() {
-        waveEmbed.addParticipant();
-    }
-
-    // Package protected until this is functional on the developer sandbox
-    void addReply() {
-        waveEmbed.addReply();
-    }
 }

Added: trunk/src/main/java/com/google/gwt/wave/public/README
===================================================================
--- trunk/src/main/java/com/google/gwt/wave/public/README	                        (rev 0)
+++ trunk/src/main/java/com/google/gwt/wave/public/README	2010-03-30 00:17:04 UTC (rev 1146)
@@ -0,0 +1 @@
+wget http://wave-api.appspot.com/public/embed.js

Modified: trunk/src/main/java/com/google/gwt/wave/public/wave_embed.js
===================================================================
--- trunk/src/main/java/com/google/gwt/wave/public/wave_embed.js	2009-12-26 06:18:15 UTC (rev 1145)
+++ trunk/src/main/java/com/google/gwt/wave/public/wave_embed.js	2010-03-30 00:17:04 UTC (rev 1146)
@@ -1,23 +1,22 @@
-// embed.js retreived from http://wave-api.appspot.com/public/embed.js on 2009-06-02
 var a, WAVEPANEL_nextId = 0;
-if(typeof gadgets == "undefined" || !gadgets.rpc)document.write('<script src="http://wave.google.com/gadgets/js/core:rpc?debug=1&c=1" type="text/javascript"><\/script>');
+if(typeof gadgets == "undefined" || !gadgets.rpc)document.write('<script src="https://wave.google.com/gadgets/js/core:rpc?debug=1&c=1" type="text/javascript"><\/script>');
 function WavePanel(b) {
   this.id_ = WAVEPANEL_nextId++;
   this.frameId_ = "iframe_panel_" + this.id_;
   this.eventListeners_ = {};
   this.init_ = false;
-  this.waveRootUrl = b || "http://wave-devel.corp.google.com/a/google.com/"
+  this.waveRootUrl = b || "https://wave.google.com/a/wavesandbox.com/"
 }
 WavePanel.prototype.getId = function() {
   return this.id_
 };
 WavePanel.prototype.setContactProvider = function(b) {
-  if(this.init_)throw"Can only set contact provider before calling init";this.contactProvider_ = b
+  if(this.init_)throw"Can only set profile provider before calling init";this.profileProvider_ = b
 };
 WavePanel.prototype.init = function(b, c) {
   this.init_ = true;
   if(this.initWaveId_ && this.initSearch_)throw"Both an initial wave ID and a search were specified";this.setupRpc_(c);
-  this.createFrame_(b, this.contactProvider_, this.initWaveId_, this.initSearch_, this.uiConfig_);
+  this.createFrame_(b);
   gadgets.rpc.setRelayUrl(this.getFrameId(), this.getRelayUrl_(), false);
   delete this.initSearch_;
   delete this.initWaveId_
@@ -53,45 +52,53 @@
     gadgets.rpc.register("load_wave_done", function() {
       e(this)
     });
-    gadgets.rpc.register("request_contacts", function() {
-      if(!c.contactProvider_)throw"Got a contacts request but no contact provider is set.";c.contactProvider_(this.a[0])
+    gadgets.rpc.register("digest_search_done", function() {
+      e(this)
     });
+    gadgets.rpc.register("request_profiles", function() {
+      if(!c.profileProvider_)throw"Got a profiles request but no profile provider is set.";c.profileProvider_(this.a[0])
+    });
     gadgets.rpc.registerDefault(function() {
-      var d = this.s, f = this.a[0], h = c.eventListeners_[d];
-      if(h)for(var g in h)h[g](f)
+      var d = this.s, f = this.a[0];
+      if(d = c.eventListeners_[d])for(var g in d)d[g](f)
     })
   }
 };
-a.createFrame_ = function(b, c, e, d, f) {
-  var h = document.createElement("div");
-  h.innerHTML = '<iframe name="' + this.frameId_ + '" >';
-  var g = h.firstChild;
-  g.id = this.frameId_;
-  g.width = "100%";
-  g.height = "100%";
-  g.frameBorder = "no";
-  g.scrolling = "no";
-  g.marginHeight = 0;
-  g.marginWidth = 0;
-  g.className = "embed-iframe";
-  g.src = this.iframeUrl_(c, e, d, f);
+a.createFrame_ = function(b) {
+  var c = document.createElement("div");
+  c.innerHTML = '<iframe name="' + this.frameId_ + '" >';
+  c = c.firstChild;
+  c.id = this.frameId_;
+  c.width = "100%";
+  c.height = "100%";
+  c.frameBorder = "no";
+  c.scrolling = "no";
+  c.marginHeight = 0;
+  c.marginWidth = 0;
+  c.className = "embed-iframe";
+  c.src = this.iframeUrl_();
   b = b || document.body;
-  b.appendChild(g);
-  return g
+  b.appendChild(c);
+  return c
 };
-a.iframeUrl_ = function(b, c, e, d) {
-  var f = [];
-  f.push("client.type=embedded");
-  f.push("parent=" + escape("http://" + window.location.host + window.location.pathname));
-  b && f.push("ext_contacts=1");
-  c && f.push("wave_id=" + encodeURIComponent(c));
-  e && f.push("search_query=" + encodeURIComponent(e));
-  if(d) {
-    d.bgcolor && f.push("bgcolor=" + encodeURIComponent(d.bgcolor));
-    d.color && f.push("color=" + encodeURIComponent(d.color));
-    d.font && f.push("font=" + encodeURIComponent(d.font));
-    d.fontsize && f.push("fontsize=" + encodeURIComponent(d.fontsize))
-  }return this.waveRootUrl + "?" + f.join("&")
+a.iframeUrl_ = function() {
+  var b = [];
+  b.push("client.type=embedded");
+  b.push("parent=" + escape(window.location.protocol + "//" + window.location.host + window.location.pathname));
+  this.profileProvider_ && b.push("ext_profiles=1");
+  this.authToken_ && b.push("auth=" + encodeURIComponent(this.authToken_));
+  this.initWaveId_ && b.push("wave_id=" + encodeURIComponent(this.initWaveId_));
+  this.initSearch_ && b.push("search_query=" + encodeURIComponent(this.initSearch_));
+  if(this.uiConfig_) {
+    var c = this.uiConfig_;
+    b.push("bgcolor=" + encodeURIComponent(c.getBgcolor()));
+    b.push("color=" + encodeURIComponent(c.getColor()));
+    b.push("font=" + encodeURIComponent(c.getFont()));
+    b.push("fontsize=" + encodeURIComponent(c.getFontSize()));
+    b.push("embed_header=" + c.getHeaderEnabled());
+    b.push("embed_footer=" + c.getFooterEnabled());
+    b.push("embed_toolbar=" + c.getToolbarEnabled())
+  }return this.waveRootUrl + "?" + b.join("&")
 };
 a.addListener = function(b, c) {
   var e = this.eventListeners_, d = e[b];
@@ -108,35 +115,44 @@
   if(c && c.length > 0) {
     var e = c[c.length - 1];
     b = c[0] + "://";
-    for(var d = 0;d < e.length;++d) {
-      if(e[d] == "/")break;
-      b += e[d]
+    for(c = 0;c < e.length;++c) {
+      if(e[c] == "/")break;
+      b += e[c]
     }b += "/"
   }return b + "gadgets/files/container/rpc_relay.html"
 };
 a.loadWave = function(b, c) {
   if(this.init_) {
-    var e = WavePanel.pushCallback_(c);
-    gadgets.rpc.call(this.getFrameId(), "load_wave", null, e, b)
+    c = WavePanel.pushCallback_(c);
+    gadgets.rpc.call(this.getFrameId(), "load_wave", null, c, b)
   }else this.initWaveId_ = b
 };
 a.loadSearch = function(b, c) {
   if(this.init_) {
-    var e = WavePanel.pushCallback_(c);
-    gadgets.rpc.call(this.getFrameId(), "digest_search", null, e, b)
+    c = WavePanel.pushCallback_(c);
+    gadgets.rpc.call(this.getFrameId(), "digest_search", null, c, b)
   }else this.initSearch_ = b
 };
 a.setUIConfig = function(b, c, e, d) {
-  if(this.init_)throw"Cannot change the UIConfig after Init has been called.";else this.uiConfig_ = {bgcolor:b, color:c, font:e, fontsize:d}
+  if(this.init_)throw"Cannot change the UIConfig after Init has been called.";else {
+    if(!this.uiConfig_)this.uiConfig_ = new WavePanel.UIConfig;
+    this.uiConfig_.setBgcolor(b);
+    this.uiConfig_.setColor(c);
+    this.uiConfig_.setFont(e);
+    this.uiConfig_.setFontSize(d)
+  }
 };
+a.setUIConfigObject = function(b) {
+  if(this.init_)throw"Cannot change the UIConfig after Init has been called.";else this.uiConfig_ = b
+};
 a.addParticipant = function() {
   if(!this.init_)throw"Init not called.";gadgets.rpc.call(this.getFrameId(), "add_participant", null, "")
 };
 a.addReply = function(b, c) {
-  if(!this.init_)throw"Init not called.";var e = WavePanel.pushCallback_(c);
-  gadgets.rpc.call(this.getFrameId(), "add_reply", null, e, b)
+  if(!this.init_)throw"Init not called.";c = WavePanel.pushCallback_(c);
+  gadgets.rpc.call(this.getFrameId(), "add_reply", null, c, b)
 };
-a.provideContacts = function(b) {
+a.provideProfiles = function(b) {
   if(!this.init_)throw"Init not called.";var c = [];
   for(var e in b) {
     var d = b[e];
@@ -145,5 +161,69 @@
     c.push(d.lastName);
     c.push(d.photoUrl)
   }c.unshift(c.length / 4);
-  gadgets.rpc.call(this.getFrameId(), "provide_contacts", null, c)
+  gadgets.rpc.call(this.getFrameId(), "provide_profiles", null, c)
 };
+a.setAuthToken = function(b) {
+  this.authToken_ = b
+};
+a.setContacts = function(b) {
+  if(!this.init_)throw"Init not called.";gadgets.rpc.call(this.getFrameId(), "set_contacts", null, b)
+};
+a.setEditMode = function(b) {
+  if(!this.init_)throw"Init not called.";b = b ? "true" : "false";
+  gadgets.rpc.call(this.getFrameId(), "set_edit_mode", null, b)
+};
+a.setToolbarVisible = function(b) {
+  if(!this.init_)throw"Init not called.";b = b ? "true" : "false";
+  gadgets.rpc.call(this.getFrameId(), "set_toolbar_visible", null, b)
+};
+WavePanel.UIConfig = function() {
+  this.bgcolor_ = "transparent";
+  this.color_ = "black";
+  this.font_ = "Arial";
+  this.fontsize_ = "8pt";
+  this.toolbar_ = this.footer_ = this.header_ = false
+};
+a = WavePanel.UIConfig.prototype;
+a.getBgcolor = function() {
+  return this.bgcolor_
+};
+a.setBgcolor = function(b) {
+  this.bgcolor_ = b
+};
+a.getColor = function() {
+  return this.color_
+};
+a.setColor = function(b) {
+  this.color_ = b
+};
+a.getFont = function() {
+  return this.font_
+};
+a.setFont = function(b) {
+  this.font_ = b
+};
+a.getFontSize = function() {
+  return this.fontsize_
+};
+a.setFontSize = function(b) {
+  this.fontsize_ = b
+};
+a.getHeaderEnabled = function() {
+  return this.header_
+};
+a.setHeaderEnabled = function(b) {
+  this.header_ = b
+};
+a.getFooterEnabled = function() {
+  return this.footer_
+};
+a.setFooterEnabled = function(b) {
+  this.footer_ = b
+};
+a.getToolbarEnabled = function() {
+  return this.toolbar_
+};
+a.setToolbarEnabled = function(b) {
+  this.toolbar_ = b
+};

Added: trunk/src/main/java/com/google/gwt/wave/public/wave_embed.js-pre2.0.0
===================================================================
--- trunk/src/main/java/com/google/gwt/wave/public/wave_embed.js-pre2.0.0	                        (rev 0)
+++ trunk/src/main/java/com/google/gwt/wave/public/wave_embed.js-pre2.0.0	2010-03-30 00:17:04 UTC (rev 1146)
@@ -0,0 +1,149 @@
+// embed.js retreived from http://wave-api.appspot.com/public/embed.js on 2009-06-02
+var a, WAVEPANEL_nextId = 0;
+if(typeof gadgets == "undefined" || !gadgets.rpc)document.write('<script src="http://wave.google.com/gadgets/js/core:rpc?debug=1&c=1" type="text/javascript"><\/script>');
+function WavePanel(b) {
+  this.id_ = WAVEPANEL_nextId++;
+  this.frameId_ = "iframe_panel_" + this.id_;
+  this.eventListeners_ = {};
+  this.init_ = false;
+  this.waveRootUrl = b || "http://wave-devel.corp.google.com/a/google.com/"
+}
+WavePanel.prototype.getId = function() {
+  return this.id_
+};
+WavePanel.prototype.setContactProvider = function(b) {
+  if(this.init_)throw"Can only set contact provider before calling init";this.contactProvider_ = b
+};
+WavePanel.prototype.init = function(b, c) {
+  this.init_ = true;
+  if(this.initWaveId_ && this.initSearch_)throw"Both an initial wave ID and a search were specified";this.setupRpc_(c);
+  this.createFrame_(b, this.contactProvider_, this.initWaveId_, this.initSearch_, this.uiConfig_);
+  gadgets.rpc.setRelayUrl(this.getFrameId(), this.getRelayUrl_(), false);
+  delete this.initSearch_;
+  delete this.initWaveId_
+};
+WavePanel.rpcSetup_ = false;
+WavePanel.callbackQueue_ = {};
+WavePanel.nextCallbackId = 0;
+WavePanel.pushCallback_ = function(b) {
+  if(!b)return"";
+  var c = "" + WavePanel.nextCallbackId;
+  WavePanel.nextCallbackId++;
+  WavePanel.callbackQueue_[c] = b;
+  return c
+};
+WavePanel.popCallback_ = function(b) {
+  if(b == "")return null;
+  var c = WavePanel.callbackQueue_[b];
+  delete WavePanel.callbackQueue_[b];
+  return c
+};
+a = WavePanel.prototype;
+a.setupRpc_ = function(b) {
+  if(!this.rpcSetup_) {
+    this.rpcSetup_ = true;
+    var c = this;
+    gadgets.rpc.register("load_done", function() {
+      b && b()
+    });
+    var e = function(d) {
+      var f = WavePanel.popCallback_(d.a[0]);
+      f && f(d.a[1])
+    };
+    gadgets.rpc.register("load_wave_done", function() {
+      e(this)
+    });
+    gadgets.rpc.register("request_contacts", function() {
+      if(!c.contactProvider_)throw"Got a contacts request but no contact provider is set.";c.contactProvider_(this.a[0])
+    });
+    gadgets.rpc.registerDefault(function() {
+      var d = this.s, f = this.a[0], h = c.eventListeners_[d];
+      if(h)for(var g in h)h[g](f)
+    })
+  }
+};
+a.createFrame_ = function(b, c, e, d, f) {
+  var h = document.createElement("div");
+  h.innerHTML = '<iframe name="' + this.frameId_ + '" >';
+  var g = h.firstChild;
+  g.id = this.frameId_;
+  g.width = "100%";
+  g.height = "100%";
+  g.frameBorder = "no";
+  g.scrolling = "no";
+  g.marginHeight = 0;
+  g.marginWidth = 0;
+  g.className = "embed-iframe";
+  g.src = this.iframeUrl_(c, e, d, f);
+  b = b || document.body;
+  b.appendChild(g);
+  return g
+};
+a.iframeUrl_ = function(b, c, e, d) {
+  var f = [];
+  f.push("client.type=embedded");
+  f.push("parent=" + escape("http://" + window.location.host + window.location.pathname));
+  b && f.push("ext_contacts=1");
+  c && f.push("wave_id=" + encodeURIComponent(c));
+  e && f.push("search_query=" + encodeURIComponent(e));
+  if(d) {
+    d.bgcolor && f.push("bgcolor=" + encodeURIComponent(d.bgcolor));
+    d.color && f.push("color=" + encodeURIComponent(d.color));
+    d.font && f.push("font=" + encodeURIComponent(d.font));
+    d.fontsize && f.push("fontsize=" + encodeURIComponent(d.fontsize))
+  }return this.waveRootUrl + "?" + f.join("&")
+};
+a.addListener = function(b, c) {
+  var e = this.eventListeners_, d = e[b];
+  if(!d) {
+    d = [];
+    e[b] = d
+  }d.push(c)
+};
+a.getFrameId = function() {
+  return this.frameId_
+};
+a.getRelayUrl_ = function() {
+  var b = this.waveRootUrl, c = b.split("://");
+  if(c && c.length > 0) {
+    var e = c[c.length - 1];
+    b = c[0] + "://";
+    for(var d = 0;d < e.length;++d) {
+      if(e[d] == "/")break;
+      b += e[d]
+    }b += "/"
+  }return b + "gadgets/files/container/rpc_relay.html"
+};
+a.loadWave = function(b, c) {
+  if(this.init_) {
+    var e = WavePanel.pushCallback_(c);
+    gadgets.rpc.call(this.getFrameId(), "load_wave", null, e, b)
+  }else this.initWaveId_ = b
+};
+a.loadSearch = function(b, c) {
+  if(this.init_) {
+    var e = WavePanel.pushCallback_(c);
+    gadgets.rpc.call(this.getFrameId(), "digest_search", null, e, b)
+  }else this.initSearch_ = b
+};
+a.setUIConfig = function(b, c, e, d) {
+  if(this.init_)throw"Cannot change the UIConfig after Init has been called.";else this.uiConfig_ = {bgcolor:b, color:c, font:e, fontsize:d}
+};
+a.addParticipant = function() {
+  if(!this.init_)throw"Init not called.";gadgets.rpc.call(this.getFrameId(), "add_participant", null, "")
+};
+a.addReply = function(b, c) {
+  if(!this.init_)throw"Init not called.";var e = WavePanel.pushCallback_(c);
+  gadgets.rpc.call(this.getFrameId(), "add_reply", null, e, b)
+};
+a.provideContacts = function(b) {
+  if(!this.init_)throw"Init not called.";var c = [];
+  for(var e in b) {
+    var d = b[e];
+    c.push(e);
+    c.push(d.firstName);
+    c.push(d.lastName);
+    c.push(d.photoUrl)
+  }c.unshift(c.length / 4);
+  gadgets.rpc.call(this.getFrameId(), "provide_contacts", null, c)
+};

Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/workspace.css
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/public/css/workspace.css	2009-12-26 06:18:15 UTC (rev 1145)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/workspace.css	2010-03-30 00:17:04 UTC (rev 1146)
@@ -549,6 +549,7 @@
 .kune-EditableLabel-high {
   background-color: #FFFBC1;
   cursor: pointer;
+  cursor: hand;
 }
 
 .kune-EditableLabel-high span {

Modified: trunk/src/main/java/org/ourproject/kune/chat/client/ChatEngineDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/chat/client/ChatEngineDefault.java	2009-12-26 06:18:15 UTC (rev 1145)
+++ trunk/src/main/java/org/ourproject/kune/chat/client/ChatEngineDefault.java	2010-03-30 00:17:04 UTC (rev 1146)
@@ -28,7 +28,6 @@
 import org.ourproject.kune.platf.client.actions.Shortcut;
 import org.ourproject.kune.platf.client.app.Application;
 import org.ourproject.kune.platf.client.dto.InitDataDTO;
-import org.ourproject.kune.platf.client.dto.StateToken;
 import org.ourproject.kune.platf.client.dto.UserInfoDTO;
 import org.ourproject.kune.platf.client.i18n.I18nTranslationService;
 import org.ourproject.kune.platf.client.shortcuts.GlobalShortcutRegister;
@@ -191,12 +190,14 @@
         // FIXME: Avatar provider
         final AvatarProvider avatarProvider = new AvatarProvider() {
             public String getAvatarURL(final XmppURI userURI) {
-                if (userURI.getHost().equals(chatOptions.domain)) {
-                    return downloadUtils.get().getLogoImageUrl(new StateToken(userURI.getNode()));
-                } else {
-                    return "";
-                    // return "images/person-def.gif";
-                }
+                // if (userURI.getHost().equals(chatOptions.domain)) {
+                // FIXME
+                // return downloadUtils.get().getLogoImageUrl(new
+                // StateToken(userURI.getNode()));
+                // } else {
+                // return "";
+                // }
+                return "images/person-def.gif";
             }
         };
         final String initialWindowTitle = Window.getTitle();

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/img/kimg.css
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/img/kimg.css	2009-12-26 06:18:15 UTC (rev 1145)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/img/kimg.css	2010-03-30 00:17:04 UTC (rev 1146)
@@ -1,3 +1,4 @@
+ at external k-icon-info,k-icon-language,k-icon-kuneIcon16,k-icon-bug,k-icon-prefs,k-icon-groupHome,k-icon-addGreen,k-icon-maximize,k-icon-minimize;
 
 @sprite div .k-icon-info {
   gwt-image: "info";

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/img/RTEImgResources.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/img/RTEImgResources.java	2009-12-26 06:18:15 UTC (rev 1145)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/img/RTEImgResources.java	2010-03-30 00:17:04 UTC (rev 1146)
@@ -2,7 +2,6 @@
 
 import com.google.gwt.resources.client.ClientBundle;
 import com.google.gwt.resources.client.ImageResource;
-import com.google.gwt.resources.client.CssResource.Strict;
 
 // @PMD:REVIEWED:TooManyMethods: by vjrj on 27/05/09 0:06
 public interface RTEImgResources extends ClientBundle {
@@ -29,7 +28,6 @@
     ImageResource copy();
 
     @Source("rteimg.css")
-    @Strict
     RTEImgCssResource css();
 
     @Source("cut.png")

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/img/rteimg.css
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/img/rteimg.css	2009-12-26 06:18:15 UTC (rev 1145)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/rte/img/rteimg.css	2010-03-30 00:17:04 UTC (rev 1146)
@@ -1,3 +1,4 @@
+ at external k-icon-underline,k-icon-superscript,k-icon-subscript,k-icon-film,k-icon-strikeout,k-icon-removeFormat,k-icon-link,k-icon-linkbreak,k-icon-italic,k-icon-incrementindent,k-icon-images,k-icon-hfixedline,k-icon-fontheight,k-icon-fontcolor,k-icon-edithtml,k-icon-defaultnumbering,k-icon-defaultbullet,k-icon-decrementindent,k-icon-charfontname,k-icon-centerpara,k-icon-bold,k-icon-backcolor,k-icon-alignright,k-icon-alignleft,k-icon-specialchars,k-icon-copy,k-icon-cut,k-icon-insertspreadsheet,k-icon-insertsymbol,k-icon-inserttable,k-icon-paste,k-icon-redo,k-icon-save,k-icon-selectall,k-icon-undo;
 @sprite div .k-icon-underline {
   gwt-image: "underline";
 }

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/cnt/FoldableContentPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/cnt/FoldableContentPanel.java	2009-12-26 06:18:15 UTC (rev 1145)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/cnt/FoldableContentPanel.java	2010-03-30 00:17:04 UTC (rev 1146)
@@ -103,6 +103,8 @@
         });
         waveWidget.loadWave(waveId);
         setWidgetAsContent(waveWidget, false);
+        waveWidget.setToolbarVisible(true);
+        waveWidget.setEditMode(false);
     }
 
     public void setWidgetAsContent(final Widget widget, final boolean setDefMargins) {

Deleted: trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/ContentAddSeleniumTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/ContentAddSeleniumTest.java	2009-12-26 06:18:15 UTC (rev 1145)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/ContentAddSeleniumTest.java	2010-03-30 00:17:04 UTC (rev 1146)
@@ -1,18 +0,0 @@
-package org.ourproject.kune.platf.integration.selenium;
-
-import org.junit.Test;
-import org.ourproject.kune.platf.client.dto.StateToken;
-import org.ourproject.kune.workspace.client.entityheader.EntityTextLogo;
-
-public class ContentAddSeleniumTest extends KuneSeleniumTestHelper {
-    @Test
-    public void wikiEditByAny() throws Exception {
-        String shortname = "g" + genPrefix();
-        String longName = "testing" + genPrefix();
-        newGroupRegistrationDefLicense(shortname, longName, "some description", "tag1 tag2");
-        waitForTextInside(gid(EntityTextLogo.LOGO_NAME), longName);
-        open(new StateToken(shortname, ""));
-        signOut();
-        // TODO: need to add more ids
-    }
-}

Copied: trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/ContentAddSeleniumTest.java.txt (from rev 1140, trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/ContentAddSeleniumTest.java)
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/ContentAddSeleniumTest.java.txt	                        (rev 0)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/ContentAddSeleniumTest.java.txt	2010-03-30 00:17:04 UTC (rev 1146)
@@ -0,0 +1,18 @@
+package org.ourproject.kune.platf.integration.selenium;
+
+import org.junit.Test;
+import org.ourproject.kune.platf.client.dto.StateToken;
+import org.ourproject.kune.workspace.client.entityheader.EntityTextLogo;
+
+public class ContentAddSeleniumTest extends KuneSeleniumTestHelper {
+    @Test
+    public void wikiEditByAny() throws Exception {
+        String shortname = "g" + genPrefix();
+        String longName = "testing" + genPrefix();
+        newGroupRegistrationDefLicense(shortname, longName, "some description", "tag1 tag2");
+        waitForTextInside(gid(EntityTextLogo.LOGO_NAME), longName);
+        open(new StateToken(shortname, ""));
+        signOut();
+        // TODO: need to add more ids
+    }
+}

Deleted: trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/EntityLogoSeleniumTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/EntityLogoSeleniumTest.java	2009-12-26 06:18:15 UTC (rev 1145)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/EntityLogoSeleniumTest.java	2010-03-30 00:17:04 UTC (rev 1146)
@@ -1,31 +0,0 @@
-package org.ourproject.kune.platf.integration.selenium;
-
-import java.io.File;
-import java.io.IOException;
-
-import org.junit.Ignore;
-import org.ourproject.kune.platf.client.ui.download.FileConstants;
-import org.ourproject.kune.workspace.client.options.GroupOptionsPresenter;
-import org.ourproject.kune.workspace.client.options.logo.GroupOptionsLogoPanel;
-
-public class EntityLogoSeleniumTest extends KuneSeleniumTestHelper {
-
-    @Ignore
-    public void testEntityLogoUpload() throws Exception {
-        openDefPage();
-        signIn();
-        setLogo("kune-logo-400px.png");
-        setLogo("kune-logo-without-text.png");
-    }
-
-    private void setLogo(final String filename) throws Exception, IOException {
-        click(gid(GroupOptionsPresenter.GROUP_OPTIONS_ICON));
-        // waitForTextInside(EntityOptionsLogoPanel.PANEL_ID,
-        // PlatfMessages.ENT_OPTIONS_GROUP_TITLE);
-        click(GroupOptionsLogoPanel.BUTTON_ID);
-        final File dir = new File(".");
-        type(FileConstants.GROUP_LOGO_FIELD, dir.getCanonicalPath() + File.separator + "img" + File.separator
-                + filename);
-        click(GroupOptionsLogoPanel.BUTTON_ID);
-    }
-}

Copied: trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/EntityLogoSeleniumTest.java.txt (from rev 1140, trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/EntityLogoSeleniumTest.java)
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/EntityLogoSeleniumTest.java.txt	                        (rev 0)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/EntityLogoSeleniumTest.java.txt	2010-03-30 00:17:04 UTC (rev 1146)
@@ -0,0 +1,31 @@
+package org.ourproject.kune.platf.integration.selenium;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.junit.Ignore;
+import org.ourproject.kune.platf.client.ui.download.FileConstants;
+import org.ourproject.kune.workspace.client.options.GroupOptionsPresenter;
+import org.ourproject.kune.workspace.client.options.logo.GroupOptionsLogoPanel;
+
+public class EntityLogoSeleniumTest extends KuneSeleniumTestHelper {
+
+    @Ignore
+    public void testEntityLogoUpload() throws Exception {
+        openDefPage();
+        signIn();
+        setLogo("kune-logo-400px.png");
+        setLogo("kune-logo-without-text.png");
+    }
+
+    private void setLogo(final String filename) throws Exception, IOException {
+        click(gid(GroupOptionsPresenter.GROUP_OPTIONS_ICON));
+        // waitForTextInside(EntityOptionsLogoPanel.PANEL_ID,
+        // PlatfMessages.ENT_OPTIONS_GROUP_TITLE);
+        click(GroupOptionsLogoPanel.BUTTON_ID);
+        final File dir = new File(".");
+        type(FileConstants.GROUP_LOGO_FIELD, dir.getCanonicalPath() + File.separator + "img" + File.separator
+                + filename);
+        click(GroupOptionsLogoPanel.BUTTON_ID);
+    }
+}

Deleted: trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/KuneSeleniumTestHelper.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/KuneSeleniumTestHelper.java	2009-12-26 06:18:15 UTC (rev 1145)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/KuneSeleniumTestHelper.java	2010-03-30 00:17:04 UTC (rev 1146)
@@ -1,197 +0,0 @@
-package org.ourproject.kune.platf.integration.selenium;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Date;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.ourproject.kune.platf.client.dto.GroupType;
-import org.ourproject.kune.platf.client.dto.StateToken;
-import org.ourproject.kune.platf.server.ServerException;
-import org.ourproject.kune.workspace.client.WorkspaceMessages;
-import org.ourproject.kune.workspace.client.newgroup.NewGroupPanel;
-import org.ourproject.kune.workspace.client.signin.RegisterForm;
-import org.ourproject.kune.workspace.client.signin.RegisterPanel;
-import org.ourproject.kune.workspace.client.signin.SignInForm;
-import org.ourproject.kune.workspace.client.signin.SignInPanel;
-import org.ourproject.kune.workspace.client.site.SiteToken;
-import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignInLinkPanel;
-import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignOutLinkPanel;
-import org.ourproject.kune.workspace.client.sitebar.siteusermenu.SiteUserOptionsPanel;
-import org.ourproject.kune.workspace.client.title.EntityTitlePanel;
-
-import com.thoughtworks.selenium.SeleniumException;
-
-public class KuneSeleniumTestHelper extends SeleniumTestHelper {
-
-    protected static final String KUNE_BASE_URL = "/ws/?locale=en#";
-
-    private static File dirCaptures;
-
-    @BeforeClass
-    public static void beforeKuneClass() {
-        dirCaptures = new File("img/captures/");
-        if (!dirCaptures.exists()) {
-            dirCaptures.mkdir();
-        }
-    }
-
-    private boolean mustCapture;
-
-    @After
-    public void after() throws IOException {
-        if (mustCapture) {
-            selenium.captureEntirePageScreenshot(File.createTempFile("kune", "capture.png", dirCaptures).getAbsolutePath());
-        }
-    }
-
-    @Before
-    public void before() {
-        mustCapture = true;
-        try {
-            selenium.deleteAllVisibleCookies();
-            selenium.refresh();
-            selenium.windowMaximize();
-        } catch (final UnsupportedOperationException e) {
-            throw new ServerException(
-                    "Seems that selenium server is not running; run before: 'mvn selenium:start-server' ");
-        }
-    }
-
-    public void setMustCapture(final boolean mustCapture) {
-        this.mustCapture = mustCapture;
-    }
-
-    protected void fillNewGroup1stPage(final String shortname, final String longName, final String description,
-            final String tags, final GroupType groupType) throws Exception {
-        type(NewGroupPanel.SHORTNAME_FIELD, shortname);
-        type(NewGroupPanel.LONGNAME_FIELD, longName);
-        type(NewGroupPanel.PUBLICDESC_FIELD, description);
-        type(NewGroupPanel.TAGS_FIELD, tags);
-        switch (groupType) {
-        case COMMUNITY:
-            click(NewGroupPanel.COMM_GROUP_TYPE_ID);
-            break;
-        case ORGANIZATION:
-            click(NewGroupPanel.ORG_GROUP_TYPE_ID);
-            break;
-        case PROJECT:
-            click(NewGroupPanel.PROJ_GROUP_TYPE_ID);
-            break;
-        default:
-            fail("Invalid group type");
-            break;
-        }
-    }
-
-    protected long genPrefix() {
-        final long prefix = new Date().getTime();
-        return prefix;
-    }
-
-    protected void ifLoggedSigOut() {
-        if (selenium.getText(gid(SiteSignOutLinkPanel.SITE_SIGN_OUT)).indexOf("admin") > 0) {
-            signOut();
-        }
-    }
-
-    protected void newGroupRegistrationDefLicense(final String shortname, final String longName,
-            final String description, final String tags) throws Exception {
-        final GroupType organization = GroupType.ORGANIZATION;
-        signInAndNewGroup();
-        fillNewGroup1stPage(shortname, longName, description, tags, organization);
-        click(NewGroupPanel.REGISTER_BUTTON);
-    }
-
-    protected void open(final SiteToken token) {
-        open(KUNE_BASE_URL + token.toString());
-    }
-
-    protected void open(final StateToken token) {
-        open(KUNE_BASE_URL + token.toString());
-    }
-
-    @Override
-    protected void open(final String url) {
-        try {
-            selenium.setTimeout("0");
-            super.open(url);
-            selenium.setTimeout("30");
-        } catch (final SeleniumException e) {
-            // TODO Auto-generated method stub
-        }
-    }
-
-    protected void openDefPage() throws Exception {
-        open(KUNE_BASE_URL + "#site");
-        waitForTextInside(gid(EntityTitlePanel.ENTITY_TITLE_RIGHT_TITLE), "Welcome to kune");
-    }
-
-    protected void register(final String shortName, final String longName, final String passwd, final String passwdDup,
-            final String email, final String country, final String language, final String tz, final boolean wantHomepage) {
-        click(gid(SiteSignInLinkPanel.SITE_SIGN_IN));
-        click(gid(SignInPanel.CREATE_ONE));
-        type(RegisterForm.NICK_FIELD, shortName);
-        type(RegisterForm.LONGNAME_FIELD, longName);
-        type(RegisterForm.PASSWORD_FIELD, passwd);
-        type(RegisterForm.PASSWORD_FIELD_DUP, passwdDup);
-        type(RegisterForm.EMAIL_FIELD, email);
-        type(RegisterForm.LANG_FIELD, language);
-        type(RegisterForm.COUNTRY_FIELD, country);
-        type(RegisterForm.TIMEZONE_FIELD, tz);
-        // div[6]/div[1]/div/img
-        click("//div[6]/div[1]/div/img");
-        click("//div[text()='" + language + "']");
-        click("//div[7]/div[1]/div/img");
-        click("//div[text()='" + country + "']");
-        click("//div[8]/div[1]/div/img");
-        click("//div[text()='" + tz + "']");
-        // "xpath=//div\[contains(@style,'visible')\]/div\[@class='x-combo-list-inner']/div[text()='"ItemTextValue"'\]";
-        type("//div[@id='k-regp-p']/div/div/div/div/div/div/div/div/form/div[6]/div/div/input[2]", language);
-        type("//div[@id='k-regp-p']/div/div/div/div/div/div/div/div/form/div[7]/div/div/input[2]", country);
-        type("//div[@id='k-regp-p']/div/div/div/div/div/div/div/div/form/div[8]/div/div/input[2]", tz);
-
-        if (wantHomepage) {
-            click(RegisterForm.WANNAPERSONALHOMEPAGE_ID);
-        } else {
-            click(RegisterForm.NOPERSONALHOMEPAGE_ID);
-        }
-        click(RegisterPanel.REGISTER_BUTTON_ID);
-    }
-
-    protected String registerValidUser(final boolean wantHomepage) {
-        final String shortName = "u" + genPrefix();
-        register(shortName, "some name " + genPrefix(), "somepasswd", "somepasswd", genPrefix() + "@example.com",
-                "Andorra", "English", "MET", wantHomepage);
-        return shortName;
-    }
-
-    protected void signIn() {
-        signIn("admin", "easyeasy");
-    }
-
-    protected void signIn(final String nick, final String passwd) {
-        click(gid(SiteSignInLinkPanel.SITE_SIGN_IN));
-        type(SignInForm.NICKOREMAIL_FIELD, nick);
-        type(SignInForm.PASSWORD_FIELD, passwd);
-        click(SignInPanel.SIGN_IN_BUTTON_ID);
-    }
-
-    protected void signInAndNewGroup() throws Exception {
-        openDefPage();
-        signIn();
-        verifyLoggedUserShorName("admin");
-        open(SiteToken.newgroup);
-        waitForTextInside(NewGroupPanel.NEWGROUP_WIZARD, WorkspaceMessages.REGISTER_A_NEW_GROUP_TITLE);
-    }
-
-    protected void signOut() {
-        click("gwt-debug-k-ssolp-lb");
-    }
-
-    protected void verifyLoggedUserShorName(final String userShortName) throws Exception {
-        waitForTextInside(gid(SiteUserOptionsPanel.LOGGED_USER_MENU), userShortName);
-    }
-}

Copied: trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/KuneSeleniumTestHelper.java.txt (from rev 1140, trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/KuneSeleniumTestHelper.java)
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/KuneSeleniumTestHelper.java.txt	                        (rev 0)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/KuneSeleniumTestHelper.java.txt	2010-03-30 00:17:04 UTC (rev 1146)
@@ -0,0 +1,197 @@
+package org.ourproject.kune.platf.integration.selenium;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Date;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.ourproject.kune.platf.client.dto.GroupType;
+import org.ourproject.kune.platf.client.dto.StateToken;
+import org.ourproject.kune.platf.server.ServerException;
+import org.ourproject.kune.workspace.client.WorkspaceMessages;
+import org.ourproject.kune.workspace.client.newgroup.NewGroupPanel;
+import org.ourproject.kune.workspace.client.signin.RegisterForm;
+import org.ourproject.kune.workspace.client.signin.RegisterPanel;
+import org.ourproject.kune.workspace.client.signin.SignInForm;
+import org.ourproject.kune.workspace.client.signin.SignInPanel;
+import org.ourproject.kune.workspace.client.site.SiteToken;
+import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignInLinkPanel;
+import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignOutLinkPanel;
+import org.ourproject.kune.workspace.client.sitebar.siteusermenu.SiteUserOptionsPanel;
+import org.ourproject.kune.workspace.client.title.EntityTitlePanel;
+
+import com.thoughtworks.selenium.SeleniumException;
+
+public class KuneSeleniumTestHelper extends SeleniumTestHelper {
+
+    protected static final String KUNE_BASE_URL = "/ws/?locale=en#";
+
+    private static File dirCaptures;
+
+    @BeforeClass
+    public static void beforeKuneClass() {
+        dirCaptures = new File("img/captures/");
+        if (!dirCaptures.exists()) {
+            dirCaptures.mkdir();
+        }
+    }
+
+    private boolean mustCapture;
+
+    @After
+    public void after() throws IOException {
+        if (mustCapture) {
+            selenium.captureEntirePageScreenshot(File.createTempFile("kune", "capture.png", dirCaptures).getAbsolutePath());
+        }
+    }
+
+    @Before
+    public void before() {
+        mustCapture = true;
+        try {
+            selenium.deleteAllVisibleCookies();
+            selenium.refresh();
+            selenium.windowMaximize();
+        } catch (final UnsupportedOperationException e) {
+            throw new ServerException(
+                    "Seems that selenium server is not running; run before: 'mvn selenium:start-server' ");
+        }
+    }
+
+    public void setMustCapture(final boolean mustCapture) {
+        this.mustCapture = mustCapture;
+    }
+
+    protected void fillNewGroup1stPage(final String shortname, final String longName, final String description,
+            final String tags, final GroupType groupType) throws Exception {
+        type(NewGroupPanel.SHORTNAME_FIELD, shortname);
+        type(NewGroupPanel.LONGNAME_FIELD, longName);
+        type(NewGroupPanel.PUBLICDESC_FIELD, description);
+        type(NewGroupPanel.TAGS_FIELD, tags);
+        switch (groupType) {
+        case COMMUNITY:
+            click(NewGroupPanel.COMM_GROUP_TYPE_ID);
+            break;
+        case ORGANIZATION:
+            click(NewGroupPanel.ORG_GROUP_TYPE_ID);
+            break;
+        case PROJECT:
+            click(NewGroupPanel.PROJ_GROUP_TYPE_ID);
+            break;
+        default:
+            fail("Invalid group type");
+            break;
+        }
+    }
+
+    protected long genPrefix() {
+        final long prefix = new Date().getTime();
+        return prefix;
+    }
+
+    protected void ifLoggedSigOut() {
+        if (selenium.getText(gid(SiteSignOutLinkPanel.SITE_SIGN_OUT)).indexOf("admin") > 0) {
+            signOut();
+        }
+    }
+
+    protected void newGroupRegistrationDefLicense(final String shortname, final String longName,
+            final String description, final String tags) throws Exception {
+        final GroupType organization = GroupType.ORGANIZATION;
+        signInAndNewGroup();
+        fillNewGroup1stPage(shortname, longName, description, tags, organization);
+        click(NewGroupPanel.REGISTER_BUTTON);
+    }
+
+    protected void open(final SiteToken token) {
+        open(KUNE_BASE_URL + token.toString());
+    }
+
+    protected void open(final StateToken token) {
+        open(KUNE_BASE_URL + token.toString());
+    }
+
+    @Override
+    protected void open(final String url) {
+        try {
+            selenium.setTimeout("0");
+            super.open(url);
+            selenium.setTimeout("30");
+        } catch (final SeleniumException e) {
+            // TODO Auto-generated method stub
+        }
+    }
+
+    protected void openDefPage() throws Exception {
+        open(KUNE_BASE_URL + "#site");
+        waitForTextInside(gid(EntityTitlePanel.ENTITY_TITLE_RIGHT_TITLE), "Welcome to kune");
+    }
+
+    protected void register(final String shortName, final String longName, final String passwd, final String passwdDup,
+            final String email, final String country, final String language, final String tz, final boolean wantHomepage) {
+        click(gid(SiteSignInLinkPanel.SITE_SIGN_IN));
+        click(gid(SignInPanel.CREATE_ONE));
+        type(RegisterForm.NICK_FIELD, shortName);
+        type(RegisterForm.LONGNAME_FIELD, longName);
+        type(RegisterForm.PASSWORD_FIELD, passwd);
+        type(RegisterForm.PASSWORD_FIELD_DUP, passwdDup);
+        type(RegisterForm.EMAIL_FIELD, email);
+        type(RegisterForm.LANG_FIELD, language);
+        type(RegisterForm.COUNTRY_FIELD, country);
+        type(RegisterForm.TIMEZONE_FIELD, tz);
+        // div[6]/div[1]/div/img
+        click("//div[6]/div[1]/div/img");
+        click("//div[text()='" + language + "']");
+        click("//div[7]/div[1]/div/img");
+        click("//div[text()='" + country + "']");
+        click("//div[8]/div[1]/div/img");
+        click("//div[text()='" + tz + "']");
+        // "xpath=//div\[contains(@style,'visible')\]/div\[@class='x-combo-list-inner']/div[text()='"ItemTextValue"'\]";
+        type("//div[@id='k-regp-p']/div/div/div/div/div/div/div/div/form/div[6]/div/div/input[2]", language);
+        type("//div[@id='k-regp-p']/div/div/div/div/div/div/div/div/form/div[7]/div/div/input[2]", country);
+        type("//div[@id='k-regp-p']/div/div/div/div/div/div/div/div/form/div[8]/div/div/input[2]", tz);
+
+        if (wantHomepage) {
+            click(RegisterForm.WANNAPERSONALHOMEPAGE_ID);
+        } else {
+            click(RegisterForm.NOPERSONALHOMEPAGE_ID);
+        }
+        click(RegisterPanel.REGISTER_BUTTON_ID);
+    }
+
+    protected String registerValidUser(final boolean wantHomepage) {
+        final String shortName = "u" + genPrefix();
+        register(shortName, "some name " + genPrefix(), "somepasswd", "somepasswd", genPrefix() + "@example.com",
+                "Andorra", "English", "MET", wantHomepage);
+        return shortName;
+    }
+
+    protected void signIn() {
+        signIn("admin", "easyeasy");
+    }
+
+    protected void signIn(final String nick, final String passwd) {
+        click(gid(SiteSignInLinkPanel.SITE_SIGN_IN));
+        type(SignInForm.NICKOREMAIL_FIELD, nick);
+        type(SignInForm.PASSWORD_FIELD, passwd);
+        click(SignInPanel.SIGN_IN_BUTTON_ID);
+    }
+
+    protected void signInAndNewGroup() throws Exception {
+        openDefPage();
+        signIn();
+        verifyLoggedUserShorName("admin");
+        open(SiteToken.newgroup);
+        waitForTextInside(NewGroupPanel.NEWGROUP_WIZARD, WorkspaceMessages.REGISTER_A_NEW_GROUP_TITLE);
+    }
+
+    protected void signOut() {
+        click("gwt-debug-k-ssolp-lb");
+    }
+
+    protected void verifyLoggedUserShorName(final String userShortName) throws Exception {
+        waitForTextInside(gid(SiteUserOptionsPanel.LOGGED_USER_MENU), userShortName);
+    }
+}

Deleted: trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/NewGroupSeleniumTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/NewGroupSeleniumTest.java	2009-12-26 06:18:15 UTC (rev 1145)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/NewGroupSeleniumTest.java	2010-03-30 00:17:04 UTC (rev 1146)
@@ -1,51 +0,0 @@
-package org.ourproject.kune.platf.integration.selenium;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import org.junit.Test;
-import org.ourproject.kune.platf.client.dto.GroupType;
-import org.ourproject.kune.workspace.client.WorkspaceMessages;
-import org.ourproject.kune.workspace.client.entityheader.EntityTextLogo;
-import org.ourproject.kune.workspace.client.newgroup.NewGroupPanel;
-import org.ourproject.kune.workspace.client.site.SiteToken;
-
-public class NewGroupSeleniumTest extends KuneSeleniumTestHelper {
-
-    @Test
-    public void newGroupBasic() throws Exception {
-        assertFalse(selenium.isTextPresent(NewGroupPanel.NEWGROUP_WIZARD));
-        signInAndNewGroup();
-        click(NewGroupPanel.CANCEL_BUTTON);
-        assertFalse(selenium.isTextPresent(NewGroupPanel.NEWGROUP_WIZARD));
-        open(SiteToken.newgroup);
-        waitForTextInside(NewGroupPanel.NEWGROUP_WIZARD, WorkspaceMessages.REGISTER_A_NEW_GROUP_TITLE);
-    }
-
-    @Test
-    public void newGroupNotLogged() throws Exception {
-        openDefPage();
-        assertFalse(selenium.isTextPresent(NewGroupPanel.NEWGROUP_WIZARD));
-        assertFalse(selenium.isTextPresent(WorkspaceMessages.REGISTER_TO_CREATE_A_GROUP));
-        open(SiteToken.newgroup);
-        wait(1000);
-        assertTrue(selenium.isTextPresent(WorkspaceMessages.REGISTER_TO_CREATE_A_GROUP));
-    }
-
-    @Test
-    public void newGroupWithExistingNicknameFails() throws Exception {
-        signInAndNewGroup();
-        fillNewGroup1stPage("admin", "some long name" + genPrefix(), "some public description", "tag1 tag2 tag3",
-                GroupType.ORGANIZATION);
-        click(NewGroupPanel.REGISTER_BUTTON);
-        waitForTextInside(gid(NewGroupPanel.ERROR_MSG_BAR), WorkspaceMessages.NAME_IN_ALREADY_IN_USE);
-    }
-
-    @Test
-    public void newGroupWithNonOccidentalChars() throws Exception {
-        String longName = "漢語 中文 华语 汉语" + genPrefix();
-        newGroupRegistrationDefLicense("g" + genPrefix(), longName,
-                "吗 台湾 六种辅音韵尾 中国政府要求在中国出售的软件必须使用编码 过 国标 名词的复数形式只在代词及多音节", "漢語 中文 华语 汉语");
-        waitForTextInside(gid(EntityTextLogo.LOGO_NAME), longName);
-    }
-}

Copied: trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/NewGroupSeleniumTest.java.txt (from rev 1140, trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/NewGroupSeleniumTest.java)
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/NewGroupSeleniumTest.java.txt	                        (rev 0)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/NewGroupSeleniumTest.java.txt	2010-03-30 00:17:04 UTC (rev 1146)
@@ -0,0 +1,51 @@
+package org.ourproject.kune.platf.integration.selenium;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+import org.ourproject.kune.platf.client.dto.GroupType;
+import org.ourproject.kune.workspace.client.WorkspaceMessages;
+import org.ourproject.kune.workspace.client.entityheader.EntityTextLogo;
+import org.ourproject.kune.workspace.client.newgroup.NewGroupPanel;
+import org.ourproject.kune.workspace.client.site.SiteToken;
+
+public class NewGroupSeleniumTest extends KuneSeleniumTestHelper {
+
+    @Test
+    public void newGroupBasic() throws Exception {
+        assertFalse(selenium.isTextPresent(NewGroupPanel.NEWGROUP_WIZARD));
+        signInAndNewGroup();
+        click(NewGroupPanel.CANCEL_BUTTON);
+        assertFalse(selenium.isTextPresent(NewGroupPanel.NEWGROUP_WIZARD));
+        open(SiteToken.newgroup);
+        waitForTextInside(NewGroupPanel.NEWGROUP_WIZARD, WorkspaceMessages.REGISTER_A_NEW_GROUP_TITLE);
+    }
+
+    @Test
+    public void newGroupNotLogged() throws Exception {
+        openDefPage();
+        assertFalse(selenium.isTextPresent(NewGroupPanel.NEWGROUP_WIZARD));
+        assertFalse(selenium.isTextPresent(WorkspaceMessages.REGISTER_TO_CREATE_A_GROUP));
+        open(SiteToken.newgroup);
+        wait(1000);
+        assertTrue(selenium.isTextPresent(WorkspaceMessages.REGISTER_TO_CREATE_A_GROUP));
+    }
+
+    @Test
+    public void newGroupWithExistingNicknameFails() throws Exception {
+        signInAndNewGroup();
+        fillNewGroup1stPage("admin", "some long name" + genPrefix(), "some public description", "tag1 tag2 tag3",
+                GroupType.ORGANIZATION);
+        click(NewGroupPanel.REGISTER_BUTTON);
+        waitForTextInside(gid(NewGroupPanel.ERROR_MSG_BAR), WorkspaceMessages.NAME_IN_ALREADY_IN_USE);
+    }
+
+    @Test
+    public void newGroupWithNonOccidentalChars() throws Exception {
+        String longName = "漢語 中文 华语 汉语" + genPrefix();
+        newGroupRegistrationDefLicense("g" + genPrefix(), longName,
+                "吗 台湾 六种辅音韵尾 中国政府要求在中国出售的软件必须使用编码 过 国标 名词的复数形式只在代词及多音节", "漢語 中文 华语 汉语");
+        waitForTextInside(gid(EntityTextLogo.LOGO_NAME), longName);
+    }
+}

Deleted: trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/SeleniumTestHelper.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/SeleniumTestHelper.java	2009-12-26 06:18:15 UTC (rev 1145)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/SeleniumTestHelper.java	2010-03-30 00:17:04 UTC (rev 1146)
@@ -1,141 +0,0 @@
-package org.ourproject.kune.platf.integration.selenium;
-
-import org.junit.AfterClass;
-import org.junit.BeforeClass;
-import org.ourproject.kune.platf.server.ServerException;
-
-import com.google.gwt.user.client.ui.UIObject;
-import com.thoughtworks.selenium.DefaultSelenium;
-
-public class SeleniumTestHelper {
-
-    protected static DefaultSelenium selenium;
-    private static boolean mustStopFinally = true;
-
-    @AfterClass
-    public static void afterClass() {
-        if (mustStopFinally) {
-            selenium.stop();
-        }
-    }
-
-    /**
-     * 
-     * If you get and null in ./content/recorder.js line 74 running test, this
-     * happens when you compile gwt with PRETTY instead of OBF. See:
-     * 
-     * <pre>
-     * http://groups.google.com/group/Google-Web-Toolkit/browse_thread/thread/5d6a9c448a82b916/af62e5877237b107?lnk=raot
-     * </pre>
-     * 
-     * <pre>
-     * http://code.google.com/p/google-web-toolkit/issues/detail?id=2861
-     * </pre>
-     * 
-     * @param url
-     * @return
-     * @throws Exception
-     */
-    @BeforeClass
-    public static void beforeClass() {
-        // ff3 hangs: http://jira.openqa.org/browse/SRC-225
-        // as a workarount use ff2:
-        //
-        // return new DefaultSelenium("localhost", 4441,
-        // "*firefox /usr/lib/firefox-3.0.3/firefox", url);
-
-        // this is a problem... platform dependence ...
-        selenium = new DefaultSelenium("localhost", 4441, "*chrome /usr/lib/firefox/firefox-2-bin",
-                "http://localhost:8080/");
-        selenium.start();
-    }
-
-    public static void setMustStopFinally(final boolean mustStopFinally) {
-        SeleniumTestHelper.mustStopFinally = mustStopFinally;
-    }
-
-    protected void click(final String id) {
-        selenium.click(id);
-    }
-
-    protected void clickOnPushButton(final String id) {
-        selenium.mouseOver(id);
-        selenium.mouseDown(id);
-        selenium.mouseUp(id);
-    }
-
-    protected void fail(final String message) throws Exception {
-        throw new ServerException(message);
-    }
-
-    /**
-     * Returns the debug id with the gwt DEBUG_ID_PREFIX
-     * 
-     * @param id
-     * @return
-     */
-    protected String gid(final String id) {
-        return UIObject.DEBUG_ID_PREFIX + id;
-    }
-
-    protected String linkId(final String link) {
-        return "link=" + link;
-    }
-
-    protected void open(final String url) {
-        try {
-            selenium.open(url);
-        } catch (final UnsupportedOperationException e) {
-            throw new ServerException(
-                    "Seems that selenium server is not running; run before: 'mvn selenium:start-server' ", e);
-        }
-    }
-
-    protected void setSpeed(final int milliseconds) {
-        selenium.setSpeed("" + milliseconds);
-    }
-
-    protected void type(final String id, final String text) {
-        selenium.type(id, text);
-    }
-
-    protected void wait(final int milliseconds) {
-        try {
-            Thread.sleep(milliseconds);
-        } catch (final InterruptedException e) {
-            // TODO Auto-generated catch block
-            e.printStackTrace();
-        }
-    }
-
-    protected void waitForTextInside(final String id, final String text) throws Exception {
-        for (int second = 0;; second++) {
-            if (second >= 60) {
-                fail("timeout");
-            }
-            try {
-                final String selText = selenium.getText(id);
-                if (selText.indexOf(text) >= 0) {
-                    break;
-                }
-            } catch (final Exception e) {
-            }
-            Thread.sleep(1000);
-        }
-    }
-
-    protected void waitForTextRegExp(final String id, final String text) throws Exception {
-        for (int second = 0;; second++) {
-            if (second >= 60) {
-                fail("timeout");
-            }
-            try {
-                if (selenium.getText(id).matches(text)) {
-                    break;
-                }
-            } catch (final Exception e) {
-            }
-            Thread.sleep(1000);
-        }
-    }
-}

Copied: trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/SeleniumTestHelper.java.txt (from rev 1140, trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/SeleniumTestHelper.java)
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/SeleniumTestHelper.java.txt	                        (rev 0)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/SeleniumTestHelper.java.txt	2010-03-30 00:17:04 UTC (rev 1146)
@@ -0,0 +1,141 @@
+package org.ourproject.kune.platf.integration.selenium;
+
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.ourproject.kune.platf.server.ServerException;
+
+import com.google.gwt.user.client.ui.UIObject;
+import com.thoughtworks.selenium.DefaultSelenium;
+
+public class SeleniumTestHelper {
+
+    protected static DefaultSelenium selenium;
+    private static boolean mustStopFinally = true;
+
+    @AfterClass
+    public static void afterClass() {
+        if (mustStopFinally) {
+            selenium.stop();
+        }
+    }
+
+    /**
+     * 
+     * If you get and null in ./content/recorder.js line 74 running test, this
+     * happens when you compile gwt with PRETTY instead of OBF. See:
+     * 
+     * <pre>
+     * http://groups.google.com/group/Google-Web-Toolkit/browse_thread/thread/5d6a9c448a82b916/af62e5877237b107?lnk=raot
+     * </pre>
+     * 
+     * <pre>
+     * http://code.google.com/p/google-web-toolkit/issues/detail?id=2861
+     * </pre>
+     * 
+     * @param url
+     * @return
+     * @throws Exception
+     */
+    @BeforeClass
+    public static void beforeClass() {
+        // ff3 hangs: http://jira.openqa.org/browse/SRC-225
+        // as a workarount use ff2:
+        //
+        // return new DefaultSelenium("localhost", 4441,
+        // "*firefox /usr/lib/firefox-3.0.3/firefox", url);
+
+        // this is a problem... platform dependence ...
+        selenium = new DefaultSelenium("localhost", 4441, "*chrome /usr/lib/firefox/firefox-2-bin",
+                "http://localhost:8080/");
+        selenium.start();
+    }
+
+    public static void setMustStopFinally(final boolean mustStopFinally) {
+        SeleniumTestHelper.mustStopFinally = mustStopFinally;
+    }
+
+    protected void click(final String id) {
+        selenium.click(id);
+    }
+
+    protected void clickOnPushButton(final String id) {
+        selenium.mouseOver(id);
+        selenium.mouseDown(id);
+        selenium.mouseUp(id);
+    }
+
+    protected void fail(final String message) throws Exception {
+        throw new ServerException(message);
+    }
+
+    /**
+     * Returns the debug id with the gwt DEBUG_ID_PREFIX
+     * 
+     * @param id
+     * @return
+     */
+    protected String gid(final String id) {
+        return UIObject.DEBUG_ID_PREFIX + id;
+    }
+
+    protected String linkId(final String link) {
+        return "link=" + link;
+    }
+
+    protected void open(final String url) {
+        try {
+            selenium.open(url);
+        } catch (final UnsupportedOperationException e) {
+            throw new ServerException(
+                    "Seems that selenium server is not running; run before: 'mvn selenium:start-server' ", e);
+        }
+    }
+
+    protected void setSpeed(final int milliseconds) {
+        selenium.setSpeed("" + milliseconds);
+    }
+
+    protected void type(final String id, final String text) {
+        selenium.type(id, text);
+    }
+
+    protected void wait(final int milliseconds) {
+        try {
+            Thread.sleep(milliseconds);
+        } catch (final InterruptedException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }
+    }
+
+    protected void waitForTextInside(final String id, final String text) throws Exception {
+        for (int second = 0;; second++) {
+            if (second >= 60) {
+                fail("timeout");
+            }
+            try {
+                final String selText = selenium.getText(id);
+                if (selText.indexOf(text) >= 0) {
+                    break;
+                }
+            } catch (final Exception e) {
+            }
+            Thread.sleep(1000);
+        }
+    }
+
+    protected void waitForTextRegExp(final String id, final String text) throws Exception {
+        for (int second = 0;; second++) {
+            if (second >= 60) {
+                fail("timeout");
+            }
+            try {
+                if (selenium.getText(id).matches(text)) {
+                    break;
+                }
+            } catch (final Exception e) {
+            }
+            Thread.sleep(1000);
+        }
+    }
+}

Deleted: trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/SignInSeleniumTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/SignInSeleniumTest.java	2009-12-26 06:18:15 UTC (rev 1145)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/SignInSeleniumTest.java	2010-03-30 00:17:04 UTC (rev 1146)
@@ -1,141 +0,0 @@
-package org.ourproject.kune.platf.integration.selenium;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
-import org.junit.Test;
-import org.ourproject.kune.platf.client.PlatfMessages;
-import org.ourproject.kune.platf.client.state.Session;
-import org.ourproject.kune.workspace.client.nohomepage.NoHomePagePanel;
-import org.ourproject.kune.workspace.client.signin.RegisterPanel;
-import org.ourproject.kune.workspace.client.signin.SignInForm;
-import org.ourproject.kune.workspace.client.signin.SignInPanel;
-import org.ourproject.kune.workspace.client.site.SiteToken;
-import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignInLinkPanel;
-import org.ourproject.kune.workspace.client.sitebar.siteusermenu.SiteUserOptionsPanel;
-import org.ourproject.kune.workspace.client.title.EntityTitlePanel;
-
-public class SignInSeleniumTest extends KuneSeleniumTestHelper {
-
-    @Test
-    public void registerAdminNameMustFail() throws Exception {
-        openDefPage();
-        register("u" + genPrefix(), "Site Administrator", "somepasswd", "somepasswd", "some" + genPrefix()
-                + "@example.com", "Andorra", "Afrikaans", "MIT", true);
-        waitForTextInside(gid(RegisterPanel.ERRMSG), PlatfMessages.NAME_IN_USE);
-        click(RegisterPanel.CANCEL_BUTTON_ID);
-    }
-
-    @Test
-    public void registerAdminNicknameMustFail() throws Exception {
-        openDefPage();
-        register("admin", "some name" + genPrefix(), "somepasswd", "somepasswd", "some" + genPrefix() + "@example.com",
-                "Andorra", "Afrikaans", "MIT", true);
-        waitForTextInside(gid(RegisterPanel.ERRMSG), PlatfMessages.NAME_IN_USE);
-        click(RegisterPanel.CANCEL_BUTTON_ID);
-    }
-
-    @Test
-    public void registerSomeUser() throws Exception {
-        openDefPage();
-        String user = registerValidUser(true);
-        verifyLoggedUserShorName(user);
-    }
-
-    @Test
-    public void registerSomeUserWithouHomepage() throws Exception {
-        openDefPage();
-        registerValidUser(false);
-        selenium.isTextPresent("Welcome");
-        click(RegisterPanel.WELCOME_OK_BUTTON);
-        clickOnPushButton(gid(SiteUserOptionsPanel.LOGGED_USER_MENU));
-        click(linkId(PlatfMessages.YOUR_HOMEPAGE));
-        waitForTextInside(gid(NoHomePagePanel.NO_HOME_PAGE_LABEL), PlatfMessages.USER_DOESN_T_HAVE_A_HOMEPAGE);
-    }
-
-    @Test
-    public void registerUserWithNonOccidentalChars() throws Exception {
-        openDefPage();
-        String user = "u" + genPrefix();
-        register(user, "漢語 中文 华语 汉语" + genPrefix() + genPrefix(), "somepasswd", "somepasswd", genPrefix()
-                + "@example.com", "Andorra", "English", "MET", true);
-        verifyLoggedUserShorName(user);
-    }
-
-    @Test
-    public void testFocusOnNickAndSignInWithIntro() throws Exception {
-        openDefPage();
-        click(gid(SiteSignInLinkPanel.SITE_SIGN_IN));
-        selenium.keyPress(SignInForm.NICKOREMAIL_FIELD, "\\97");
-        selenium.keyPress(SignInForm.NICKOREMAIL_FIELD, "\\100");
-        selenium.keyPress(SignInForm.NICKOREMAIL_FIELD, "\\109");
-        selenium.keyPress(SignInForm.NICKOREMAIL_FIELD, "\\105");
-        selenium.keyPress(SignInForm.NICKOREMAIL_FIELD, "\\110");
-        type(SignInForm.PASSWORD_FIELD, "easyeasy");
-        selenium.keyPress(SignInForm.PASSWORD_FIELD, "\\13");
-        verifyLoggedUserShorName("admin");
-    }
-
-    @Test
-    public void testRegisterToken() throws Exception {
-        open(SiteToken.register);
-        assertFalse(selenium.isTextPresent(PlatfMessages.REGISTER_TITLE));
-        waitForTextInside(gid(EntityTitlePanel.ENTITY_TITLE_RIGHT_TITLE), "Welcome to kune");
-        assertTrue(selenium.isTextPresent(PlatfMessages.REGISTER_TITLE));
-    }
-
-    @Test
-    public void testSignInAndOut() throws Exception {
-        openDefPage();
-        signIn();
-        verifyLoggedUserShorName("admin");
-        signOut();
-    }
-
-    @Test
-    public void testSignInAndOutRemovingCookie() throws Exception {
-        openDefPage();
-        signIn();
-        assertNotNull(selenium.getCookieByName(Session.USERHASH));
-        verifyLoggedUserShorName("admin");
-        signOut();
-    }
-
-    @Test
-    public void testSignInFailed() throws Exception {
-        openDefPage();
-        signIn("something", "wrong");
-        waitForTextInside(gid(SignInPanel.ERROR_MSG), PlatfMessages.INCORRECT_NICKNAME_EMAIL_OR_PASSWORD);
-        signOut();
-    }
-
-    @Test
-    public void testSignInOutTwice() throws Exception {
-        openDefPage();
-        signIn();
-        verifyLoggedUserShorName("admin");
-        signOut();
-        signIn();
-        verifyLoggedUserShorName("admin");
-        signOut();
-    }
-
-    @Test
-    public void testSignInRemember() throws Exception {
-        openDefPage();
-        signIn();
-        verifyLoggedUserShorName("admin");
-        selenium.refresh();
-        verifyLoggedUserShorName("admin");
-        signOut();
-    }
-
-    @Test
-    public void testSignInToken() throws Exception {
-        open(SiteToken.signin);
-        assertFalse(selenium.isTextPresent(PlatfMessages.SIGN_IN_TITLE));
-        waitForTextInside(gid(EntityTitlePanel.ENTITY_TITLE_RIGHT_TITLE), "Welcome to kune");
-        assertTrue(selenium.isTextPresent(PlatfMessages.SIGN_IN_TITLE));
-    }
-}

Copied: trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/SignInSeleniumTest.java.txt (from rev 1140, trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/SignInSeleniumTest.java)
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/SignInSeleniumTest.java.txt	                        (rev 0)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/SignInSeleniumTest.java.txt	2010-03-30 00:17:04 UTC (rev 1146)
@@ -0,0 +1,141 @@
+package org.ourproject.kune.platf.integration.selenium;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+import org.ourproject.kune.platf.client.PlatfMessages;
+import org.ourproject.kune.platf.client.state.Session;
+import org.ourproject.kune.workspace.client.nohomepage.NoHomePagePanel;
+import org.ourproject.kune.workspace.client.signin.RegisterPanel;
+import org.ourproject.kune.workspace.client.signin.SignInForm;
+import org.ourproject.kune.workspace.client.signin.SignInPanel;
+import org.ourproject.kune.workspace.client.site.SiteToken;
+import org.ourproject.kune.workspace.client.sitebar.sitesign.SiteSignInLinkPanel;
+import org.ourproject.kune.workspace.client.sitebar.siteusermenu.SiteUserOptionsPanel;
+import org.ourproject.kune.workspace.client.title.EntityTitlePanel;
+
+public class SignInSeleniumTest extends KuneSeleniumTestHelper {
+
+    @Test
+    public void registerAdminNameMustFail() throws Exception {
+        openDefPage();
+        register("u" + genPrefix(), "Site Administrator", "somepasswd", "somepasswd", "some" + genPrefix()
+                + "@example.com", "Andorra", "Afrikaans", "MIT", true);
+        waitForTextInside(gid(RegisterPanel.ERRMSG), PlatfMessages.NAME_IN_USE);
+        click(RegisterPanel.CANCEL_BUTTON_ID);
+    }
+
+    @Test
+    public void registerAdminNicknameMustFail() throws Exception {
+        openDefPage();
+        register("admin", "some name" + genPrefix(), "somepasswd", "somepasswd", "some" + genPrefix() + "@example.com",
+                "Andorra", "Afrikaans", "MIT", true);
+        waitForTextInside(gid(RegisterPanel.ERRMSG), PlatfMessages.NAME_IN_USE);
+        click(RegisterPanel.CANCEL_BUTTON_ID);
+    }
+
+    @Test
+    public void registerSomeUser() throws Exception {
+        openDefPage();
+        String user = registerValidUser(true);
+        verifyLoggedUserShorName(user);
+    }
+
+    @Test
+    public void registerSomeUserWithouHomepage() throws Exception {
+        openDefPage();
+        registerValidUser(false);
+        selenium.isTextPresent("Welcome");
+        click(RegisterPanel.WELCOME_OK_BUTTON);
+        clickOnPushButton(gid(SiteUserOptionsPanel.LOGGED_USER_MENU));
+        click(linkId(PlatfMessages.YOUR_HOMEPAGE));
+        waitForTextInside(gid(NoHomePagePanel.NO_HOME_PAGE_LABEL), PlatfMessages.USER_DOESN_T_HAVE_A_HOMEPAGE);
+    }
+
+    @Test
+    public void registerUserWithNonOccidentalChars() throws Exception {
+        openDefPage();
+        String user = "u" + genPrefix();
+        register(user, "漢語 中文 华语 汉语" + genPrefix() + genPrefix(), "somepasswd", "somepasswd", genPrefix()
+                + "@example.com", "Andorra", "English", "MET", true);
+        verifyLoggedUserShorName(user);
+    }
+
+    @Test
+    public void testFocusOnNickAndSignInWithIntro() throws Exception {
+        openDefPage();
+        click(gid(SiteSignInLinkPanel.SITE_SIGN_IN));
+        selenium.keyPress(SignInForm.NICKOREMAIL_FIELD, "\\97");
+        selenium.keyPress(SignInForm.NICKOREMAIL_FIELD, "\\100");
+        selenium.keyPress(SignInForm.NICKOREMAIL_FIELD, "\\109");
+        selenium.keyPress(SignInForm.NICKOREMAIL_FIELD, "\\105");
+        selenium.keyPress(SignInForm.NICKOREMAIL_FIELD, "\\110");
+        type(SignInForm.PASSWORD_FIELD, "easyeasy");
+        selenium.keyPress(SignInForm.PASSWORD_FIELD, "\\13");
+        verifyLoggedUserShorName("admin");
+    }
+
+    @Test
+    public void testRegisterToken() throws Exception {
+        open(SiteToken.register);
+        assertFalse(selenium.isTextPresent(PlatfMessages.REGISTER_TITLE));
+        waitForTextInside(gid(EntityTitlePanel.ENTITY_TITLE_RIGHT_TITLE), "Welcome to kune");
+        assertTrue(selenium.isTextPresent(PlatfMessages.REGISTER_TITLE));
+    }
+
+    @Test
+    public void testSignInAndOut() throws Exception {
+        openDefPage();
+        signIn();
+        verifyLoggedUserShorName("admin");
+        signOut();
+    }
+
+    @Test
+    public void testSignInAndOutRemovingCookie() throws Exception {
+        openDefPage();
+        signIn();
+        assertNotNull(selenium.getCookieByName(Session.USERHASH));
+        verifyLoggedUserShorName("admin");
+        signOut();
+    }
+
+    @Test
+    public void testSignInFailed() throws Exception {
+        openDefPage();
+        signIn("something", "wrong");
+        waitForTextInside(gid(SignInPanel.ERROR_MSG), PlatfMessages.INCORRECT_NICKNAME_EMAIL_OR_PASSWORD);
+        signOut();
+    }
+
+    @Test
+    public void testSignInOutTwice() throws Exception {
+        openDefPage();
+        signIn();
+        verifyLoggedUserShorName("admin");
+        signOut();
+        signIn();
+        verifyLoggedUserShorName("admin");
+        signOut();
+    }
+
+    @Test
+    public void testSignInRemember() throws Exception {
+        openDefPage();
+        signIn();
+        verifyLoggedUserShorName("admin");
+        selenium.refresh();
+        verifyLoggedUserShorName("admin");
+        signOut();
+    }
+
+    @Test
+    public void testSignInToken() throws Exception {
+        open(SiteToken.signin);
+        assertFalse(selenium.isTextPresent(PlatfMessages.SIGN_IN_TITLE));
+        waitForTextInside(gid(EntityTitlePanel.ENTITY_TITLE_RIGHT_TITLE), "Welcome to kune");
+        assertTrue(selenium.isTextPresent(PlatfMessages.SIGN_IN_TITLE));
+    }
+}

Added: trunk/war/WEB-INF/localhost.cer
===================================================================
--- trunk/war/WEB-INF/localhost.cer	                        (rev 0)
+++ trunk/war/WEB-INF/localhost.cer	2010-03-30 00:17:04 UTC (rev 1146)
@@ -0,0 +1,18 @@
+-----BEGIN CERTIFICATE-----
+MIIC7zCCAligAwIBAgIJAP5zJqYmGz7vMA0GCSqGSIb3DQEBBQUAMFkxCzAJBgNV
+BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX
+aWRnaXRzIFB0eSBMdGQxEjAQBgNVBAMTCWxvY2FsaG9zdDAeFw0wOTA4MDUxMDI2
+MDBaFw0xMDA4MDUxMDI2MDBaMFkxCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21l
+LVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxEjAQBgNV
+BAMTCWxvY2FsaG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0mHausYX
+KTlrz/fdhYA/63L8PZFwjtqCEdUh+5BFSqFlE34uhwmoIFzZat5z80tAQGjyp1EL
+Ai2BegqCOHWaeOKNnwSm93a31fMy6N4rygUgs2rCjVtz6yqMCBd7c9KENifMTWY0
+agIz6C4Pk+YLnkx7rrDGyW5/jaIKNrjFioUCAwEAAaOBvjCBuzAdBgNVHQ4EFgQU
+Aob17ojAhUn47dxkKOogj+NWtxUwgYsGA1UdIwSBgzCBgIAUAob17ojAhUn47dxk
+KOogj+NWtxWhXaRbMFkxCzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRl
+MSEwHwYDVQQKExhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxEjAQBgNVBAMTCWxv
+Y2FsaG9zdIIJAP5zJqYmGz7vMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD
+gYEANGKOujn47HIf0rYEq0Z8mnzfUet+7AtzGjueLymKSRI9PGSdgtJd/C7lQEsD
+bqzIb4gu8NDE5wJjcEOikrQ6jawK/ws6s/H+BCKtrefCmbaNsv3hmC4uaQfmCkiE
+U3gN9MsqSncdzBX/5kXZn7gzS0j/KVukDOykjLAAsbp4Ad4=
+-----END CERTIFICATE-----

Added: trunk/war/WEB-INF/localhost.key
===================================================================
--- trunk/war/WEB-INF/localhost.key	                        (rev 0)
+++ trunk/war/WEB-INF/localhost.key	2010-03-30 00:17:04 UTC (rev 1146)
@@ -0,0 +1,16 @@
+-----BEGIN PRIVATE KEY-----
+MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBANJh2rrGFyk5a8/3
+3YWAP+ty/D2RcI7aghHVIfuQRUqhZRN+LocJqCBc2Wrec/NLQEBo8qdRCwItgXoK
+gjh1mnjijZ8Epvd2t9XzMujeK8oFILNqwo1bc+sqjAgXe3PShDYnzE1mNGoCM+gu
+D5PmC55Me66wxsluf42iCja4xYqFAgMBAAECgYEAuJ/JXQlEABh1JbAGxgaTkaN5
++unslmDpro6U4Pht5p2WXzHn0PfHhIcXAfMwXD0YqK2w7OZxO7sFmj0opDWIlZ9t
+H5ruSlV1YOEmuReeGqWJRNKEVnr6BXUFtEmTRZxF2XrxGEci71afH7EziC+uNYKm
+53XPKvg4/qeHE+Ig+w0CQQD2GdwkHIRKvn2KyNrI0ag4uuX7tWDk2avkRpwnjRBk
+E+Z7GYiXpwGZrJktJ2lbsc3r4pU6yEPmtdLah9DJrW93AkEA2tgxWtdwyFlosBj/
+h/Eq+VCVCLR+OtbDaD8IZ0cijHtnllL99XRivnOrLUeTQfWxaUM7Qoky3tk6p5Pw
+Oxbs4wJBAIM/93Aq5UMXpMzHoidH6XeX9d/wM+TZUhtErTNKwFsfYeR1EawPnYLf
+0jGKu13zzebnyL64373DatixZmCo5rECQFRNgAW8hGfJeXiMyLL3hlRwZFjsHsxP
+uwrHbVdLodV4HFleMxKA+SDgsgpJTkLUgLlJ+uQQshYCnIO9i4dXt30CQBsJJ+pD
+9DjZXSRvklLZBqpFnFMIi+jW12GQrpNb7HO16pZNdy+Ljc0b/YZL+6nAYjbwg30c
+4X+49VVcDxiJMws=
+-----END PRIVATE KEY-----




More information about the kune-commits mailing list