KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > web > core > WebExecSupport


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-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.web.core;
21
22 import java.io.IOException JavaDoc;
23 import java.util.List JavaDoc;
24 import org.netbeans.modules.web.api.webmodule.WebFrameworkSupport;
25 import org.netbeans.modules.web.api.webmodule.WebModule;
26 import org.netbeans.modules.web.core.jsploader.JspCompileUtil;
27 import org.netbeans.modules.web.spi.webmodule.WebFrameworkProvider;
28
29 import org.openide.filesystems.*;
30 import org.netbeans.modules.web.spi.webmodule.RequestParametersProvider;
31
32 /** Static methods for execution parameters.
33 *
34 * @author Petr Jiricka
35 */

36 public class WebExecSupport implements RequestParametersProvider {
37
38     public static final String JavaDoc EA_REQPARAMS = "NetBeansAttrReqParams"; // NOI18N
39

40     /* Sets execution query string for the associated entry.
41     * @param qStr the query string
42     * @exception IOException if arguments cannot be set
43     */

44     public static void setQueryString(FileObject fo, String JavaDoc qStr) throws IOException JavaDoc {
45         fo.setAttribute (EA_REQPARAMS, qStr);
46     }
47
48     /* Getter for query string associated with given file.
49     * @return the query string or empty string if no quesy string associated
50     */

51     public static String JavaDoc getQueryString(FileObject fo) {
52         try {
53             String JavaDoc qStr = (String JavaDoc)fo.getAttribute (EA_REQPARAMS);
54             if (qStr != null) {
55                 if ((qStr.length() > 0) && (!qStr.startsWith("?"))) // NOI18N
56
qStr = "?" + qStr; // NOI18N
57
return qStr;
58             }
59         } catch (Exception JavaDoc ex) {
60             // null pointer or IOException
61
}
62         return ""; // NOI18N
63
}
64
65     public String JavaDoc getFileAndParameters(FileObject f) {
66         
67         List JavaDoc <WebFrameworkProvider> frameworkProviders = WebFrameworkSupport.getFrameworkProviders();
68         String JavaDoc url = null;
69         WebModule wm = WebModule.getWebModule(f);
70         if (wm != null && frameworkProviders.size() > 0){
71             for ( WebFrameworkProvider frameworkProvider : frameworkProviders) {
72                 if (frameworkProvider.isInWebModule(wm)){
73                     url = frameworkProvider.getServletPath(f);
74                     if (url != null)
75                         break;
76                 }
77             }
78         }
79         if (url == null)
80             url = JspCompileUtil.findRelativeContextPath(WebModule.getWebModule (f).getDocumentBase (), f);
81         url = url + getQueryString(f);
82         url = org.openide.util.Utilities.replaceString(url, " ", "%20");
83         return url;
84     }
85 }
86
87
Popular Tags