| 1 19 23 24 package org.netbeans.modules.j2ee.sun.ws7.serverresources.actions; 25 26 import java.text.MessageFormat ; 27 import javax.swing.SwingUtilities ; 28 29 import org.openide.nodes.Node; 30 import org.openide.util.HelpCtx; 31 import org.openide.util.NbBundle; 32 import org.openide.ErrorManager; 33 import org.openide.DialogDisplayer; 34 import org.openide.NotifyDescriptor; 35 import org.openide.util.actions.NodeAction; 36 37 import org.openide.loaders.DataObject; 38 import org.openide.filesystems.FileObject; 39 import org.netbeans.api.project.FileOwnerQuery; 40 import org.netbeans.api.project.Project; 41 import org.netbeans.modules.j2ee.deployment.devmodules.spi.J2eeModuleProvider; 42 import org.netbeans.modules.j2ee.deployment.plugins.api.InstanceProperties; 43 44 import org.netbeans.modules.j2ee.sun.ws7.serverresources.wizards.WS70WizardConstants; 45 import org.netbeans.modules.j2ee.sun.ws7.serverresources.loaders.SunWS70ResourceDataObject; 46 import org.netbeans.modules.j2ee.sun.ws7.serverresources.beans.WS70BaseResourceNode; 47 import org.netbeans.modules.j2ee.sun.ws7.serverresources.beans.WS70ResourceUtils; 48 import org.netbeans.modules.j2ee.sun.ws7.serverresources.dd.*; 49 import javax.enterprise.deploy.spi.DeploymentManager ; 50 import org.netbeans.modules.j2ee.sun.ws7.dm.WS70SunDeploymentManager; 51 import org.netbeans.modules.j2ee.sun.ws7.ui.Util; 52 53 import java.util.HashMap ; 54 55 59 public class RegisterWS70ResourceAction extends NodeAction implements WS70WizardConstants{ 60 61 protected void performAction(Node[] nodes) { 62 InstanceProperties target = getTargetServer(nodes[0]); 63 WS70SunDeploymentManager manager = null; 64 String configName = null; 65 if(target!=null){ 66 DeploymentManager dm = target.getDeploymentManager(); 67 if(! (dm instanceof WS70SunDeploymentManager)){ 68 Util.showWarning(NbBundle.getMessage(RegisterWS70ResourceAction.class, "Msg_invalid_server"), 69 NbBundle.getMessage(RegisterWS70ResourceAction.class, "Title_invalid_server") 70 ); 71 return; 72 73 } 74 manager= (WS70SunDeploymentManager)dm; 76 configName = target.getProperty("configName"); 77 }else{ 78 Util.showWarning(NbBundle.getMessage(RegisterWS70ResourceAction.class, "Msg_invalid_server"), 79 NbBundle.getMessage(RegisterWS70ResourceAction.class, "Title_invalid_server") 80 ); 81 return; 82 } 83 try{ 84 SunWS70ResourceDataObject dobj = (SunWS70ResourceDataObject)nodes[0].getCookie(SunWS70ResourceDataObject.class); 85 WS70BaseResourceNode resNode = (WS70BaseResourceNode)dobj.getNodeDelegate(); 86 WS70Resources resources = resNode.getBeanGraph(); 87 String resourceType = dobj.getResourceType(); 88 if(resourceType == null){ 89 String message = MessageFormat.format(NbBundle.getMessage(RegisterWS70ResourceAction.class, "Err_InvalidXML"), new Object []{nodes[0].getName()}); Util.showError(message); 91 return; 92 } 93 94 WS70ResourceUtils.registerResource(resources, resourceType, configName, manager); 95 }catch(Exception ex){ 96 ErrorManager.getDefault().notify(ErrorManager.INFORMATIONAL, ex); 97 Util.showError(ex.getLocalizedMessage()); 98 } 99 } 100 101 protected boolean enable(Node[] nodes) { 102 if( (nodes != null) && (nodes.length == 1) ) 103 return true; 104 else 105 return false; 106 } 107 108 protected boolean asynchronous() { 109 return false; 110 } 111 112 public String getName() { 113 return NbBundle.getMessage(RegisterWS70ResourceAction.class, "LBL_RegisterAction"); } 115 116 protected String iconResource() { 117 return "org/netbeans/modules/j2ee/sun/ws7/resources/ConfigIcon.gif"; } 119 120 public HelpCtx getHelpCtx() { 121 return null; } 125 126 private InstanceProperties getTargetServer(Node node){ 127 InstanceProperties server = null; 128 DataObject dob = (DataObject) node.getCookie(DataObject.class); 129 if(dob!=null){ 130 131 FileObject fo = dob.getPrimaryFile(); 132 Project holdingProj = FileOwnerQuery.getOwner(fo); 133 if (holdingProj != null){ 134 J2eeModuleProvider modProvider = (J2eeModuleProvider) holdingProj.getLookup().lookup(J2eeModuleProvider.class); 135 server = modProvider.getInstanceProperties(); 136 } 137 } 138 139 return server; 140 } 141 142 143 150 151 } 152 | Popular Tags |