blob: cd9b0c5433afdd936e6b677a609cf36c3f11d9b1 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License") + you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.openmeetings.axis.services;
import javax.servlet.ServletContext;
import org.apache.axis2.AxisFault;
import org.apache.axis2.context.MessageContext;
import org.apache.axis2.transport.http.HTTPConstants;
import org.apache.openmeetings.servlet.BeanUtil;
import org.apache.openmeetings.servlet.ServerNotInitializedException;
public abstract class BaseWebService {
private BeanUtil beanUtil = new BeanUtil();
private ServletContext getServletContext() throws AxisFault {
try {
MessageContext mc = MessageContext.getCurrentMessageContext();
return (ServletContext) mc.getProperty(HTTPConstants.MC_HTTP_SERVLETCONTEXT);
} catch (Exception err) {
throw new AxisFault("Servlet context is not available yet, retry in couple of seconds");
}
}
// package access
<T> T getBean(Class<? extends T> clazz) throws AxisFault {
try {
return beanUtil.getBean(clazz, getServletContext());
} catch (ServerNotInitializedException e) {
throw new AxisFault(e.getMessage());
}
}
}