01: /*
02: * The contents of this file are subject to the terms of the Common Development
03: * and Distribution License (the License). You may not use this file except in
04: * compliance with the License.
05: *
06: * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
07: * or http://www.netbeans.org/cddl.txt.
08: *
09: * 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: package org.netbeans.modules.xslt.project.nodes;
20:
21: import org.netbeans.api.project.FileOwnerQuery;
22: import org.netbeans.api.project.Project;
23: import org.openide.ErrorManager;
24: import org.openide.filesystems.FileObject;
25: import org.openide.loaders.DataObject;
26: import org.openide.loaders.DataObjectNotFoundException;
27: import org.openide.nodes.Children;
28: import org.openide.nodes.Node;
29:
30: /**
31: * Factory used to create Transforamtion nodes
32: * @author Vitaly Bychkov
33: * @version 1.0
34: */
35: public class NodeFactory {
36:
37: private NodeFactory() {
38: }
39:
40: /**
41: * Used to create XsltTransformationsNode
42: * @param xsltMapFile FileObject for xsltmap.xml file
43: * @return created XsltTransformationsNode which associated with xsltMap dataObject node
44: */
45: public static final XsltTransformationsNode createXsltTransformationsNode(
46: FileObject xsltMapFile) {
47: XsltTransformationsNode node = null;
48: if (xsltMapFile != null) {
49: Project project = FileOwnerQuery.getOwner(xsltMapFile);
50: if (project != null) {
51: Children tChildren = new TransformationsChildren(
52: project);
53:
54: DataObject dObj;
55: try {
56: dObj = DataObject.find(xsltMapFile);
57: if (dObj != null) {
58: node = new XsltTransformationsNode(dObj,
59: tChildren);
60: }
61: } catch (DataObjectNotFoundException ex) {
62: ErrorManager.getDefault().notify(ex);
63: }
64: }
65: }
66:
67: return node;
68: }
69:
70: }
|