From: Prateek G. <pra...@gm...> - 2013-04-29 06:29:34
|
hi, Is the project plan strong enough in the hibernate part modifications and implementations? I am going to distribute it in the timeline and posting the proposal by tonight or tomorrow. Regards, Prateek On Mon, Apr 29, 2013 at 11:48 AM, <nl...@us...> wrote: > Hi Prateek, > > thank you for the detailed implementation ideas regarding the project. > > > Regards, > Nils > > > On Monday 29 April 2013 03:38:00 Prateek Gupta wrote: > > hi, > > This is the project details I have figured out with the tentative > necessary > > classes and fucntion needed to be built. If you could review them and > > suggest me the changes. > > > > Project plan details > > The project would include the development of some java classes and > > functions the detail info of which has been provided as below: > > Phase I > > A)Download of the JChemPaint and its dependencies > > 1)The project seeks to initially embedd the JChemPaint application into > the > > ScaffoldHunter project making it the structure editor and satisfy the > > dependencies.Firstly to download and store the JChemPaint.jar file in a > > separate folder named "JChemPaint" in the library of ScaffoldHunter.Then > > the major dependency being the Chemistry Development Kit(CDK).This needs > to > > be taken care of. > > > > 2)The CDK is already loaded in the ScaffoldHunter project in the lib/cdk > > folder.Hence the next target is to alter the configuration of the build > of > > the JChemPaint so as to configure the path to the CDK.For this, the > target > > file is the build.xml file.This can be altered by altering the > > (approximately) lines 43 - 153 and lines 306 - 353 in the build.xml file > > and setting the proper ids and names. > > > > 3)Apart from this, Apache maven-which is a build automation tool similar > to > > ant, needs to be imported as it facilitates the XML files to describe the > > build. It is written in java and is required for proper build of > JChemPaint. > > > > B)changes in the filter module > > Development of a class JCP > > This class would handle the overall activities and functions related to > the > > JChemPaint editor code and different files.They have been described as > > under. > > 1)constructor JCP() > > The variables required would be declared and would be initialized with > the > > default value in this part.Their scope would be decided and worked > > accordingly. > > > > 2)function calljcp() > > *)Addition of a button for providing as a link to the JChemPaint editor > in > > the filter panel in the edu/udo/scaffoldhunter/model/db.This would call > the > > JCP class and its different functions .This would require Java GUI > coding. > > The jchempaint.jar can directly be called in the running program by > > building the class path properly and importing them in the program. > > > > *)After this the editor would start and the user will be able to edit the > > molecular structure as per requirement.The file containing the structure > > would be created. The MDL mol format structure so created can be directly > > imported as an object instance to the filtering framework and used.This > > structure would be converted to the feature and rules format by the use > of > > scaffoldhunter/model/datacalculation/DBMoleculeToCDKMoleculeTransform. > > > > 4)finally all these functions would be called in the main before the > > filtering procedure begins and the user entered query will be considered > > with the subset value that is in the current framework.The normal > procedure > > would be resumed from hereon. > > > > Phase II > > Modifications in the Hibernate > > There is no direct support for bitwise operations in the hibernate > > associated to the problem but there is a workaround that cannot be > > standardised for any database present but can be standardised for the > > databases being used by specific softwares. I propose the plan to modify > > the mysql and hsql dialect files in the embedded hibernate library.The > > classes will be created in both the dialects i.e.MySQLDialect and > > HSQLDialect. > > > > 1)The project requires development of SQLFunctionTemplates on the > > respective dialect subclasses.This requires analysing and maintaining > > record of the various queries that are facing the problem and > categorising > > them in terms of the bitwise operator requirement and to develop that > many > > SQLFunctionTemplate as the number of categories and register them as > > functions. > > > > 2)Development of a class SQLFunctionTemplate which would import > > dialect.function.VARARGSQLFunction and implement SQLFunction class. The > > import of the dialect.function is for registering the template functions > > and implementing SQLFunction is because SQLFunction class is contained in > > it. > > This class would comprise of the functions that would provide for the > > different bitwise operation that would be required by the fingerprinting > > mechanism.The tentative variables and functions that would be developed > are: > > *)initialization of the required variables like template1, template2, > etc. > > > > *)default constructor SQLFunctionTemplate() > > This would consist of the registeration of the custom functions that > would > > be built as per the needs. Sample code would be like: > > registerFunction("bit_",new SQLFunctionTemplate(Hibernate.Integer, > > template)) > > > > *)function task_*() > > These functions would perform the task that would be associated with the > > corresponding bit functions which the dialect is written for. There would > > be multiple task functions depending on the bit function that are > required > > by the fingerprinting. After doing the computation, would be returning > > corresponding correct value. > > > > These following functions are a part of the implementedSQLFunction and > will > > be implemented as a requirement. > > *)function getSQLFunctionTemplate() > > This would return the template of the sql function. > > *)function getReturntype() > > This would the return the return type of the template. > > *)function render() > > This would render the function call as SQL fragment. > > > > Regards, > > Prateek > |