KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sun > enterprise > tools > upgrade > transform > elements > LogService


1 /*
2  * The contents of this file are subject to the terms
3  * of the Common Development and Distribution License
4  * (the License). You may not use this file except in
5  * compliance with the License.
6  *
7  * You can obtain a copy of the license at
8  * https://glassfish.dev.java.net/public/CDDLv1.0.html or
9  * glassfish/bootstrap/legal/CDDLv1.0.txt.
10  * See the License for the specific language governing
11  * permissions and limitations under the License.
12  *
13  * When distributing Covered Code, include this CDDL
14  * Header Notice in each file and include the License file
15  * at glassfish/bootstrap/legal/CDDLv1.0.txt.
16  * If applicable, add the following below the CDDL Header,
17  * with the fields enclosed by brackets [] replaced by
18  * you own identifying information:
19  * "Portions Copyrighted [year] [name of copyright owner]"
20  *
21  * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
22  */

23
24 /*
25  * Element.java
26  *
27  * Created on August 4, 2003, 2:04 PM
28  */

29
30 package com.sun.enterprise.tools.upgrade.transform.elements;
31
32 /**
33  *
34  * @author prakash
35  */

36 import org.w3c.dom.Document JavaDoc;
37 import org.w3c.dom.Element JavaDoc;
38 import org.w3c.dom.NodeList JavaDoc;
39 import org.w3c.dom.Node JavaDoc;
40 import com.sun.enterprise.tools.upgrade.transform.ElementToObjectMapper;
41
42 public class LogService extends BaseElement {
43     
44     /** Creates a new instance of Element */
45     public LogService() {
46     }
47     /**
48      * element - log-service
49      * parentSource - parent server of element
50      * parentResult - domain
51      */

52     public void transform(Element JavaDoc element, Element JavaDoc parentSource, Element JavaDoc parentResult){
53         // There should only be one or zero http-service
54
NodeList JavaDoc logServs = parentResult.getElementsByTagName("log-service");
55         Element JavaDoc logService = null;
56         if(logServs.getLength() == 0){
57             NodeList JavaDoc config = parentResult.getElementsByTagName("config");
58             logService = parentResult.getOwnerDocument().createElement("log-service");
59             this.transferAttributes(element, logService, null);
60             this.appendElementToParent((Element JavaDoc)config.item(0),logService);
61         }else {
62             logService = (Element JavaDoc)logServs.item(0);
63             this.transferAttributes(element, logService, null);
64         }
65         
66         super.transform(element, parentSource, logService);
67     }
68     // Over ride the method.
69
protected void transferAttributes(Element JavaDoc source, Element JavaDoc result, java.util.List JavaDoc nonTransferList){
70         // Transfer only appropriate attributes.
71
//result.setAttribute("echo-log-messages-to-stderr", source.getAttribute("echo-log-messages-to-stderr"));
72

73         //result.setAttribute("create-console",source.getAttribute("create-console"));
74
//result.setAttribute("log-virtual-server-id",source.getAttribute("log-virtual-server-id"));
75

76         // if source is 8.0 transfer all the elements
77
if(commonInfoModel.getSourceVersion().equals(com.sun.enterprise.tools.upgrade.common.UpgradeConstants.VERSION_7X)){
78             result.setAttribute("use-system-logging",source.getAttribute("use-system-logging"));
79             this.setModuleLevelLogs(source,result);
80         }else{
81             nonTransferList = new java.util.Vector JavaDoc();
82             // You dont want to change the log file name.
83
nonTransferList.add("file");
84             super.transferAttributes(source, result, nonTransferList);
85         }
86     }
87     private void setModuleLevelLogs(Element JavaDoc sourceLogService, Element JavaDoc resultLogService){
88         // This method is called only for AS 7.x. log-levels are defined for many source attributes, that need to be set to module level. in target
89
NodeList JavaDoc modLogLevels = resultLogService.getElementsByTagName("module-log-levels");
90         Element JavaDoc moduleLogLevels = null;
91         if(modLogLevels.getLength() == 0){
92             moduleLogLevels = resultLogService.getOwnerDocument().createElement("module-log-levels");
93             resultLogService.appendChild(moduleLogLevels);
94         }else{
95             moduleLogLevels = (Element JavaDoc)modLogLevels.item(0);
96         }
97         // ejb-container from source
98
//(http-service , iiop-service , admin-service? , web-container , ejb-container , mdb-container , jms-service , log-service , security-service , transaction-service , java-config , resources , applications , availability-service? , property*)
99
//root, server, ejb-container, cmp-container, mdb-container, web-container, classloader, configuration, naming, security, jts, jta, admin, deployment, verifier, jaxr, jaxrpc, saaj, corba, javamail, jms, connector, jdo, cmp, util, resource-adapter, synchronization, node-agent
100
setLogLevelAttribute(sourceLogService,"ejb-container", "log-level", moduleLogLevels, "ejb-container");
101         setLogLevelAttribute(sourceLogService,"web-container", "log-level", moduleLogLevels, "web-container");
102         setLogLevelAttribute(sourceLogService,"mdb-container", "log-level", moduleLogLevels, "mdb-container");
103         setLogLevelAttribute(sourceLogService,"orb", "log-level", moduleLogLevels, "corba");
104         setLogLevelAttribute(sourceLogService,"admin-service", "log-level", moduleLogLevels, "admin");
105         setLogLevelAttribute(sourceLogService,"jms-service", "log-level", moduleLogLevels, "jms");
106         setLogLevelAttribute(sourceLogService,"log-service", "level", moduleLogLevels, "server");
107         setLogLevelAttribute(sourceLogService,"log-service", "level", moduleLogLevels, "root");
108         setLogLevelAttribute(sourceLogService,"security-service", "log-level", moduleLogLevels, "security");
109         setLogLevelAttribute(sourceLogService,"transaction-service", "log-level", moduleLogLevels, "jts");
110     }
111     private void setLogLevelAttribute(Element JavaDoc sourceLogService, String JavaDoc srcEle, String JavaDoc srcAttrName, Element JavaDoc moduleLogLevels, String JavaDoc targetAttrName){
112         NodeList JavaDoc srcEles = sourceLogService.getOwnerDocument().getElementsByTagName(srcEle);
113         if((srcEles != null) && (srcEles.getLength() > 0)){
114             String JavaDoc logLevelAttrValue = ((Element JavaDoc)srcEles.item(0)).getAttribute(srcAttrName);
115             if((logLevelAttrValue != null) && (!logLevelAttrValue.trim().equals(""))){
116                 if(logLevelAttrValue.equals("ALERT") || logLevelAttrValue.equals("FATAL")){
117                     logLevelAttrValue = "SEVERE";
118                 }
119                 moduleLogLevels.setAttribute(targetAttrName, logLevelAttrValue);
120             }
121         }
122     }
123 }
124
Popular Tags