> On Aug. 24, 2012, 8:29 a.m., Kishan Kavala wrote:
> > Dao should be injected using the interface and not its Implementing class.
> > ComponentLocator will then find the appropriate Implementing class using
> > components.xml
> >
> > Below code:
> >
> > protected final CloudStackConfigurationDao csDao =
> > ComponentLocator.inject(CloudStackConfigurationDaoImpl.class);
> >
> > should change to:
> >
> > @Inject
> > CloudStackConfigurationDao csDao = null;
> >
> > or
> >
> > csDao = locator.getDao(CloudStackConfigurationDao.class);
> >
> > Same applies to Dao injection everywhere else in the patch.
> >
> >
> >
Kishan,
I had tried to both the above approaches, its not working. server is getting
crashed.
So I had tried another method to load the Dao with inject method by specify the
Dao class only. That is also failing.
java.lang.AbstractMethodError:
com.cloud.bridge.persist.dao.CloudStackConfigurationDao$$EnhancerByCGLIB$$227521c6.getConfigValue(Ljava/lang/String;)Ljava/lang/String;
[java] at
com.cloud.bridge.service.EC2MainServlet.init(EC2MainServlet.java:62)
[java] at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1173)
[java] at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:993)
[java] at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4421)
[java] at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4734)
[java] at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
[java] at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
[java] at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
[java] at
org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1079)
[java] at
org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002)
[java] at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506)
[java] at
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317)
[java] at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
with the above crash.
I had observed in HostDaoImpl, the Dao's are loaded with
ComponentLocato.inject.(*Impl.class) only.
The current way is using the *Dao interface and inject with DaoImpl class.
like protected final SHostDao shostDao =
ComponentLocator.inject(SHostDaoImpl.class);
and executing the methods with shostDao. This is work fine.
Shall I leave it the way as I was using now. ?
- Rajesh
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/6749/#review10722
-----------------------------------------------------------
On Aug. 23, 2012, 4:24 p.m., Rajesh Battala wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/6749/
> -----------------------------------------------------------
>
> (Updated Aug. 23, 2012, 4:24 p.m.)
>
>
> Review request for cloudstack, Prachi Damle, Kishan Kavala, and Alex Huang.
>
>
> Description
> -------
>
> Created/Modified new VO's and Dao Impl classes to use Generic Dao Framework
>
>
> Diffs
> -----
>
> awsapi-setup/setup/cloudstack-aws-api-register 19b53fd
> awsapi/.classpath 4dc46c4
> awsapi/conf/hibernate.cfg.xml d484849
> awsapi/src/com/cloud/bridge/auth/ec2/AuthenticationHandler.java 3b28c00
> awsapi/src/com/cloud/bridge/auth/s3/AuthenticationHandler.java f7a1a7e
> awsapi/src/com/cloud/bridge/lifecycle/ServiceEngineLifecycle.java 88c8729
> awsapi/src/com/cloud/bridge/model/BucketPolicyVO.java PRE-CREATION
> awsapi/src/com/cloud/bridge/model/CloudStackAccountVO.java PRE-CREATION
> awsapi/src/com/cloud/bridge/model/CloudStackServiceOfferingVO.java
> PRE-CREATION
> awsapi/src/com/cloud/bridge/model/MHost.hbm.xml e151171
> awsapi/src/com/cloud/bridge/model/MHost.java 2187c7e
> awsapi/src/com/cloud/bridge/model/MHostMount.hbm.xml c186de5
> awsapi/src/com/cloud/bridge/model/MHostMount.java 771ed8b
> awsapi/src/com/cloud/bridge/model/MHostMountVO.java PRE-CREATION
> awsapi/src/com/cloud/bridge/model/MHostVO.java PRE-CREATION
> awsapi/src/com/cloud/bridge/model/MultiPartPartsVO.java PRE-CREATION
> awsapi/src/com/cloud/bridge/model/MultiPartUploadsVO.java PRE-CREATION
> awsapi/src/com/cloud/bridge/model/MultipartMetaVO.java PRE-CREATION
> awsapi/src/com/cloud/bridge/model/OfferingBundleVO.java PRE-CREATION
> awsapi/src/com/cloud/bridge/model/SAcl.hbm.xml 175e1a7
> awsapi/src/com/cloud/bridge/model/SAcl.java 7cbcabe
> awsapi/src/com/cloud/bridge/model/SAclVO.java PRE-CREATION
> awsapi/src/com/cloud/bridge/model/SBucket.hbm.xml 83f495d
> awsapi/src/com/cloud/bridge/model/SBucket.java 720907f
> awsapi/src/com/cloud/bridge/model/SBucketVO.java PRE-CREATION
> awsapi/src/com/cloud/bridge/model/SHost.hbm.xml 5308a08
> awsapi/src/com/cloud/bridge/model/SHost.java 758cbbf
> awsapi/src/com/cloud/bridge/model/SHostVO.java PRE-CREATION
> awsapi/src/com/cloud/bridge/model/SMeta.hbm.xml 0f3b12b
> awsapi/src/com/cloud/bridge/model/SMeta.java 2c98571
> awsapi/src/com/cloud/bridge/model/SMetaVO.java PRE-CREATION
> awsapi/src/com/cloud/bridge/model/SObject.hbm.xml 3929bcd
> awsapi/src/com/cloud/bridge/model/SObject.java 1692b68
> awsapi/src/com/cloud/bridge/model/SObjectItem.hbm.xml 02297a2
> awsapi/src/com/cloud/bridge/model/SObjectItem.java bbff267
> awsapi/src/com/cloud/bridge/model/SObjectItemVO.java PRE-CREATION
> awsapi/src/com/cloud/bridge/model/SObjectVO.java PRE-CREATION
> awsapi/src/com/cloud/bridge/model/UserCredentials.hbm.xml d2f3919
> awsapi/src/com/cloud/bridge/model/UserCredentials.java b674f40
> awsapi/src/com/cloud/bridge/model/UserCredentialsVO.java PRE-CREATION
> awsapi/src/com/cloud/bridge/persist/EntityDao.java cc4a8c7
> awsapi/src/com/cloud/bridge/persist/GMTDateTimeUserType.java cf16233
> awsapi/src/com/cloud/bridge/persist/PersistContext.java 8e5e0de
> awsapi/src/com/cloud/bridge/persist/PersistException.java 920cf40
> awsapi/src/com/cloud/bridge/persist/dao/BucketPolicyDao.java dda0e2d
> awsapi/src/com/cloud/bridge/persist/dao/BucketPolicyDaoImpl.java
> PRE-CREATION
> awsapi/src/com/cloud/bridge/persist/dao/CloudStackAccountDao.java 31a5be8
> awsapi/src/com/cloud/bridge/persist/dao/CloudStackAccountDaoImpl.java
> PRE-CREATION
> awsapi/src/com/cloud/bridge/persist/dao/CloudStackConfigurationDao.java
> ed16974
> awsapi/src/com/cloud/bridge/persist/dao/CloudStackConfigurationDaoImpl.java
> PRE-CREATION
> awsapi/src/com/cloud/bridge/persist/dao/CloudStackSvcOfferingDao.java
> 5013eac
> awsapi/src/com/cloud/bridge/persist/dao/CloudStackSvcOfferingDaoImpl.java
> PRE-CREATION
> awsapi/src/com/cloud/bridge/persist/dao/MHostDao.java 7250131
> awsapi/src/com/cloud/bridge/persist/dao/MHostDaoImpl.java PRE-CREATION
> awsapi/src/com/cloud/bridge/persist/dao/MHostMountDao.java efee98c
> awsapi/src/com/cloud/bridge/persist/dao/MHostMountDaoImpl.java PRE-CREATION
> awsapi/src/com/cloud/bridge/persist/dao/MultiPartPartsDao.java PRE-CREATION
> awsapi/src/com/cloud/bridge/persist/dao/MultiPartPartsDaoImpl.java
> PRE-CREATION
> awsapi/src/com/cloud/bridge/persist/dao/MultiPartUploadsDao.java
> PRE-CREATION
> awsapi/src/com/cloud/bridge/persist/dao/MultiPartUploadsDaoImpl.java
> PRE-CREATION
> awsapi/src/com/cloud/bridge/persist/dao/MultipartLoadDao.java 0ab83eb
> awsapi/src/com/cloud/bridge/persist/dao/MultipartMetaDao.java PRE-CREATION
> awsapi/src/com/cloud/bridge/persist/dao/MultipartMetaDaoImpl.java
> PRE-CREATION
> awsapi/src/com/cloud/bridge/persist/dao/OfferingDao.java 358ce3d
> awsapi/src/com/cloud/bridge/persist/dao/OfferingDaoImpl.java PRE-CREATION
> awsapi/src/com/cloud/bridge/persist/dao/SAclDao.java d62ae5b
> awsapi/src/com/cloud/bridge/persist/dao/SAclDaoImpl.java PRE-CREATION
> awsapi/src/com/cloud/bridge/persist/dao/SBucketDao.java 833bf6a
> awsapi/src/com/cloud/bridge/persist/dao/SBucketDaoImpl.java PRE-CREATION
> awsapi/src/com/cloud/bridge/persist/dao/SHostDao.java 1108bcb
> awsapi/src/com/cloud/bridge/persist/dao/SHostDaoImpl.java PRE-CREATION
> awsapi/src/com/cloud/bridge/persist/dao/SMetaDao.java b781bbb
> awsapi/src/com/cloud/bridge/persist/dao/SMetaDaoImpl.java PRE-CREATION
> awsapi/src/com/cloud/bridge/persist/dao/SObjectDao.java 3d87cbe
> awsapi/src/com/cloud/bridge/persist/dao/SObjectDaoImpl.java PRE-CREATION
> awsapi/src/com/cloud/bridge/persist/dao/SObjectItemDao.java f91d180
> awsapi/src/com/cloud/bridge/persist/dao/SObjectItemDaoImpl.java
> PRE-CREATION
> awsapi/src/com/cloud/bridge/persist/dao/UserCredentialsDao.java 4beb7a3
> awsapi/src/com/cloud/bridge/persist/dao/UserCredentialsDaoImpl.java
> PRE-CREATION
> awsapi/src/com/cloud/bridge/service/EC2MainServlet.java 0c904a1
> awsapi/src/com/cloud/bridge/service/EC2RestServlet.java ceaf59d
> awsapi/src/com/cloud/bridge/service/S3RestServlet.java 282385b
> awsapi/src/com/cloud/bridge/service/controller/s3/S3BucketAction.java
> 0ea862d
> awsapi/src/com/cloud/bridge/service/controller/s3/S3ObjectAction.java
> 8fb89f9
> awsapi/src/com/cloud/bridge/service/controller/s3/ServiceProvider.java
> c8ca2bd
> awsapi/src/com/cloud/bridge/service/core/ec2/EC2Engine.java 1363d0d
> awsapi/src/com/cloud/bridge/service/core/s3/CloudStackConfigurationVO.java
> PRE-CREATION
> awsapi/src/com/cloud/bridge/service/core/s3/S3Engine.java e8b73a4
> awsapi/src/com/cloud/bridge/service/core/s3/S3Grant.java b3c07be
> awsapi/src/com/cloud/bridge/util/CloudSessionFactory.java 404f463
> awsapi/src/com/cloud/bridge/util/CloudStackSessionFactory.java ac5e2d5
> awsapi/src/com/cloud/bridge/util/QueryHelper.java 1a1b582
> awsapi/src/com/cloud/stack/models/CloudStackAccount.hbm.xml 7996797
> awsapi/src/com/cloud/stack/models/CloudStackConfiguration.hbm.xml 134e6f1
> awsapi/src/com/cloud/stack/models/CloudStackServiceOffering.hbm.xml 2bbcfd1
> build/build-aws-api.xml 04db516
> client/tomcatconf/components.xml.in beaac13
> deps/awsapi-lib/cloud-cglib.jar PRE-CREATION
> deps/awsapi-lib/cloud-commons-dbcp-1.4.jar PRE-CREATION
> deps/awsapi-lib/cloud-commons-pool-1.5.6.jar PRE-CREATION
> deps/awsapi-lib/cloud-ehcache.jar PRE-CREATION
> deps/awsapi-lib/cloud-javax.persistence-2.0.0.jar PRE-CREATION
> deps/awsapi-lib/hibernate3.jar 33755a45fa81dbb318961eccdb8a1bbd8419e61d
> utils/src/com/cloud/utils/db/Transaction.java fc49bb0
>
> Diff: https://reviews.apache.org/r/6749/diff/
>
>
> Testing
> -------
>
> EC2:
> ====
> Tested
> User Registration
> instance creation
> volume creation
> address allocation
> describe instance
>
> S3:
> ====
>
> User Registration
> Bucket operations
> creation
> deletion
> versioning
> lookup
> multi object delete
> Key Operations
> creation
> deletion
> listing
> lookup
> Copy
> acl
>
> Multipart Upload
>
>
> Thanks,
>
> Rajesh Battala
>
>