[wsas-java-dev] svn commit r4173 -
trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service
svn at wso2.org
svn at wso2.org
Thu Jun 21 00:04:54 PDT 2007
Author: azeez
Date: Thu Jun 21 00:04:28 2007
New Revision: 4173
Modified:
trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/ServiceAdmin.java
Log:
Code improvements
Modified: trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/ServiceAdmin.java
==============================================================================
--- trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/ServiceAdmin.java (original)
+++ trunk/wsas/java/modules/admin/src/org/wso2/wsas/admin/service/ServiceAdmin.java Thu Jun 21 00:04:28 2007
@@ -15,29 +15,6 @@
*/
package org.wso2.wsas.admin.service;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMAttribute;
import org.apache.axiom.om.OMElement;
@@ -88,6 +65,28 @@
import org.wso2.wsas.util.ParameterUtil;
import org.wso2.wsas.util.PolicyUtil;
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
/**
* Admin service to manage services
*/
@@ -315,56 +314,52 @@
public ServiceMetaData getServiceData(String serviceName) throws AxisFault {
AxisService service = getAxisConfig().getServiceForActivation(serviceName);
Parameter serviceTypeParam = service.getParameter(ServerConstants.SERVICE_TYPE);
- String serviceType = null;
- if (serviceTypeParam != null){
- serviceType = (String)serviceTypeParam.getValue();
+ String serviceType;
+ if (serviceTypeParam != null) {
+ serviceType = (String) serviceTypeParam.getValue();
} else {
- serviceType = "Normal";
+ serviceType = "Normal";
}
- if (service != null) {
- List ops = new ArrayList();
- for (Iterator opIter = service.getOperations(); opIter.hasNext();) {
- AxisOperation axisOperation = (AxisOperation) opIter.next();
+ List ops = new ArrayList();
+ for (Iterator opIter = service.getOperations(); opIter.hasNext();) {
+ AxisOperation axisOperation = (AxisOperation) opIter.next();
- if (axisOperation.getName() != null) {
- ops.add(axisOperation.getName().getLocalPart());
- }
+ if (axisOperation.getName() != null) {
+ ops.add(axisOperation.getName().getLocalPart());
}
+ }
- ServiceMetaData smd = new ServiceMetaData();
-
- try {
- StatisticsClient statClient = new StatisticsClient();
- smd.setServiceRequestCount(statClient.getServiceRequestCount(serviceName));
- smd.setServiceResponseCount(statClient.getServiceResponseCount(serviceName));
- smd.setServiceFaultCount(statClient.getServiceFaultCount(serviceName));
- smd.setMaxResponseTime(statClient.getMaxServiceResponseTime(serviceName));
- smd.setMinResponseTime(statClient.getMinServiceResponseTime(serviceName));
- smd.setAvgResponseTime(statClient.getAvgServiceResponseTime(serviceName));
- } catch (Exception e) {
- throw AxisFault.makeFault(e);
- }
+ ServiceMetaData smd = new ServiceMetaData();
- smd.setOperations((String[]) ops.toArray(new String[ops.size()]));
- smd.setName(serviceName);
- smd.setService_id(serviceName);
- smd.setService_version("");
- smd.setActive(service.isActive());
- smd.setEprs(getServiceEPRs(service));
- smd.setServiceType(serviceType);
- smd.setFoundWebResources(
- ((AxisServiceGroup) service.getParent()).isFoundWebResources());
+ try {
+ StatisticsClient statClient = new StatisticsClient();
+ smd.setServiceRequestCount(statClient.getServiceRequestCount(serviceName));
+ smd.setServiceResponseCount(statClient.getServiceResponseCount(serviceName));
+ smd.setServiceFaultCount(statClient.getServiceFaultCount(serviceName));
+ smd.setMaxResponseTime(statClient.getMaxServiceResponseTime(serviceName));
+ smd.setMinResponseTime(statClient.getMinServiceResponseTime(serviceName));
+ smd.setAvgResponseTime(statClient.getAvgServiceResponseTime(serviceName));
+ } catch (Exception e) {
+ throw AxisFault.makeFault(e);
+ }
- if (service.getServiceDescription() != null) {
- smd.setDescription(service.getServiceDescription());
- } else {
- smd.setDescription("No service description found");
- }
+ smd.setOperations((String[]) ops.toArray(new String[ops.size()]));
+ smd.setName(serviceName);
+ smd.setService_id(serviceName);
+ smd.setService_version("");
+ smd.setActive(service.isActive());
+ smd.setEprs(getServiceEPRs(service));
+ smd.setServiceType(serviceType);
+ smd.setFoundWebResources(
+ ((AxisServiceGroup) service.getParent()).isFoundWebResources());
- return smd;
+ if (service.getDocumentation() != null) {
+ smd.setDescription(service.getDocumentation());
} else {
- throw new AxisFault("invalid service name");
+ smd.setDescription("No service description found");
}
+
+ return smd;
}
/**
@@ -384,11 +379,11 @@
for (Iterator serviceIter = asg.getServices(); serviceIter.hasNext();) {
AxisService axisService = (AxisService) serviceIter.next();
Parameter serviceTypeParam = axisService.getParameter(ServerConstants.SERVICE_TYPE);
- String serviceType = null;
- if (serviceTypeParam != null){
- serviceType = (String)serviceTypeParam.getValue();
+ String serviceType;
+ if (serviceTypeParam != null) {
+ serviceType = (String) serviceTypeParam.getValue();
} else {
- serviceType = "Normal";
+ serviceType = "Normal";
}
List ops = new ArrayList();
for (Iterator opIter = axisService.getOperations(); opIter.hasNext();) {
@@ -416,7 +411,7 @@
smd.setService_version("");
smd.setActive(axisService.isActive());
smd.setServiceType(serviceType);
- smd.setDescription(axisService.getServiceDescription());
+ smd.setDescription(axisService.getDocumentation());
services.add(smd);
}
}
@@ -543,40 +538,40 @@
}
}
}
-
+
public void removeServiceSpecificParameter(String serviceId,
- String serviceVersion,
- OMElement paramterElement) throws AxisFault {
+ String serviceVersion,
+ OMElement paramterElement) throws AxisFault {
- AxisService axisService = getAxisConfig().getService(serviceId);
+ AxisService axisService = getAxisConfig().getService(serviceId);
- if (axisService == null) {
- throw new AxisFault("Invalid service name '" + serviceId + "'");
- }
-
- // un-Persist the parameter
- ServiceDO serviceDO = pm.getService(serviceId,
- ServiceIdentifierDO.EMPTY_SERVICE_VERSION);
- Parameter parameter = ParameterUtil.createParameter(paramterElement);
- Parameter p = axisService.getParameter(parameter.getName());
- ServiceParameterDO paramDO = pm.getServiceParameter(serviceDO,
- parameter.getName());
- if (p != null && paramDO != null) {
-
- // Setting a new value for a parameter declared in AxisService
- if (!p.isLocked()) {
- axisService.removeParameter(parameter);
- pm.deleteEntity(paramDO);
- }
- } else {
-
- if (p == null || !p.isLocked()) {
- axisService.removeParameter(parameter);
-
-
- }
- }
-}
+ if (axisService == null) {
+ throw new AxisFault("Invalid service name '" + serviceId + "'");
+ }
+
+ // un-Persist the parameter
+ ServiceDO serviceDO = pm.getService(serviceId,
+ ServiceIdentifierDO.EMPTY_SERVICE_VERSION);
+ Parameter parameter = ParameterUtil.createParameter(paramterElement);
+ Parameter p = axisService.getParameter(parameter.getName());
+ ServiceParameterDO paramDO = pm.getServiceParameter(serviceDO,
+ parameter.getName());
+ if (p != null && paramDO != null) {
+
+ // Setting a new value for a parameter declared in AxisService
+ if (!p.isLocked()) {
+ axisService.removeParameter(parameter);
+ pm.deleteEntity(paramDO);
+ }
+ } else {
+
+ if (p == null || !p.isLocked()) {
+ axisService.removeParameter(parameter);
+
+
+ }
+ }
+ }
public void setServiceParameter2(String serviceName,
Parameter parameter) throws AxisFault {
@@ -1091,7 +1086,7 @@
String springContextLocation) {
OMFactory factory = OMAbstractFactory.getOMFactory();
OMNamespace emptyNS = factory.createOMNamespace("", "");
- OMElement serviceGroupEle = factory.createOMElement("serviceGroup", "","");
+ OMElement serviceGroupEle = factory.createOMElement("serviceGroup", "", "");
for (int i = 0; i < springBeans.length; i++) {
String serviceBeanName = springBeans[i];
@@ -1470,151 +1465,154 @@
log.error(msg, e);
throw new AxisFault(msg, e);
}
-
-
}
-
-
public void createAndDeployEJBService(String archiveId,
- String[] serviceClasses,String providerURL,
- String jndiContextClass,
- String userName,
- String password,
- String appServerType,
- String beanJNDIName,
- String homeInterface,
- String remoteInterface,
- String serviceGroupId,
- String addNewServiceGroup) throws AxisFault {
-
- //save ejb configuration
- EJBProviderAdmin ejbProviderAdmin = new EJBProviderAdmin();
- ejbProviderAdmin.addEJBConfiguration(providerURL
- , jndiContextClass
- , userName
- , password
- , beanJNDIName
- , homeInterface
- , remoteInterface
- , appServerType
- , serviceGroupId
- , addNewServiceGroup);
-
- String filePathFromArchiveId = getFilePathFromArchiveId(archiveId);
-
- if (filePathFromArchiveId == null) {
- String msg = "A non-existent file was requested";
- log.warn(msg);
- throw new AxisFault(msg);
- }
-
- int endIndex = filePathFromArchiveId.lastIndexOf(File.separator);
- String filePath = filePathFromArchiveId.substring(0, endIndex);
- String archiveFileName = filePathFromArchiveId.substring(endIndex);
- archiveFileName = archiveFileName.substring(0,
- archiveFileName.lastIndexOf("."));
+ String[] serviceClasses,
+ String providerURL,
+ String jndiContextClass,
+ String userName,
+ String password,
+ String appServerType,
+ String beanJNDIName,
+ String homeInterface,
+ String remoteInterface,
+ String serviceGroupId,
+ String addNewServiceGroup) throws AxisFault {
+
+ //save ejb configuration
+ EJBProviderAdmin ejbProviderAdmin = new EJBProviderAdmin();
+ ejbProviderAdmin.addEJBConfiguration(providerURL
+ , jndiContextClass
+ , userName
+ , password
+ , beanJNDIName
+ , homeInterface
+ , remoteInterface
+ , appServerType
+ , serviceGroupId
+ , addNewServiceGroup);
- ArchiveManipulator archiveManipulator = new ArchiveManipulator();
+ String filePathFromArchiveId = getFilePathFromArchiveId(archiveId);
+
+ if (filePathFromArchiveId == null) {
+ String msg = "A non-existent file was requested";
+ log.warn(msg);
+ throw new AxisFault(msg);
+ }
+
+ int endIndex = filePathFromArchiveId.lastIndexOf(File.separator);
+ String filePath = filePathFromArchiveId.substring(0, endIndex);
+ String archiveFileName = filePathFromArchiveId.substring(endIndex);
+ archiveFileName = archiveFileName.substring(0,
+ archiveFileName.lastIndexOf("."));
+
+ ArchiveManipulator archiveManipulator = new ArchiveManipulator();
// ----------------- Unzip the file ------------------------------------
- String unzippeDir = filePath + File.separator + "temp";
- File unzipped = new File(unzippeDir);
- unzipped.mkdirs();
-
- try {
- archiveManipulator.extract(filePathFromArchiveId, unzippeDir);
- } catch (IOException e) {
- e.printStackTrace();
- throw new AxisFault("Cannot extract archive", e);
- }
+ String unzippeDir = filePath + File.separator + "temp";
+ File unzipped = new File(unzippeDir);
+ unzipped.mkdirs();
+
+ try {
+ archiveManipulator.extract(filePathFromArchiveId, unzippeDir);
+ } catch (IOException e) {
+ e.printStackTrace();
+ throw new AxisFault("Cannot extract archive", e);
+ }
// ---- Generate the services.xml and place it in META-INF -----
- File file = new File(unzippeDir + File.separator + "META-INF" +
- File.separator + "services.xml");
- file.mkdirs();
-
- try {
- File absoluteFile = file.getAbsoluteFile();
-
- if (absoluteFile.exists()) {
- absoluteFile.delete();
- }
-
- absoluteFile.createNewFile();
-
- OutputStream os = new FileOutputStream(file);
- OMElement servicesXML = createServicesXMLForEJBService(serviceClasses,providerURL,jndiContextClass,userName,password,beanJNDIName,homeInterface,remoteInterface,serviceGroupId);
- servicesXML.build();
- servicesXML.serialize(os);
- } catch (Exception e) {
- String msg = "Cannot write services XML";
- log.error(msg, e);
- throw new AxisFault(msg, e);
- }
+ File file = new File(unzippeDir + File.separator + "META-INF" +
+ File.separator + "services.xml");
+ file.mkdirs();
+
+ try {
+ File absoluteFile = file.getAbsoluteFile();
+
+ if (absoluteFile.exists()) {
+ absoluteFile.delete();
+ }
+
+ absoluteFile.createNewFile();
+
+ OutputStream os = new FileOutputStream(file);
+ OMElement servicesXML = createServicesXMLForEJBService(serviceClasses,
+ providerURL,
+ jndiContextClass,
+ userName,
+ password,
+ beanJNDIName,
+ homeInterface,
+ remoteInterface);
+ servicesXML.build();
+ servicesXML.serialize(os);
+ } catch (Exception e) {
+ String msg = "Cannot write services XML";
+ log.error(msg, e);
+ throw new AxisFault(msg, e);
+ }
// ----------------- Create the AAR ------------------------------------
// These are the files to include in the ZIP file
- String outAARFilename = filePath + File.separator + archiveFileName +
- ".aar";
+ String outAARFilename = filePath + File.separator + archiveFileName +
+ ".aar";
- try {
- archiveManipulator.archiveDir(outAARFilename, unzipped.getPath());
- } catch (IOException e) {
- String msg = "Cannot create new AAR archive";
- log.error(msg, e);
- throw new AxisFault(msg, e);
- }
+ try {
+ archiveManipulator.archiveDir(outAARFilename, unzipped.getPath());
+ } catch (IOException e) {
+ String msg = "Cannot create new AAR archive";
+ log.error(msg, e);
+ throw new AxisFault(msg, e);
+ }
// ------------- Copy the AAR to the respository/services directory --------
- String repo = MessageContext.getCurrentMessageContext().getConfigurationContext()
- .getAxisConfiguration().getRepository()
- .getPath() + File.separator + "services";
-
- try {
- new FileManipulator().copyFile(new File(outAARFilename),
- new File(repo + File.separator + archiveFileName +
- ".aar"));
- } catch (IOException e) {
- String msg = "Cannot copy AAR file to Repo";
- log.error(msg, e);
- throw new AxisFault(msg, e);
- }
+ String repo = MessageContext.getCurrentMessageContext().getConfigurationContext()
+ .getAxisConfiguration().getRepository()
+ .getPath() + File.separator + "services";
+
+ try {
+ new FileManipulator().copyFile(new File(outAARFilename),
+ new File(repo + File.separator + archiveFileName +
+ ".aar"));
+ } catch (IOException e) {
+ String msg = "Cannot copy AAR file to Repo";
+ log.error(msg, e);
+ throw new AxisFault(msg, e);
+ }
}
-
-
+
+
/*
<serviceGroup>
- <service name="TimeService">
- <description>Time!! web service</description>
- <parameter name="ServiceClass" locked="false">org.apache.axis2.samples.ejb.session.interfaces.TimeServiceRemote</parameter>
- <messageReceivers>
- <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.ejb.EJBInOnlyMessageReceiver"/>
- <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.rpc.receivers.ejb.EJBMessageReceiver"/>
- </messageReceivers>
- <parameter name="remoteInterfaceName">org.apache.axis2.samples.ejb.session.interfaces.TimeServiceRemote</parameter>
- <parameter name="homeInterfaceName">org.apache.axis2.samples.ejb.session.interfaces.TimeServiceRemoteHome</parameter>
- <parameter name="beanJndiName">org.apache.axis2.samples.ejb.session.interfaces.TimeServiceLocalHome</parameter>
- <!--for jboss -->
- <parameter name="providerUrl">jnp://localhost:1099</parameter>
- <parameter name="jndiContextClass">org.jnp.interfaces.NamingContextFactory</parameter>
-
- <!--for geronimo
- <parameter name="providerUrl">localhost:4201</parameter>
- <parameter name="jndiContextClass">org.openejb.client.JNDIContext</parameter>
- -->
- </service>
-</serviceGroup>
- */
- private OMElement createServicesXMLForEJBService(String[] serviceClasses,String providerURL,
- String jndiContextClass,
- String userName,
- String password,
- String beanJNDIName,
- String homeInterface,
- String remoteInterface,
- String serviceGroupId) {
-
+ <service name="TimeService">
+ <description>Time!! web service</description>
+ <parameter name="ServiceClass" locked="false">org.apache.axis2.samples.ejb.session.interfaces.TimeServiceRemote</parameter>
+ <messageReceivers>
+ <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.ejb.EJBInOnlyMessageReceiver"/>
+ <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.rpc.receivers.ejb.EJBMessageReceiver"/>
+ </messageReceivers>
+ <parameter name="remoteInterfaceName">org.apache.axis2.samples.ejb.session.interfaces.TimeServiceRemote</parameter>
+ <parameter name="homeInterfaceName">org.apache.axis2.samples.ejb.session.interfaces.TimeServiceRemoteHome</parameter>
+ <parameter name="beanJndiName">org.apache.axis2.samples.ejb.session.interfaces.TimeServiceLocalHome</parameter>
+ <!--for jboss -->
+ <parameter name="providerUrl">jnp://localhost:1099</parameter>
+ <parameter name="jndiContextClass">org.jnp.interfaces.NamingContextFactory</parameter>
+
+ <!--for geronimo
+ <parameter name="providerUrl">localhost:4201</parameter>
+ <parameter name="jndiContextClass">org.openejb.client.JNDIContext</parameter>
+ -->
+ </service>
+</serviceGroup>
+ */
+ private OMElement createServicesXMLForEJBService(String[] serviceClasses, String providerURL,
+ String jndiContextClass,
+ String userName,
+ String password,
+ String beanJNDIName,
+ String homeInterface,
+ String remoteInterface) {
+
OMFactory factory = OMAbstractFactory.getOMFactory();
OMNamespace emptyNS = factory.createOMNamespace("", "");
OMElement serviceGroupEle = factory.createOMElement("serviceGroup", "", "");
@@ -1657,7 +1655,7 @@
OMElement parameterEle1 = factory.createOMElement("parameter", "", "");
parameterEle1.addAttribute("name", "remoteInterfaceName", emptyNS);
parameterEle1.setText(remoteInterface);
-
+
OMElement parameterEle2 = factory.createOMElement("parameter", "", "");
parameterEle2.addAttribute("name", "homeInterfaceName", emptyNS);
parameterEle2.setText(homeInterface);
@@ -1673,7 +1671,7 @@
OMElement parameterEle5 = factory.createOMElement("parameter", "", "");
parameterEle5.addAttribute("name", "jndiContextClass", emptyNS);
parameterEle5.setText(jndiContextClass);
-
+
OMElement parameterEle6 = factory.createOMElement("parameter", "", "");
parameterEle6.addAttribute("name", "userName", emptyNS);
parameterEle6.setText(userName);
@@ -1681,11 +1679,11 @@
OMElement parameterEle7 = factory.createOMElement("parameter", "", "");
parameterEle7.addAttribute("name", "password", emptyNS);
parameterEle7.setText(password);
-
+
OMElement parameterEle8 = factory.createOMElement("parameter", "", "");
parameterEle8.addAttribute("name", "ServiceClass", emptyNS);
parameterEle8.setText(serviceClass);
-
+
serviceEle.addChild(schemaEle);
serviceEle.addChild(msgReceiversEle);
@@ -1697,12 +1695,12 @@
serviceEle.addChild(parameterEle6);
serviceEle.addChild(parameterEle7);
serviceEle.addChild(parameterEle8);
-
+
serviceGroupEle.addChild(serviceEle);
}
return serviceGroupEle;
}
-
-
+
+
}
More information about the Wsas-java-dev
mailing list