feature request #1080
Model changes for references, taxonBase, OriginalSource
I would like to inform you that I was working on some model changes the last days. I committed them to the trunk so you will find the changes in the svn.
The changes are:
1a) I added a new field "refererenceAbstract" to the referenceBase class
1b) I deleted the BibtexReference class -> as a result I merged the StrictReferenceBase class into the referenceBase class and deleted StrictReferenceBase
1c) I deleted BibTexEntryType and it's DefinedTerm csv file
1d) I moved all attributes of referenceBase subclasses to referenceBase. The according methods in the subclasses are passed through to the base class. At the same time created an Enum ReferenceType the represents all the subclasses an is an attribute in referenceBase.
This is the first step to remove the subclasses completedly (at least for persistence) which makes e.g. casting much easier. The type check will probably removed by hibernate validation later.
1e) I removed the attributes inSeries, inProceedings, inBook, inJournal by the one attribute inReference.
1f) I removed the "Publisher" class (this was an old class not in use anymore)
2) TaxonBase: I added an string field "appendedPhrase" and a boolean field "useNameCache". The first is used to add a concept related phrase like "sensu latu" to the pure name used for the taxon. The second is used to use only the names name cache instead the title cache. This is sometimes needed in combination with the appended phrase attribute.
I still have to adapt the according cache strategy!
3) I changed the molecular.Sequence.dataSequenced field from Calendar to joda times DateTime. Now all Calendar types should be removed by joda time types.
4) I added a boolean field "isTechnical" to MarkerType. This way we can differentiate between markers for user defined content (to be shown in applications) and markers that are just to be read by machines and define e.g. a role of on object (e.g. a FeatureTree may have different, these roles may be defined by markers, this is not an information a user needs but usually just a machine).
Problems to be solved:
1) Most tests are running. The only test I know that it is not running (except for cdmlib-remote tests) is in io.jaxb.ReferenceTest.
@Anahit, Katja, Ben:
Could you please try to fix this test? Also the JAXB import and export or at least the schema may be broken. This should be fixed too. The cdmlib-remobe tests also seem to be broken. Andreas K. & Ben could you please try to fix them?
2) ReferenceBase.inReference: I deleted the @IndexedEmbedded annotation because I just hadn't time to check how to use it correctly. I will try tomorrow.
@Ben: Do you have a hint? I think you added this annotation to the in-references
I hadn't have time to test the new model intensively yet (except for unit and integeration tests). A first try with diptera seems to be successful. But please be aware that some problems could appear when updating (please just let me know immidiately)
#1 Updated by Andreas Müller about 10 years ago
- Subject changed from Model changes for references, taxonBase to Model changes for references, taxonBase, OriginalSource
In my last mail I forgot to mention that I also divided OriginalSource into to subclasses: IdentifiableSource and DescriptionElementSource both having the same abstract superclass OriginalSourceBase and implementing the same interface IOriginalSource.
This makes it possible to add original sources to DescriptionElementBases.
Everyone should use DescriptionElementBase.addSource(IOriginalSource) from now on instead of DescriptionElementBase.setCitation() and DescriptionElementBase.setMicrocitation(). These 2 methods will become deprecated.
We still have to discuss how to use the originalNameString attribute that is also part of DescriptionElementBase (via ReferencedEntityBase).
#8 Updated by Andreas Müller over 1 year ago
- Assignee changed from Andreas Müller to Andreas Kohlbecker
- Target version changed from TaxEditor Next Major Release to Release 5.1
- % Done changed from 0 to 80
Hi Andreas, can you please check if the "IndexedEmbedded" is still relevant for us. The according annotation is still commented.
If not, please remove annotation and close ticket.
#9 Updated by Andreas Kohlbecker over 1 year ago
As none of the freetext search functions is using this field for filtering we can remove the @IndexedEmbedded from
Reference.inReference without breaking something. It was commented for about two years anyway or for longer without obviously causing any trouble.