]> source.dussan.org Git - vaadin-framework.git/commitdiff
Unified naming
authorArtur Signell <artur.signell@itmill.com>
Mon, 22 Feb 2010 10:35:07 +0000 (10:35 +0000)
committerArtur Signell <artur.signell@itmill.com>
Mon, 22 Feb 2010 10:35:07 +0000 (10:35 +0000)
Added javadoc + comments about missing javadoc

svn changeset:11455/svn branch:6.3_dd

46 files changed:
src/com/vaadin/event/Transferable.java
src/com/vaadin/event/TransferableImpl.java
src/com/vaadin/event/dd/DragAndDropEvent.java
src/com/vaadin/event/dd/DragSource.java
src/com/vaadin/event/dd/DropHandler.java
src/com/vaadin/event/dd/DropTarget.java
src/com/vaadin/event/dd/DropTargetDetails.java
src/com/vaadin/event/dd/DropTargetDetailsImpl.java
src/com/vaadin/event/dd/acceptCriteria/AcceptAll.java
src/com/vaadin/event/dd/acceptCriteria/AcceptCriterion.java
src/com/vaadin/event/dd/acceptCriteria/And.java
src/com/vaadin/event/dd/acceptCriteria/ClientCriterion.java
src/com/vaadin/event/dd/acceptCriteria/ClientSideCriterion.java
src/com/vaadin/event/dd/acceptCriteria/ComponentFilter.java [deleted file]
src/com/vaadin/event/dd/acceptCriteria/ContainsDataFlavor.java [new file with mode: 0644]
src/com/vaadin/event/dd/acceptCriteria/ContainsDataFlawor.java [deleted file]
src/com/vaadin/event/dd/acceptCriteria/DropDetailEquals.java [deleted file]
src/com/vaadin/event/dd/acceptCriteria/DropTargetDetailEquals.java [new file with mode: 0644]
src/com/vaadin/event/dd/acceptCriteria/IsDataBound.java [new file with mode: 0644]
src/com/vaadin/event/dd/acceptCriteria/IsDatabound.java [deleted file]
src/com/vaadin/event/dd/acceptCriteria/IsDragSource.java [new file with mode: 0644]
src/com/vaadin/event/dd/acceptCriteria/IsSameSourceAndTarget.java [new file with mode: 0644]
src/com/vaadin/event/dd/acceptCriteria/Not.java
src/com/vaadin/event/dd/acceptCriteria/Or.java
src/com/vaadin/event/dd/acceptCriteria/OverTreeNode.java [deleted file]
src/com/vaadin/event/dd/acceptCriteria/ServerSideCriterion.java
src/com/vaadin/event/dd/acceptCriteria/SourceIsSameAsTarget.java [deleted file]
src/com/vaadin/terminal/gwt/client/ui/dd/VComponentFilter.java [deleted file]
src/com/vaadin/terminal/gwt/client/ui/dd/VContainsDataFlavor.java [new file with mode: 0644]
src/com/vaadin/terminal/gwt/client/ui/dd/VContainsDataFlawor.java [deleted file]
src/com/vaadin/terminal/gwt/client/ui/dd/VIsDragSource.java [new file with mode: 0644]
src/com/vaadin/terminal/gwt/client/ui/dd/VTransferable.java
src/com/vaadin/terminal/gwt/server/DragAndDropService.java
src/com/vaadin/ui/AbstractSelect.java
src/com/vaadin/ui/DragAndDropWrapper.java
src/com/vaadin/ui/DragDropPane.java
src/com/vaadin/ui/Table.java
src/com/vaadin/ui/Tree.java
tests/src/com/vaadin/tests/dd/AcceptAnythingWindow.java
tests/src/com/vaadin/tests/dd/CustomDDImplementation.java
tests/src/com/vaadin/tests/dd/DDTest1.java
tests/src/com/vaadin/tests/dd/DDTest2.java
tests/src/com/vaadin/tests/dd/DDTest4.java
tests/src/com/vaadin/tests/dd/DDTest5.java
tests/src/com/vaadin/tests/dd/HorizontalLayoutSortableWithWrappers.java
tests/src/com/vaadin/tests/dd/HorizontalSortableCssLayoutWithWrappers.java

index c2b75630cb4deeb19e5be1afe409675687494192..973b01dce9742812ba9cfa72fa238efd53406403 100644 (file)
@@ -4,13 +4,18 @@ import java.util.Collection;
 
 import com.vaadin.ui.Component;
 
+/**
+ * TODO Javadoc!
+ * 
+ * @since 6.3
+ */
 public interface Transferable {
 
-    public Object getData(String dataFlawor);
+    public Object getData(String dataFlavor);
 
-    public void setData(String dataFlawor, Object value);
+    public void setData(String dataFlavor, Object value);
 
-    public Collection<String> getDataFlawors();
+    public Collection<String> getDataFlavors();
 
     /**
      * @return the component that created the Transferable
index a03c572330ab12338c980a3a5b825e0a86179d52..bd263c6c64cd61fb714cca36ca8bf019e936a57e 100644 (file)
@@ -6,6 +6,11 @@ import java.util.Map;
 
 import com.vaadin.ui.Component;
 
+/**
+ * TODO Javadoc!
+ * 
+ * @since 6.3
+ */
 public class TransferableImpl implements Transferable {
     private Map<String, Object> rawVariables = new HashMap<String, Object>();
     private Component sourceComponent;
@@ -20,15 +25,15 @@ public class TransferableImpl implements Transferable {
         return sourceComponent;
     }
 
-    public Object getData(String dataFlawor) {
-        return rawVariables.get(dataFlawor);
+    public Object getData(String dataFlavor) {
+        return rawVariables.get(dataFlavor);
     }
 
-    public void setData(String dataFlawor, Object value) {
-        rawVariables.put(dataFlawor, value);
+    public void setData(String dataFlavor, Object value) {
+        rawVariables.put(dataFlavor, value);
     }
 
-    public Collection<String> getDataFlawors() {
+    public Collection<String> getDataFlavors() {
         return rawVariables.keySet();
     }
 
index 4adc4e757e9010a2a5f3874ac43e7ce627c534e6..2e0ffbaa487fe5d58755ddbda26c96141337b453 100644 (file)
@@ -4,21 +4,29 @@ import java.io.Serializable;
 
 import com.vaadin.event.Transferable;
 
+/**
+ * TODO Javadoc
+ * 
+ * @since 6.3
+ * 
+ */
 public class DragAndDropEvent implements Serializable {
     private static final long serialVersionUID = -2232591107911385564L;
     private Transferable transferable;
-    private DropTargetDetails dropDetails;
+    private DropTargetDetails dropTargetDetails;
 
-    public DragAndDropEvent(Transferable tr, DropTargetDetails details) {
-        transferable = tr;
-        dropDetails = details;
+    public DragAndDropEvent(Transferable transferable,
+            DropTargetDetails dropTargetDetails) {
+        this.transferable = transferable;
+        this.dropTargetDetails = dropTargetDetails;
     }
 
     public Transferable getTransferable() {
         return transferable;
     }
 
-    public DropTargetDetails getDropTargetData() {
-        return dropDetails;
+    public DropTargetDetails getDropTargetDetails() {
+        return dropTargetDetails;
     }
+
 }
index 73f8c09a410592a92c962825b8cc3755fc3a62d6..263b4e780dbca0e45c0e185d1e5beae03f5bbc8b 100644 (file)
@@ -5,19 +5,28 @@ import java.util.Map;
 
 import com.vaadin.event.Transferable;
 
+/**
+ * TODO Javadoc
+ * 
+ * @since 6.3
+ * 
+ */
 public interface DragSource extends Serializable {
 
     /**
      * DragSource may convert client side variables to meaningful values on
-     * server side. For example in Selects we convert item identifiers to
-     * generated string keys for the client side. Translators in Selects should
-     * convert them back to item identifiers.
+     * server side. For example Tree converts item identifiers to generated
+     * string keys for the client side. Translators in Selects should convert
+     * them back to item identifiers.
+     * 
      * <p>
      * Translator should remove variables it handled from rawVariables. All non
      * handled variables are added to Transferable automatically by terminal.
+     * </p>
      * 
      * <p>
      * 
+     * @since 6.3
      * @param rawVariables
      * @return the drag source related transferable
      */
index 4bdc435b9e64a0c6c2bff274a99d99cfc9c9a4d7..fd720a3978259fae3533381bb42841b328406584 100644 (file)
@@ -5,6 +5,12 @@ import java.io.Serializable;
 import com.vaadin.event.dd.acceptCriteria.AcceptAll;
 import com.vaadin.event.dd.acceptCriteria.AcceptCriterion;
 
+/**
+ * TODO Javadoc
+ * 
+ * @since 6.3
+ * 
+ */
 public interface DropHandler extends Serializable {
 
     public void drop(DragAndDropEvent dropEvent);
index 407bb2395894632a1a1f58f5da56f305fab59c4e..1c9e30dd71d3dd1b6ac5d61836c698c9af26645f 100644 (file)
@@ -5,30 +5,29 @@ import java.util.Map;
 import com.vaadin.ui.Component;
 
 /**
- * DropTarget is a marker interface for components supporting drop operations. A
+ * DropTarget is an interface for components supporting drop operations. A
  * component that wants to receive drop events should implement this interface
  * and provide a DropHandler which will handle the actual drop event.
  * 
+ * @since 6.3
  */
 public interface DropTarget extends Component {
 
     public DropHandler getDropHandler();
 
     /**
-     * Called before a drop operation to translate the drop data provided by the
-     * client widget. Should return a DropData implementation with the new
-     * values. If null is returned the terminal implementation will
-     * automatically create a {@link DropTargetDetails} with all the client
-     * variables.
-     * <p>
-     * If this method returns null the data from client side will be passed
-     * through as-is without conversion.
+     * Called before a drop operation to translate the drop target details
+     * provided by the client widget (drop target). Should return a DropData
+     * implementation with the new values. If null is returned the terminal
+     * implementation will automatically create a {@link DropTargetDetails} with
+     * all the client variables.
      * 
      * @param rawVariables
      *            Parameters passed from the client side widget.
-     * @return A DropData object with the translated data or null.
+     * @return A DropTargetDetails object with the translated data or null to
+     *         use a default implementation.
      */
-    public DropTargetDetails translateDragDropDetails(
+    public DropTargetDetails translateDropTargetDetails(
             Map<String, Object> clientVariables);
 
 }
\ No newline at end of file
index 6b8f1245353dab8ec53dc3139fde870b3069671a..4f5428b29d5e9154a1dbb3a343a84d43b617be3f 100644 (file)
@@ -2,6 +2,12 @@ package com.vaadin.event.dd;
 
 import java.io.Serializable;
 
+/**
+ * TODO Javadoc
+ * 
+ * @since 6.3
+ * 
+ */
 public interface DropTargetDetails extends Serializable {
 
     public Object getData(String key);
index 3046f03b8863b10c89548a03917dbd30aa84d46b..8a607395c0182d1cd58f67c5b675ef0a6d10060d 100644 (file)
@@ -5,6 +5,12 @@ import java.util.Map;
 
 import com.vaadin.terminal.gwt.server.DragAndDropService;
 
+/**
+ * TODO Javadoc
+ * 
+ * @since 6.3
+ * 
+ */
 public class DropTargetDetailsImpl implements DropTargetDetails {
 
     private HashMap<String, Object> data = new HashMap<String, Object>();
index 93a28a4d99934ecfec0a39a1686da6b9f487c212..a6a6f927465b71e05074030690196e34635a16c0 100644 (file)
@@ -6,6 +6,12 @@ package com.vaadin.event.dd.acceptCriteria;
 import com.vaadin.event.dd.DragAndDropEvent;
 import com.vaadin.terminal.gwt.client.ui.dd.VAcceptAll;
 
+/**
+ * Criterion that accepts all drops anywhere on the component.
+ * 
+ * @since 6.3
+ * 
+ */
 @ClientCriterion(VAcceptAll.class)
 public final class AcceptAll extends ClientSideCriterion {
 
index 1029e51baa57a38b85e1d3d7f69a2f344ea7135e..f561bf82df267c173d2668cece77d2cbfe561ecc 100644 (file)
@@ -11,6 +11,12 @@ import com.vaadin.event.dd.DropHandler;
 import com.vaadin.terminal.PaintException;
 import com.vaadin.terminal.PaintTarget;
 
+/**
+ * TODO Javadoc
+ * 
+ * @since 6.3
+ * 
+ */
 public interface AcceptCriterion extends Serializable {
 
     /**
index 91144771f99ef6af8bf6980e4e4dbfba9db1f42f..f70d3563b3926cc074fe8a5639b162ecd0011aff 100644 (file)
@@ -8,15 +8,15 @@ import com.vaadin.terminal.PaintException;
 import com.vaadin.terminal.PaintTarget;
 
 /**
- * TODO consider replacing this with Union
+ * Criterion that joins two {@link ClientSideCriterion} together and validates
+ * if both sub criterion validate.
+ * 
+ * @since 6.3
  * 
  */
 @ClientCriterion(com.vaadin.terminal.gwt.client.ui.dd.VAnd.class)
 public class And extends ClientSideCriterion {
-    /**
-     * 
-     */
-    private static final long serialVersionUID = 1L;
+
     private AcceptCriterion f1;
     private AcceptCriterion f2;
 
@@ -25,20 +25,11 @@ public class And extends ClientSideCriterion {
         this.f2 = f2;
     }
 
-    // @Override
-    // public boolean isClientSideVerifiable() {
-    // boolean a1 = f1 instanceof AcceptCriterion ? (f1)
-    // .isClientSideVerifiable() : false;
-    // boolean a2 = f2 instanceof AcceptCriterion ? (f2)
-    // .isClientSideVerifiable() : false;
-    // return a1 && a2;
-    // }
-
     @Override
     public void paintContent(PaintTarget target) throws PaintException {
         super.paintContent(target);
-        (f1).paint(target);
-        (f2).paint(target);
+        f1.paint(target);
+        f2.paint(target);
     }
 
     public boolean accepts(DragAndDropEvent dragEvent) {
index e5cfea6c9ca336cde6505cc465e01b3e98e44f44..1d2d31750ebeb51683c28bb2bfa26bbb281e1989 100644 (file)
@@ -10,7 +10,7 @@ import com.vaadin.terminal.gwt.client.ui.dd.VAcceptCriterion;
 /**
  * TODO
  * 
- * @since 6.2
+ * @since 6.3
  */
 @Retention(RetentionPolicy.RUNTIME)
 @Target(ElementType.TYPE)
index 79b87b55dfa9d9b5760294453268adf4cdb8579f..228a1a8316b300e40a0988741aa8dc1e71aa87ec 100644 (file)
@@ -5,34 +5,46 @@ import java.io.Serializable;
 import com.vaadin.terminal.PaintException;
 import com.vaadin.terminal.PaintTarget;
 
+/**
+ * Parent class for criteria that can be completely validated on client side.
+ * All classes that provide criteria that can be completely validated on client
+ * side should extend this class.
+ * 
+ * @since 6.3
+ */
 public abstract class ClientSideCriterion implements Serializable,
-               AcceptCriterion {
+        AcceptCriterion {
 
-       /**
+    /*
+     * All criteria that extend this must be completely validatable on client
+     * side.
      * 
+     * (non-Javadoc)
+     * 
+     * @see
+     * com.vaadin.event.dd.acceptCriteria.AcceptCriterion#isClientSideVerifiable
+     * ()
      */
-       private static final long serialVersionUID = 1L;
-
-       public final boolean isClientSideVerifiable() {
-               return true;
-       }
-
-       public void paint(PaintTarget target) throws PaintException {
-               target.startTag("-ac");
-               target.addAttribute("name", getIdentifier());
-               paintContent(target);
-               target.endTag("-ac");
-       }
-
-       public void paintContent(PaintTarget target) throws PaintException {
-       }
-
-       protected String getIdentifier() {
-               return getClass().getCanonicalName();
-       }
-
-       public final void paintResponse(PaintTarget target) throws PaintException {
-               // NOP, nothing to do as this is client side verified criterion
-       }
+    public final boolean isClientSideVerifiable() {
+        return true;
+    }
+
+    public void paint(PaintTarget target) throws PaintException {
+        target.startTag("-ac");
+        target.addAttribute("name", getIdentifier());
+        paintContent(target);
+        target.endTag("-ac");
+    }
+
+    protected void paintContent(PaintTarget target) throws PaintException {
+    }
+
+    protected String getIdentifier() {
+        return getClass().getCanonicalName();
+    }
+
+    public final void paintResponse(PaintTarget target) throws PaintException {
+        // NOP, nothing to do as this is client side verified criterion
+    }
 
 }
diff --git a/src/com/vaadin/event/dd/acceptCriteria/ComponentFilter.java b/src/com/vaadin/event/dd/acceptCriteria/ComponentFilter.java
deleted file mode 100644 (file)
index 2da81d6..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * 
- */
-package com.vaadin.event.dd.acceptCriteria;
-
-import com.vaadin.event.TransferableImpl;
-import com.vaadin.event.dd.DragAndDropEvent;
-import com.vaadin.terminal.PaintException;
-import com.vaadin.terminal.PaintTarget;
-import com.vaadin.terminal.gwt.client.ui.dd.VComponentFilter;
-import com.vaadin.ui.Component;
-
-@ClientCriterion(VComponentFilter.class)
-public class ComponentFilter extends ClientSideCriterion {
-    private Component[] component;
-
-    public ComponentFilter(Component... component) {
-        this.component = component;
-    }
-
-    @Override
-    public void paintContent(PaintTarget target) throws PaintException {
-        super.paintContent(target);
-        target.addAttribute("c", component.length);
-        for (int i = 0; i < component.length; i++) {
-            target.addAttribute("component" + i, component[i]);
-        }
-    }
-
-    public boolean accepts(DragAndDropEvent dragEvent) {
-        if (dragEvent.getTransferable() instanceof TransferableImpl) {
-            Component sourceComponent = ((TransferableImpl) dragEvent
-                    .getTransferable()).getSourceComponent();
-            for (Component c : component) {
-                if (c == sourceComponent) {
-                    return true;
-                }
-            }
-        }
-
-        return false;
-    }
-
-}
\ No newline at end of file
diff --git a/src/com/vaadin/event/dd/acceptCriteria/ContainsDataFlavor.java b/src/com/vaadin/event/dd/acceptCriteria/ContainsDataFlavor.java
new file mode 100644 (file)
index 0000000..0c9c2f0
--- /dev/null
@@ -0,0 +1,42 @@
+/**
+ * 
+ */
+package com.vaadin.event.dd.acceptCriteria;
+
+import com.vaadin.event.dd.DragAndDropEvent;
+import com.vaadin.terminal.PaintException;
+import com.vaadin.terminal.PaintTarget;
+import com.vaadin.terminal.gwt.client.ui.dd.VContainsDataFlavor;
+
+/**
+ * TODO Javadoc!
+ * 
+ * @since 6.3
+ * 
+ */
+@ClientCriterion(VContainsDataFlavor.class)
+public final class ContainsDataFlavor extends ClientSideCriterion {
+
+    private String dataFlavorId;
+
+    /**
+     * TODO should support basic UIDL data types
+     * 
+     * @param dataFlawor
+     * @param value
+     */
+    public ContainsDataFlavor(String dataFlawor) {
+        dataFlavorId = dataFlawor;
+    }
+
+    @Override
+    public void paintContent(PaintTarget target) throws PaintException {
+        super.paintContent(target);
+        target.addAttribute("p", dataFlavorId);
+    }
+
+    public boolean accepts(DragAndDropEvent dragEvent) {
+        return dragEvent.getTransferable().getDataFlavors().contains(
+                dataFlavorId);
+    }
+}
\ No newline at end of file
diff --git a/src/com/vaadin/event/dd/acceptCriteria/ContainsDataFlawor.java b/src/com/vaadin/event/dd/acceptCriteria/ContainsDataFlawor.java
deleted file mode 100644 (file)
index 536de5e..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * 
- */
-package com.vaadin.event.dd.acceptCriteria;
-
-import com.vaadin.event.dd.DragAndDropEvent;
-import com.vaadin.terminal.PaintException;
-import com.vaadin.terminal.PaintTarget;
-import com.vaadin.terminal.gwt.client.ui.dd.VContainsDataFlawor;
-
-@ClientCriterion(VContainsDataFlawor.class)
-public final class ContainsDataFlawor extends ClientSideCriterion {
-
-    private String dataFlaworId;
-
-    /**
-     * TODO should support basic UIDL data types
-     * 
-     * @param dataFlawor
-     * @param value
-     */
-    public ContainsDataFlawor(String dataFlawor) {
-        dataFlaworId = dataFlawor;
-    }
-
-    @Override
-    public void paintContent(PaintTarget target) throws PaintException {
-        super.paintContent(target);
-        target.addAttribute("p", dataFlaworId);
-    }
-
-    public boolean accepts(DragAndDropEvent dragEvent) {
-        return dragEvent.getTransferable().getDataFlawors().contains(
-                dataFlaworId);
-    }
-}
\ No newline at end of file
diff --git a/src/com/vaadin/event/dd/acceptCriteria/DropDetailEquals.java b/src/com/vaadin/event/dd/acceptCriteria/DropDetailEquals.java
deleted file mode 100644 (file)
index a7852a6..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * 
- */
-package com.vaadin.event.dd.acceptCriteria;
-
-import com.vaadin.event.dd.DragAndDropEvent;
-import com.vaadin.terminal.PaintException;
-import com.vaadin.terminal.PaintTarget;
-import com.vaadin.terminal.gwt.client.ui.dd.VDropDetailEquals;
-
-@ClientCriterion(VDropDetailEquals.class)
-public final class DropDetailEquals extends ClientSideCriterion {
-
-    private String propertyName;
-    private String value;
-
-    /**
-     * TODO should support basic UIDL data types
-     * 
-     * @param propertyName
-     * @param value
-     */
-    public DropDetailEquals(String propertyName, String value) {
-        this.propertyName = propertyName;
-        this.value = value;
-    }
-
-    @Override
-    public void paintContent(PaintTarget target) throws PaintException {
-        super.paintContent(target);
-        target.addAttribute("p", propertyName);
-        target.addAttribute("v", value);
-    }
-
-    public boolean accepts(DragAndDropEvent dragEvent) {
-        Object data = dragEvent.getDropTargetData().getData(propertyName);
-        return value.equals(data);
-    }
-}
\ No newline at end of file
diff --git a/src/com/vaadin/event/dd/acceptCriteria/DropTargetDetailEquals.java b/src/com/vaadin/event/dd/acceptCriteria/DropTargetDetailEquals.java
new file mode 100644 (file)
index 0000000..fb07575
--- /dev/null
@@ -0,0 +1,46 @@
+/**
+ * 
+ */
+package com.vaadin.event.dd.acceptCriteria;
+
+import com.vaadin.event.dd.DragAndDropEvent;
+import com.vaadin.terminal.PaintException;
+import com.vaadin.terminal.PaintTarget;
+import com.vaadin.terminal.gwt.client.ui.dd.VDropDetailEquals;
+
+/**
+ * Criteria for checking if drop target details contain the specific property
+ * with the specific value.
+ * 
+ * @since 6.3
+ * 
+ */
+@ClientCriterion(VDropDetailEquals.class)
+public final class DropTargetDetailEquals extends ClientSideCriterion {
+
+    private String propertyName;
+    private String value;
+
+    /**
+     * TODO should support basic UIDL data types
+     * 
+     * @param propertyName
+     * @param value
+     */
+    public DropTargetDetailEquals(String propertyName, String value) {
+        this.propertyName = propertyName;
+        this.value = value;
+    }
+
+    @Override
+    public void paintContent(PaintTarget target) throws PaintException {
+        super.paintContent(target);
+        target.addAttribute("p", propertyName);
+        target.addAttribute("v", value);
+    }
+
+    public boolean accepts(DragAndDropEvent dragEvent) {
+        Object data = dragEvent.getDropTargetDetails().getData(propertyName);
+        return value.equals(data);
+    }
+}
\ No newline at end of file
diff --git a/src/com/vaadin/event/dd/acceptCriteria/IsDataBound.java b/src/com/vaadin/event/dd/acceptCriteria/IsDataBound.java
new file mode 100644 (file)
index 0000000..c3f5353
--- /dev/null
@@ -0,0 +1,34 @@
+/**
+ * 
+ */
+package com.vaadin.event.dd.acceptCriteria;
+
+import com.vaadin.event.DataBoundTransferable;
+import com.vaadin.event.dd.DragAndDropEvent;
+import com.vaadin.terminal.gwt.client.ui.dd.VDataBound;
+
+/**
+ * TODO Javadoc
+ * 
+ * @since 6.3
+ * 
+ */
+@ClientCriterion(VDataBound.class)
+public final class IsDataBound extends ClientSideCriterion {
+    private static IsDataBound singleton = new IsDataBound();
+
+    private IsDataBound() {
+    }
+
+    public static IsDataBound get() {
+        return singleton;
+    }
+
+    public boolean accepts(DragAndDropEvent dragEvent) {
+        if (dragEvent.getTransferable() instanceof DataBoundTransferable) {
+            return ((DataBoundTransferable) dragEvent.getTransferable())
+                    .getItemId() != null;
+        }
+        return false;
+    }
+}
\ No newline at end of file
diff --git a/src/com/vaadin/event/dd/acceptCriteria/IsDatabound.java b/src/com/vaadin/event/dd/acceptCriteria/IsDatabound.java
deleted file mode 100644 (file)
index 10ac493..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * 
- */
-package com.vaadin.event.dd.acceptCriteria;
-
-import com.vaadin.event.DataBoundTransferable;
-import com.vaadin.event.dd.DragAndDropEvent;
-import com.vaadin.terminal.gwt.client.ui.dd.VDataBound;
-
-@ClientCriterion(VDataBound.class)
-public final class IsDatabound extends ClientSideCriterion {
-    private static IsDatabound singleton = new IsDatabound();
-
-    private IsDatabound() {
-    }
-
-    public static IsDatabound get() {
-        return singleton;
-    }
-
-    public boolean accepts(DragAndDropEvent dragEvent) {
-        if (dragEvent.getTransferable() instanceof DataBoundTransferable) {
-            return ((DataBoundTransferable) dragEvent.getTransferable())
-                    .getItemId() != null;
-        }
-        return false;
-    }
-}
\ No newline at end of file
diff --git a/src/com/vaadin/event/dd/acceptCriteria/IsDragSource.java b/src/com/vaadin/event/dd/acceptCriteria/IsDragSource.java
new file mode 100644 (file)
index 0000000..f1b4d42
--- /dev/null
@@ -0,0 +1,51 @@
+/**
+ * 
+ */
+package com.vaadin.event.dd.acceptCriteria;
+
+import com.vaadin.event.TransferableImpl;
+import com.vaadin.event.dd.DragAndDropEvent;
+import com.vaadin.terminal.PaintException;
+import com.vaadin.terminal.PaintTarget;
+import com.vaadin.terminal.gwt.client.ui.dd.VIsDragSource;
+import com.vaadin.ui.Component;
+
+/**
+ * Client side criteria that checks if the drag source is one of the given
+ * components.
+ * 
+ * @since 6.3
+ */
+@ClientCriterion(VIsDragSource.class)
+public class IsDragSource extends ClientSideCriterion {
+
+    private Component[] component;
+
+    public IsDragSource(Component... component) {
+        this.component = component;
+    }
+
+    @Override
+    public void paintContent(PaintTarget target) throws PaintException {
+        super.paintContent(target);
+        target.addAttribute("c", component.length);
+        for (int i = 0; i < component.length; i++) {
+            target.addAttribute("component" + i, component[i]);
+        }
+    }
+
+    public boolean accepts(DragAndDropEvent dragEvent) {
+        if (dragEvent.getTransferable() instanceof TransferableImpl) {
+            Component sourceComponent = ((TransferableImpl) dragEvent
+                    .getTransferable()).getSourceComponent();
+            for (Component c : component) {
+                if (c == sourceComponent) {
+                    return true;
+                }
+            }
+        }
+
+        return false;
+    }
+
+}
\ No newline at end of file
diff --git a/src/com/vaadin/event/dd/acceptCriteria/IsSameSourceAndTarget.java b/src/com/vaadin/event/dd/acceptCriteria/IsSameSourceAndTarget.java
new file mode 100644 (file)
index 0000000..2172172
--- /dev/null
@@ -0,0 +1,32 @@
+/**
+ * 
+ */
+package com.vaadin.event.dd.acceptCriteria;
+
+import com.vaadin.event.TransferableImpl;
+import com.vaadin.event.dd.DragAndDropEvent;
+import com.vaadin.event.dd.DropTarget;
+import com.vaadin.terminal.gwt.client.ui.dd.VSourceIsSameAsTarget;
+import com.vaadin.ui.Component;
+
+/**
+ * TODO Javadoc
+ * 
+ * @since 6.3
+ * 
+ */
+@ClientCriterion(VSourceIsSameAsTarget.class)
+public class IsSameSourceAndTarget extends ClientSideCriterion {
+
+    public boolean accepts(DragAndDropEvent dragEvent) {
+        if (dragEvent.getTransferable() instanceof TransferableImpl) {
+            Component sourceComponent = ((TransferableImpl) dragEvent
+                    .getTransferable()).getSourceComponent();
+            DropTarget target = dragEvent.getDropTargetDetails().getTarget();
+            return sourceComponent == target;
+        }
+
+        return false;
+    }
+
+}
\ No newline at end of file
index 72c1f5e629d908f2a6de2b14156c32ca45a82473..12cb932c652c6a673d192f5eb41f0e47ef539c83 100644 (file)
@@ -8,6 +8,12 @@ import com.vaadin.terminal.PaintException;
 import com.vaadin.terminal.PaintTarget;
 import com.vaadin.terminal.gwt.client.ui.dd.VNot;
 
+/**
+ * TODO Javadoc
+ * 
+ * @since 6.3
+ * 
+ */
 @ClientCriterion(VNot.class)
 public class Not extends ClientSideCriterion {
 
index 60b7152338e33986ca616463d2e688cfc6d71992..676ea5f5aa945df58b5c21cddfcbe614e099535c 100644 (file)
@@ -9,7 +9,9 @@ import com.vaadin.terminal.PaintTarget;
 import com.vaadin.terminal.gwt.client.ui.dd.VOr;
 
 /**
- * TODO consider replacing this with intersection
+ * TODO Javadoc
+ * 
+ * @since 6.3
  * 
  */
 @ClientCriterion(VOr.class)
diff --git a/src/com/vaadin/event/dd/acceptCriteria/OverTreeNode.java b/src/com/vaadin/event/dd/acceptCriteria/OverTreeNode.java
deleted file mode 100644 (file)
index 9eeed0b..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- * 
- */
-package com.vaadin.event.dd.acceptCriteria;
-
-import com.vaadin.event.dd.DragAndDropEvent;
-import com.vaadin.terminal.gwt.client.ui.dd.VOverTreeNode;
-import com.vaadin.ui.Tree;
-import com.vaadin.ui.Tree.Location;
-import com.vaadin.ui.Tree.TreeDropDetails;
-
-/**
- * Accepts transferable only on tree Node (middle of the node + can has child)
- * 
- * TODO relocate close to {@link Tree} as this is tree specifif
- * 
- */
-@ClientCriterion(VOverTreeNode.class)
-public class OverTreeNode extends ClientSideCriterion {
-
-    private static final long serialVersionUID = 1L;
-
-    public boolean accepts(DragAndDropEvent dragEvent) {
-        try {
-            // must be over tree node and in the middle of it (not top or bottom
-            // part)
-            TreeDropDetails eventDetails = (TreeDropDetails) dragEvent
-                    .getDropTargetData();
-
-            Object itemIdOver = eventDetails.getItemIdOver();
-            if (!eventDetails.getTarget().areChildrenAllowed(itemIdOver)) {
-                return false;
-            }
-
-            return eventDetails.getDropLocation() == Location.MIDDLE;
-        } catch (Exception e) {
-            return false;
-        }
-    }
-
-}
\ No newline at end of file
index 382af292379e3ba703dda9a49f56192882c98440..0acefab8aa7643c742ab405d51d0fc5b1408fe9d 100644 (file)
@@ -6,15 +6,16 @@ import com.vaadin.terminal.PaintException;
 import com.vaadin.terminal.PaintTarget;
 import com.vaadin.terminal.gwt.client.ui.dd.VServerAccept;
 
+/**
+ * TODO Javadoc
+ * 
+ * @since 6.3
+ * 
+ */
 @ClientCriterion(VServerAccept.class)
 public abstract class ServerSideCriterion implements Serializable,
         AcceptCriterion {
 
-    /**
-     * 
-     */
-    private static final long serialVersionUID = 1L;
-
     public final boolean isClientSideVerifiable() {
         return false;
     }
diff --git a/src/com/vaadin/event/dd/acceptCriteria/SourceIsSameAsTarget.java b/src/com/vaadin/event/dd/acceptCriteria/SourceIsSameAsTarget.java
deleted file mode 100644 (file)
index 778088a..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * 
- */
-package com.vaadin.event.dd.acceptCriteria;
-
-import com.vaadin.event.TransferableImpl;
-import com.vaadin.event.dd.DragAndDropEvent;
-import com.vaadin.event.dd.DropTarget;
-import com.vaadin.terminal.gwt.client.ui.dd.VSourceIsSameAsTarget;
-import com.vaadin.ui.Component;
-
-@ClientCriterion(VSourceIsSameAsTarget.class)
-public class SourceIsSameAsTarget extends ClientSideCriterion {
-
-    public boolean accepts(DragAndDropEvent dragEvent) {
-        if (dragEvent.getTransferable() instanceof TransferableImpl) {
-            Component sourceComponent = ((TransferableImpl) dragEvent
-                    .getTransferable()).getSourceComponent();
-            DropTarget target = dragEvent.getDropTargetData().getTarget();
-            return sourceComponent == target;
-        }
-
-        return false;
-    }
-
-}
\ No newline at end of file
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VComponentFilter.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VComponentFilter.java
deleted file mode 100644 (file)
index 6c3216b..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * 
- */
-package com.vaadin.terminal.gwt.client.ui.dd;
-
-import com.vaadin.terminal.gwt.client.Paintable;
-import com.vaadin.terminal.gwt.client.UIDL;
-
-final public class VComponentFilter extends VAcceptCriterion {
-
-    @Override
-    public boolean validates(VDragEvent drag, UIDL configuration) {
-        try {
-            Paintable component = drag.getTransferable().getDragSource();
-            int c = configuration.getIntAttribute("c");
-            for (int i = 0; i < c; i++) {
-                String requiredPid = configuration
-                        .getStringAttribute("component" + i);
-                Paintable paintable = VDragAndDropManager.get()
-                        .getCurrentDropHandler().getApplicationConnection()
-                        .getPaintable(requiredPid);
-                if (paintable == component) {
-                    return true;
-                }
-            }
-        } catch (Exception e) {
-        }
-        return false;
-    }
-}
\ No newline at end of file
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VContainsDataFlavor.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VContainsDataFlavor.java
new file mode 100644 (file)
index 0000000..a1bda81
--- /dev/null
@@ -0,0 +1,15 @@
+/**
+ * 
+ */
+package com.vaadin.terminal.gwt.client.ui.dd;
+
+import com.vaadin.terminal.gwt.client.UIDL;
+
+final public class VContainsDataFlavor extends VAcceptCriterion {
+
+    @Override
+    public boolean validates(VDragEvent drag, UIDL configuration) {
+        String name = configuration.getStringAttribute("p");
+        return drag.getTransferable().getDataFlavors().contains(name);
+    }
+}
\ No newline at end of file
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VContainsDataFlawor.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VContainsDataFlawor.java
deleted file mode 100644 (file)
index 0e16515..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-/**
- * 
- */
-package com.vaadin.terminal.gwt.client.ui.dd;
-
-import com.vaadin.terminal.gwt.client.UIDL;
-
-final public class VContainsDataFlawor extends VAcceptCriterion {
-
-    @Override
-    public boolean validates(VDragEvent drag, UIDL configuration) {
-        String name = configuration.getStringAttribute("p");
-        return drag.getTransferable().getDataFlawors().contains(name);
-    }
-}
\ No newline at end of file
diff --git a/src/com/vaadin/terminal/gwt/client/ui/dd/VIsDragSource.java b/src/com/vaadin/terminal/gwt/client/ui/dd/VIsDragSource.java
new file mode 100644 (file)
index 0000000..5c98f73
--- /dev/null
@@ -0,0 +1,32 @@
+package com.vaadin.terminal.gwt.client.ui.dd;
+
+import com.vaadin.terminal.gwt.client.Paintable;
+import com.vaadin.terminal.gwt.client.UIDL;
+
+/**
+ * TODO Javadoc!
+ * 
+ * @since 6.3
+ */
+final public class VIsDragSource extends VAcceptCriterion {
+
+    @Override
+    public boolean validates(VDragEvent drag, UIDL configuration) {
+        try {
+            Paintable component = drag.getTransferable().getDragSource();
+            int c = configuration.getIntAttribute("c");
+            for (int i = 0; i < c; i++) {
+                String requiredPid = configuration
+                        .getStringAttribute("component" + i);
+                Paintable paintable = VDragAndDropManager.get()
+                        .getCurrentDropHandler().getApplicationConnection()
+                        .getPaintable(requiredPid);
+                if (paintable == component) {
+                    return true;
+                }
+            }
+        } catch (Exception e) {
+        }
+        return false;
+    }
+}
\ No newline at end of file
index e810fa6ceaed6a6e827932b66e7eef5df034c1ce..c341ae4115d51e3876a81748544727fb7dd82cd1 100644 (file)
@@ -50,7 +50,7 @@ public class VTransferable {
         variables.put(dataFlawor, value);
     }
 
-    public Collection<String> getDataFlawors() {
+    public Collection<String> getDataFlavors() {
         return variables.keySet();
     }
 
index f88903bdeeff1511def8336fc6a5fb7069684045..473140ed236062049c48bd5878f499861b83a6f6 100644 (file)
@@ -141,7 +141,7 @@ public class DragAndDropService implements VariableOwner {
                 .get("evt");
 
         DropTargetDetails dropData = dropTarget
-                .translateDragDropDetails(rawDragDropDetails);
+                .translateDropTargetDetails(rawDragDropDetails);
 
         if (dropData == null) {
             // Create a default DragDropDetails with all the raw variables
index 9a6917331fd7b4d8f872d2e2c7304a6df361c5fe..6b4136fd4ede89c191ea83e962e908ef3fbd8adb 100644 (file)
@@ -20,7 +20,6 @@ import com.vaadin.data.Item;
 import com.vaadin.data.Property;
 import com.vaadin.data.util.IndexedContainer;
 import com.vaadin.event.DataBoundTransferable;
-import com.vaadin.event.Transferable;
 import com.vaadin.event.dd.DragAndDropEvent;
 import com.vaadin.event.dd.DropTargetDetailsImpl;
 import com.vaadin.event.dd.acceptCriteria.ClientCriterion;
@@ -1691,24 +1690,33 @@ public abstract class AbstractSelect extends AbstractField implements
     }
 
     /**
-     * Criterion for selects that support drop (Tree and Table). With this
-     * criterion drop is accepted on given identifier or set of identifiers.
+     * Criterion which accepts a drop only if the drop target is (one of) the
+     * given item identifier(s). Meaningful only for drop targets that extends
+     * AbstractSelect.
+     * 
+     * @since 6.3
      */
     @ClientCriterion(VIsOverId.class)
-    public static class IsOverId extends AbstractItemSetCriterion {
+    public static class DropTargetItemId extends AbstractItemSetCriterion {
 
-        public IsOverId(AbstractSelect select, Object... itemId) {
+        public DropTargetItemId(AbstractSelect select, Object... itemId) {
             super(select, itemId);
         }
 
         public boolean accepts(DragAndDropEvent dragEvent) {
-            AbstractSelectDropDetails dropTargetData = (AbstractSelectDropDetails) dragEvent
-                    .getDropTargetData();
+            AbstractSelectDropTargetDetails dropTargetData = (AbstractSelectDropTargetDetails) dragEvent
+                    .getDropTargetDetails();
             return itemIds.contains(dropTargetData.getItemIdOver());
         }
 
     }
 
+    /**
+     * TODO Javadoc!
+     * 
+     * @since 6.3
+     * 
+     */
     private static abstract class AbstractItemSetCriterion extends
             ClientSideCriterion {
         protected final Collection<Object> itemIds = new HashSet<Object>();
@@ -1738,13 +1746,17 @@ public abstract class AbstractSelect extends AbstractField implements
     }
 
     /**
-     * Criterion for selects that support drop (Tree and Table). With this
-     * criterion drop is accepted only if {@link Transferable} (from this
-     * {@link AbstractSelect}) contains given item identifier or identifiers.
+     * Criterion which accepts a drop only if the transferable contains the
+     * given item identifier(s). The item ids relate to the drag source
+     * (AbstractSelect).
+     * 
+     * @since 6.3
      */
     @ClientCriterion(VItemIdIs.class)
-    public static class ItemIdIs extends AbstractItemSetCriterion {
-        public ItemIdIs(AbstractSelect select, Object... itemId) {
+    public static class TransferableContainsItemId extends
+            AbstractItemSetCriterion {
+        public TransferableContainsItemId(AbstractSelect select,
+                Object... itemId) {
             super(select, itemId);
         }
 
@@ -1756,11 +1768,20 @@ public abstract class AbstractSelect extends AbstractField implements
 
     }
 
-    public class AbstractSelectDropDetails extends DropTargetDetailsImpl {
+    /**
+     * TODO Javadoc!
+     * 
+     * @since 6.3
+     */
+    public class AbstractSelectDropTargetDetails extends DropTargetDetailsImpl {
 
         private Object idOver;
 
-        AbstractSelectDropDetails(Map<String, Object> rawVariables) {
+        /**
+         * TODO Javadoc!
+         * 
+         */
+        AbstractSelectDropTargetDetails(Map<String, Object> rawVariables) {
             super(rawVariables);
             // eagar fetch itemid, mapper may be emptied
             String keyover = (String) getData("itemIdOver");
@@ -1769,10 +1790,19 @@ public abstract class AbstractSelect extends AbstractField implements
             }
         }
 
+        /**
+         * TODO Javadoc!
+         * 
+         */
         public Object getItemIdOver() {
             return idOver;
         }
 
+        /**
+         * TODO Javadoc!
+         * 
+         * @since 6.3
+         */
         public Location getDropLocation() {
             String s = (String) getData("detail");
             if ("TOP".equals(s)) {
index 232c65f9c62f692fa660c18b8293095ab21a697e..53eeacadd3a0c069b6e590e901cf677411dfcfdf 100644 (file)
@@ -128,7 +128,7 @@ public class DragAndDropWrapper extends CustomComponent implements DropTarget,
         requestRepaint();
     }
 
-    public DropTargetDetails translateDragDropDetails(
+    public DropTargetDetails translateDropTargetDetails(
             Map<String, Object> clientVariables) {
         return new WrapperDropDetails(clientVariables);
     }
index f925fda221a10c7b236ee8a79e82dcbb589ac4ba..22a1eedc720b6713241251ce7c575550173e403a 100644 (file)
@@ -74,10 +74,10 @@ public class DragDropPane extends AbsoluteLayout implements DropTarget {
 
     public static class ImportPrettyMuchAnything implements DropHandler {
         public void drop(DragAndDropEvent event) {
-            DragDropPane pane = (DragDropPane) event.getDropTargetData()
+            DragDropPane pane = (DragDropPane) event.getDropTargetDetails()
                     .getTarget();
 
-            DragEventDetails ed = (DragEventDetails) event.getDropTargetData();
+            DragEventDetails ed = (DragEventDetails) event.getDropTargetDetails();
             Transferable transferable = event.getTransferable();
             if (transferable instanceof TransferableImpl) {
                 TransferableImpl ctr = (TransferableImpl) transferable;
@@ -191,7 +191,7 @@ public class DragDropPane extends AbsoluteLayout implements DropTarget {
 
     }
 
-    public DropTargetDetails translateDragDropDetails(
+    public DropTargetDetails translateDropTargetDetails(
             Map<String, Object> clientVariables) {
         return new DragEventDetails(clientVariables);
     }
index 0db68525f8bea7876bec54ec4071948f39549ec6..92460675412c57d832bda7a7513ba555fa5fb271 100644 (file)
@@ -3364,8 +3364,8 @@ public class Table extends AbstractSelect implements Action.Container,
         this.dropHandler = dropHandler;
     }
 
-    public AbstractSelectDropDetails translateDragDropDetails(
+    public AbstractSelectDropTargetDetails translateDropTargetDetails(
             Map<String, Object> clientVariables) {
-        return new AbstractSelectDropDetails(clientVariables);
+        return new AbstractSelectDropTargetDetails(clientVariables);
     }
 }
index 5e0e66fae5fb8d81ae48d58d8f28f0ea94ec49f1..56c2cac421c1298383a43a79fbc04b99ecc8504f 100644 (file)
@@ -33,6 +33,7 @@ import com.vaadin.event.dd.DragSource;
 import com.vaadin.event.dd.DropHandler;
 import com.vaadin.event.dd.DropTarget;
 import com.vaadin.event.dd.acceptCriteria.ClientCriterion;
+import com.vaadin.event.dd.acceptCriteria.ClientSideCriterion;
 import com.vaadin.event.dd.acceptCriteria.ServerSideCriterion;
 import com.vaadin.terminal.KeyMapper;
 import com.vaadin.terminal.PaintException;
@@ -41,6 +42,7 @@ import com.vaadin.terminal.Resource;
 import com.vaadin.terminal.gwt.client.MouseEventDetails;
 import com.vaadin.terminal.gwt.client.ui.VTree;
 import com.vaadin.terminal.gwt.client.ui.dd.VLazyInitItemIdentifiers;
+import com.vaadin.terminal.gwt.client.ui.dd.VOverTreeNode;
 
 /**
  * Tree component. A Tree can be used to select an item (or multiple items) from
@@ -121,35 +123,6 @@ public class Tree extends AbstractSelect implements Container.Hierarchical,
 
     }
 
-    class TreeTransferable extends DataBoundTransferable {
-
-        public TreeTransferable(Component sourceComponent,
-                Map<String, Object> rawVariables) {
-            super(sourceComponent, rawVariables);
-        }
-
-        @Override
-        public Object getItemId() {
-            return getData("itemId");
-        }
-
-        @Override
-        public Object getPropertyId() {
-            return getItemCaptionPropertyId();
-        }
-    }
-
-    public Transferable getTransferable(Map<String, Object> payload) {
-        TreeTransferable transferable = new TreeTransferable(this, payload);
-        // updating drag source variables
-        Object object = payload.get("itemId");
-        if (object != null) {
-            transferable.setData("itemId", itemIdMapper.get((String) object));
-        }
-
-        return transferable;
-    }
-
     /* Tree constructors */
 
     /**
@@ -1146,9 +1119,14 @@ public class Tree extends AbstractSelect implements Container.Hierarchical,
         TOP, BOTTOM, MIDDLE;
     }
 
-    public class TreeDropDetails extends AbstractSelectDropDetails {
+    /**
+     * TODO Javadoc!
+     * 
+     * @since 6.3
+     */
+    public class TreeDropTargetDetails extends AbstractSelectDropTargetDetails {
 
-        TreeDropDetails(Map<String, Object> rawVariables) {
+        TreeDropTargetDetails(Map<String, Object> rawVariables) {
             super(rawVariables);
         }
 
@@ -1159,9 +1137,14 @@ public class Tree extends AbstractSelect implements Container.Hierarchical,
 
     }
 
-    public TreeDropDetails translateDragDropDetails(
+    /**
+     * TODO Javadoc!
+     * 
+     * @since 6.3
+     */
+    public TreeDropTargetDetails translateDropTargetDetails(
             Map<String, Object> clientVariables) {
-        return new TreeDropDetails(clientVariables);
+        return new TreeDropTargetDetails(clientVariables);
     }
 
     /**
@@ -1174,6 +1157,45 @@ public class Tree extends AbstractSelect implements Container.Hierarchical,
         return itemIdMapper.key(itemId);
     }
 
+    /**
+     * TODO Javadoc!
+     * 
+     * @since 6.3
+     */
+    public class TreeTransferable extends DataBoundTransferable {
+
+        public TreeTransferable(Component sourceComponent,
+                Map<String, Object> rawVariables) {
+            super(sourceComponent, rawVariables);
+        }
+
+        @Override
+        public Object getItemId() {
+            return getData("itemId");
+        }
+
+        @Override
+        public Object getPropertyId() {
+            return getItemCaptionPropertyId();
+        }
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see com.vaadin.event.dd.DragSource#getTransferable(java.util.Map)
+     */
+    public Transferable getTransferable(Map<String, Object> payload) {
+        TreeTransferable transferable = new TreeTransferable(this, payload);
+        // updating drag source variables
+        Object object = payload.get("itemId");
+        if (object != null) {
+            transferable.setData("itemId", itemIdMapper.get((String) object));
+        }
+
+        return transferable;
+    }
+
     /**
      * An example of lazy initializing criterion. Initially pretty much no data
      * is sent to client, on first accepts set (per drag request) the client
@@ -1209,9 +1231,9 @@ public class Tree extends AbstractSelect implements Container.Hierarchical,
          * .event.dd.DragAndDropEvent)
          */
         public boolean accepts(DragAndDropEvent dragEvent) {
-            AbstractSelectDropDetails dropTargetData = (AbstractSelectDropDetails) dragEvent
-                    .getDropTargetData();
-            tree = (Tree) dragEvent.getDropTargetData().getTarget();
+            AbstractSelectDropTargetDetails dropTargetData = (AbstractSelectDropTargetDetails) dragEvent
+                    .getDropTargetDetails();
+            tree = (Tree) dragEvent.getDropTargetDetails().getTarget();
             allowedItemIds = getAllowedItemIds(dragEvent, tree);
 
             return allowedItemIds.contains(dropTargetData.getItemIdOver());
@@ -1243,4 +1265,34 @@ public class Tree extends AbstractSelect implements Container.Hierarchical,
 
     }
 
+    /**
+     * Accepts transferable only on tree Node (middle of the node + can has
+     * child)
+     * 
+     * @since 6.3
+     */
+    @ClientCriterion(VOverTreeNode.class)
+    public static class OverTreeNode extends ClientSideCriterion {
+
+        private static final long serialVersionUID = 1L;
+
+        public boolean accepts(DragAndDropEvent dragEvent) {
+            try {
+                // must be over tree node and in the middle of it (not top or
+                // bottom part)
+                TreeDropTargetDetails eventDetails = (TreeDropTargetDetails) dragEvent
+                        .getDropTargetDetails();
+
+                Object itemIdOver = eventDetails.getItemIdOver();
+                if (!eventDetails.getTarget().areChildrenAllowed(itemIdOver)) {
+                    return false;
+                }
+
+                return eventDetails.getDropLocation() == Location.MIDDLE;
+            } catch (Exception e) {
+                return false;
+            }
+        }
+
+    }
 }
index b9e63d9dda53e938952b5b0f51144e5aa2e7d15e..c07051ef3220805d1f71bd776b5fac85f89c7f39 100644 (file)
@@ -34,7 +34,7 @@ public class AcceptAnythingWindow extends Window {
 
             public void drop(DragAndDropEvent event) {
                 WrapperDropDetails ed = (WrapperDropDetails) event
-                        .getDropTargetData();
+                        .getDropTargetDetails();
                 Transferable transferable = event.getTransferable();
                 TransferableImpl ctr = (TransferableImpl) transferable;
                 Component component = ctr.getSourceComponent();
index 7f91471b5d85bd3e6f76c1bc12c82ecc6924c062..6c116d1546644215600850c11e5cb096f4bfa5e2 100644 (file)
@@ -55,7 +55,7 @@ public class CustomDDImplementation extends CustomComponent {
             };
         }
 
-        public DropTargetDetails translateDragDropDetails(
+        public DropTargetDetails translateDropTargetDetails(
                 Map<String, Object> clientVariables) {
             // If component has some special drop details that it needs to
             // translate for server side use, developer must return a
index 3943098eac26218a9a2144c44017728c689fce2b..51568cbae01dfdad8729b804804c432d45925977 100644 (file)
@@ -10,7 +10,7 @@ import com.vaadin.event.Transferable;
 import com.vaadin.event.dd.DragAndDropEvent;
 import com.vaadin.event.dd.DropHandler;
 import com.vaadin.event.dd.acceptCriteria.AcceptCriterion;
-import com.vaadin.event.dd.acceptCriteria.IsDatabound;
+import com.vaadin.event.dd.acceptCriteria.IsDataBound;
 import com.vaadin.event.dd.acceptCriteria.ServerSideCriterion;
 import com.vaadin.terminal.ExternalResource;
 import com.vaadin.tests.components.TestBase;
@@ -22,7 +22,7 @@ import com.vaadin.ui.Layout;
 import com.vaadin.ui.Link;
 import com.vaadin.ui.Table;
 import com.vaadin.ui.Tree;
-import com.vaadin.ui.AbstractSelect.AbstractSelectDropDetails;
+import com.vaadin.ui.AbstractSelect.AbstractSelectDropTargetDetails;
 import com.vaadin.ui.Table.DragModes;
 import com.vaadin.ui.Tree.Location;
 
@@ -187,8 +187,8 @@ public class DDTest1 extends TestBase {
             }
 
             public void drop(DragAndDropEvent event) {
-                AbstractSelectDropDetails details = (AbstractSelectDropDetails) event
-                        .getDropTargetData();
+                AbstractSelectDropTargetDetails details = (AbstractSelectDropTargetDetails) event
+                        .getDropTargetDetails();
                 // TODO set properties, so same sorter could be used in Table
                 Transferable transferable = event.getTransferable();
                 if (transferable instanceof DataBoundTransferable) {
@@ -237,7 +237,7 @@ public class DDTest1 extends TestBase {
 
             public AcceptCriterion getAcceptCriterion() {
                 // TODO should actually check that source is same as target
-                return IsDatabound.get();
+                return IsDataBound.get();
             }
 
         };
index e580e6654d1040cf0a1400e28895e4156e560690..58057aa29d2479ccf1662d4164f41cefcaf8b0fe 100644 (file)
@@ -13,10 +13,9 @@ import com.vaadin.event.dd.DragAndDropEvent;
 import com.vaadin.event.dd.DropHandler;
 import com.vaadin.event.dd.acceptCriteria.AcceptCriterion;
 import com.vaadin.event.dd.acceptCriteria.And;
-import com.vaadin.event.dd.acceptCriteria.ComponentFilter;
-import com.vaadin.event.dd.acceptCriteria.IsDatabound;
+import com.vaadin.event.dd.acceptCriteria.IsDragSource;
+import com.vaadin.event.dd.acceptCriteria.IsDataBound;
 import com.vaadin.event.dd.acceptCriteria.Or;
-import com.vaadin.event.dd.acceptCriteria.OverTreeNode;
 import com.vaadin.event.dd.acceptCriteria.ServerSideCriterion;
 import com.vaadin.terminal.Resource;
 import com.vaadin.terminal.ThemeResource;
@@ -26,8 +25,9 @@ import com.vaadin.ui.HorizontalLayout;
 import com.vaadin.ui.Table;
 import com.vaadin.ui.Tree;
 import com.vaadin.ui.Window;
-import com.vaadin.ui.AbstractSelect.AbstractSelectDropDetails;
-import com.vaadin.ui.Tree.TreeDropDetails;
+import com.vaadin.ui.AbstractSelect.AbstractSelectDropTargetDetails;
+import com.vaadin.ui.Tree.OverTreeNode;
+import com.vaadin.ui.Tree.TreeDropTargetDetails;
 
 public class DDTest2 extends TestBase {
 
@@ -73,8 +73,8 @@ public class DDTest2 extends TestBase {
         final AcceptCriterion crit = new ServerSideCriterion() {
             public boolean accepts(DragAndDropEvent dragEvent) {
 
-                TreeDropDetails dropTargetData = (TreeDropDetails) dragEvent
-                        .getDropTargetData();
+                TreeDropTargetDetails dropTargetData = (TreeDropTargetDetails) dragEvent
+                        .getDropTargetDetails();
 
                 Object itemIdOver = dropTargetData.getItemIdOver();
 
@@ -94,8 +94,8 @@ public class DDTest2 extends TestBase {
                     data = "-no Text data flawor-";
                 }
                 tree3.addItem(data);
-                AbstractSelect.AbstractSelectDropDetails dropTargetData = (AbstractSelect.AbstractSelectDropDetails) dropEvent
-                        .getDropTargetData();
+                AbstractSelect.AbstractSelectDropTargetDetails dropTargetData = (AbstractSelect.AbstractSelectDropTargetDetails) dropEvent
+                        .getDropTargetDetails();
                 tree3.setParent(data, dropTargetData.getItemIdOver());
 
             }
@@ -113,9 +113,9 @@ public class DDTest2 extends TestBase {
         table.setDragMode(Table.DragModes.ROWS);
 
         OverTreeNode onNode = new OverTreeNode();
-        ComponentFilter fromTable = new ComponentFilter(table);
+        IsDragSource fromTable = new IsDragSource(table);
 
-        ComponentFilter fromTree = new ComponentFilter(tree1);
+        IsDragSource fromTree = new IsDragSource(tree1);
         final Or fromTree1OrTable = new Or(fromTable, fromTree);
         final And and = new And(fromTree1OrTable, onNode);
 
@@ -153,8 +153,8 @@ public class DDTest2 extends TestBase {
                  * As we also accept only drops on folders, we know dropDetails
                  * is from Tree and it contains itemIdOver.
                  */
-                AbstractSelectDropDetails details = (AbstractSelectDropDetails) event
-                        .getDropTargetData();
+                AbstractSelectDropTargetDetails details = (AbstractSelectDropTargetDetails) event
+                        .getDropTargetDetails();
                 Object idOver = details.getItemIdOver();
                 tree1.setParent(itemId, idOver);
 
@@ -178,8 +178,8 @@ public class DDTest2 extends TestBase {
 
         dropHandler = new DropHandler() {
             public void drop(DragAndDropEvent event) {
-                AbstractSelectDropDetails details = (AbstractSelectDropDetails) event
-                        .getDropTargetData();
+                AbstractSelectDropTargetDetails details = (AbstractSelectDropTargetDetails) event
+                        .getDropTargetDetails();
                 Transferable transferable = event.getTransferable();
 
                 if (transferable instanceof DataBoundTransferable) {
@@ -217,7 +217,7 @@ public class DDTest2 extends TestBase {
             }
 
             public AcceptCriterion getAcceptCriterion() {
-                return IsDatabound.get();
+                return IsDataBound.get();
             }
         };
 
index 0b5022caaa65bef5c5bc91a00c696fb9b6f4e19e..905aef538163c9fae10b63a1a5cd76c3389b983c 100644 (file)
@@ -8,14 +8,14 @@ import com.vaadin.event.DataBoundTransferable;
 import com.vaadin.event.dd.DragAndDropEvent;
 import com.vaadin.event.dd.DropHandler;
 import com.vaadin.event.dd.acceptCriteria.AcceptCriterion;
-import com.vaadin.event.dd.acceptCriteria.ComponentFilter;
+import com.vaadin.event.dd.acceptCriteria.IsDragSource;
 import com.vaadin.terminal.ThemeResource;
 import com.vaadin.tests.components.TestBase;
 import com.vaadin.ui.HorizontalLayout;
 import com.vaadin.ui.Table;
 import com.vaadin.ui.Tree;
 import com.vaadin.ui.Window;
-import com.vaadin.ui.AbstractSelect.AbstractSelectDropDetails;
+import com.vaadin.ui.AbstractSelect.AbstractSelectDropTargetDetails;
 import com.vaadin.ui.Tree.Location;
 
 public class DDTest4 extends TestBase {
@@ -50,15 +50,15 @@ public class DDTest4 extends TestBase {
 
         table.setDropHandler(new DropHandler() {
             // accept only drags from this table
-            AcceptCriterion crit = new ComponentFilter(table);
+            AcceptCriterion crit = new IsDragSource(table);
 
             public AcceptCriterion getAcceptCriterion() {
                 return crit;
             }
 
             public void drop(DragAndDropEvent dropEvent) {
-                AbstractSelectDropDetails dropTargetData = (AbstractSelectDropDetails) dropEvent
-                        .getDropTargetData();
+                AbstractSelectDropTargetDetails dropTargetData = (AbstractSelectDropTargetDetails) dropEvent
+                        .getDropTargetDetails();
                 DataBoundTransferable transferable = (DataBoundTransferable) dropEvent
                         .getTransferable();
                 Object itemIdOver = dropTargetData.getItemIdOver();
index 83f762406ab31ab835022238e0e43a904a4b91ff..052cb0ca834b9a477984f220b76ee23b5c6f69ab 100644 (file)
@@ -107,7 +107,7 @@ public class DDTest5 extends TestBase {
                     Component draggedComponent = transferable
                             .getDraggedComponent();
 
-                    DropTarget target = dropEvent.getDropTargetData()
+                    DropTarget target = dropEvent.getDropTargetDetails()
                             .getTarget();
 
                     WrappedLabel wrappedLabel = new WrappedLabel(
@@ -130,7 +130,7 @@ public class DDTest5 extends TestBase {
                             cssLayout.removeComponent(sourceComponent);
                             wrappedLabel = (WrappedLabel) sourceComponent;
                         }
-                        if (dropEvent.getDropTargetData().getData(
+                        if (dropEvent.getDropTargetDetails().getData(
                                 "verticalLocation").equals("TOP")) {
                             // before reference if dropped on topmost part
                             i--;
index fba2b0cf430cf6c9267aeb94b5b442fdd5059502..715fbe60e120d6befa7128949ed3e36f437451bb 100644 (file)
@@ -10,9 +10,9 @@ import com.vaadin.event.dd.DropTarget;
 import com.vaadin.event.dd.DropTargetDetails;
 import com.vaadin.event.dd.acceptCriteria.AcceptCriterion;
 import com.vaadin.event.dd.acceptCriteria.And;
-import com.vaadin.event.dd.acceptCriteria.DropDetailEquals;
+import com.vaadin.event.dd.acceptCriteria.DropTargetDetailEquals;
 import com.vaadin.event.dd.acceptCriteria.Not;
-import com.vaadin.event.dd.acceptCriteria.SourceIsSameAsTarget;
+import com.vaadin.event.dd.acceptCriteria.IsSameSourceAndTarget;
 import com.vaadin.ui.Component;
 import com.vaadin.ui.DragAndDropWrapper;
 import com.vaadin.ui.HorizontalLayout;
@@ -51,9 +51,9 @@ public class HorizontalLayoutSortableWithWrappers extends Window {
     }
 
     private DropHandler dh = new DropHandler() {
-        AcceptCriterion crit = new And(new DropDetailEquals(
+        AcceptCriterion crit = new And(new DropTargetDetailEquals(
                 "horizontalLocation", "LEFT"), new Not(
-                new SourceIsSameAsTarget()));
+                new IsSameSourceAndTarget()));
 
         public AcceptCriterion getAcceptCriterion() {
             return crit;
@@ -70,7 +70,7 @@ public class HorizontalLayoutSortableWithWrappers extends Window {
                             .getComponentIterator();
                     Component next = componentIterator.next();
                     DropTargetDetails dropTargetData = dropEvent
-                            .getDropTargetData();
+                            .getDropTargetDetails();
                     DropTarget target = dropTargetData.getTarget();
                     while (next != target) {
                         if (next != sourceComponent) {
index 60209d4b7afa86096945823df3fea99f1c664876..013ab32cea7cd972726cbe429f22bad1479d76db 100644 (file)
@@ -63,7 +63,7 @@ public class HorizontalSortableCssLayoutWithWrappers extends Window {
                             .getComponentIterator();
                     Component next = componentIterator.next();
                     DropTargetDetails dropTargetData = dropEvent
-                            .getDropTargetData();
+                            .getDropTargetDetails();
                     DropTarget target = dropTargetData.getTarget();
                     while (next != target) {
                         if (next != sourceComponent) {