Project

General

Profile

task #6612

Implement dao and service class for Registrations

Added by Andreas Kohlbecker over 1 year ago. Updated over 1 year ago.

Status:
Closed
Priority:
Highest
Category:
cdmlib
Target version:
Start date:
03/23/2017
Due date:
03/23/2017
% Done:

0%

Severity:
blocker
Tags:

Description

open issue:

  • status collection not yet evalutaten in service.page(submitter, includedStatus, ...)

Related issues

Follows (7 days) Edit - task #6258: Add Registration to cdm model Closed 03/15/2017

Associated revisions

Revision 49532c71 (diff)
Added by Andreas Kohlbecker over 1 year ago

ref #6612 new dao method list entities filtered by a parameter value

Revision ff614835 (diff)
Added by Andreas Kohlbecker over 1 year ago

#6612 dao and service classes for the Registration class
- service implementation incomplete

Revision 16f5f3d4 (diff)
Added by Andreas Müller over 1 year ago

ref #6612 implemented list (ref ...) for RegistrationDaoHibernateImpl

Revision 705f268c (diff)
Added by Andreas Müller over 1 year ago

ref #6612 implemented list (ref ...) for RegistrationDaoHibernateImpl

Revision 76d353fe (diff)
Added by Andreas Müller over 1 year ago

ref #6612 implement count for listByRef and add implement filtering by status in listByRef

Revision db3d35f7 (diff)
Added by Andreas Kohlbecker over 1 year ago

#6612 generic dao list method providing a flexible multi property filter:
- PropertyNameMatchMode class introduces
- AbstractPagerImpl.limitStartforRange() to replace hasResultsInRange()

Revision 76d829dc (diff)
Added by Andreas Kohlbecker over 1 year ago

ref #6612 PropertyNameMatchMode to Restriction class which contains the values to be tested

Revision 838412f6 (diff)
Added by Andreas Kohlbecker over 1 year ago

ref #6612 introducing EntityChangeEvent and generalizing Event class hierarchy

Revision 9d5ae601 (diff)
Added by Andreas Kohlbecker over 1 year ago

ref #6612 updating UI components on modified References

Revision 9a1b0c01 (diff)
Added by Andreas Kohlbecker over 1 year ago

ref #6612 updating UI components on modified References - bugfixes

Revision e941b008 (diff)
Added by Andreas Müller over 1 year ago

ref #6612 cleanup generics

Revision cd29f770 (diff)
Added by Andreas Kohlbecker over 1 year ago

ref #6612 Custom Textfield with switch for all protectable cache fields

Revision bc5816ee (diff)
Added by Andreas Kohlbecker over 1 year ago

ref #6612 Team and Person editor widgets implemented and integrated in reference editor

Revision 843f2ff8 (diff)
Added by Andreas Kohlbecker over 1 year ago

ref #6612 support for editor widgets with nested FieldGroups

Revision fa76e2f9 (diff)
Added by Andreas Kohlbecker over 1 year ago

ref #6612 fixing problem in save operation: evict bean before merge to avoid duplicate beans in same session

Revision 955e5a52 (diff)
Added by Andreas Kohlbecker over 1 year ago

ref #6612 adding RegistrationService to remoting configuration

History

#1 Updated by Andreas Kohlbecker over 1 year ago

  • Tracker changed from bug to task

#2 Updated by Andreas Kohlbecker over 1 year ago

  • Due date set to 03/23/2017
  • Start date changed from 05/02/2017 to 03/23/2017
  • Follows task #6258: Add Registration to cdm model added

#3 Updated by Andreas Müller over 1 year ago

  • Description updated (diff)
  • Status changed from New to Resolved

#4 Updated by Andreas Müller over 1 year ago

AK: mit ist noch eine zusätzliche Anforderung an die Service Methoden eingefallen:

Beide Methoden in IRegistrationService sollten als Paramter eine Collection von RegistrationStatus akzeptieren anhand derer die Registrations gefiltert werden.

In diesem Zusammenhang steht auch die Idee die DAO Methode

public List<T> list(Class<? extends T> type, String propertyName, Object value, MatchMode matchMode, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths) 

so zu erweitern dass sie für beliebig viele property/value Paare verwendbar ist:

public List<T> list(Class<? extends T> type, Map<String,  Collection<Object>> restrictions, MatchMode matchMode, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths)

propertyValues wird in der Implementierung so verwendet, dass mehrere values pro propertyName OR verknüpft werden wobei die Criteria pro property AND verknüpft sind.

Noch besser wäre die Verwendung einer PropertyNameMatchMode Klasse :

class PropertyNameMatchMode {
String propertyName;
MatchMode matchMode;
}

public List<T> list(Class<? extends T> type, Map<PropertyNameMatchMode,  Collection<Object>> restrictions, Integer limit, Integer start, List<OrderHint> orderHints, List<String> propertyPaths)

#5 Updated by Andreas Kohlbecker over 1 year ago

a.mueller:

Habe die Implementierung gerade überflogen. 2 Fragen:

1) Sollten wir die alte Signatur nicht weiterhin zusätzlich anbieten. Der Fall, dass man nur einen Parameter hat ist ja der weitaus häufigste. Und dann spart sich der User das "aufwendige" erzeugen der Zusatzinstanz. Intern wird dann natürlich eine Map (oder entsprechendes erzeugt).

2) Ich verstehe die Konstruktion mit der Map nicht so ganz. Wenn PropertyNameMatchMode sowieso schon eine Datenstruktur ist und kein einfacher Parameter, dann kann man die restrictions doch gleich da mit rein packen, dass macht es ein bisschen leichter zu handeln und zu verstehen.

#6 Updated by Andreas Kohlbecker over 1 year ago

Andreas Kohlbecker wrote:

a.mueller:

2) Ich verstehe die Konstruktion mit der Map nicht so ganz. Wenn PropertyNameMatchMode sowieso schon eine Datenstruktur ist und kein einfacher Parameter, dann kann man die restrictions doch gleich da mit rein packen, dass macht es ein bisschen leichter zu handeln und zu verstehen.

Einverstanden ....

#7 Updated by Andreas Kohlbecker over 1 year ago

  • Assignee changed from Andreas Kohlbecker to Andreas Müller

... Done! Please review.

#8 Updated by Andreas Müller over 1 year ago

  • Status changed from Resolved to Closed
  • Assignee changed from Andreas Müller to Andreas Kohlbecker

From the code it looks ok. I cleaned up some generics.

#9 Updated by Andreas Müller over 1 year ago

  • Target version changed from Release 4.7 to Release 4.8

As this is in the model change branch it goes into 4.8

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 40 MB)