You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ah...@apache.org on 2013/01/09 14:26:47 UTC

[50/50] [abbrv] git commit: merge from master

Updated Branches:
  refs/heads/javelin ff26a42eb -> b6c56736e


merge from master


Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/b6c56736
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/b6c56736
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/b6c56736

Branch: refs/heads/javelin
Commit: b6c56736e5c913a1be1c23f91a5208f29dc1d17d
Parents: 0bcb646 2eee2cd
Author: Alex Huang <al...@citrix.com>
Authored: Wed Jan 9 05:20:36 2013 -0800
Committer: Alex Huang <al...@citrix.com>
Committed: Wed Jan 9 05:20:36 2013 -0800

----------------------------------------------------------------------
 LICENSE                                            |    2 +-
 api/src/com/cloud/server/ManagementService.java    |    8 -
 .../org/apache/cloudstack/api/ApiConstants.java    |    5 +
 .../command/admin/storage/ListStoragePoolsCmd.java |   12 +-
 .../cloudstack/discovery/ApiDiscoveryService.java  |   29 ++
 .../org/apache/cloudstack/query/QueryService.java  |    4 +
 .../ubuntu/SYSCONFDIR/init.d/cloud-management.in   |    5 +
 client/pom.xml                                     |    5 +
 .../api-discovery_commands.properties.in           |   23 +
 client/tomcatconf/components.xml.in                |    4 +
 developer/developer-prefill.sql                    |   20 +-
 docs/en-US/build-deb.xml                           |    2 +-
 plugins/api/discovery/pom.xml                      |   44 ++
 .../api/command/user/discovery/ListApisCmd.java    |   55 ++
 .../api/response/ApiDiscoveryResponse.java         |   75 +++
 .../api/response/ApiParameterResponse.java         |   70 +++
 .../discovery/ApiDiscoveryServiceImpl.java         |  144 ++++++
 plugins/hypervisors/simulator/pom.xml              |    3 +-
 .../cloud/agent/manager/SimulatorManagerImpl.java  |   65 +--
 .../network/element/CiscoNexusVSMElement.java      |    4 +-
 plugins/network-elements/dns-notifier/pom.xml      |    3 +-
 plugins/pom.xml                                    |    1 +
 pom.xml                                            |    1 +
 server/src/com/cloud/api/ApiDBUtils.java           |   19 +
 server/src/com/cloud/api/ApiDispatcher.java        |   52 +--
 server/src/com/cloud/api/ApiResponseHelper.java    |   46 +--
 server/src/com/cloud/api/ApiServer.java            |   29 +-
 server/src/com/cloud/api/doc/ApiXmlDocWriter.java  |   47 +--
 .../src/com/cloud/api/query/QueryManagerImpl.java  |  100 ++++
 .../com/cloud/api/query/ViewResponseHelper.java    |   21 +
 .../cloud/api/query/dao/StoragePoolJoinDao.java    |   37 ++
 .../api/query/dao/StoragePoolJoinDaoImpl.java      |  185 +++++++
 server/src/com/cloud/api/query/vo/BaseViewVO.java  |    2 -
 .../com/cloud/api/query/vo/StoragePoolJoinVO.java  |  341 +++++++++++++
 .../configuration/DefaultComponentLibrary.java     |    2 +
 .../com/cloud/server/ConfigurationServerImpl.java  |   31 +-
 .../src/com/cloud/server/ManagementServerImpl.java |   17 -
 server/test/com/cloud/api/ListPerfTest.java        |   17 +
 setup/db/create-schema-view.sql                    |   37 ++
 setup/db/create-schema.sql                         |    8 +-
 setup/db/db/schema-40to410.sql                     |   40 ++
 setup/db/server-setup.sql                          |    2 +-
 setup/db/templates.kvm.sql                         |  100 ++--
 setup/db/templates.simulator.sql                   |    8 +-
 setup/db/templates.sql                             |  384 +++++++-------
 setup/db/templates.vmware.sql                      |  146 +++---
 setup/db/templates.xenserver.sql                   |  162 +++---
 tools/apidoc/gen_toc.py                            |    3 +-
 tools/apidoc/pom.xml                               |    2 +-
 ui/css/cloudstack3.css                             |    5 -
 utils/pom.xml                                      |    5 +
 utils/src/com/cloud/utils/ReflectUtil.java         |   63 +++
 52 files changed, 1848 insertions(+), 647 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b6c56736/client/pom.xml
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b6c56736/plugins/hypervisors/vmware/src/com/cloud/network/element/CiscoNexusVSMElement.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b6c56736/pom.xml
----------------------------------------------------------------------
diff --cc pom.xml
index 0a1f36a,1dcf36f..3abf731
--- a/pom.xml
+++ b/pom.xml
@@@ -87,7 -86,7 +87,8 @@@
      <cs.aws.sdk.version>1.3.21.1</cs.aws.sdk.version>
      <cs.lang.version>2.6</cs.lang.version>
      <cs.commons-io.version>1.4</cs.commons-io.version>
+     <cs.reflections.version>0.9.8</cs.reflections.version>
 +    <skipTests>true</skipTests>
    </properties>
  
    <distributionManagement>

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b6c56736/server/src/com/cloud/api/ApiDispatcher.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b6c56736/server/src/com/cloud/api/ApiServer.java
----------------------------------------------------------------------
diff --cc server/src/com/cloud/api/ApiServer.java
index c5cee13,56cef12..6e13f13
--- a/server/src/com/cloud/api/ApiServer.java
+++ b/server/src/com/cloud/api/ApiServer.java
@@@ -51,17 -50,10 +51,17 @@@ import javax.inject.Inject
  import javax.servlet.http.HttpServletResponse;
  import javax.servlet.http.HttpSession;
  
 -import com.cloud.utils.ReflectUtil;
  import org.apache.cloudstack.acl.APIAccessChecker;
- import org.apache.cloudstack.api.APICommand;
 -import org.apache.cloudstack.acl.ControlledEntity;
 -import org.apache.cloudstack.api.*;
 +import org.apache.cloudstack.api.BaseAsyncCmd;
 +import org.apache.cloudstack.api.BaseAsyncCreateCmd;
 +import org.apache.cloudstack.api.BaseCmd;
 +import org.apache.cloudstack.api.BaseListCmd;
 +import org.apache.cloudstack.api.ResponseObject;
 +import org.apache.cloudstack.api.ServerApiException;
 +import org.apache.cloudstack.api.command.admin.host.ListHostsCmd;
 +import org.apache.cloudstack.api.command.admin.router.ListRoutersCmd;
++import org.apache.cloudstack.api.command.admin.storage.ListStoragePoolsCmd;
 +import org.apache.cloudstack.api.command.admin.user.ListUsersCmd;
  import org.apache.cloudstack.api.command.user.account.ListAccountsCmd;
  import org.apache.cloudstack.api.command.user.account.ListProjectAccountsCmd;
  import org.apache.cloudstack.api.command.user.event.ListEventsCmd;
@@@ -72,9 -60,9 +72,10 @@@ import org.apache.cloudstack.api.comman
  import org.apache.cloudstack.api.command.user.vm.ListVMsCmd;
  import org.apache.cloudstack.api.command.user.vmgroup.ListVMGroupsCmd;
  import org.apache.cloudstack.api.command.user.volume.ListVolumesCmd;
 +import org.apache.cloudstack.api.response.ExceptionResponse;
 +import org.apache.cloudstack.api.response.ListResponse;
+ import org.apache.cloudstack.discovery.ApiDiscoveryService;
  import org.apache.commons.codec.binary.Base64;
 -import org.apache.http.client.utils.URLEncodedUtils;
  import org.apache.http.ConnectionClosedException;
  import org.apache.http.HttpException;
  import org.apache.http.HttpRequest;
@@@ -103,9 -90,18 +104,8 @@@ import org.apache.http.protocol.Respons
  import org.apache.http.protocol.ResponseDate;
  import org.apache.http.protocol.ResponseServer;
  import org.apache.log4j.Logger;
- import org.reflections.Reflections;
  
 -import org.apache.cloudstack.api.command.admin.host.ListHostsCmd;
 -import org.apache.cloudstack.api.command.admin.router.ListRoutersCmd;
 -import org.apache.cloudstack.api.command.admin.storage.ListStoragePoolsCmd;
 -import org.apache.cloudstack.api.command.admin.user.ListUsersCmd;
 -import org.apache.cloudstack.api.command.user.project.ListProjectInvitationsCmd;
 -import org.apache.cloudstack.api.command.user.project.ListProjectsCmd;
 -import org.apache.cloudstack.api.command.user.securitygroup.ListSecurityGroupsCmd;
 -import org.apache.cloudstack.api.command.user.tag.ListTagsCmd;
  import com.cloud.api.response.ApiResponseSerializer;
 -import org.apache.cloudstack.api.response.ExceptionResponse;
 -import org.apache.cloudstack.api.response.ListResponse;
  import com.cloud.async.AsyncJob;
  import com.cloud.async.AsyncJobManager;
  import com.cloud.async.AsyncJobVO;
@@@ -144,15 -144,15 +144,17 @@@ public class ApiServer implements HttpR
      public static String jsonContentType = "text/javascript";
      private ApiDispatcher _dispatcher;
  
 -    @Inject private AccountManager _accountMgr = null;
 -    @Inject private DomainManager _domainMgr = null;
 -    @Inject private AsyncJobManager _asyncMgr = null;
 +    @Inject private final AccountManager _accountMgr = null;
 +    @Inject private final DomainManager _domainMgr = null;
 +    @Inject private final AsyncJobManager _asyncMgr = null;
 +    @Inject private ConfigurationDao _configDao;
 +    @Inject protected List<APIAccessChecker> _apiAccessCheckers;
  
 -    @Inject(adapter = APIAccessChecker.class)
 -    protected Adapters<APIAccessChecker> _apiAccessCheckers;
 -    @Inject(adapter = ApiDiscoveryService.class)
 -    protected Adapters<ApiDiscoveryService> _apiDiscoveryServices;
 +    @Inject List<PluggableService> _pluggableServices;
 +    @Inject IdentityDao _identityDao;
 +
++    protected List<ApiDiscoveryService> _apiDiscoveryServices;
+ 
      private Account _systemAccount = null;
      private User _systemUser = null;
      private static int _workerCount = 0;
@@@ -197,21 -203,17 +203,17 @@@
              }
          }
  
-         // Populate api name and cmd class mappings
-         Reflections reflections = new Reflections("org.apache.cloudstack.api");
-         Set<Class<?>> cmdClasses = reflections.getTypesAnnotatedWith(APICommand.class);
-         reflections = new Reflections("com.cloud.api");
-         cmdClasses.addAll(reflections.getTypesAnnotatedWith(APICommand.class));
-         for(Class<?> cmdClass: cmdClasses) {
-             String apiName = cmdClass.getAnnotation(APICommand.class).name();
-             if (_apiNameCmdClassMap.containsKey(apiName)) {
-                 s_logger.error("API Cmd class " + cmdClass.getName() + " has non-unique apiname" + apiName);
-             }
-             _apiNameCmdClassMap.put(apiName, cmdClass);
+         for (ApiDiscoveryService discoveryService: _apiDiscoveryServices) {
+             _apiNameCmdClassMap.putAll(discoveryService.getApiNameCmdClassMapping());
+         }
+ 
+         if (_apiNameCmdClassMap.size() == 0) {
+             s_logger.fatal("ApiServer failed to generate apiname, cmd class mappings."
 -                         + "Please check and enable at least one ApiDiscovery adapter.");
++                    + "Please check and enable at least one ApiDiscovery adapter.");
          }
  
 -        encodeApiResponse = Boolean.valueOf(configDao.getValue(Config.EncodeApiResponse.key()));
 -        String jsonType = configDao.getValue(Config.JavaScriptDefaultContentType.key());
 +        encodeApiResponse = Boolean.valueOf(_configDao.getValue(Config.EncodeApiResponse.key()));
 +        String jsonType = _configDao.getValue(Config.JavaScriptDefaultContentType.key());
          if (jsonType != null) {
              jsonContentType = jsonType;
          }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b6c56736/server/src/com/cloud/configuration/DefaultComponentLibrary.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b6c56736/server/src/com/cloud/server/ConfigurationServerImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b6c56736/server/src/com/cloud/server/ManagementServerImpl.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b6c56736/setup/db/create-schema.sql
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b6c56736/utils/pom.xml
----------------------------------------------------------------------