KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > directory > ldapstudio > proxy > view > ProxyView


1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one
3  * or more contributor license agreements. See the NOTICE file
4  * distributed with this work for additional information
5  * regarding copyright ownership. The ASF licenses this file
6  * to you under the Apache License, Version 2.0 (the
7  * "License"); you may not use this file except in compliance
8  * with the License. You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing,
13  * software distributed under the License is distributed on an
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15  * KIND, either express or implied. See the License for the
16  * specific language governing permissions and limitations
17  * under the License.
18  *
19  */

20 package org.apache.directory.ldapstudio.proxy.view;
21
22
23 import org.apache.directory.ldapstudio.browser.core.model.filter.LdapOrFilterComponent;
24 import org.apache.directory.ldapstudio.proxy.Activator;
25 import org.apache.directory.ldapstudio.proxy.controller.ProxyViewController;
26 import org.apache.directory.ldapstudio.proxy.model.LdapMessageWithPDU;
27 import org.apache.directory.ldapstudio.proxy.model.LdapProxy;
28 import org.apache.directory.ldapstudio.proxy.model.LdapProxyListener;
29 import org.apache.directory.ldapstudio.proxy.view.wrappers.IWrapper;
30 import org.apache.directory.ldapstudio.proxy.view.wrappers.LdapMessageWrapper;
31 import org.apache.directory.ldapstudio.proxy.view.wrappers.LdapProxyWrapper;
32 import org.eclipse.jface.viewers.TreeViewer;
33 import org.eclipse.swt.SWT;
34 import org.eclipse.swt.widgets.Composite;
35 import org.eclipse.swt.widgets.Display;
36 import org.eclipse.ui.PlatformUI;
37 import org.eclipse.ui.part.ViewPart;
38
39
40 /**
41  * This class implements the Proxy View where all LDAP Messages Hierarchy (LDAP Requests and Responses) is displayed.
42  *
43  * @author <a HREF="mailto:dev@directory.apache.org">Apache Directory Project</a>
44  * @version $Rev$, $Date$
45  */

46 public class ProxyView extends ViewPart
47 {
48     /** The view ID*/
49     public static final String JavaDoc ID = Activator.PLUGIN_ID + ".view.ProxyView";
50
51     /** The controller */
52     private ProxyViewController controller;
53
54     /** The tree viewer */
55     private TreeViewer viewer;
56
57     /** The LDAP Proxy */
58     private LdapProxy ldapProxy;
59
60     /** The LDAP Proxy Wrapper */
61     private LdapProxyWrapper ldapProxyWrapper;
62
63     /** The Proxy Listener */
64     private LdapProxyListener proxyListener = new LdapProxyListener()
65     {
66         public void ldapMessageReceived( final LdapMessageWithPDU ldapMessage )
67         {
68             System.out.println( ldapMessage.getLdapMessage() );
69             PlatformUI.getWorkbench().getDisplay().asyncExec( new Runnable JavaDoc()
70             {
71                 public void run()
72                 {
73 // viewer.refresh();
74
( ( LdapProxyWrapper ) viewer.getInput() ).addChild( new LdapMessageWrapper( ( IWrapper ) viewer.getInput(), ldapMessage ) );
75                 }
76             } );
77         }
78     };
79
80
81     /* (non-Javadoc)
82      * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
83      */

84     public void createPartControl( Composite parent )
85     {
86         viewer = new TreeViewer( parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER );
87         viewer.setContentProvider( new ProxyViewContentProvider() );
88         viewer.setLabelProvider( new ProxyViewLabelProvider() );
89         ldapProxyWrapper = new LdapProxyWrapper( this );
90         viewer.setInput( ldapProxyWrapper );
91
92         controller = new ProxyViewController( this );
93
94         // // TODO Remove
95
// TreeItem treeItem = new TreeItem( viewer, SWT.NONE );
96
// treeItem.setText( "Bind [id=1]" );
97
//
98
// treeItem = new TreeItem( treeItem, SWT.NONE );
99
// treeItem.setText( "Bind Request" );
100
// treeItem.setImage( AbstractUIPlugin.imageDescriptorFromPlugin( Activator.PLUGIN_ID, IImageKeys.IN )
101
// .createImage() );
102
//
103
// treeItem = new TreeItem( viewer.getTopItem(), SWT.NONE );
104
// treeItem.setText( "Bind Response" );
105
// treeItem.setImage( AbstractUIPlugin.imageDescriptorFromPlugin( Activator.PLUGIN_ID, IImageKeys.OUT )
106
// .createImage() );
107
//
108
// TreeItem treeItem2 = new TreeItem( viewer, SWT.NONE );
109
// treeItem2.setText( "Search [id=2]" );
110
//
111
// treeItem = new TreeItem( treeItem2, SWT.NONE );
112
// treeItem.setText( "Search Request" );
113
// treeItem.setImage( AbstractUIPlugin.imageDescriptorFromPlugin( Activator.PLUGIN_ID, IImageKeys.IN )
114
// .createImage() );
115
//
116
// treeItem = new TreeItem( treeItem2, SWT.NONE );
117
// treeItem.setText( "Search Result Entry" );
118
// treeItem.setImage( AbstractUIPlugin.imageDescriptorFromPlugin( Activator.PLUGIN_ID, IImageKeys.OUT )
119
// .createImage() );
120
//
121
// treeItem = new TreeItem( treeItem2, SWT.NONE );
122
// treeItem.setText( "Search Result Entry" );
123
// treeItem.setImage( AbstractUIPlugin.imageDescriptorFromPlugin( Activator.PLUGIN_ID, IImageKeys.OUT )
124
// .createImage() );
125
//
126
// treeItem = new TreeItem( treeItem2, SWT.NONE );
127
// treeItem.setText( "Search Result Entry" );
128
// treeItem.setImage( AbstractUIPlugin.imageDescriptorFromPlugin( Activator.PLUGIN_ID, IImageKeys.OUT )
129
// .createImage() );
130
//
131
// treeItem = new TreeItem( treeItem2, SWT.NONE );
132
// treeItem.setText( "Search Result Done" );
133
// treeItem.setImage( AbstractUIPlugin.imageDescriptorFromPlugin( Activator.PLUGIN_ID, IImageKeys.OUT )
134
// .createImage() );
135
}
136
137
138     /* (non-Javadoc)
139      * @see org.eclipse.ui.part.WorkbenchPart#setFocus()
140      */

141     public void setFocus()
142     {
143         viewer.getControl().setFocus();
144     }
145
146
147     public ProxyViewController getController()
148     {
149         return controller;
150     }
151
152
153     public TreeViewer getViewer()
154     {
155         return viewer;
156     }
157
158
159     public LdapProxy getLdapProxy()
160     {
161         return ldapProxy;
162     }
163
164
165     public void setLdapProxy( LdapProxy ldapProxy )
166     {
167         if ( this.ldapProxy != null )
168         {
169             this.ldapProxy.removeListener( proxyListener );
170         }
171         this.ldapProxy = ldapProxy;
172         if ( ldapProxy != null )
173         {
174             ldapProxy.addListener( proxyListener );
175         }
176     }
177 }
178
Popular Tags