http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/ApiServer.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/api/ApiServer.java b/server/src/com/cloud/api/ApiServer.java index 96cc5e5..4da8b1e 100644 --- a/server/src/com/cloud/api/ApiServer.java +++ b/server/src/com/cloud/api/ApiServer.java @@ -16,44 +16,45 @@ // under the License. package com.cloud.api; -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InterruptedIOException; -import java.net.InetAddress; -import java.net.ServerSocket; -import java.net.Socket; -import java.net.URI; -import java.net.URISyntaxException; -import java.net.URLEncoder; -import java.security.SecureRandom; -import java.text.DateFormat; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Date; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.TimeZone; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.LinkedBlockingQueue; -import java.util.concurrent.ThreadPoolExecutor; -import java.util.concurrent.TimeUnit; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import javax.crypto.Mac; -import javax.crypto.spec.SecretKeySpec; -import javax.inject.Inject; -import javax.naming.ConfigurationException; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; - +import com.cloud.api.dispatch.DispatchChainFactory; +import com.cloud.api.dispatch.DispatchTask; +import com.cloud.api.response.ApiResponseSerializer; +import com.cloud.configuration.Config; +import com.cloud.domain.Domain; +import com.cloud.domain.DomainVO; +import com.cloud.domain.dao.DomainDao; +import com.cloud.event.ActionEventUtils; +import com.cloud.event.EventCategory; +import com.cloud.event.EventTypes; +import com.cloud.exception.AccountLimitException; +import com.cloud.exception.CloudAuthenticationException; +import com.cloud.exception.InsufficientCapacityException; +import com.cloud.exception.InvalidParameterValueException; +import com.cloud.exception.PermissionDeniedException; +import com.cloud.exception.RequestLimitException; +import com.cloud.exception.ResourceAllocationException; +import com.cloud.exception.ResourceUnavailableException; +import com.cloud.user.Account; +import com.cloud.user.AccountManager; +import com.cloud.user.DomainManager; +import com.cloud.user.User; +import com.cloud.user.UserAccount; +import com.cloud.user.UserVO; +import com.cloud.utils.ConstantTimeComparator; +import com.cloud.utils.HttpUtils; +import com.cloud.utils.NumbersUtil; +import com.cloud.utils.Pair; +import com.cloud.utils.StringUtils; +import com.cloud.utils.component.ComponentContext; +import com.cloud.utils.component.ManagerBase; +import com.cloud.utils.component.PluggableService; +import com.cloud.utils.concurrency.NamedThreadFactory; +import com.cloud.utils.db.EntityManager; +import com.cloud.utils.db.SearchCriteria; +import com.cloud.utils.db.TransactionLegacy; +import com.cloud.utils.db.UUIDManager; +import com.cloud.utils.exception.CloudRuntimeException; +import com.cloud.utils.exception.ExceptionProxyObject; import org.apache.cloudstack.acl.APIChecker; import org.apache.cloudstack.api.APICommand; import org.apache.cloudstack.api.ApiConstants; @@ -133,51 +134,51 @@ import org.apache.http.protocol.ResponseConnControl; import org.apache.http.protocol.ResponseContent; import org.apache.http.protocol.ResponseDate; import org.apache.http.protocol.ResponseServer; +import org.apache.log4j.Logger; import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.stereotype.Component; -import com.cloud.api.dispatch.DispatchChainFactory; -import com.cloud.api.dispatch.DispatchTask; -import com.cloud.api.response.ApiResponseSerializer; -import com.cloud.configuration.Config; -import com.cloud.domain.Domain; -import com.cloud.domain.DomainVO; -import com.cloud.domain.dao.DomainDao; -import com.cloud.event.ActionEventUtils; -import com.cloud.event.EventCategory; -import com.cloud.event.EventTypes; -import com.cloud.exception.AccountLimitException; -import com.cloud.exception.CloudAuthenticationException; -import com.cloud.exception.InsufficientCapacityException; -import com.cloud.exception.InvalidParameterValueException; -import com.cloud.exception.PermissionDeniedException; -import com.cloud.exception.RequestLimitException; -import com.cloud.exception.ResourceAllocationException; -import com.cloud.exception.ResourceUnavailableException; -import com.cloud.user.Account; -import com.cloud.user.AccountManager; -import com.cloud.user.DomainManager; -import com.cloud.user.User; -import com.cloud.user.UserAccount; -import com.cloud.user.UserVO; -import com.cloud.utils.ConstantTimeComparator; -import com.cloud.utils.HttpUtils; -import com.cloud.utils.NumbersUtil; -import com.cloud.utils.Pair; -import com.cloud.utils.StringUtils; -import com.cloud.utils.component.ComponentContext; -import com.cloud.utils.component.ManagerBase; -import com.cloud.utils.component.PluggableService; -import com.cloud.utils.concurrency.NamedThreadFactory; -import com.cloud.utils.db.EntityManager; -import com.cloud.utils.db.SearchCriteria; -import com.cloud.utils.db.TransactionLegacy; -import com.cloud.utils.db.UUIDManager; -import com.cloud.utils.exception.CloudRuntimeException; -import com.cloud.utils.exception.ExceptionProxyObject; +import javax.crypto.Mac; +import javax.crypto.spec.SecretKeySpec; +import javax.inject.Inject; +import javax.naming.ConfigurationException; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InterruptedIOException; +import java.net.InetAddress; +import java.net.ServerSocket; +import java.net.Socket; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URLEncoder; +import java.security.SecureRandom; +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Date; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.TimeZone; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.LinkedBlockingQueue; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; +import java.util.regex.Matcher; +import java.util.regex.Pattern; @Component public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiServerService { + private static final Logger s_logger = Logger.getLogger(ApiServer.class.getName()); + private static final Logger s_accessLogger = Logger.getLogger("apiserver." + ApiServer.class.getName()); public static boolean encodeApiResponse = false; public static boolean s_enableSecureCookie = false; @@ -242,8 +243,8 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer AsyncJob job = eventInfo.first(); String jobEvent = eventInfo.second(); - if (logger.isTraceEnabled()) - logger.trace("Handle asyjob publish event " + jobEvent); + if (s_logger.isTraceEnabled()) + s_logger.trace("Handle asyjob publish event " + jobEvent); EventBus eventBus = null; try { @@ -268,11 +269,11 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer if (begin >= 0) { cmdEventType = info.substring(begin + marker.length() + 2, info.indexOf(",", begin) - 1); - if (logger.isDebugEnabled()) - logger.debug("Retrieved cmdEventType from job info: " + cmdEventType); + if (s_logger.isDebugEnabled()) + s_logger.debug("Retrieved cmdEventType from job info: " + cmdEventType); } else { - if (logger.isDebugEnabled()) - logger.debug("Unable to locate cmdEventType marker in job info. publish as unknown event"); + if (s_logger.isDebugEnabled()) + s_logger.debug("Unable to locate cmdEventType marker in job info. publish as unknown event"); } } // For some reason, the instanceType / instanceId are not abstract, which means we may get null values. @@ -309,7 +310,7 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer eventBus.publish(event); } catch (EventBusException evx) { String errMsg = "Failed to publish async job event on the the event bus."; - logger.warn(errMsg, evx); + s_logger.warn(errMsg, evx); } } @@ -331,7 +332,7 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer if (strSnapshotLimit != null) { final Long snapshotLimit = NumbersUtil.parseLong(strSnapshotLimit, 1L); if (snapshotLimit.longValue() <= 0) { - logger.debug("Global config parameter " + Config.ConcurrentSnapshotsThresholdPerHost.toString() + " is less or equal 0; defaulting to unlimited"); + s_logger.debug("Global config parameter " + Config.ConcurrentSnapshotsThresholdPerHost.toString() + " is less or equal 0; defaulting to unlimited"); } else { _dispatcher.setCreateSnapshotQueueSizeLimit(snapshotLimit); } @@ -340,8 +341,8 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer final Set<Class<?>> cmdClasses = new HashSet<Class<?>>(); for (final PluggableService pluggableService : _pluggableServices) { cmdClasses.addAll(pluggableService.getCommands()); - if (logger.isDebugEnabled()) { - logger.debug("Discovered plugin " + pluggableService.getClass().getSimpleName()); + if (s_logger.isDebugEnabled()) { + s_logger.debug("Discovered plugin " + pluggableService.getClass().getSimpleName()); } } @@ -399,7 +400,7 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer try { paramList = URLEncodedUtils.parse(new URI(request.getRequestLine().getUri()), HttpUtils.UTF_8); } catch (final URISyntaxException e) { - logger.error("Error parsing url request", e); + s_logger.error("Error parsing url request", e); } // Use Multimap as the parameter map should be in the form (name=String, value=String[]) @@ -441,10 +442,11 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer sb.append(" " + se.getErrorCode() + " " + se.getDescription()); } catch (final RuntimeException e) { // log runtime exception like NullPointerException to help identify the source easier - logger.error("Unhandled exception, ", e); + s_logger.error("Unhandled exception, ", e); throw e; } } finally { + s_accessLogger.info(sb.toString()); CallContext.unregister(); } } @@ -481,13 +483,13 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer try { command = (String[])params.get("command"); if (command == null) { - logger.error("invalid request, no command sent"); - if (logger.isTraceEnabled()) { - logger.trace("dumping request parameters"); + s_logger.error("invalid request, no command sent"); + if (s_logger.isTraceEnabled()) { + s_logger.trace("dumping request parameters"); for (final Object key : params.keySet()) { final String keyStr = (String)key; final String[] value = (String[])params.get(key); - logger.trace(" key: " + keyStr + ", value: " + ((value == null) ? "'null'" : value[0])); + s_logger.trace(" key: " + keyStr + ", value: " + ((value == null) ? "'null'" : value[0])); } } throw new ServerApiException(ApiErrorCode.UNSUPPORTED_ACTION_ERROR, "Invalid request, no command sent"); @@ -512,7 +514,7 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer if (cmdClass != null) { APICommand annotation = cmdClass.getAnnotation(APICommand.class); if (annotation == null) { - logger.error("No APICommand annotation found for class " + cmdClass.getCanonicalName()); + s_logger.error("No APICommand annotation found for class " + cmdClass.getCanonicalName()); throw new CloudRuntimeException("No APICommand annotation found for class " + cmdClass.getCanonicalName()); } @@ -534,16 +536,16 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer buildAuditTrail(auditTrailSb, command[0], response); } else { final String errorString = "Unknown API command: " + command[0]; - logger.warn(errorString); + s_logger.warn(errorString); auditTrailSb.append(" " + errorString); throw new ServerApiException(ApiErrorCode.UNSUPPORTED_ACTION_ERROR, errorString); } } } catch (final InvalidParameterValueException ex) { - logger.info(ex.getMessage()); + s_logger.info(ex.getMessage()); throw new ServerApiException(ApiErrorCode.PARAM_ERROR, ex.getMessage(), ex); } catch (final IllegalArgumentException ex) { - logger.info(ex.getMessage()); + s_logger.info(ex.getMessage()); throw new ServerApiException(ApiErrorCode.PARAM_ERROR, ex.getMessage(), ex); } catch (final PermissionDeniedException ex) { final ArrayList<ExceptionProxyObject> idList = ex.getIdProxyList(); @@ -555,16 +557,16 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer buf.append(obj.getUuid()); buf.append(" "); } - logger.info("PermissionDenied: " + ex.getMessage() + " on objs: [" + buf.toString() + "]"); + s_logger.info("PermissionDenied: " + ex.getMessage() + " on objs: [" + buf.toString() + "]"); } else { - logger.info("PermissionDenied: " + ex.getMessage()); + s_logger.info("PermissionDenied: " + ex.getMessage()); } throw new ServerApiException(ApiErrorCode.ACCOUNT_ERROR, ex.getMessage(), ex); } catch (final AccountLimitException ex) { - logger.info(ex.getMessage()); + s_logger.info(ex.getMessage()); throw new ServerApiException(ApiErrorCode.ACCOUNT_RESOURCE_LIMIT_ERROR, ex.getMessage(), ex); } catch (final InsufficientCapacityException ex) { - logger.info(ex.getMessage()); + s_logger.info(ex.getMessage()); String errorMsg = ex.getMessage(); if (!_accountMgr.isRootAdmin(CallContext.current().getCallingAccount().getId())) { // hide internal details to non-admin user for security reason @@ -572,10 +574,10 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer } throw new ServerApiException(ApiErrorCode.INSUFFICIENT_CAPACITY_ERROR, errorMsg, ex); } catch (final ResourceAllocationException ex) { - logger.info(ex.getMessage()); + s_logger.info(ex.getMessage()); throw new ServerApiException(ApiErrorCode.RESOURCE_ALLOCATION_ERROR, ex.getMessage(), ex); } catch (final ResourceUnavailableException ex) { - logger.info(ex.getMessage()); + s_logger.info(ex.getMessage()); String errorMsg = ex.getMessage(); if (!_accountMgr.isRootAdmin(CallContext.current().getCallingAccount().getId())) { // hide internal details to non-admin user for security reason @@ -583,10 +585,10 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer } throw new ServerApiException(ApiErrorCode.RESOURCE_UNAVAILABLE_ERROR, errorMsg, ex); } catch (final ServerApiException ex) { - logger.info(ex.getDescription()); + s_logger.info(ex.getDescription()); throw ex; } catch (final Exception ex) { - logger.error("unhandled exception executing api command: " + ((command == null) ? "null" : command), ex); + s_logger.error("unhandled exception executing api command: " + ((command == null) ? "null" : command), ex); String errorMsg = ex.getMessage(); if (!_accountMgr.isRootAdmin(CallContext.current().getCallingAccount().getId())) { // hide internal details to non-admin user for security reason @@ -680,14 +682,14 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer AsyncJobVO job = new AsyncJobVO("", callerUserId, caller.getId(), cmdObj.getClass().getName(), ApiGsonHelper.getBuilder().create().toJson(params), instanceId, asyncCmd.getInstanceType() != null ? asyncCmd.getInstanceType().toString() : null, - injectedJobId); + injectedJobId); job.setDispatcher(_asyncDispatcher.getName()); final long jobId = _asyncMgr.submitAsyncJob(job); if (jobId == 0L) { final String errorMsg = "Unable to schedule async job for command " + job.getCmd(); - logger.warn(errorMsg); + s_logger.warn(errorMsg); throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, errorMsg); } @@ -778,7 +780,7 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer final String[] command = (String[])requestParameters.get(ApiConstants.COMMAND); if (command == null) { - logger.info("missing command, ignoring request..."); + s_logger.info("missing command, ignoring request..."); return false; } @@ -791,17 +793,17 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer try { checkCommandAvailable(user, commandName); } catch (final RequestLimitException ex) { - logger.debug(ex.getMessage()); + s_logger.debug(ex.getMessage()); throw new ServerApiException(ApiErrorCode.API_LIMIT_EXCEED, ex.getMessage()); } catch (final PermissionDeniedException ex) { - logger.debug("The given command:" + commandName + " does not exist or it is not available for user with id:" + userId); + s_logger.debug("The given command:" + commandName + " does not exist or it is not available for user with id:" + userId); throw new ServerApiException(ApiErrorCode.UNSUPPORTED_ACTION_ERROR, "The given command does not exist or it is not available for user"); } return true; } else { // check against every available command to see if the command exists or not if (!s_apiNameCmdClassMap.containsKey(commandName) && !commandName.equals("login") && !commandName.equals("logout")) { - logger.debug("The given command:" + commandName + " does not exist or it is not available for user with id:" + userId); + s_logger.debug("The given command:" + commandName + " does not exist or it is not available for user with id:" + userId); throw new ServerApiException(ApiErrorCode.UNSUPPORTED_ACTION_ERROR, "The given command does not exist or it is not available for user"); } } @@ -844,7 +846,7 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer // if api/secret key are passed to the parameters if ((signature == null) || (apiKey == null)) { - logger.debug("Expired session, missing signature, or missing apiKey -- ignoring request. Signature: " + signature + ", apiKey: " + apiKey); + s_logger.debug("Expired session, missing signature, or missing apiKey -- ignoring request. Signature: " + signature + ", apiKey: " + apiKey); return false; // no signature, bad request } @@ -853,20 +855,20 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer if ("3".equals(signatureVersion)) { // New signature authentication. Check for expire parameter and its validity if (expires == null) { - logger.debug("Missing Expires parameter -- ignoring request. Signature: " + signature + ", apiKey: " + apiKey); + s_logger.debug("Missing Expires parameter -- ignoring request. Signature: " + signature + ", apiKey: " + apiKey); return false; } synchronized (DateFormatToUse) { try { expiresTS = DateFormatToUse.parse(expires); } catch (final ParseException pe) { - logger.debug("Incorrect date format for Expires parameter", pe); + s_logger.debug("Incorrect date format for Expires parameter", pe); return false; } } final Date now = new Date(System.currentTimeMillis()); if (expiresTS.before(now)) { - logger.debug("Request expired -- ignoring ...sig: " + signature + ", apiKey: " + apiKey); + s_logger.debug("Request expired -- ignoring ...sig: " + signature + ", apiKey: " + apiKey); return false; } } @@ -877,7 +879,7 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer // verify there is a user with this api key final Pair<User, Account> userAcctPair = _accountMgr.findUserByApiKey(apiKey); if (userAcctPair == null) { - logger.debug("apiKey does not map to a valid user -- ignoring request, apiKey: " + apiKey); + s_logger.debug("apiKey does not map to a valid user -- ignoring request, apiKey: " + apiKey); return false; } @@ -885,7 +887,7 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer final Account account = userAcctPair.second(); if (user.getState() != Account.State.enabled || !account.getState().equals(Account.State.enabled)) { - logger.info("disabled or locked user accessing the api, userid = " + user.getId() + "; name = " + user.getUsername() + "; state: " + user.getState() + + s_logger.info("disabled or locked user accessing the api, userid = " + user.getId() + "; name = " + user.getUsername() + "; state: " + user.getState() + "; accountState: " + account.getState()); return false; } @@ -893,10 +895,10 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer try { checkCommandAvailable(user, commandName); } catch (final RequestLimitException ex) { - logger.debug(ex.getMessage()); + s_logger.debug(ex.getMessage()); throw new ServerApiException(ApiErrorCode.API_LIMIT_EXCEED, ex.getMessage()); } catch (final PermissionDeniedException ex) { - logger.debug("The given command:" + commandName + " does not exist or it is not available for user"); + s_logger.debug("The given command:" + commandName + " does not exist or it is not available for user"); throw new ServerApiException(ApiErrorCode.UNSUPPORTED_ACTION_ERROR, "The given command:" + commandName + " does not exist or it is not available for user with id:" + userId); } @@ -904,7 +906,7 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer // verify secret key exists secretKey = user.getSecretKey(); if (secretKey == null) { - logger.info("User does not have a secret key associated with the account -- ignoring request, username: " + user.getUsername()); + s_logger.info("User does not have a secret key associated with the account -- ignoring request, username: " + user.getUsername()); return false; } @@ -920,7 +922,7 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer final boolean equalSig = ConstantTimeComparator.compareStrings(signature, computedSignature); if (!equalSig) { - logger.info("User signature: " + signature + " is not equaled to computed signature: " + computedSignature); + s_logger.info("User signature: " + signature + " is not equaled to computed signature: " + computedSignature); } else { CallContext.register(user, account); } @@ -928,7 +930,7 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer } catch (final ServerApiException ex) { throw ex; } catch (final Exception ex) { - logger.error("unable to verify request signature"); + s_logger.error("unable to verify request signature"); } return false; } @@ -1016,13 +1018,13 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer float offsetInHrs = 0f; if (timezone != null) { final TimeZone t = TimeZone.getTimeZone(timezone); - logger.info("Current user logged in under " + timezone + " timezone"); + s_logger.info("Current user logged in under " + timezone + " timezone"); final java.util.Date date = new java.util.Date(); final long longDate = date.getTime(); final float offsetInMs = (t.getOffset(longDate)); offsetInHrs = offsetInMs / (1000 * 60 * 60); - logger.info("Timezone offset from UTC is: " + offsetInHrs); + s_logger.info("Timezone offset from UTC is: " + offsetInHrs); } final Account account = _accountMgr.getAccount(userAcct.getAccountId()); @@ -1084,7 +1086,7 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer if ((user == null) || (user.getRemoved() != null) || !user.getState().equals(Account.State.enabled) || (account == null) || !account.getState().equals(Account.State.enabled)) { - logger.warn("Deleted/Disabled/Locked user with id=" + userId + " attempting to access public API"); + s_logger.warn("Deleted/Disabled/Locked user with id=" + userId + " attempting to access public API"); return false; } return true; @@ -1155,7 +1157,7 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer } resp.setEntity(body); } catch (final Exception ex) { - logger.error("error!", ex); + s_logger.error("error!", ex); } } @@ -1164,7 +1166,7 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer // we have to cite a license if we are using this code directly, so we need to add the appropriate citation or // modify the // code to be very specific to our needs - class ListenerThread extends Thread { + static class ListenerThread extends Thread { private HttpService _httpService = null; private ServerSocket _serverSocket = null; private HttpParams _params = null; @@ -1173,16 +1175,16 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer try { _serverSocket = new ServerSocket(port); } catch (final IOException ioex) { - logger.error("error initializing api server", ioex); + s_logger.error("error initializing api server", ioex); return; } _params = new BasicHttpParams(); _params.setIntParameter(CoreConnectionPNames.SO_TIMEOUT, 30000) - .setIntParameter(CoreConnectionPNames.SOCKET_BUFFER_SIZE, 8 * 1024) - .setBooleanParameter(CoreConnectionPNames.STALE_CONNECTION_CHECK, false) - .setBooleanParameter(CoreConnectionPNames.TCP_NODELAY, true) - .setParameter(CoreProtocolPNames.ORIGIN_SERVER, "HttpComponents/1.1"); + .setIntParameter(CoreConnectionPNames.SOCKET_BUFFER_SIZE, 8 * 1024) + .setBooleanParameter(CoreConnectionPNames.STALE_CONNECTION_CHECK, false) + .setBooleanParameter(CoreConnectionPNames.TCP_NODELAY, true) + .setParameter(CoreProtocolPNames.ORIGIN_SERVER, "HttpComponents/1.1"); // Set up the HTTP protocol processor final BasicHttpProcessor httpproc = new BasicHttpProcessor(); @@ -1203,7 +1205,7 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer @Override public void run() { - logger.info("ApiServer listening on port " + _serverSocket.getLocalPort()); + s_logger.info("ApiServer listening on port " + _serverSocket.getLocalPort()); while (!Thread.interrupted()) { try { // Set up HTTP connection @@ -1216,14 +1218,14 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer } catch (final InterruptedIOException ex) { break; } catch (final IOException e) { - logger.error("I/O error initializing connection thread", e); + s_logger.error("I/O error initializing connection thread", e); break; } } } } - class WorkerTask extends ManagedContextRunnable { + static class WorkerTask extends ManagedContextRunnable { private final HttpService _httpService; private final HttpServerConnection _conn; @@ -1241,15 +1243,15 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer _conn.close(); } } catch (final ConnectionClosedException ex) { - if (logger.isTraceEnabled()) { - logger.trace("ApiServer: Client closed connection"); + if (s_logger.isTraceEnabled()) { + s_logger.trace("ApiServer: Client closed connection"); } } catch (final IOException ex) { - if (logger.isTraceEnabled()) { - logger.trace("ApiServer: IOException - " + ex); + if (s_logger.isTraceEnabled()) { + s_logger.trace("ApiServer: IOException - " + ex); } } catch (final HttpException ex) { - logger.warn("ApiServer: Unrecoverable HTTP protocol violation" + ex); + s_logger.warn("ApiServer: Unrecoverable HTTP protocol violation" + ex); } finally { try { _conn.shutdown(); @@ -1289,7 +1291,7 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer responseText = ApiResponseSerializer.toSerializedString(apiResponse, responseType); } catch (final Exception e) { - logger.error("Exception responding to http request", e); + s_logger.error("Exception responding to http request", e); } return responseText; } @@ -1339,7 +1341,7 @@ public class ApiServer extends ManagerBase implements HttpRequestHandler, ApiSer responseText = ApiResponseSerializer.toSerializedString(apiResponse, responseType); } catch (final Exception e) { - logger.error("Exception responding to http request", e); + s_logger.error("Exception responding to http request", e); } return responseText; }
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/auth/APIAuthenticationManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/api/auth/APIAuthenticationManagerImpl.java b/server/src/com/cloud/api/auth/APIAuthenticationManagerImpl.java index 4016ffc..28a9c0f 100644 --- a/server/src/com/cloud/api/auth/APIAuthenticationManagerImpl.java +++ b/server/src/com/cloud/api/auth/APIAuthenticationManagerImpl.java @@ -23,6 +23,7 @@ import java.util.concurrent.ConcurrentHashMap; import javax.ejb.Local; +import org.apache.log4j.Logger; import org.apache.cloudstack.api.APICommand; import org.apache.cloudstack.api.auth.APIAuthenticationManager; @@ -35,6 +36,7 @@ import com.cloud.utils.component.ManagerBase; @Local(value = APIAuthenticationManager.class) @SuppressWarnings("unchecked") public class APIAuthenticationManagerImpl extends ManagerBase implements APIAuthenticationManager { + public static final Logger s_logger = Logger.getLogger(APIAuthenticationManagerImpl.class.getName()); private List<PluggableAPIAuthenticator> _apiAuthenticators; @@ -82,7 +84,7 @@ public class APIAuthenticationManagerImpl extends ManagerBase implements APIAuth if (commands != null) { cmdList.addAll(commands); } else { - logger.warn("API Authenticator returned null api commands:" + apiAuthenticator.getName()); + s_logger.warn("API Authenticator returned null api commands:" + apiAuthenticator.getName()); } } return cmdList; @@ -98,8 +100,8 @@ public class APIAuthenticationManagerImpl extends ManagerBase implements APIAuth apiAuthenticator = ComponentContext.inject(apiAuthenticator); apiAuthenticator.setAuthenticators(_apiAuthenticators); } catch (InstantiationException | IllegalAccessException e) { - if (logger.isDebugEnabled()) { - logger.debug("APIAuthenticationManagerImpl::getAPIAuthenticator failed: " + e.getMessage()); + if (s_logger.isDebugEnabled()) { + s_logger.debug("APIAuthenticationManagerImpl::getAPIAuthenticator failed: " + e.getMessage()); } } } http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/QueryManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/api/query/QueryManagerImpl.java b/server/src/com/cloud/api/query/QueryManagerImpl.java index 7aa46d1..6994b27 100644 --- a/server/src/com/cloud/api/query/QueryManagerImpl.java +++ b/server/src/com/cloud/api/query/QueryManagerImpl.java @@ -107,6 +107,7 @@ import org.apache.cloudstack.framework.config.ConfigKey; import org.apache.cloudstack.framework.config.Configurable; import org.apache.cloudstack.framework.config.dao.ConfigurationDao; import org.apache.cloudstack.query.QueryService; +import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import com.cloud.api.query.dao.AccountJoinDao; @@ -226,6 +227,7 @@ import com.cloud.vm.dao.UserVmDetailsDao; @Local(value = {QueryService.class}) public class QueryManagerImpl extends ManagerBase implements QueryService, Configurable { + public static final Logger s_logger = Logger.getLogger(QueryManagerImpl.class); @Inject private AccountManager _accountMgr; @@ -1563,10 +1565,10 @@ public class QueryManagerImpl extends ManagerBase implements QueryService, Confi // FIXME: do we need to support list hosts with VmId, maybe we should // create another command just for this // Right now it is handled separately outside this QueryService - logger.debug(">>>Searching for hosts>>>"); + s_logger.debug(">>>Searching for hosts>>>"); Pair<List<HostJoinVO>, Integer> hosts = searchForServersInternal(cmd); ListResponse<HostResponse> response = new ListResponse<HostResponse>(); - logger.debug(">>>Generating Response>>>"); + s_logger.debug(">>>Generating Response>>>"); List<HostResponse> hostResponses = ViewResponseHelper.createHostResponse(cmd.getDetails(), hosts.first().toArray(new HostJoinVO[hosts.first().size()])); response.setResponses(hostResponses, hosts.second()); return response; @@ -2560,7 +2562,7 @@ public class QueryManagerImpl extends ManagerBase implements QueryService, Confi domainIds = new ArrayList<Long>(); DomainVO domainRecord = _domainDao.findById(account.getDomainId()); if ( domainRecord == null ){ - logger.error("Could not find the domainId for account:" + account.getAccountName()); + s_logger.error("Could not find the domainId for account:" + account.getAccountName()); throw new CloudAuthenticationException("Could not find the domainId for account:" + account.getAccountName()); } domainIds.add(domainRecord.getId()); @@ -2731,13 +2733,13 @@ public class QueryManagerImpl extends ManagerBase implements QueryService, Confi UserVmVO vmInstance = _userVmDao.findById(vmId); domainRecord = _domainDao.findById(vmInstance.getDomainId()); if ( domainRecord == null ){ - logger.error("Could not find the domainId for vmId:" + vmId); + s_logger.error("Could not find the domainId for vmId:" + vmId); throw new CloudAuthenticationException("Could not find the domainId for vmId:" + vmId); } } else { domainRecord = _domainDao.findById(caller.getDomainId()); if ( domainRecord == null ){ - logger.error("Could not find the domainId for account:" + caller.getAccountName()); + s_logger.error("Could not find the domainId for account:" + caller.getAccountName()); throw new CloudAuthenticationException("Could not find the domainId for account:" + caller.getAccountName()); } } @@ -2883,7 +2885,7 @@ public class QueryManagerImpl extends ManagerBase implements QueryService, Confi List<Long> domainIds = new ArrayList<Long>(); DomainVO domainRecord = _domainDao.findById(account.getDomainId()); if (domainRecord == null) { - logger.error("Could not find the domainId for account:" + account.getAccountName()); + s_logger.error("Could not find the domainId for account:" + account.getAccountName()); throw new CloudAuthenticationException("Could not find the domainId for account:" + account.getAccountName()); } domainIds.add(domainRecord.getId()); @@ -2924,7 +2926,7 @@ public class QueryManagerImpl extends ManagerBase implements QueryService, Confi List<Long> domainIds = new ArrayList<Long>(); DomainVO domainRecord = _domainDao.findById(account.getDomainId()); if (domainRecord == null) { - logger.error("Could not find the domainId for account:" + account.getAccountName()); + s_logger.error("Could not find the domainId for account:" + account.getAccountName()); throw new CloudAuthenticationException("Could not find the domainId for account:" + account.getAccountName()); } domainIds.add(domainRecord.getId()); @@ -3116,14 +3118,14 @@ public class QueryManagerImpl extends ManagerBase implements QueryService, Confi throw new InvalidParameterValueException("Please specify a valid template ID."); }// If ISO requested then it should be ISO. if (isIso && template.getFormat() != ImageFormat.ISO) { - logger.error("Template Id " + templateId + " is not an ISO"); + s_logger.error("Template Id " + templateId + " is not an ISO"); InvalidParameterValueException ex = new InvalidParameterValueException( "Specified Template Id is not an ISO"); ex.addProxyObject(template.getUuid(), "templateId"); throw ex; }// If ISO not requested then it shouldn't be an ISO. if (!isIso && template.getFormat() == ImageFormat.ISO) { - logger.error("Incorrect format of the template id " + templateId); + s_logger.error("Incorrect format of the template id " + templateId); InvalidParameterValueException ex = new InvalidParameterValueException("Incorrect format " + template.getFormat() + " of the specified template id"); ex.addProxyObject(template.getUuid(), "templateId"); http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/AccountJoinDaoImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/api/query/dao/AccountJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/AccountJoinDaoImpl.java index 4d5d9f7..fadaed5 100644 --- a/server/src/com/cloud/api/query/dao/AccountJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/AccountJoinDaoImpl.java @@ -21,6 +21,7 @@ import java.util.List; import javax.ejb.Local; import javax.inject.Inject; +import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import org.apache.cloudstack.api.ResponseObject.ResponseView; @@ -42,6 +43,7 @@ import com.cloud.utils.db.SearchCriteria; @Component @Local(value = {AccountJoinDao.class}) public class AccountJoinDaoImpl extends GenericDaoBase<AccountJoinVO, Long> implements AccountJoinDao { + public static final Logger s_logger = Logger.getLogger(AccountJoinDaoImpl.class); private final SearchBuilder<AccountJoinVO> acctIdSearch; @Inject http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/AffinityGroupJoinDaoImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/api/query/dao/AffinityGroupJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/AffinityGroupJoinDaoImpl.java index f1a6a72..cdd389c 100644 --- a/server/src/com/cloud/api/query/dao/AffinityGroupJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/AffinityGroupJoinDaoImpl.java @@ -22,6 +22,7 @@ import java.util.List; import javax.ejb.Local; import javax.inject.Inject; +import org.apache.log4j.Logger; import org.apache.cloudstack.affinity.AffinityGroup; import org.apache.cloudstack.affinity.AffinityGroupResponse; @@ -35,6 +36,7 @@ import com.cloud.utils.db.SearchCriteria; @Local(value = {AffinityGroupJoinDao.class}) public class AffinityGroupJoinDaoImpl extends GenericDaoBase<AffinityGroupJoinVO, Long> implements AffinityGroupJoinDao { + public static final Logger s_logger = Logger.getLogger(AffinityGroupJoinDaoImpl.class); @Inject private ConfigurationDao _configDao; http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/DataCenterJoinDaoImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/api/query/dao/DataCenterJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/DataCenterJoinDaoImpl.java index b9f6db5..a4cdb67 100644 --- a/server/src/com/cloud/api/query/dao/DataCenterJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/DataCenterJoinDaoImpl.java @@ -21,6 +21,7 @@ import java.util.List; import javax.ejb.Local; import javax.inject.Inject; +import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import org.apache.cloudstack.api.ResponseObject.ResponseView; @@ -41,6 +42,7 @@ import com.cloud.utils.db.SearchCriteria; @Component @Local(value = {DataCenterJoinDao.class}) public class DataCenterJoinDaoImpl extends GenericDaoBase<DataCenterJoinVO, Long> implements DataCenterJoinDao { + public static final Logger s_logger = Logger.getLogger(DataCenterJoinDaoImpl.class); private SearchBuilder<DataCenterJoinVO> dofIdSearch; @Inject http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/DiskOfferingJoinDaoImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/api/query/dao/DiskOfferingJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/DiskOfferingJoinDaoImpl.java index 7dea3f7..a99f19d 100644 --- a/server/src/com/cloud/api/query/dao/DiskOfferingJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/DiskOfferingJoinDaoImpl.java @@ -20,6 +20,7 @@ import java.util.List; import javax.ejb.Local; +import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import org.apache.cloudstack.api.response.DiskOfferingResponse; @@ -35,6 +36,7 @@ import com.cloud.utils.db.SearchCriteria; @Component @Local(value = {DiskOfferingJoinDao.class}) public class DiskOfferingJoinDaoImpl extends GenericDaoBase<DiskOfferingJoinVO, Long> implements DiskOfferingJoinDao { + public static final Logger s_logger = Logger.getLogger(DiskOfferingJoinDaoImpl.class); private final SearchBuilder<DiskOfferingJoinVO> dofIdSearch; private final Attribute _typeAttr; http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/DomainJoinDaoImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/api/query/dao/DomainJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/DomainJoinDaoImpl.java index b1917dd..220f8b6 100644 --- a/server/src/com/cloud/api/query/dao/DomainJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/DomainJoinDaoImpl.java @@ -23,6 +23,7 @@ import javax.ejb.Local; import org.apache.cloudstack.api.ResponseObject.ResponseView; import org.apache.cloudstack.api.response.DomainResponse; import org.apache.cloudstack.api.response.ResourceLimitAndCountResponse; +import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import com.cloud.api.ApiDBUtils; @@ -36,6 +37,7 @@ import com.cloud.utils.db.SearchCriteria; @Component @Local(value={DomainJoinDao.class}) public class DomainJoinDaoImpl extends GenericDaoBase<DomainJoinVO, Long> implements DomainJoinDao { + public static final Logger s_logger = Logger.getLogger(DomainJoinDaoImpl.class); private SearchBuilder<DomainJoinVO> domainIdSearch; http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java index 4f66a6b..6f7ef43 100644 --- a/server/src/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java @@ -26,6 +26,7 @@ import org.apache.cloudstack.api.response.DomainRouterResponse; import org.apache.cloudstack.api.response.NicResponse; import org.apache.cloudstack.engine.orchestration.service.NetworkOrchestrationService; import org.apache.cloudstack.framework.config.dao.ConfigurationDao; +import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import com.cloud.api.ApiResponseHelper; @@ -43,6 +44,7 @@ import com.cloud.utils.db.SearchCriteria; @Component @Local(value = {DomainRouterJoinDao.class}) public class DomainRouterJoinDaoImpl extends GenericDaoBase<DomainRouterJoinVO, Long> implements DomainRouterJoinDao { + public static final Logger s_logger = Logger.getLogger(DomainRouterJoinDaoImpl.class); @Inject private ConfigurationDao _configDao; http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/HostJoinDaoImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/api/query/dao/HostJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/HostJoinDaoImpl.java index bfebc92..dca4de1 100644 --- a/server/src/com/cloud/api/query/dao/HostJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/HostJoinDaoImpl.java @@ -28,6 +28,7 @@ import java.util.Set; import javax.ejb.Local; import javax.inject.Inject; +import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import org.apache.cloudstack.api.ApiConstants.HostDetails; @@ -54,6 +55,7 @@ import com.cloud.utils.db.SearchCriteria; @Component @Local(value = {HostJoinDao.class}) public class HostJoinDaoImpl extends GenericDaoBase<HostJoinVO, Long> implements HostJoinDao { + public static final Logger s_logger = Logger.getLogger(HostJoinDaoImpl.class); @Inject private ConfigurationDao _configDao; @@ -195,7 +197,7 @@ public class HostJoinDaoImpl extends GenericDaoBase<HostJoinVO, Long> implements hostVoDetails = h.getDetails(); hostResponse.setDetails(hostVoDetails); } catch (Exception e) { - logger.debug("failed to get host details", e); + s_logger.debug("failed to get host details", e); } } http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/HostTagDaoImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/api/query/dao/HostTagDaoImpl.java b/server/src/com/cloud/api/query/dao/HostTagDaoImpl.java index 1043802..d73deb5 100644 --- a/server/src/com/cloud/api/query/dao/HostTagDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/HostTagDaoImpl.java @@ -24,6 +24,7 @@ import javax.inject.Inject; import org.apache.cloudstack.api.response.HostTagResponse; import org.apache.cloudstack.framework.config.dao.ConfigurationDao; +import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import com.cloud.api.query.vo.HostTagVO; @@ -34,6 +35,7 @@ import com.cloud.utils.db.SearchCriteria; @Component @Local(value = {HostTagDao.class}) public class HostTagDaoImpl extends GenericDaoBase<HostTagVO, Long> implements HostTagDao { + public static final Logger s_logger = Logger.getLogger(HostTagDaoImpl.class); @Inject private ConfigurationDao _configDao; http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/ImageStoreJoinDaoImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/api/query/dao/ImageStoreJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/ImageStoreJoinDaoImpl.java index b76a3ae..b1e5025 100644 --- a/server/src/com/cloud/api/query/dao/ImageStoreJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/ImageStoreJoinDaoImpl.java @@ -22,6 +22,7 @@ import java.util.List; import javax.ejb.Local; import javax.inject.Inject; +import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import org.apache.cloudstack.api.ApiConstants; @@ -39,6 +40,7 @@ import com.cloud.utils.db.SearchCriteria; @Component @Local(value = {ImageStoreJoinDao.class}) public class ImageStoreJoinDaoImpl extends GenericDaoBase<ImageStoreJoinVO, Long> implements ImageStoreJoinDao { + public static final Logger s_logger = Logger.getLogger(ImageStoreJoinDaoImpl.class); @Inject private ConfigurationDao _configDao; http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/InstanceGroupJoinDaoImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/api/query/dao/InstanceGroupJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/InstanceGroupJoinDaoImpl.java index 1766451..3a580a4 100644 --- a/server/src/com/cloud/api/query/dao/InstanceGroupJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/InstanceGroupJoinDaoImpl.java @@ -20,6 +20,7 @@ import java.util.List; import javax.ejb.Local; +import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import org.apache.cloudstack.api.response.InstanceGroupResponse; @@ -34,6 +35,7 @@ import com.cloud.vm.InstanceGroup; @Component @Local(value = {InstanceGroupJoinDao.class}) public class InstanceGroupJoinDaoImpl extends GenericDaoBase<InstanceGroupJoinVO, Long> implements InstanceGroupJoinDao { + public static final Logger s_logger = Logger.getLogger(InstanceGroupJoinDaoImpl.class); private SearchBuilder<InstanceGroupJoinVO> vrIdSearch; http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/ProjectAccountJoinDaoImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/api/query/dao/ProjectAccountJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/ProjectAccountJoinDaoImpl.java index 44096c3..676a995 100644 --- a/server/src/com/cloud/api/query/dao/ProjectAccountJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/ProjectAccountJoinDaoImpl.java @@ -20,6 +20,7 @@ import java.util.List; import javax.ejb.Local; +import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import org.apache.cloudstack.api.response.ProjectAccountResponse; @@ -33,6 +34,7 @@ import com.cloud.utils.db.SearchCriteria; @Component @Local(value = {ProjectAccountJoinDao.class}) public class ProjectAccountJoinDaoImpl extends GenericDaoBase<ProjectAccountJoinVO, Long> implements ProjectAccountJoinDao { + public static final Logger s_logger = Logger.getLogger(ProjectAccountJoinDaoImpl.class); private SearchBuilder<ProjectAccountJoinVO> paIdSearch; http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/ProjectInvitationJoinDaoImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/api/query/dao/ProjectInvitationJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/ProjectInvitationJoinDaoImpl.java index 175273c..864fcf8 100644 --- a/server/src/com/cloud/api/query/dao/ProjectInvitationJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/ProjectInvitationJoinDaoImpl.java @@ -20,6 +20,7 @@ import java.util.List; import javax.ejb.Local; +import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import org.apache.cloudstack.api.response.ProjectInvitationResponse; @@ -33,6 +34,7 @@ import com.cloud.utils.db.SearchCriteria; @Component @Local(value = {ProjectInvitationJoinDao.class}) public class ProjectInvitationJoinDaoImpl extends GenericDaoBase<ProjectInvitationJoinVO, Long> implements ProjectInvitationJoinDao { + public static final Logger s_logger = Logger.getLogger(ProjectInvitationJoinDaoImpl.class); private SearchBuilder<ProjectInvitationJoinVO> piIdSearch; http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/ProjectJoinDaoImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/api/query/dao/ProjectJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/ProjectJoinDaoImpl.java index 829fcb9..6964877 100644 --- a/server/src/com/cloud/api/query/dao/ProjectJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/ProjectJoinDaoImpl.java @@ -22,6 +22,7 @@ import java.util.List; import javax.ejb.Local; import javax.inject.Inject; +import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import org.apache.cloudstack.api.response.ProjectResponse; @@ -41,6 +42,7 @@ import com.cloud.utils.db.SearchCriteria; @Component @Local(value = {ProjectJoinDao.class}) public class ProjectJoinDaoImpl extends GenericDaoBase<ProjectJoinVO, Long> implements ProjectJoinDao { + public static final Logger s_logger = Logger.getLogger(ProjectJoinDaoImpl.class); @Inject private ConfigurationDao _configDao; http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/StoragePoolJoinDaoImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/api/query/dao/StoragePoolJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/StoragePoolJoinDaoImpl.java index 272043a..ff04c5b 100644 --- a/server/src/com/cloud/api/query/dao/StoragePoolJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/StoragePoolJoinDaoImpl.java @@ -22,6 +22,7 @@ import java.util.List; import javax.ejb.Local; import javax.inject.Inject; +import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import org.apache.cloudstack.api.response.StoragePoolResponse; import org.apache.cloudstack.framework.config.dao.ConfigurationDao; @@ -39,6 +40,7 @@ import com.cloud.utils.db.SearchCriteria; @Component @Local(value = {StoragePoolJoinDao.class}) public class StoragePoolJoinDaoImpl extends GenericDaoBase<StoragePoolJoinVO, Long> implements StoragePoolJoinDao { + public static final Logger s_logger = Logger.getLogger(StoragePoolJoinDaoImpl.class); @Inject private ConfigurationDao _configDao; http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/StorageTagDaoImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/api/query/dao/StorageTagDaoImpl.java b/server/src/com/cloud/api/query/dao/StorageTagDaoImpl.java index 3f1cb33..d1511f2 100644 --- a/server/src/com/cloud/api/query/dao/StorageTagDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/StorageTagDaoImpl.java @@ -24,6 +24,7 @@ import javax.inject.Inject; import org.apache.cloudstack.api.response.StorageTagResponse; import org.apache.cloudstack.framework.config.dao.ConfigurationDao; +import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import com.cloud.api.query.vo.StorageTagVO; @@ -34,6 +35,7 @@ import com.cloud.utils.db.SearchCriteria; @Component @Local(value = {StorageTagDao.class}) public class StorageTagDaoImpl extends GenericDaoBase<StorageTagVO, Long> implements StorageTagDao { + public static final Logger s_logger = Logger.getLogger(StorageTagDaoImpl.class); @Inject private ConfigurationDao _configDao; http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/TemplateJoinDaoImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/api/query/dao/TemplateJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/TemplateJoinDaoImpl.java index c568bef..15cefa5 100644 --- a/server/src/com/cloud/api/query/dao/TemplateJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/TemplateJoinDaoImpl.java @@ -24,6 +24,7 @@ import java.util.Map; import javax.ejb.Local; import javax.inject.Inject; +import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import org.apache.cloudstack.api.ResponseObject.ResponseView; @@ -55,6 +56,7 @@ import com.cloud.utils.db.SearchCriteria; @Local(value = {TemplateJoinDao.class}) public class TemplateJoinDaoImpl extends GenericDaoBase<TemplateJoinVO, Long> implements TemplateJoinDao { + public static final Logger s_logger = Logger.getLogger(TemplateJoinDaoImpl.class); @Inject private ConfigurationDao _configDao; http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/UserAccountJoinDaoImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/api/query/dao/UserAccountJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/UserAccountJoinDaoImpl.java index 2a65daa..923a238 100644 --- a/server/src/com/cloud/api/query/dao/UserAccountJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/UserAccountJoinDaoImpl.java @@ -20,6 +20,7 @@ import java.util.List; import javax.ejb.Local; +import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import org.apache.cloudstack.api.response.UserResponse; @@ -34,6 +35,7 @@ import com.cloud.utils.db.SearchCriteria; @Component @Local(value = {UserAccountJoinDao.class}) public class UserAccountJoinDaoImpl extends GenericDaoBase<UserAccountJoinVO, Long> implements UserAccountJoinDao { + public static final Logger s_logger = Logger.getLogger(UserAccountJoinDaoImpl.class); private SearchBuilder<UserAccountJoinVO> vrIdSearch; http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java index 6520f5f..9d88334 100644 --- a/server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/UserVmJoinDaoImpl.java @@ -28,6 +28,7 @@ import java.util.Set; import javax.ejb.Local; import javax.inject.Inject; +import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import org.apache.cloudstack.affinity.AffinityGroupResponse; @@ -63,6 +64,7 @@ import com.cloud.vm.dao.UserVmDetailsDao; @Component @Local(value = {UserVmJoinDao.class}) public class UserVmJoinDaoImpl extends GenericDaoBase<UserVmJoinVO, Long> implements UserVmJoinDao { + public static final Logger s_logger = Logger.getLogger(UserVmJoinDaoImpl.class); @Inject private ConfigurationDao _configDao; http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8bc02940/server/src/com/cloud/api/query/dao/VolumeJoinDaoImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/api/query/dao/VolumeJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/VolumeJoinDaoImpl.java index c5eb6a9..68a578f 100644 --- a/server/src/com/cloud/api/query/dao/VolumeJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/VolumeJoinDaoImpl.java @@ -25,6 +25,7 @@ import javax.inject.Inject; import org.apache.cloudstack.api.ResponseObject.ResponseView; import org.apache.cloudstack.api.response.VolumeResponse; import org.apache.cloudstack.framework.config.dao.ConfigurationDao; +import org.apache.log4j.Logger; import org.springframework.stereotype.Component; import com.cloud.api.ApiDBUtils; @@ -44,6 +45,7 @@ import com.cloud.utils.db.SearchCriteria; @Component @Local(value = {VolumeJoinDao.class}) public class VolumeJoinDaoImpl extends GenericDaoBase<VolumeJoinVO, Long> implements VolumeJoinDao { + public static final Logger s_logger = Logger.getLogger(VolumeJoinDaoImpl.class); @Inject private ConfigurationDao _configDao;
