PageRenderTime 39ms CodeModel.GetById 14ms RepoModel.GetById 0ms app.codeStats 0ms

/projects/netbeans-7.3/openide.actions/test/unit/src/org/openide/actions/ActionsInfraHid.java

https://gitlab.com/essere.lab.public/qualitas.class-corpus
Java | 104 lines | 46 code | 6 blank | 52 comment | 5 complexity | 4db1fbbba0b2a393e7cd55af0abc7e95 MD5 | raw file
  1. /*
  2. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
  3. *
  4. * Copyright 1997-2010 Oracle and/or its affiliates. All rights reserved.
  5. *
  6. * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
  7. * Other names may be trademarks of their respective owners.
  8. *
  9. * The contents of this file are subject to the terms of either the GNU
  10. * General Public License Version 2 only ("GPL") or the Common
  11. * Development and Distribution License("CDDL") (collectively, the
  12. * "License"). You may not use this file except in compliance with the
  13. * License. You can obtain a copy of the License at
  14. * http://www.netbeans.org/cddl-gplv2.html
  15. * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
  16. * specific language governing permissions and limitations under the
  17. * License. When distributing the software, include this License Header
  18. * Notice in each file and include the License file at
  19. * nbbuild/licenses/CDDL-GPL-2-CP. Oracle designates this
  20. * particular file as subject to the "Classpath" exception as provided
  21. * by Oracle in the GPL Version 2 section of the License file that
  22. * accompanied this code. If applicable, add the following below the
  23. * License Header, with the fields enclosed by brackets [] replaced by
  24. * your own identifying information:
  25. * "Portions Copyrighted [year] [name of copyright owner]"
  26. *
  27. * Contributor(s):
  28. *
  29. * The Original Software is NetBeans. The Initial Developer of the Original
  30. * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
  31. * Microsystems, Inc. All Rights Reserved.
  32. *
  33. * If you wish your version of this file to be governed by only the CDDL
  34. * or only the GPL Version 2, indicate your decision by adding
  35. * "[Contributor] elects to include this software in this distribution
  36. * under the [CDDL or GPL Version 2] license." If you do not indicate a
  37. * single choice of license, a recipient has the option to distribute
  38. * your version of this file under either the CDDL, the GPL Version 2 or
  39. * to extend the choice of license to its licensees as provided above.
  40. * However, if you add GPL Version 2 code and therefore, elected the GPL
  41. * Version 2 license, then the option applies only if the new code is
  42. * made subject to such option by the copyright holder.
  43. */
  44. package org.openide.actions;
  45. import java.beans.PropertyChangeEvent;
  46. import java.beans.PropertyChangeListener;
  47. import java.util.ArrayList;
  48. import java.util.List;
  49. /** Utilities for actions tests.
  50. * @author Jesse Glick
  51. */
  52. public abstract class ActionsInfraHid {
  53. private ActionsInfraHid() {}
  54. /** Prop listener that will tell you if it gets a change.
  55. * XXX replace with MockPropertyChangeListener
  56. */
  57. public static final class WaitPCL implements PropertyChangeListener {
  58. /** whether a change has been received, and if so count */
  59. public int gotit = 0;
  60. /** optional property name to filter by (if null, accept any) */
  61. private final String prop;
  62. public WaitPCL(String p) {
  63. prop = p;
  64. }
  65. public synchronized void propertyChange(PropertyChangeEvent evt) {
  66. if (prop == null || prop.equals(evt.getPropertyName())) {
  67. gotit++;
  68. notifyAll();
  69. }
  70. }
  71. public boolean changed() {
  72. return changed(1500);
  73. }
  74. public synchronized boolean changed(int timeout) {
  75. if (gotit > 0) {
  76. return true;
  77. }
  78. try {
  79. wait(timeout);
  80. } catch (InterruptedException ie) {
  81. ie.printStackTrace();
  82. }
  83. return gotit > 0;
  84. }
  85. }
  86. // Stolen from RequestProcessorTest.
  87. public static void doGC() {
  88. doGC(10);
  89. }
  90. public static void doGC(int count) {
  91. List<Object> l = new ArrayList<Object>(count);
  92. while (count-- > 0) {
  93. System.gc();
  94. System.runFinalization();
  95. l.add(new byte[1000]);
  96. }
  97. }
  98. }