KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > openharmonise > him > displaycomponents > MetadataDisplayComponent


1 /*
2  * The contents of this file are subject to the
3  * Mozilla Public License Version 1.1 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at http://www.mozilla.org/MPL/
6  *
7  * Software distributed under the License is distributed on an "AS IS"
8  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.
9  * See the License for the specific language governing rights and
10  * limitations under the License.
11  *
12  * The Initial Developer of the Original Code is Simulacra Media Ltd.
13  * Portions created by Simulacra Media Ltd are Copyright (C) Simulacra Media Ltd, 2004.
14  *
15  * All Rights Reserved.
16  *
17  * Contributor(s):
18  */

19
20 package org.openharmonise.him.displaycomponents;
21
22 import org.openharmonise.him.context.StateHandler;
23 import org.openharmonise.him.displaycomponents.table.*;
24 import org.openharmonise.him.window.*;
25 import org.openharmonise.vfs.*;
26 import org.openharmonise.vfs.context.*;
27 import org.openharmonise.vfs.servers.*;
28
29
30 /**
31  * Display component for managing metadata resources.
32  *
33  * @author Matthew Large
34  * @version $Revision: 1.1 $
35  *
36  */

37 public class MetadataDisplayComponent extends AbstractTreeTableDisplayComponent
38 implements ContextListener {
39
40     /**
41      * Virtual file system for the selected file.
42      */

43     private AbstractVirtualFileSystem m_SelectedFileVFS = null;
44     
45     /**
46      * Full path to the selected file.
47      */

48     private String JavaDoc m_sSelectedFilePath = null;
49
50     /**
51      * Virtual file system for the selected collection.
52      */

53     private AbstractVirtualFileSystem m_SelectedDirVFS = null;
54     
55     /**
56      * Full path to the selected collection.
57      */

58     private String JavaDoc m_sSelectedDirPath = null;
59
60     /**
61      * Constructs a new metadata display component.
62      *
63      * @param displayManager Display manager
64      */

65     public MetadataDisplayComponent(DisplayManager displayManager) {
66         super(displayManager);
67         ContextHandler.getInstance().addListener(ContextType.CONTEXT_TABS, this);
68     }
69     
70     /**
71      * Constructs a new metadata display component.
72      *
73      * @param displayManager Display manager
74      * @param server Server
75      * @param sPath Full path to metadata collection
76      */

77     public MetadataDisplayComponent(DisplayManager displayManager, Server server, String JavaDoc sPath) {
78         super(displayManager, server, sPath);
79         ContextHandler.getInstance().addListener(ContextType.CONTEXT_TABS, this);
80     }
81     
82     /* (non-Javadoc)
83      * @see com.simulacramedia.contentmanager.displaycomponents.tree.TreeViewListener#directorySelected(com.simulacramedia.vfs.servers.Server, java.lang.String)
84      */

85     public void virtualFileSelected(AbstractVirtualFileSystem vfs, String JavaDoc sPath) {
86         StateHandler.getInstance().addWait("METADATA-DIR-SELECTION");
87         try {
88             this.m_SelectedDirVFS = vfs;
89             this.m_sSelectedDirPath = sPath;
90             this.m_SelectedFileVFS=null;
91             this.m_sSelectedFilePath=null;
92             this.m_tableView.setPath(vfs, sPath);
93             this.m_displayManager.hideMetadata();
94             ContextEvent ce = new ContextEvent(ContextType.CONTEXT_DIRS, "", vfs, sPath);
95             ContextHandler.getInstance().fireContextEvent(ce);
96         } catch (Exception JavaDoc e) {
97             e.printStackTrace(System.err);
98         } finally {
99             StateHandler.getInstance().removeWait("METADATA-DIR-SELECTION");
100         }
101     }
102     
103     /* (non-Javadoc)
104      * @see com.simulacramedia.contentmanager.displaycomponents.table.TableListener#fileSelection(com.simulacramedia.contentmanager.displaycomponents.table.TableEntry)
105      */

106     public void fileSelection(TableEntry entry) {
107         StateHandler.getInstance().addWait("METADATA-FILE-SELECTION");
108         try {
109             ContextEvent ce = new ContextEvent(ContextType.CONTEXT_FILES, null, entry.getVFS(), entry.getPath());
110             this.m_SelectedFileVFS = entry.getVFS();
111             this.m_sSelectedFilePath = entry.getPath();
112             ContextHandler.getInstance().fireContextEvent(ce);
113             this.m_displayManager.openMetadata();
114             this.m_displayManager.scrollTableTo( entry.getLocation().x );
115         } catch (Exception JavaDoc e) {
116             e.printStackTrace(System.err);
117         } finally {
118             StateHandler.getInstance().removeWait("METADATA-FILE-SELECTION");
119         }
120     }
121     
122     /* (non-Javadoc)
123      * @see com.simulacramedia.contentmanager.displaycomponents.table.TableListener#fileSelection(com.simulacramedia.contentmanager.displaycomponents.table.TableEntry)
124      */

125     public void fileSelection(VersionEntry entry) {
126         StateHandler.getInstance().addWait("METADATA-FILE-SELECTION");
127         try {
128             ContextEvent ce = new ContextEvent(ContextType.CONTEXT_FILES, null, entry.getVFS(), entry.getPath());
129             this.m_SelectedFileVFS = entry.getVFS();
130             this.m_sSelectedFilePath = entry.getPath();
131             ContextHandler.getInstance().fireContextEvent(ce);
132             this.m_displayManager.openMetadata();
133             this.m_displayManager.scrollTableTo( entry.getParentTableEntry().getLocation().x );
134         } catch (Exception JavaDoc e) {
135             e.printStackTrace(System.err);
136         } finally {
137             StateHandler.getInstance().removeWait("METADATA-FILE-SELECTION");
138         }
139     }
140     
141     /* (non-Javadoc)
142      * @see com.simulacramedia.contentmanager.displaycomponents.AbstractTreeTableDisplayComponent#getTitle()
143      */

144     public String JavaDoc getTitle() {
145         return "Metadata";
146     }
147     
148     /* (non-Javadoc)
149      * @see com.simulacramedia.contentmanager.displaycomponents.AbstractTreeTableDisplayComponent#getIcon()
150      */

151     public String JavaDoc getIcon() {
152         return "16-property-container.gif";
153     }
154     
155     /* (non-Javadoc)
156      * @see com.simulacramedia.contentmanager.context.ContextListener#contextMessage(com.simulacramedia.contentmanager.context.ContextEvent)
157      */

158     public void contextMessage(ContextEvent ce) {
159         if(ce.CONTEXT_TYPE==ContextType.CONTEXT_TABS && ce.getMessage().equalsIgnoreCase(this.getTitle())) {
160             if(this.m_SelectedDirVFS!=null && this.m_sSelectedDirPath!=null) {
161                 ContextEvent ce2 = new ContextEvent(ContextType.CONTEXT_DIRS, null, this.m_SelectedDirVFS, this.m_sSelectedDirPath);
162                 ContextHandler.getInstance().fireContextEvent(ce2);
163             }
164             if(this.m_SelectedFileVFS!=null && this.m_sSelectedFilePath!=null) {
165                 ContextEvent ce2 = new ContextEvent(ContextType.CONTEXT_FILES, null, this.m_SelectedFileVFS, this.m_sSelectedFilePath);
166                 ContextHandler.getInstance().fireContextEvent(ce2);
167                 this.m_displayManager.openMetadata();
168             } else {
169                 this.m_displayManager.hideMetadata();
170             }
171         }
172     }
173
174 }
Popular Tags