1616
1717import jakarta .data .repository .DataRepository ;
1818import jakarta .enterprise .context .spi .CreationalContext ;
19+ import jakarta .enterprise .inject .Default ;
20+ import jakarta .enterprise .util .AnnotationLiteral ;
21+ import org .eclipse .jnosql .databases .tinkerpop .mapping .TinkerPopRepository ;
1922import org .eclipse .jnosql .databases .tinkerpop .mapping .TinkerpopTemplate ;
2023import org .eclipse .jnosql .mapping .DatabaseQualifier ;
2124import org .eclipse .jnosql .mapping .DatabaseType ;
4447 * @param <T> the type of the repository
4548 * @see AbstractBean
4649 */
47- public class TinkerpopRepositoryBean <T extends DataRepository < T , ?>> extends AbstractBean <T > {
50+ public class TinkerpopRepositoryBean <T , K > extends AbstractBean <TinkerPopRepository < T , K > > {
4851
4952 private final Class <T > type ;
5053
5154 private final Set <Type > types ;
5255
53- private final String provider ;
56+ private final Set <Annotation > qualifiers = Collections .singleton (new AnnotationLiteral <Default >() {
57+ });
5458
55- private final Set <Annotation > qualifiers ;
56-
57- /**
58- * Constructor
59- *
60- * @param type the tye
61- * @param provider the provider name, that must be a
62- */
63- @ SuppressWarnings ("unchecked" )
64- public TinkerpopRepositoryBean (Class <?> type , String provider ) {
65- this .type = (Class <T >) type ;
59+ TinkerpopRepositoryBean (Class <T > type ) {
60+ this .type = type ;
6661 this .types = Collections .singleton (type );
67- this .provider = provider ;
68- if (provider .isEmpty ()) {
69- this .qualifiers = new HashSet <>();
70- qualifiers .add (DatabaseQualifier .ofGraph ());
71- qualifiers .add (AnnotationLiteralUtil .DEFAULT_ANNOTATION );
72- qualifiers .add (AnnotationLiteralUtil .ANY_ANNOTATION );
73- } else {
74- this .qualifiers = Collections .singleton (DatabaseQualifier .ofGraph (provider ));
75- }
7662 }
7763
7864 @ Override
7965 public Class <?> getBeanClass () {
8066 return type ;
8167 }
8268
83- @ Override
8469 @ SuppressWarnings ("unchecked" )
85- public T create (CreationalContext <T > context ) {
86- EntitiesMetadata entities = getInstance (EntitiesMetadata .class );
87- var template = provider .isEmpty () ? getInstance (TinkerpopTemplate .class ) :
88- getInstance (TinkerpopTemplate .class , DatabaseQualifier .ofGraph (provider ));
89-
70+ @ Override
71+ public TinkerPopRepository <T , K > create (CreationalContext <TinkerPopRepository <T , K >> creationalContext ) {
72+ TinkerpopTemplate template = getInstance (TinkerpopTemplate .class );
9073 Converters converters = getInstance (Converters .class );
91-
92- var handler = new SemiStructuredRepositoryProxy <>(template ,
93- entities , type , converters );
94- return (T ) Proxy .newProxyInstance (type .getClassLoader (),
74+ EntitiesMetadata entitiesMetadata = getInstance ( EntitiesMetadata . class );
75+ TinkerpopRepositoryProxy < T , K > handler = new TinkerpopRepositoryProxy <>(template , type ,
76+ converters , entitiesMetadata );
77+ return (TinkerPopRepository < T , K > ) Proxy .newProxyInstance (type .getClassLoader (),
9578 new Class []{type },
9679 handler );
9780 }
@@ -109,7 +92,6 @@ public Set<Annotation> getQualifiers() {
10992
11093 @ Override
11194 public String getId () {
112- return type .getName () + '@' + DatabaseType . GRAPH + "-" + provider ;
95+ return type .getName () + "@tinkerpop" ;
11396 }
114-
11597}
0 commit comments