You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

VItemIdIs.java 1.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /*
  2. * Copyright 2000-2013 Vaadin Ltd.
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License"); you may not
  5. * use this file except in compliance with the License. You may obtain a copy of
  6. * the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  12. * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  13. * License for the specific language governing permissions and limitations under
  14. * the License.
  15. */
  16. /**
  17. *
  18. */
  19. package com.vaadin.client.ui.dd;
  20. import com.vaadin.client.ComponentConnector;
  21. import com.vaadin.client.UIDL;
  22. import com.vaadin.shared.ui.dd.AcceptCriterion;
  23. import com.vaadin.ui.AbstractSelect;
  24. @AcceptCriterion(AbstractSelect.AcceptItem.class)
  25. final public class VItemIdIs extends VAcceptCriterion {
  26. @Override
  27. protected boolean accept(VDragEvent drag, UIDL configuration) {
  28. try {
  29. String pid = configuration.getStringAttribute("s");
  30. ComponentConnector dragSource = drag.getTransferable()
  31. .getDragSource();
  32. String pid2 = dragSource.getConnectorId();
  33. if (pid2.equals(pid)) {
  34. Object searchedId = drag.getTransferable().getData("itemId");
  35. String[] stringArrayAttribute = configuration
  36. .getStringArrayAttribute("keys");
  37. for (String string : stringArrayAttribute) {
  38. if (string.equals(searchedId)) {
  39. return true;
  40. }
  41. }
  42. }
  43. } catch (Exception e) {
  44. }
  45. return false;
  46. }
  47. }