> On Aug. 13, 2012, 5:31 p.m., Alex Huang wrote:
> > This is the wrong way to do this.  I thought the agreement is to use the 
> > GenericDao stuff for now so that when we switch that layer we can switch 
> > everything together.
> > 
> > Here's also what Darren said on the mailing list:
> > 
> > I was just reviewing https://reviews.apache.org/r/6557/diff/ for the 
> > Hibernate -> Custom DAO implementation and it makes me so sad.  Its not 
> > that you went from Hibernate ORM to custom built ORM (that is already in 
> > CloudStack), you went from ORM to raw SQL.  From the size of the diff and 
> > the amount of lines of code added, its an advertisement in itself in why 
> > one would want to use an ORM.
> > 
> > I just joined this mail listing so I probably missed the whole back story, 
> > but from what I can gather, you can't use hibernate because of the license 
> > and the consensus is to just make it consistent with CloudStack, which 
> > already has a custom ORM/DAO implementation.
> > 
> > This comment is probably too late in the game, but I really think your 
> > missing an opportunity here.  For the future of CloudStack I think most 
> > everyone would agree that it should move to a standard ORM approach and 
> > drop the custom one it has.  Using my "Jump to Conclusions Mat" I would say 
> > that such a discussion will end up with deciding that Spring+JPA should be 
> > the interface/container and the implementation I don't know (I'd vote 
> > Eclipse TopLink if the license is compatible).  
> > 
> > So the AWS component is a perfect place to test out such framework do to 
> > its isolated nature.  Having a lot of experience with hibernate/jpa and 
> > CloudStack I have a good idea in my mind just how difficult it would be to 
> > convert all of the CloudStack code to a JPA compatible solution.  If you 
> > were to do the conversion, for practical reasons, you are going to have to 
> > do a phased migration.  This means that you'd have to support old framework 
> > and new framework concurrently for sometime.  Coming up with an approach to 
> > reconcile the two frameworks will take some time and effort.  Since the EC2 
> > component is a pretty well isolated framework, it would be easy to 
> > implement Spring/JPA and test the validity of what would be the end state 
> > before you take on the complex and long task of converting all of 
> > CloudStack.
> > 
> > I'd even be willing to work on this.  It just seems silly to me to go from 
> > ORM to SQL and then back to ORM.  But I realize, as I said before, this 
> > comment is somewhat late in the game.
> > 
> >

Hi Alex,
I had gone through the files in S3 which had implemented without Hibernate. I 
has followed them and written the remaining files.


- Rajesh


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/6557/#review10225
-----------------------------------------------------------


On Aug. 12, 2012, 9:31 a.m., Rajesh Battala wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/6557/
> -----------------------------------------------------------
> 
> (Updated Aug. 12, 2012, 9:31 a.m.)
> 
> 
> Review request for cloudstack, Abhinandan Prateek and Chiradeep Vittal.
> 
> 
> Description
> -------
> 
> S3 API service in CloudStack is using Hibernate ORM Framework. Hibernate is 
> licensed under the LGPL v2.1. 
> Hibernate dependency is removed by moving S3/EC2 to DAO Omplementation.
> 
> 
> This addresses bugs CS-15314 and CS-15686.
> 
> 
> Diffs
> -----
> 
>   awsapi/.classpath 4dc46c4 
>   awsapi/conf/CloudStack.cfg.xml 511e68f 
>   awsapi/conf/hibernate.cfg.xml d484849 
>   awsapi/src/com/cloud/bridge/lifecycle/ServiceEngineLifecycle.java 22adfb8 
>   awsapi/src/com/cloud/bridge/model/MHost.java 2832e1a 
>   awsapi/src/com/cloud/bridge/model/MHostMount.java d532568 
>   awsapi/src/com/cloud/bridge/model/SAcl.java bff7906 
>   awsapi/src/com/cloud/bridge/model/SBucket.java 5f63a77 
>   awsapi/src/com/cloud/bridge/model/SHost.java 874b095 
>   awsapi/src/com/cloud/bridge/model/SMeta.java 8962771 
>   awsapi/src/com/cloud/bridge/model/SObject.java 73a2c9a 
>   awsapi/src/com/cloud/bridge/model/SObjectItem.java 1429089 
>   awsapi/src/com/cloud/bridge/persist/EntityDao.java c7943a6 
>   awsapi/src/com/cloud/bridge/persist/GMTDateTimeUserType.java b39f298 
>   awsapi/src/com/cloud/bridge/persist/PersistContext.java 8abc5da 
>   awsapi/src/com/cloud/bridge/persist/PersistException.java e2acfd2 
>   awsapi/src/com/cloud/bridge/persist/dao/CloudStackAccountDao.java 31a5be8 
>   awsapi/src/com/cloud/bridge/persist/dao/CloudStackConfigurationDao.java 
> ed16974 
>   awsapi/src/com/cloud/bridge/persist/dao/CloudStackSvcOfferingDao.java 
> 5013eac 
>   awsapi/src/com/cloud/bridge/persist/dao/MHostDao.java 1c5e81c 
>   awsapi/src/com/cloud/bridge/persist/dao/MHostMountDao.java 6753e9c 
>   awsapi/src/com/cloud/bridge/persist/dao/SAclDao.java 37f18f3 
>   awsapi/src/com/cloud/bridge/persist/dao/SBucketDao.java 2584597 
>   awsapi/src/com/cloud/bridge/persist/dao/SHostDao.java 2641fdb 
>   awsapi/src/com/cloud/bridge/persist/dao/SMetaDao.java 1bc7933 
>   awsapi/src/com/cloud/bridge/persist/dao/SObjectDao.java ac00e03 
>   awsapi/src/com/cloud/bridge/persist/dao/SObjectItemDao.java 62b424e 
>   awsapi/src/com/cloud/bridge/persist/dao/UserCredentialsDao.java 4beb7a3 
>   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 
> 39b5cf6 
>   awsapi/src/com/cloud/bridge/service/controller/s3/S3ObjectAction.java 
> 0aba4ba 
>   awsapi/src/com/cloud/bridge/service/controller/s3/ServiceProvider.java 
> 7a36a4b 
>   awsapi/src/com/cloud/bridge/service/core/ec2/EC2Engine.java 1363d0d 
>   awsapi/src/com/cloud/bridge/service/core/s3/S3Engine.java e8b73a4 
>   awsapi/src/com/cloud/bridge/util/CloudSessionFactory.java 404f463 
>   awsapi/src/com/cloud/bridge/util/CloudStackSessionFactory.java a5e97b8 
>   awsapi/src/com/cloud/bridge/util/QueryHelper.java 1a1b582 
>   awsapi/src/com/cloud/stack/models/CloudStackServiceOffering.java 3dcf011 
>   deps/awsapi-lib/hibernate3.jar 33755a45fa81dbb318961eccdb8a1bbd8419e61d 
> 
> Diff: https://reviews.apache.org/r/6557/diff/
> 
> 
> Testing
> -------
> 
> Testing done
> 1. Bucket Operations
> 2. Key Operations
> with boto client.
> 
> 
> Thanks,
> 
> Rajesh Battala
> 
>

Reply via email to