openamf/src/java/org/openamf AMFBody.java,1.15,1.16 AMFError.java,1.8,1.9 AMFHeader.java,1.6,1.7 AMFMessage.java,1.9,1.10 AdvancedGateway.java,1.25,1.26 DefaultGateway.java,1.43,1.44 RemotingTester.java,1.5,1.6

[email protected] Fri, 15 Aug 2003 15:09:21 -0700
Newsgroups gmane.comp.java.openamf.cvs
Message-ID <[email protected]>
Update of /cvsroot/openamf/openamf/src/java/org/openamf
In directory sc8-pr-cvs1:/tmp/cvs-serv17708/src/java/org/openamf

Modified Files:
	AMFBody.java AMFError.java AMFHeader.java AMFMessage.java 
	AdvancedGateway.java DefaultGateway.java RemotingTester.java 
Log Message:
javadoc, code formatting, smal fixes

Index: AMFBody.java
===================================================================
RCS file: /cvsroot/openamf/openamf/src/java/org/openamf/AMFBody.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -C2 -d -r1.15 -r1.16
*** AMFBody.java	15 Aug 2003 19:20:05 -0000	1.15
--- AMFBody.java	15 Aug 2003 22:09:19 -0000	1.16
***************
*** 109,113 ****
  		}
  	}
! 	
  	public String getServiceName() {
  		return serviceName;
--- 109,113 ----
  		}
  	}
! 
  	public String getServiceName() {
  		return serviceName;
***************
*** 141,148 ****
  		this.type = type;
  	}
! 	
  	public String toString() {
  		StringBuffer sb = new StringBuffer();
!         sb.append("[amfBody: {target=");
  		sb.append(getTarget());
  		sb.append(",serviceName=");
--- 141,148 ----
  		this.type = type;
  	}
! 
  	public String toString() {
  		StringBuffer sb = new StringBuffer();
!               sb.append("[AMBBody: {target=");
  		sb.append(getTarget());
  		sb.append(",serviceName=");

Index: AMFError.java
===================================================================
RCS file: /cvsroot/openamf/openamf/src/java/org/openamf/AMFError.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** AMFError.java	15 Aug 2003 18:52:08 -0000	1.8
--- AMFError.java	15 Aug 2003 22:09:19 -0000	1.9
***************
*** 22,26 ****
  		return code;
  	}
! 	
  	public void setCode(String code) {
  		this.code = code;
--- 22,26 ----
  		return code;
  	}
! 
  	public void setCode(String code) {
  		this.code = code;
***************
*** 58,61 ****
  		this.description = description;
  	}
! 
  }
--- 58,75 ----
  		this.description = description;
  	}
!     public String toString() {
!         StringBuffer sb = new StringBuffer();
!         sb.append("[AMFError: {code=");
!         sb.append(code);
!         sb.append(", type=");
!         sb.append(type);
!         sb.append(", level=");
!         sb.append(level);
!         sb.append(", description=");
!         sb.append(description);
!         sb.append(", details=");
!         sb.append(details);
!         sb.append("}]");
!         return sb.toString();
!     }
  }

Index: AMFHeader.java
===================================================================
RCS file: /cvsroot/openamf/openamf/src/java/org/openamf/AMFHeader.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** AMFHeader.java	15 Aug 2003 18:52:08 -0000	1.6
--- AMFHeader.java	15 Aug 2003 22:09:19 -0000	1.7
***************
*** 54,58 ****
      public String toString() {
          StringBuffer sb = new StringBuffer();
!         sb.append("[FmfHeader: {key=");
          sb.append(key);
          sb.append(", required=");
--- 54,58 ----
      public String toString() {
          StringBuffer sb = new StringBuffer();
!         sb.append("[AMFHeader: {key=");
          sb.append(key);
          sb.append(", required=");

Index: AMFMessage.java
===================================================================
RCS file: /cvsroot/openamf/openamf/src/java/org/openamf/AMFMessage.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** AMFMessage.java	15 Aug 2003 18:52:08 -0000	1.9
--- AMFMessage.java	15 Aug 2003 22:09:19 -0000	1.10
***************
*** 27,46 ****
       * version
       */
!     protected int version;
      /**
       * The headers
       */
!     protected List headers;
  
      /**
       * The body objects
       */
!     protected List bodies;
! 
!     public AMFMessage() {
!         version = CURRENT_VERSION;
!         headers = new ArrayList();
!         bodies = new ArrayList();
!     }
  
      public void addHeader(String key, boolean required, Object value) {
--- 27,40 ----
       * version
       */
!     protected int version = CURRENT_VERSION;
      /**
       * The headers
       */
!     protected List headers = new ArrayList();
  
      /**
       * The body objects
       */
!     protected List bodies = new ArrayList();
  
      public void addHeader(String key, boolean required, Object value) {
***************
*** 99,109 ****
      public String toString() {
          StringBuffer sb = new StringBuffer();
!         sb.append("[AmfMessage: {version=");
          sb.append(version);
!         sb.append(", headers=");
!         sb.append(headers);
!         sb.append(", bodies=");
          sb.append(bodies);
!         sb.append("}]");
          return sb.toString();
      }
--- 93,110 ----
      public String toString() {
          StringBuffer sb = new StringBuffer();
!         sb.append("[AMFMessage: {version=");
          sb.append(version);
!         sb.append(", headers={");
!         for (int i = 0; i < headers.size(); i++) {
!             AMFHeader amfHeader = (AMFHeader) headers.get(i);
!             sb.append(amfHeader);
!         }
!         sb.append("}, bodies={");
!         for (int i = 0; i < bodies.size(); i++) {
!             AMFBody amfBody = (AMFBody) bodies.get(i);
!             sb.append(amfBody);
!         }
          sb.append(bodies);
!         sb.append("}}]");
          return sb.toString();
      }

Index: AdvancedGateway.java
===================================================================
RCS file: /cvsroot/openamf/openamf/src/java/org/openamf/AdvancedGateway.java,v
retrieving revision 1.25
retrieving revision 1.26
diff -C2 -d -r1.25 -r1.26
*** AdvancedGateway.java	15 Aug 2003 16:53:12 -0000	1.25
--- AdvancedGateway.java	15 Aug 2003 22:09:19 -0000	1.26
***************
*** 48,58 ****
  		try {
  			ServiceConfig serviceConfig = getServiceConfig(requestBody);
! 
! 			ServiceRequest request =
! 				new ServiceRequest(requestBody, serviceConfig);
! 
! 			ServiceMethodConfig methodConfig =
! 				getMethodConfig(serviceConfig, request);
! 
  			// abort if no method config is found. This allows us to restrict
  			// access to the service in the openamf confguration.
--- 48,53 ----
  		try {
  			ServiceConfig serviceConfig = getServiceConfig(requestBody);
! 			ServiceRequest request = new ServiceRequest(requestBody, serviceConfig);
! 			ServiceMethodConfig methodConfig = getMethodConfig(serviceConfig, request);
  			// abort if no method config is found. This allows us to restrict
  			// access to the service in the openamf confguration.
***************
*** 61,67 ****
  					new NoSuchMethodException(request.getRequestBody().toString());
  
! 				log.warn(
! 					"Method Not Found: "
! 						+ request.getRequestBody().toString());
  				throw e;
  			}
--- 56,60 ----
  					new NoSuchMethodException(request.getRequestBody().toString());
  
! 				log.warn("Method Not Found: "+ request.getRequestBody().toString());
  				throw e;
  			}
***************
*** 97,101 ****
  					httpServletRequest,
  					getServletContext());
! 			
  			serviceInvoker.prepare(request);
  
--- 90,94 ----
  					httpServletRequest,
  					getServletContext());
! 
  			serviceInvoker.prepare(request);
  
***************
*** 197,211 ****
  				}
  			}
- 
  		} catch (Exception e) {
! 			throw new ServiceInvocationException(
! 				serviceInvoker.getRequest(),
! 				e);
  		}
! 
! 		return super.postInvokeService(
! 			httpServletRequest,
! 			serviceInvoker,
! 			serviceResult);
  	}
  
--- 190,197 ----
  				}
  			}
  		} catch (Exception e) {
! 			throw new ServiceInvocationException(serviceInvoker.getRequest(),e);
  		}
! 		return super.postInvokeService(httpServletRequest, serviceInvoker, serviceResult);
  	}
  
***************
*** 231,241 ****
  	}
  
! 	private ServiceConfig getServiceConfig(AMFBody requestBody)
! 		throws IOException, SAXException {
! 
  		ServiceConfig serviceConfig =
! 			OpenAMFConfig.getInstance().getServiceConfig(
! 				requestBody.getServiceName());
! 
  		return serviceConfig;
  	}
--- 217,223 ----
  	}
  
! 	private ServiceConfig getServiceConfig(AMFBody requestBody) {
  		ServiceConfig serviceConfig =
! 			OpenAMFConfig.getInstance().getServiceConfig(requestBody.getServiceName());
  		return serviceConfig;
  	}
***************
*** 244,248 ****
  		ServiceConfig serviceConfig,
  		ServiceRequest request)
! 		throws IOException, SAXException, ClassNotFoundException {
  
  		log.debug("getting MethodConfig for " + request.getServiceMethodName());
--- 226,230 ----
  		ServiceConfig serviceConfig,
  		ServiceRequest request)
! 		throws ClassNotFoundException {
  
  		log.debug("getting MethodConfig for " + request.getServiceMethodName());

Index: DefaultGateway.java
===================================================================
RCS file: /cvsroot/openamf/openamf/src/java/org/openamf/DefaultGateway.java,v
retrieving revision 1.43
retrieving revision 1.44
diff -C2 -d -r1.43 -r1.44
*** DefaultGateway.java	15 Aug 2003 16:53:12 -0000	1.43
--- DefaultGateway.java	15 Aug 2003 22:09:19 -0000	1.44
***************
*** 33,36 ****
--- 33,37 ----
  import org.openamf.io.AMFSerializer;
  import org.openamf.recordset.ASRecordSet;
+ import org.openamf.util.OpenAMFUtils;
  
  /**
***************
*** 40,308 ****
  public class DefaultGateway extends HttpServlet {
  
! 	protected static Log log = LogFactory.getLog(DefaultGateway.class);
! 
! 	private static final String OPENAMF_CONFIG = "OPENAMF_CONFIG";
! 
! 	public void init() throws ServletException {
! 		reloadConfig();
! 	}
! 
! 	public void service(
! 		HttpServletRequest httpServletRequest,
! 		HttpServletResponse httpServletResponse)
! 		throws ServletException, IOException {
! 
! 		DataInputStream inputStream =
! 			new DataInputStream(httpServletRequest.getInputStream());
! 
! 		AMFDeserializer deserializer = new AMFDeserializer(inputStream);
! 		AMFMessage requestMessage = deserializer.getAMFMessage();
! 
! 		debugRequestMessage(requestMessage);
! 
! 		processMessage(httpServletRequest, httpServletResponse, requestMessage);
! 	}
! 
! 	private void debugRequestMessage(AMFMessage requestMessage) {
! 
! 		if (log.isDebugEnabled()) {
! 			int headerCount = requestMessage.getHeaderCount();
! 			for (int i = 0; i < headerCount; i++) {
! 				AMFHeader header = requestMessage.getHeader(i);
! 				log.debug(header.getKey() + " = " + header.getValue());
! 			}
! 
! 			int bodyCount = requestMessage.getBodyCount();
! 			for (int i = 0; i < bodyCount; i++) {
! 				AMFBody body = requestMessage.getBody(i);
! 				log.debug("Body " + i);
! 				log.debug("target = " + body.getTarget());
! 				log.debug("response = " + body.getResponse());
! 				log.debug("value class = " + body.getValue().getClass());
! 				log.debug("value = " + body.getValue());
! 			}
! 		} else if (log.isInfoEnabled()) {
! 			int bodyCount = requestMessage.getBodyCount();
! 			for (int i = 0; i < bodyCount; i++) {
! 				AMFBody body = requestMessage.getBody(i);
! 				log.info("Body " + i + " target=" + body.getTarget() + " value=" + body.getValue());
! 			}
! 		}
! 	}
! 
! 	private void processMessage(
! 		HttpServletRequest httpServletRequest,
! 		HttpServletResponse httpServletResponse,
! 		AMFMessage requestMessage)
! 		throws IOException {
! 
! 		AMFMessage responseMessage = new AMFMessage();
! 
! 		for (Iterator bodies = requestMessage.getBodies(); bodies.hasNext();) {
! 
! 			AMFBody requestBody = (AMFBody) bodies.next();
! 			
! 			Object serviceResult = invokeBody(httpServletRequest, requestBody);
! 
! 			String target = getTarget(requestBody, serviceResult);
! 			AMFBody responseBody =
! 				new AMFBody(
! 					target,
! 					"null",
! 					serviceResult);
! 			responseMessage.addBody(responseBody);
! 		}
! 		
! 		sendResponse(httpServletResponse, responseMessage);
! 	}
  
! 	private Object invokeBody(
! 		HttpServletRequest httpServletRequest,
! 		AMFBody requestBody) {
! 			
! 		Object serviceResult = null;
! 		try {
! 			ServiceInvoker serviceInvoker =
! 				getServiceInvoker(requestBody, httpServletRequest);
! 			preInvokeService(httpServletRequest, serviceInvoker);
! 			serviceResult = serviceInvoker.invokeService();
! 			serviceResult =
! 				postInvokeService(
! 					httpServletRequest,
! 					serviceInvoker,
! 					serviceResult);
! 		} catch (ServiceInvocationException e) {
! 			serviceResult = e.getAMFError();
! 			Throwable rootCause = e.getRootCause();
! 			if (rootCause.getMessage() == null) {
! 				log.warn(rootCause, rootCause);
! 			} else {
! 				log.warn(rootCause.getMessage(), rootCause);
! 			}
! 		}
! 		return serviceResult;
! 	}
  
! 	private String getTarget(AMFBody requestBody, Object serviceResult) {
! 		
! 		String target = "/onResult";
! 		if (serviceResult instanceof AMFError) {
! 			target = "/onStatus";
! 		}
! 		
! 		return requestBody.getResponse() + target;
! 	}
  
! 	private void sendResponse(
! 		HttpServletResponse httpServletResponse,
! 		AMFMessage responseMessage)
! 		throws IOException {
  
! 		ByteArrayOutputStream baOutputStream = new ByteArrayOutputStream();
! 		DataOutputStream outputStream = new DataOutputStream(baOutputStream);
! 		AMFSerializer serializer = new AMFSerializer(outputStream);
  
! 		serializer.serializeMessage(responseMessage);
  
! 		httpServletResponse.setContentType("application/x-amf");
! 		httpServletResponse.setContentLength(baOutputStream.size());
  
! 		ServletOutputStream sos = httpServletResponse.getOutputStream();
! 		baOutputStream.writeTo(sos);
! 		sos.flush();
! 	}
  
! 	protected void preInvokeService(
! 		HttpServletRequest httpServletRequest,
! 		ServiceInvoker serviceInvoker)
! 		throws ServiceInvocationException {
  
! 		if (serviceInvoker.getPersistService()) {
! 			Object persistantServiceObject =
! 				httpServletRequest.getSession().getAttribute(
! 					serviceInvoker.getPersistantServiceName());
  
! 			serviceInvoker.setPersistantServiceObject(persistantServiceObject);
! 		}
! 	}
  
! 	protected Object postInvokeService(
! 		HttpServletRequest httpServletRequest,
! 		ServiceInvoker serviceInvoker,
! 		Object serviceResult)
! 		throws ServiceInvocationException {
  
! 		if (serviceInvoker.getPersistService()) {
! 			httpServletRequest.getSession().setAttribute(
! 				serviceInvoker.getPersistantServiceName(),
! 				serviceInvoker.getPersistantServiceObject());
! 		}
! 		
! 		serviceResult =
! 			processRecordSet(httpServletRequest, serviceInvoker, serviceResult);
! 		
! 		return serviceResult;
! 	}
  
! 	private Object processRecordSet(
! 		HttpServletRequest httpServletRequest,
! 		ServiceInvoker serviceInvoker,
! 		Object serviceResult)
! 		throws ServiceInvocationException {
! 			
! 		if (serviceResult instanceof ResultSet) {
! 			ASRecordSet asRecordSet = new ASRecordSet();
! 			try {
! 				asRecordSet.populate((ResultSet) serviceResult);
! 				serviceResult = asRecordSet;
! 			} catch (IOException e) {
! 				throw new ServiceInvocationException(serviceInvoker.getRequest(), e);
! 			}
! 		}
! 		
! 		if (serviceResult instanceof ASRecordSet) {
! 			ASRecordSet asRecordSet = (ASRecordSet)serviceResult;
! 			if (asRecordSet.getTotalCount() > asRecordSet.getInitialData().size()) {
! 				httpServletRequest.getSession().setAttribute(asRecordSet.getId(), asRecordSet);
! 			}
! 		}
! 		
! 		return serviceResult;
! 	}
  
! 	protected ServiceInvoker getServiceInvoker(
! 		AMFBody requestBody,
! 		HttpServletRequest httpServletRequest)
! 		throws ServiceInvocationException {
  
! 		ServiceInvoker serviceInvoker = null;
! 		ServiceRequest request = new ServiceRequest(requestBody);
  
! 		try {
! 			for (Iterator i = OpenAMFConfig.getInstance().getServiceInvokerConfigs();
! 				i.hasNext();
! 				) {
  
! 				ServiceInvokerConfig invokerConfig =
! 					(ServiceInvokerConfig) i.next();
  
! 				log.debug(
! 					"Checking if the "
! 						+ invokerConfig.getName()
! 						+ " Service Invoker can support the request");
  
! 				ServiceInvoker tempInvoker =
! 					ServiceInvoker.load(
! 						invokerConfig.getClassName(),
! 						request,
! 						httpServletRequest,
! 						getServletContext());
  
! 				if (tempInvoker.supports(request)) {
! 					serviceInvoker = tempInvoker;
! 					serviceInvoker.prepare(request);
! 					log.debug("YES");
! 					break;
! 				} else {
! 					log.debug("NO");
! 				}
! 			}
! 		} catch (Exception e) {
! 			throw new ServiceInvocationException(request, e);
! 		}
  
! 		return serviceInvoker;
! 	}
  
! 	protected OpenAMFConfig reloadConfig() {
  
! 		OpenAMFConfig config = OpenAMFConfig.getInstance();
  
! 		ConfigDigester configDigester = new ConfigDigester();
! 		configDigester.setUseContextClassLoader(true);
  
! 		String configParam =
! 			getServletConfig().getInitParameter(OPENAMF_CONFIG);
! 		String[] configLocations = StringUtils.split(configParam, ",");
  
! 		try {
! 			for (int i = 0; i < configLocations.length; i++) {
! 				String configLocation = configLocations[i];
! 				InputStream inputStream =
! 					getServletContext().getResourceAsStream(configLocation);		
! 				configDigester.clear();
! 				configDigester.push(config);
! 				configDigester.parse(inputStream);				
! 			}
! 		} catch (Exception e) {
! 			log.error(e);
! 		}
  
! 		if (log.isInfoEnabled()) {
! 			log.info(config);
! 		}
  
! 		return config;
! 	}
  
  }
--- 41,300 ----
  public class DefaultGateway extends HttpServlet {
  
!     protected static Log log = LogFactory.getLog(DefaultGateway.class);
  
!     private static final String OPENAMF_CONFIG = "OPENAMF_CONFIG";
  
!     public void init() throws ServletException {
!         reloadConfig();
!     }
  
!     /**
!      * Process request
!      *
!      * @param req
!      * @param resp
!      * @throws ServletException
!      * @throws IOException
!      */
!     public void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
!         AMFMessage requestMessage, responseMessage = null;
!         try {
!             requestMessage = deserializeAMFMessage(req);
!             OpenAMFUtils.logMessage("REQUEST", requestMessage);
!             responseMessage = processMessage(req, requestMessage);
!             OpenAMFUtils.logMessage("RESPONSE", responseMessage);
!             serializeAMFMessage(resp, responseMessage);
!         } catch (Exception e) {
!             log.error("Error in service: " + e,e);
!         }
!     }
  
!     protected AMFMessage deserializeAMFMessage(HttpServletRequest req) throws IOException {
!         DataInputStream inputStream = new DataInputStream(req.getInputStream());
!         AMFDeserializer deserializer = new AMFDeserializer(inputStream);
!         AMFMessage message = deserializer.getAMFMessage();
!         log.debug("input message deserialized");
!         return message;
!     }
  
!     /**
!      * Serialize response message
!      *
!      * @param resp
!      * @param message
!      * @throws IOException
!      */
!     protected void serializeAMFMessage(HttpServletResponse resp, AMFMessage message) throws IOException {
!         ByteArrayOutputStream baos = new ByteArrayOutputStream();
!         DataOutputStream dos = new DataOutputStream(baos);
!         AMFSerializer serializer = new AMFSerializer(dos);
!         serializer.serializeMessage(message);
!         resp.setContentType("application/x-amf");
!         resp.setContentLength(baos.size());
!         ServletOutputStream sos = resp.getOutputStream();
!         baos.writeTo(sos);
!         sos.flush();
!     }
  
!     /**
!      * Process message
!      *
!      * @param req
!      * @param message
!      * @return
!      */
!     protected AMFMessage processMessage(HttpServletRequest req, AMFMessage message) {
!         AMFMessage responseMessage = new AMFMessage();
!         for (Iterator bodies = message.getBodies(); bodies.hasNext();) {
!             AMFBody requestBody = (AMFBody) bodies.next();
!             // invoke
!             Object serviceResult = invokeBody(req, requestBody);
!             String target = getTarget(requestBody, serviceResult);
!             AMFBody responseBody = new AMFBody(target, "null", serviceResult);
!             responseMessage.addBody(responseBody);
!         }
!         return responseMessage;
!     }
  
!     /**
!      * Invoke service
!      *
!      * @param req
!      * @param requestBody
!      * @return
!      */
!     private Object invokeBody(HttpServletRequest req, AMFBody requestBody) {
!         Object serviceResult = null;
!         try {
!             ServiceInvoker serviceInvoker = getServiceInvoker(requestBody, req);
!             if (serviceInvoker== null) {
!                 throw new ServiceInvocationException(requestBody, new Exception("No service"));
!             }
!             preInvokeService(req, serviceInvoker);
!             serviceResult = serviceInvoker.invokeService();
!             serviceResult = postInvokeService(
!                     req,
!                     serviceInvoker,
!                     serviceResult);
!         } catch (ServiceInvocationException e) {
!            serviceResult = e.getAMFError();
!            log.warn(e);
!         }
!         return serviceResult;
!     }
  
!     /**
!      * Returns target
!      *
!      * @param requestBody request message body
!      * @param serviceResult response message
!      * @return
!      */
!     private String getTarget(AMFBody requestBody, Object serviceResult) {
!         String target = "/onResult";
!         if (serviceResult instanceof AMFError) {
!             target = "/onStatus";
!         }
!         return requestBody.getResponse() + target;
!     }
  
!     /**
!      * Pre invoke service
!      *
!      * @param httpServletRequest
!      * @param serviceInvoker
!      * @throws ServiceInvocationException
!      */
!     protected void preInvokeService(
!             HttpServletRequest httpServletRequest,
!             ServiceInvoker serviceInvoker)
!             throws ServiceInvocationException {
  
!         if (serviceInvoker.getPersistService()) {
!             Object persistantServiceObject =
!                     httpServletRequest.getSession().getAttribute(
!                             serviceInvoker.getPersistantServiceName());
  
!             serviceInvoker.setPersistantServiceObject(persistantServiceObject);
!         }
!     }
  
!     /**
!      * Post invoke service
!      *
!      * @param httpServletRequest
!      * @param serviceInvoker
!      * @param serviceResult
!      * @return
!      * @throws ServiceInvocationException
!      */
!     protected Object postInvokeService(
!             HttpServletRequest httpServletRequest,
!             ServiceInvoker serviceInvoker,
!             Object serviceResult)
!             throws ServiceInvocationException {
  
!         if (serviceInvoker.getPersistService()) {
!             httpServletRequest.getSession().setAttribute(
!                     serviceInvoker.getPersistantServiceName(),
!                     serviceInvoker.getPersistantServiceObject());
!         }
  
!         serviceResult = processRecordSet(httpServletRequest, serviceInvoker, serviceResult);
  
!         return serviceResult;
!     }
  
!     private Object processRecordSet(
!             HttpServletRequest httpServletRequest,
!             ServiceInvoker serviceInvoker,
!             Object serviceResult)
!             throws ServiceInvocationException {
  
!         if (serviceResult instanceof ResultSet) {
!             ASRecordSet asRecordSet = new ASRecordSet();
!             try {
!                 asRecordSet.populate((ResultSet) serviceResult);
!                 serviceResult = asRecordSet;
!             } catch (IOException e) {
!                 throw new ServiceInvocationException(serviceInvoker.getRequest(), e);
!             }
!         }
  
!         if (serviceResult instanceof ASRecordSet) {
!             ASRecordSet asRecordSet = (ASRecordSet) serviceResult;
!             if (asRecordSet.getTotalCount() > asRecordSet.getInitialData().size()) {
!                 httpServletRequest.getSession().setAttribute(asRecordSet.getId(), asRecordSet);
!             }
!         }
  
!         return serviceResult;
!     }
  
!     protected ServiceInvoker getServiceInvoker(AMFBody requestBody, HttpServletRequest httpServletRequest)
!             throws ServiceInvocationException {
  
!         ServiceInvoker serviceInvoker = null;
!         ServiceRequest request = new ServiceRequest(requestBody);
  
!         try {
!             for (Iterator i = OpenAMFConfig.getInstance().getServiceInvokerConfigs();
!                  i.hasNext();
!                     ) {
  
!                 ServiceInvokerConfig invokerConfig = (ServiceInvokerConfig) i.next();
!                 log.debug("Checking if the " + invokerConfig.getName() + " Service Invoker can support the request");
!                 ServiceInvoker tempInvoker =
!                         ServiceInvoker.load(
!                                 invokerConfig.getClassName(),
!                                 request,
!                                 httpServletRequest,
!                                 getServletContext());
  
!                 if (tempInvoker.supports(request)) {
!                     serviceInvoker = tempInvoker;
!                     serviceInvoker.prepare(request);
!                     log.debug(invokerConfig.getName()+": YES");
!                     break;
!                 } else {
!                     log.debug(invokerConfig.getName()+": NO");
!                 }
!             }
!         } catch (Exception e) {
!             throw new ServiceInvocationException(request, e);
!         }
  
!         return serviceInvoker;
!     }
  
!     /**
!      * Reloads OpenAMF COnfiguration
!      *
!      * @return
!      */
!     protected OpenAMFConfig reloadConfig() {
!         OpenAMFConfig config = OpenAMFConfig.getInstance();
!         ConfigDigester configDigester = new ConfigDigester();
!         configDigester.setUseContextClassLoader(true);
  
!         String configParam = getServletConfig().getInitParameter(OPENAMF_CONFIG);
!         String[] configLocations = StringUtils.split(configParam, ",");
  
!         try {
!             for (int i = 0; i < configLocations.length; i++) {
!                 String configLocation = configLocations[i];
!                 InputStream inputStream = getServletContext().getResourceAsStream(configLocation);
!                 configDigester.clear();
!                 configDigester.push(config);
!                 configDigester.parse(inputStream);
!             }
!         } catch (Exception e) {
!             log.error("Reload config error: " + e);
!         }
  
+         if (log.isInfoEnabled()) {
+             log.info(config);
+         }
+         return config;
+     }
  }

Index: RemotingTester.java
===================================================================
RCS file: /cvsroot/openamf/openamf/src/java/org/openamf/RemotingTester.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** RemotingTester.java	9 Aug 2003 16:59:22 -0000	1.5
--- RemotingTester.java	15 Aug 2003 22:09:19 -0000	1.6
***************
*** 83,86 ****
--- 83,89 ----
  		}
  	}
+     public static void main(String[] args) {
+ 
+     }
  
  }




-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01