KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > j2ee > sun > ide > j2ee > VerifierImpl


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  * VerifierImpl.java
21  *
22  * Created on December 8, 2004, 2:54 PM
23  */

24
25 package org.netbeans.modules.j2ee.sun.ide.j2ee;
26
27 import java.io.OutputStream JavaDoc;
28
29 import org.openide.filesystems.FileObject;
30 import org.openide.filesystems.FileUtil;
31 import org.netbeans.modules.j2ee.deployment.common.api.ValidationException;
32
33 import org.netbeans.api.project.Project;
34 import org.netbeans.api.project.FileOwnerQuery;
35 import javax.enterprise.deploy.spi.DeploymentManager JavaDoc;
36 import org.netbeans.modules.j2ee.deployment.plugins.api.InstanceProperties;
37 import org.netbeans.modules.j2ee.deployment.devmodules.spi.J2eeModuleProvider;
38
39 import org.netbeans.modules.j2ee.sun.api.InstrumentAVK;
40 import org.netbeans.modules.j2ee.sun.api.SunDeploymentManagerInterface;
41
42 /**
43  *
44  * @author ludo
45  */

46 public class VerifierImpl extends org.netbeans.modules.j2ee.deployment.plugins.api.VerifierSupport {
47     
48     /** Creates a new instance of VerifierImpl */
49     public VerifierImpl() {
50     }
51     
52     /**
53      * Verify the provided target J2EE module or application, including both
54      * standard J2EE and platform specific deployment info. The provided
55      * service could include invoking its own specific UI displaying of verification
56      * result. In this case, the service could have limited or no output to logger stream.
57      *
58      * @param target The an archive, directory or file to verify.
59      * @param logger Log stream to write verification output to.
60      * @exception ValidationException if the target fails the validation.
61      */

62     public void verify(FileObject target, OutputStream JavaDoc logger) throws ValidationException {
63         //System.out.println("In Verifier...."+target);
64
final String JavaDoc jname = FileUtil.toFile(target).getAbsolutePath();
65         DeploymentManager JavaDoc dm = getAssociatedSunDM(target);
66         SunDeploymentManagerInterface sdm = (SunDeploymentManagerInterface)dm;
67         InstrumentAVK avkSupport = getAVKImpl();
68         if((avkSupport != null) && (dm != null) && sdm.isLocal()){
69             J2eeModuleProvider modProvider = getModuleProvider(target);
70             boolean verificationType = avkSupport.createAVKSupport(dm, modProvider);
71             if(verificationType){
72                 VerifierSupport.launchVerifier(jname, logger);
73             }
74         }else{
75             VerifierSupport.launchVerifier(jname,logger);
76         }
77     }
78     
79     private DeploymentManager JavaDoc getAssociatedSunDM(FileObject target){
80         DeploymentManager JavaDoc dm = null;
81         J2eeModuleProvider modProvider = getModuleProvider(target);
82         if (modProvider != null){
83             InstanceProperties serverName = modProvider.getInstanceProperties();
84             dm = serverName.getDeploymentManager();
85         }
86         return dm;
87     }
88
89     private InstrumentAVK getAVKImpl(){
90         InstrumentAVK avkSupport = AVKLayerUtil.getAVKImplemenation();
91         return avkSupport;
92     }
93     
94     private J2eeModuleProvider getModuleProvider(FileObject target){
95         J2eeModuleProvider modProvider = null;
96         Project holdingProj = FileOwnerQuery.getOwner(target);
97         if (holdingProj != null){
98             modProvider = (J2eeModuleProvider) holdingProj.getLookup().lookup(J2eeModuleProvider.class);
99         }
100         return modProvider;
101     }
102
103 }
104
105
Popular Tags