The Examples of DD API Usage.

Example 1

In this example, DD API client prints all listener classes from deployment descriptor to console:

package mypackage; import org.netbeans.api.web.dd.DDProvider; import org.netbeans.api.web.dd.WebApp; import org.netbeans.api.web.dd.Listener; import org.openide.filesystems.*; public class ListenerExample { /** * @param args the command line arguments */ public static void main(String[] args)throws Exception { // get the file object of web.xml file DDProvider ddProvider = DDProvider.getDefault(); FileObject fo = Repository.getDefault().findResource("WEB-INF/web.xml"); // get the deployment descriptor root object WebApp webApp = ddProvider.getDDRoot(fo); // print the version of deployment dscriptor System.out.println("DD version = "+webApp.getVersion()); // get the array of listeners and print the listener classes Listener [] listeners = webApp.getListener(); for (int i=0; i<listeners.length; i++) { System.out.println("Listener ["+i+"] = "+listeners[i].getListenerClass()); } } }

Example 2

In this example, DD API client searches a servlet "CarServlet" and, if such a servlet exists, 2 init parameters are created : "car_type" and "car_color".
Then, finally, changes ara saved back to file object :
 package mypackage;

 import org.netbeans.api.web.dd.DDProvider;
 import org.netbeans.api.web.dd.WebApp;
 import org.netbeans.api.web.dd.Servlet;
 import org.netbeans.api.web.dd.InitParam;
 import org.openide.filesystems.*;

 public class InitParamExample {
     
    /**
     * @param args the command line arguments
     */

    public static void main(String[] args) throws Exception {

	// get the file object of web.xml file
        DDProvider ddProvider = DDProvider.getDefault();
        FileObject fo = Repository.getDefault().findResource("WEB-INF/web.xml");

	// get the deployment descriptor root object
        WebApp webApp = ddProvider.getDDRoot(fo);

	// print the version of deployment dscriptor
        System.out.println("DD version = "+webApp.getVersion());

	// looks for the "CarServlet" servlet at WebApp object by ServletName property
        Servlet servlet = (Servlet) webApp.findBeanByName("Servlet", "ServletName", "CarServlet");

        if (servlet!=null) {

            // add the first InitParam object to Servlet object
            servlet.addBean("InitParam", new String[]{"ParamName","ParamValue"}, new String[]{"car_type","FORD"}, null );

            // add the second InitParam object to Servlet object
            servlet.addBean("InitParam", new String[]{"ParamName","ParamValue"}, new String[]{"car_color","green"}, null );

	    // print all init params to console
            InitParam [] newParams = servlet.getInitParam();
            for (int i=0;i<newParams.length;i++)
                System.out.println("init-param ["+i+"] = "+newParams[i].getParamName()+" -> "+newParams[i].getParamValue());

	    // write changes back to file object
            webApp.write(fo);
        }
    }
 }