[kune-commits] r1861 - in trunk: debian img/screenshots src/main/java/cc/kune/core/server src/main/java/cc/kune/core/server/properties src/main/java/cc/kune/core/server/rack src/main/java/cc/kune/wave/server src/main/java/org/waveprotocol/box/server src/main/java/org/waveprotocol/box/server/waveserver src/main/resources src/test/java/cc/kune/selenium

Vicente J. Ruiz Jurado vjrj_ at ourproject.org
Tue May 1 15:48:27 CEST 2012


Author: vjrj_
Date: 2012-05-01 15:48:27 +0200 (Tue, 01 May 2012)
New Revision: 1861

Added:
   trunk/src/main/java/org/waveprotocol/box/server/waveserver/
   trunk/src/main/java/org/waveprotocol/box/server/waveserver/CustomImportServlet.java
Modified:
   trunk/debian/changelog
   trunk/debian/files
   trunk/debian/kune.init
   trunk/img/screenshots/kune-chat-sele.png
   trunk/img/screenshots/kune-groupOptions-sele.png
   trunk/img/screenshots/kune-home-stats-sele.png
   trunk/img/screenshots/kune-inbox-sele.png
   trunk/img/screenshots/kune-newgroup-sele.png
   trunk/img/screenshots/kune-register-sele.png
   trunk/img/screenshots/kune-social-net-sele.png
   trunk/img/screenshots/kune-socialNetOptions-sele.png
   trunk/img/screenshots/kune-tutorials-sele.png
   trunk/src/main/java/cc/kune/core/server/KuneRackModule.java
   trunk/src/main/java/cc/kune/core/server/properties/KuneProperties.java
   trunk/src/main/java/cc/kune/core/server/rack/RackServletFilter.java
   trunk/src/main/java/cc/kune/wave/server/WaveMain.java
   trunk/src/main/resources/kune-production.properties
   trunk/src/main/resources/kune.properties
   trunk/src/main/resources/wave-server.properties
   trunk/src/test/java/cc/kune/selenium/KuneSeleniumTest.java
   trunk/src/test/java/cc/kune/selenium/SeleniumConf.java
Log:
NEW - # 260: Google Wave Import usernames translation 
http://kune.ourproject.org/issues/ticket/260

Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog	2012-04-26 01:26:03 UTC (rev 1860)
+++ trunk/debian/changelog	2012-05-01 13:48:27 UTC (rev 1861)
@@ -1,3 +1,10 @@
+kune (0.2.0+b4) unstable; urgency=low
+
+  * Added some kune.wave.import.usernamespairs param
+  * Fixed status init function
+
+ -- Vicente J. Ruiz Jurado <vjrj at ourproject.org>  Mon, 30 Apr 2012 22:19:50 +0200
+
 kune (0.2.0+b3) unstable; urgency=low
 
   * Init loging fixed. Other minor changes

Modified: trunk/debian/files
===================================================================
--- trunk/debian/files	2012-04-26 01:26:03 UTC (rev 1860)
+++ trunk/debian/files	2012-05-01 13:48:27 UTC (rev 1861)
@@ -1 +1 @@
-kune_0.2.0+b3_all.deb java optional
+kune_0.2.0+b4_all.deb java optional

Modified: trunk/debian/kune.init
===================================================================
--- trunk/debian/kune.init	2012-04-26 01:26:03 UTC (rev 1860)
+++ trunk/debian/kune.init	2012-05-01 13:48:27 UTC (rev 1861)
@@ -131,7 +131,7 @@
     esac
     ;;
     status)
-    status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+    status_of_proc "$NAME" "$NAME" && exit 0 || exit $?
     ;;
     reload|force-reload)
     #

Modified: trunk/img/screenshots/kune-chat-sele.png
===================================================================
(Binary files differ)

Modified: trunk/img/screenshots/kune-groupOptions-sele.png
===================================================================
(Binary files differ)

Modified: trunk/img/screenshots/kune-home-stats-sele.png
===================================================================
(Binary files differ)

Modified: trunk/img/screenshots/kune-inbox-sele.png
===================================================================
(Binary files differ)

Modified: trunk/img/screenshots/kune-newgroup-sele.png
===================================================================
(Binary files differ)

Modified: trunk/img/screenshots/kune-register-sele.png
===================================================================
(Binary files differ)

Modified: trunk/img/screenshots/kune-social-net-sele.png
===================================================================
(Binary files differ)

Modified: trunk/img/screenshots/kune-socialNetOptions-sele.png
===================================================================
(Binary files differ)

Modified: trunk/img/screenshots/kune-tutorials-sele.png
===================================================================
(Binary files differ)

Modified: trunk/src/main/java/cc/kune/core/server/KuneRackModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/KuneRackModule.java	2012-04-26 01:26:03 UTC (rev 1860)
+++ trunk/src/main/java/cc/kune/core/server/KuneRackModule.java	2012-05-01 13:48:27 UTC (rev 1861)
@@ -187,7 +187,6 @@
         if (!kuneProperties.getBoolean(KuneProperties.SITE_OPENFIRE_IGNORE)) {
           filter("/*").through(DataSourceOpenfirePersistModule.MY_DATA_SOURCE_TWO_FILTER_KEY);
         }
-
         super.configureServlets();
       }
     });

Modified: trunk/src/main/java/cc/kune/core/server/properties/KuneProperties.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/properties/KuneProperties.java	2012-04-26 01:26:03 UTC (rev 1860)
+++ trunk/src/main/java/cc/kune/core/server/properties/KuneProperties.java	2012-05-01 13:48:27 UTC (rev 1861)
@@ -69,6 +69,7 @@
   String SITE_URL = "kune.siteurl";
   String SITE_USER_AVAILABLE_TOOLS = "kune.tools.userSiteAvailableTools";
   String SITE_USER_REGIST_ENABLED_TOOLS = "kune.tools.userRegisEnabledTools";
+  String SITE_WAVE_IMPORT_USERNAME_PAIRS = "kune.wave.import.usernamespairs";
   String UI_TRANSLATOR_ENABLED = "kune.ui-translator.enabled";
   String UPLOAD_DELAY_FOR_TEST = "kune.upload.delayfortest";
   String UPLOAD_GALLERY_PERMITTED_EXTS = "kune.upload.gallerypermittedextensions";

Modified: trunk/src/main/java/cc/kune/core/server/rack/RackServletFilter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rack/RackServletFilter.java	2012-04-26 01:26:03 UTC (rev 1860)
+++ trunk/src/main/java/cc/kune/core/server/rack/RackServletFilter.java	2012-05-01 13:48:27 UTC (rev 1861)
@@ -35,8 +35,10 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.waveprotocol.box.server.rpc.ServerRpcProvider;
+import org.waveprotocol.box.server.waveserver.CustomImportServlet;
 
 import cc.kune.core.server.error.ServerException;
+import cc.kune.core.server.properties.KuneProperties;
 import cc.kune.core.server.rack.dock.Dock;
 import cc.kune.core.server.rack.dock.RequestMatcher;
 import cc.kune.core.server.rack.utils.RackHelper;
@@ -173,6 +175,8 @@
     excludes = rack.getExcludes();
     initFilters(filterConfig);
     LOG.debug("INITIALIZATION DONE!");
+    kuneChildInjector.getInstance(CustomImportServlet.class).init(
+        kuneChildInjector.getInstance(KuneProperties.class));
 
     // Uncomment to generate the graph
     // graph("docs/wave-guice-graph.dot", injector);

Modified: trunk/src/main/java/cc/kune/wave/server/WaveMain.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/server/WaveMain.java	2012-04-26 01:26:03 UTC (rev 1860)
+++ trunk/src/main/java/cc/kune/wave/server/WaveMain.java	2012-05-01 13:48:27 UTC (rev 1861)
@@ -59,7 +59,7 @@
 import org.waveprotocol.box.server.rpc.SignOutServlet;
 import org.waveprotocol.box.server.rpc.UserRegistrationServlet;
 import org.waveprotocol.box.server.rpc.WaveRefServlet;
-import org.waveprotocol.box.server.waveserver.ImportServlet;
+import org.waveprotocol.box.server.waveserver.CustomImportServlet;
 import org.waveprotocol.box.server.waveserver.WaveBus;
 import org.waveprotocol.box.server.waveserver.WaveServerException;
 import org.waveprotocol.box.server.waveserver.WaveletProvider;
@@ -233,7 +233,7 @@
     boolean enableImport = injector
             .getInstance(Key.get(Boolean.class, Names.named(CoreSettings.ENABLE_IMPORT)));
     if (enableImport)
-      server.addServlet("/import", injector.getInstance(ImportServlet.class));
+      server.addServlet("/import", injector.getInstance(CustomImportServlet.class));
 
     String gadgetHostName =
         injector

Added: trunk/src/main/java/org/waveprotocol/box/server/waveserver/CustomImportServlet.java
===================================================================
--- trunk/src/main/java/org/waveprotocol/box/server/waveserver/CustomImportServlet.java	                        (rev 0)
+++ trunk/src/main/java/org/waveprotocol/box/server/waveserver/CustomImportServlet.java	2012-05-01 13:48:27 UTC (rev 1861)
@@ -0,0 +1,311 @@
+// @formatter:off
+/**
+ * Copyright 2012 A. Kaplanov
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.waveprotocol.box.server.waveserver;
+
+import cc.kune.core.server.properties.KuneProperties;
+
+import com.google.gxp.org.apache.xerces.impl.dv.util.Base64;
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+import com.google.inject.Singleton;
+import com.google.protobuf.ByteString;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.Reader;
+import java.io.StringWriter;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Set;
+import java.util.logging.Level;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.json.JSONArray;
+import org.json.JSONObject;
+import org.waveprotocol.box.server.persistence.AttachmentStore;
+import org.waveprotocol.wave.model.version.HashedVersion;
+import org.waveprotocol.wave.model.wave.InvalidParticipantAddress;
+import org.waveprotocol.wave.util.logging.Log;
+import org.waveprotocol.wave.federation.Proto.ProtocolAppliedWaveletDelta;
+import org.waveprotocol.wave.federation.Proto.ProtocolHashedVersion;
+import org.waveprotocol.wave.federation.Proto.ProtocolWaveletDelta;
+import org.waveprotocol.wave.federation.Proto.ProtocolWaveletOperation;
+import org.waveprotocol.wave.model.id.IdURIEncoderDecoder;
+import org.waveprotocol.wave.model.id.WaveId;
+import org.waveprotocol.wave.model.id.WaveletId;
+import org.waveprotocol.wave.model.id.WaveletName;
+import org.waveprotocol.wave.model.version.HashedVersionFactory;
+import org.waveprotocol.wave.model.version.HashedVersionFactoryImpl;
+import org.waveprotocol.wave.model.wave.ParticipantId;
+import org.waveprotocol.wave.util.escapers.jvm.JavaUrlCodec;
+
+/**
+ *
+ * @author (akaplanov at gmail.com) (Andrew Kaplanov)
+ */
+ at SuppressWarnings("serial")
+ at Singleton
+public class CustomImportServlet extends HttpServlet {
+
+  private static final Log LOG = Log.get(CustomImportServlet.class);
+  public static final String GWAVE_PUBLIC_DOMAIN = "a.gwave.com";
+  public static final String GWAVE_PUBLIC_USER_NAME = "public";
+  public static final String WIAB_SHARED_USER_NAME = "";
+  private static final IdURIEncoderDecoder URI_CODEC = new IdURIEncoderDecoder(new JavaUrlCodec());
+  private static final HashedVersionFactory HASH_FACTORY = new HashedVersionFactoryImpl(URI_CODEC);
+  private final WaveletProvider waveletProvider;
+  private final AttachmentStore attachmentStore;
+  private final WaveMap waveMap;
+  private KuneProperties kuneProperties;
+  private static HashMap<String, String> userMap;
+
+  @Inject
+  private CustomImportServlet(WaveletProvider waveletProvider, AttachmentStore attachmentStore,
+      WaveMap waveMap) {
+    this.waveletProvider = waveletProvider;
+    this.attachmentStore = attachmentStore;
+    this.waveMap = waveMap;
+  }
+  
+  public void init(KuneProperties kuneProperties ) {
+    this.kuneProperties = kuneProperties;
+    if (userMap == null) {
+      initUserMap();
+    }
+  }
+
+  @Override
+  protected void doPost(HttpServletRequest request, HttpServletResponse response)
+      throws ServletException, IOException {
+    String domain = request.getHeader("domain");
+    WaveId waveId = WaveId.deserialise(request.getHeader("waveId"));
+    WaveletId waveletId = WaveletId.deserialise(request.getHeader("waveletId"));
+    final StringWriter error = new StringWriter();
+    boolean somethingProcessed = false;
+    boolean somethingSkipped = false;
+    try {
+      JSONObject exp = new JSONObject(readToString(request.getReader()));
+      JSONArray rawDeltas = exp.getJSONObject("data").getJSONArray("rawDeltas");
+      if (rawDeltas.length() != 0) {
+        List<ProtocolAppliedWaveletDelta> deltas = new LinkedList<ProtocolAppliedWaveletDelta>();
+        for (int i = 0; i < rawDeltas.length(); i++) {
+          deltas.add(ProtocolAppliedWaveletDelta.parseFrom(Base64.decode(rawDeltas.getString(i))));
+        }
+        WaveletName waveletName = WaveletName.of(waveId, waveletId);
+        LocalWaveletContainerImpl wavelet = (LocalWaveletContainerImpl) waveMap.getLocalWavelet(waveletName);
+        Set<ParticipantId> participants = new HashSet<ParticipantId>();
+        if (wavelet != null) {
+          participants.addAll(wavelet.accessSnapshot().getParticipants());
+        }
+        for (ProtocolAppliedWaveletDelta appliedDelta : deltas) {
+          ProtocolWaveletDelta delta = ProtocolWaveletDelta.parseFrom(
+              appliedDelta.getSignedOriginalDelta().getDelta());
+          long currentVersion = 0;
+          if (wavelet != null) {
+            currentVersion = wavelet.getCurrentVersion().getVersion();
+          }
+          if (currentVersion == delta.getHashedVersion().getVersion()) {
+            ProtocolWaveletDelta newDelta = convertDelta(delta, domain, wavelet, waveletName,
+                participants);
+
+            waveletProvider.submitRequest(waveletName, newDelta,
+                new WaveletProvider.SubmitRequestListener() {
+
+                  @Override
+                  public void onSuccess(int operationsApplied, HashedVersion hashedVersionAfterApplication,
+                      long applicationTimestamp) {
+                  }
+
+                  @Override
+                  public void onFailure(String errorMessage) {
+                    error.write(errorMessage);
+                  }
+                });
+            if (error.getBuffer().length() != 0) {
+              break;
+            }
+            if (wavelet == null) {
+              wavelet = (LocalWaveletContainerImpl) waveMap.getLocalWavelet(waveletName);
+            }
+            somethingProcessed = true;
+          } else {
+            somethingSkipped = true;
+          }
+        }
+      }
+    } catch (Exception ex) {
+      LOG.log(Level.SEVERE, "waveId " + waveId.toString() + ", waveletId " + waveletId.toString(), ex);
+      throw new IOException(ex);
+    }
+    response.setStatus(HttpServletResponse.SC_OK);
+    if (error.getBuffer().length() != 0) {
+      response.getOutputStream().write(("error : " + error.getBuffer()).getBytes());
+    } else if (somethingProcessed && !somethingSkipped) {
+      response.getOutputStream().write(("imported").getBytes());
+    } else if (somethingProcessed && somethingSkipped) {
+      response.getOutputStream().write(("appended").getBytes());
+    } else {
+      response.getOutputStream().write(("skipped").getBytes());
+    }
+  }
+
+  private void initUserMap() {
+    userMap = new HashMap<String,String>();
+    List<String> list = kuneProperties.getList(KuneProperties.SITE_WAVE_IMPORT_USERNAME_PAIRS);
+    // response.getOutputStream().write(list.toString().getBytes());
+    for (String item : list) {
+      String[] splitted = item.split("\\|");
+      if (splitted.length == 2) {
+        userMap.put(splitted[0], splitted[1]);
+      }
+    }
+  }
+
+  /**
+   * Convert delta from GWave to Wiab
+   *
+   * @param delta from GWave
+   * @param domain target domain
+   * @param wavelet to append delta
+   * @param waveletName name of wavelet
+   * @param set participants of wavelet at this moment
+   * @return delta to import
+   * @throws InvalidParticipantAddress deserialize of participant error
+   */
+  protected static ProtocolWaveletDelta convertDelta(ProtocolWaveletDelta delta, String domain,
+      LocalWaveletContainerImpl wavelet, WaveletName waveletName,
+      Set<ParticipantId> participants) throws InvalidParticipantAddress {
+    ProtocolWaveletDelta.Builder newDelta = ProtocolWaveletDelta.newBuilder(delta);
+    ParticipantId creator = null;
+    if (wavelet != null) {
+      creator = wavelet.getCreator();
+    }
+    ParticipantId author = makeParticipantId(delta.getAuthor(), domain);
+    if (!participants.contains(author) && creator != null) {
+      // Assign the authorship of the delta from internal GWave users
+      // (panda at a.gwave.com, spelly at a.gwave.com) or others to the creator of wave.
+      if (!author.getAddress().endsWith("@" + GWAVE_PUBLIC_DOMAIN)) {
+        LOG.warning("Unknown participant " + author.getAddress()
+            + ", wave " + wavelet.getWaveletName().waveId.getId());
+      }
+      author = creator;
+    }
+    newDelta.setAuthor(author.getAddress());
+    for (int i = 0; i < delta.getOperationCount(); i++) {
+      ProtocolWaveletOperation op = delta.getOperation(i);
+      ProtocolWaveletOperation.Builder newOp = ProtocolWaveletOperation.newBuilder(op);
+      if (op.hasAddParticipant()) {
+        initAddParticipantOperation(newOp, op, domain, participants);
+        if (creator == null && newOp.hasAddParticipant()) {
+          creator = ParticipantId.of(newOp.getAddParticipant());
+        }
+      } else if (op.hasRemoveParticipant()) {
+        initRemoveParticipantOperation(newOp, op, domain, participants);
+      }
+      // TODO (Andrew Kaplanov) import attachments
+      newDelta.setOperation(i, newOp);
+    }
+    if (wavelet == null) {
+      ProtocolHashedVersion ver = ProtocolHashedVersion.newBuilder(delta.getHashedVersion()).
+          setHistoryHash(ByteString.copyFrom(HASH_FACTORY.createVersionZero(waveletName).getHistoryHash())).
+          build();
+      newDelta.setHashedVersion(ver);
+    } else {
+      ProtocolHashedVersion ver = ProtocolHashedVersion.newBuilder(delta.getHashedVersion()).
+          setHistoryHash(ByteString.copyFrom(wavelet.getCurrentVersion().getHistoryHash())).
+          build();
+      newDelta.setHashedVersion(ver);
+    }
+    return newDelta.build();
+  }
+
+  /**
+   * Convert adding participant operation.
+   * Skip operation if participant already exists.
+   */
+  private static void initAddParticipantOperation(ProtocolWaveletOperation.Builder newOperation,
+      ProtocolWaveletOperation operation, String domain,
+      Set<ParticipantId> participants) throws InvalidParticipantAddress {
+    ParticipantId participant = makeParticipantId(operation.getAddParticipant(), domain);
+    if (!participants.contains(participant)) {
+      newOperation.setAddParticipant(participant.getAddress());
+      participants.add(participant);
+    } else {
+      newOperation.setNoOp(true);
+    }
+  }
+
+  /**
+   * Convert removal participant operation.
+   * Skip operation if nothing to remove.
+   */
+  private static void initRemoveParticipantOperation(ProtocolWaveletOperation.Builder newOperation,
+      ProtocolWaveletOperation operation, String domain,
+      Set<ParticipantId> participants) throws InvalidParticipantAddress {
+    ParticipantId participant = makeParticipantId(operation.getRemoveParticipant(), domain);
+    if (participants.contains(participant)) {
+      newOperation.setRemoveParticipant(participant.getAddress());
+      participants.remove(participant);
+    } else {
+      newOperation.setNoOp(true);
+    }
+  }
+
+  /**
+   * Make WIAB participant Id
+   *
+   * @param participant in GWave
+   * @param domain of WIAB server
+   */
+  private static ParticipantId makeParticipantId(String participant, String domain)
+      throws InvalidParticipantAddress {
+    int index = participant.indexOf('@');
+    if (index != -1) {
+      if (participant.substring(0, index).equals(GWAVE_PUBLIC_USER_NAME)
+          && participant.substring(index + 1).equals(GWAVE_PUBLIC_DOMAIN)) {
+        participant = WIAB_SHARED_USER_NAME + "@" + domain;
+      } else {
+        participant = map(participant.substring(0, index)) + "@" + domain;
+      }
+    } else {
+      participant = map(participant);
+    }
+    return ParticipantId.of(participant);
+  }
+
+  private static String map(String participant) {
+    String newUser = userMap.get(participant);
+    return newUser == null? participant: newUser;
+  }
+
+  private static String readToString(Reader reader) throws FileNotFoundException, IOException {
+    StringBuilder sb = new StringBuilder();
+    char buf[] = new char[1000];
+    for (;;) {
+      int ret = reader.read(buf, 0, buf.length);
+      if (ret == -1) {
+        break;
+      }
+      sb.append(buf, 0, ret);
+    }
+    return sb.toString();
+  }
+}

Modified: trunk/src/main/resources/kune-production.properties
===================================================================
--- trunk/src/main/resources/kune-production.properties	2012-04-26 01:26:03 UTC (rev 1860)
+++ trunk/src/main/resources/kune-production.properties	2012-05-01 13:48:27 UTC (rev 1861)
@@ -117,6 +117,9 @@
 # The default language in with the /tutorials/ are shown if the user language is not translated
 kune.tutorial.defaultlang = en
 
+# This is used to change a username to another similar (for instance during the import). Pairs separed by commas, a pair separed by a pipe.
+kune.wave.import.usernamespairs = someuser|some_user
+
 ### Workspace enabled themes
 
 # This names are also the name of the items in the theme menu and there are translated

Modified: trunk/src/main/resources/kune.properties
===================================================================
--- trunk/src/main/resources/kune.properties	2012-04-26 01:26:03 UTC (rev 1860)
+++ trunk/src/main/resources/kune.properties	2012-05-01 13:48:27 UTC (rev 1861)
@@ -55,7 +55,6 @@
 kune.openfire.db.user = kune
 kune.openfire.db.password = db4kune
 
-
 ### Licenses
 
 kune.default.license = by-sa-v3.0
@@ -118,6 +117,9 @@
 # The default language in with the /tutorials/ are shown if the user language is not translated
 kune.tutorial.defaultlang = en
 
+# This is used to change a username to another similar (for instance during the import). Pairs separed by commas, a pair separed by a pipe.
+kune.wave.import.usernamespairs = someuser|some_user
+
 ### Workspace enabled themes
 
 # This names are also the name of the items in the theme menu and there are translated

Modified: trunk/src/main/resources/wave-server.properties
===================================================================
--- trunk/src/main/resources/wave-server.properties	2012-04-26 01:26:03 UTC (rev 1860)
+++ trunk/src/main/resources/wave-server.properties	2012-05-01 13:48:27 UTC (rev 1861)
@@ -114,4 +114,4 @@
 ssl_keystore_password = fafafa
 
 # Enable import of waves via /import URL. Default value: false
-enable_import = false
+enable_import = true

Modified: trunk/src/test/java/cc/kune/selenium/KuneSeleniumTest.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/KuneSeleniumTest.java	2012-04-26 01:26:03 UTC (rev 1860)
+++ trunk/src/test/java/cc/kune/selenium/KuneSeleniumTest.java	2012-05-01 13:48:27 UTC (rev 1861)
@@ -94,29 +94,19 @@
     // FIXME move content?
     groupSpace.showTutorial(3, 4, 5, 4, 4, 2, -5, 3, 6, 7, 6, 4, 4, 5, 5, 3, 3, 4, 6, 4, 3);
 
-    // blogs
-    groupSpace.blogTool.click();
-    showTooltip(groupSpace.blogTool);
-    sleep(3000);
-    groupSpace.showTutorial(3, 4, 3, 3, 6, 5, 5, 3, 3);
-    // groupSpace.openFirtsContent();
-    // sleep(2000);
-    // groupSpace.newContentBtn.click();
-    // sleep(1000);
-    // groupSpace.goParentBtn.click();
-
-    // chats
-    groupSpace.chatTool.click();
-    showTooltip(groupSpace.chatTool);
-    sleep(3000);
-    groupSpace.showTutorial(3, 6, 6, 4, 7, 3, 3);
-    // groupSpace.openFirtsContent();
-    // sleep(2000);
-    // groupSpace.openRoomBtn.click();
-    // sleep(2000);
-    // chat.chatIcon.click();
-
-    // lists
+    // // blogs
+    // groupSpace.blogTool.click();
+    // showTooltip(groupSpace.blogTool);
+    // sleep(3000);
+    // groupSpace.showTutorial(3, 4, 3, 3, 6, 5, 5, 3, 3);
+    //
+    // // chats
+    // groupSpace.chatTool.click();
+    // showTooltip(groupSpace.chatTool);
+    // sleep(3000);
+    // groupSpace.showTutorial(3, 6, 6, 4, 7, 3, 3);
+   
+   	// lists
     groupSpace.listTool.click();
     showTooltip(groupSpace.listTool);
     sleep(2000);
@@ -152,28 +142,19 @@
     sleep(2000);
     doScreenshot("calendar");
     groupSpace.showTutorial(3, 5, 6, 7, 3, 5, 3, 3, 3);
-    // groupSpace.openFirtsContent();
-    // sleep(2000);
 
-    // tasks
-    groupSpace.taskTool.click();
-    showTooltip(groupSpace.taskTool);
-    sleep(2000);
-    groupSpace.showTutorial(3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 3);
-    // groupSpace.openFirtsContent();
+    // // tasks
+    // groupSpace.taskTool.click();
+    // showTooltip(groupSpace.taskTool);
     // sleep(2000);
-    // doScreenshot("tasks");
-    // groupSpace.openFirtsContent();
+    // groupSpace.showTutorial(3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 3);
+    //
+    // // wiki
+    // groupSpace.wikiTool.click();
+    // showTooltip(groupSpace.wikiTool);
     // sleep(2000);
+    // groupSpace.showTutorial(3, 5, 3, 3, 3);
 
-    // wiki
-    groupSpace.wikiTool.click();
-    showTooltip(groupSpace.wikiTool);
-    sleep(2000);
-    groupSpace.showTutorial(3, 5, 3, 3, 3);
-    // groupSpace.openFirtsContent();
-    // sleep(3000);
-
     // // barters
     // groupSpace.showTutorial(3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3);
   }

Modified: trunk/src/test/java/cc/kune/selenium/SeleniumConf.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/SeleniumConf.java	2012-04-26 01:26:03 UTC (rev 1860)
+++ trunk/src/test/java/cc/kune/selenium/SeleniumConf.java	2012-05-01 13:48:27 UTC (rev 1861)
@@ -30,8 +30,8 @@
   }
 
   public enum Site {
-    demo("kune.beta.iepala.es"), eurosur("beta.eurosur.org"), kunecc("kune.cc"), localhost(
-        "localhost:8888", "&log_level=INFO&gwt.codesvr=127.0.0.1:9997");
+    demo("kune.beta.iepala.es"), kunecc("kune.cc"), localhost("localhost:8888",
+        "&log_level=INFO&gwt.codesvr=127.0.0.1:9997"), socialglobal("social.gloobal.net");
 
     private String domain;
     private String params;
@@ -56,8 +56,8 @@
 
   public static final Driver DRIVER = Driver.firefox;
   /* Configure this for use other lang, site, or driver */
-  public static final Lang LANG = Lang.en;
-  public static final Site SITE = Site.demo;
+  public static final Lang LANG = Lang.es;
+  public static final Site SITE = Site.socialglobal;
   public static final int TIMEOUT = 25;
 
   SeleniumConf() {




More information about the kune-commits mailing list