KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > loadgenerator > api > impl > ManagerOutputWindowRegistry


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.loadgenerator.api.impl;
21
22 import java.util.Map JavaDoc;
23 import java.util.WeakHashMap JavaDoc;
24 import javax.swing.Action JavaDoc;
25 import org.netbeans.modules.loadgenerator.actions.LoadAction;
26 import org.netbeans.modules.loadgenerator.actions.StartAction;
27 import org.netbeans.modules.loadgenerator.actions.StopAction;
28 import org.netbeans.modules.loadgenerator.spi.Engine;
29 import org.netbeans.modules.loadgenerator.spi.ProcessInstance;
30
31 /**
32  *
33  * @author Jaroslav Bachorik
34  */

35 public class ManagerOutputWindowRegistry {
36   final private static ManagerOutputWindowRegistry instance = new ManagerOutputWindowRegistry();
37   
38   final private Map JavaDoc<ProcessInstance, ManagerOutputWindow> windows = new WeakHashMap JavaDoc<ProcessInstance, ManagerOutputWindow>();
39   
40   /** Creates a new instance of ManagerOutputWindowRegistry */
41   private ManagerOutputWindowRegistry() {
42   }
43   
44   final public static ManagerOutputWindowRegistry getDefault() {
45     return instance;
46   }
47   
48   public ManagerOutputWindow open(final ProcessInstance instance) {
49     // open the main management window
50
ManagerOutputWindow mngrWin = windows.get(instance);
51     if (mngrWin == null) {
52       mngrWin = new ManagerOutputWindow(new Action JavaDoc[]{
53         new LoadAction((Engine)instance.getFactory()),
54         new StartAction((ProcessInstance)instance),
55         new StopAction((ProcessInstance)instance)});
56       windows.put(instance, mngrWin);
57     }
58     // ***
59
mngrWin.attach(instance);
60     return mngrWin;
61   }
62   
63   public void close(final ProcessInstance instance) {
64     ManagerOutputWindow mngrWin = windows.get(instance);
65     if (mngrWin != null) {
66       mngrWin.close(instance);
67     }
68   }
69   
70   public ManagerOutputWindow find(final ProcessInstance instance) {
71     return windows.get(instance);
72   }
73 }
74
Popular Tags