@Override public void populateEntityDictionary(EntityDictionary dictionary) { this.dictionary = dictionary; for (DataStore dataStore : dataStores) { EntityDictionary subordinateDictionary = new EntityDictionary(dictionary.getCheckMappings()); dataStore.populateEntityDictionary(subordinateDictionary); for (Class<?> cls : subordinateDictionary.getBindings()) { // route class to this database manager this.dataStoreMap.put(cls, dataStore); // bind to multiplex dictionary dictionary.bindEntity(cls); dictionary.bindInitializer(subordinateDictionary::initializeEntity, cls); } } }
@BeforeClass public void initialize() { dictionary = new EntityDictionary(new HashMap<>()); dictionary.bindEntity(Book.class); dictionary.bindEntity(Author.class); dictionary.bindEntity(Publisher.class); dictionary.bindEntity(Chapter.class); }
@BeforeClass public void initialize() { dictionary = new EntityDictionary(new HashMap<>()); dictionary.bindEntity(Book.class); dictionary.bindEntity(Author.class); dictionary.bindEntity(Publisher.class); dictionary.bindEntity(Chapter.class); }
@BeforeClass public void initialize() { dictionary = new EntityDictionary(new HashMap<>()); dictionary.bindEntity(Book.class); dictionary.bindEntity(Author.class); dictionary.bindEntity(Publisher.class); dictionary.bindEntity(Chapter.class); }
@BeforeClass public void initialize() { dictionary = new EntityDictionary(new HashMap<>()); dictionary.bindEntity(Book.class); dictionary.bindEntity(Author.class); dictionary.bindEntity(Publisher.class); dictionary.bindEntity(Chapter.class); }
@Test (dataProvider = "like_queries_hql") public void testSpecialCharacterLikeQueryHQL(FilterPredicate filterPredicate, int noOfRecords) throws Exception { DataStoreTransaction tx = dataStore.beginReadTransaction(); RequestScope scope = mock(RequestScope.class); EntityDictionary dictionary = new EntityDictionary(new HashMap<>()); dictionary.bindEntity(Book.class); when(scope.getDictionary()).thenReturn(dictionary); Pagination pagination = mock(Pagination.class); when(pagination.isGenerateTotals()).thenReturn(true); tx.loadObjects(Book.class, Optional.of(filterPredicate), Optional.empty(), Optional.of(pagination), scope); tx.commit(scope); tx.close(); verify(pagination).setPageTotals(noOfRecords); }
public AbstractHQLQueryBuilderTest() { super(new EntityDictionary(new HashMap<>()), new TestSessionWrapper()); dictionary.bindEntity(Author.class); dictionary.bindEntity(Book.class); dictionary.bindEntity(Chapter.class); dictionary.bindEntity(Publisher.class); dictionary.bindEntity(Left.class); }
@Test public void elideSecurityEnabled() { Elide elide = new Elide(new ElideSettingsBuilder(AbstractIntegrationTestInitializer.getDatabaseManager()) .withEntityDictionary(new EntityDictionary(TestCheckMappings.MAPPINGS)) .withAuditLogger(new TestAuditLogger()) .build()); ElideResponse response = elide.get("parent/1/children", new MultivaluedHashMap<>(), -1); assertEquals(response.getResponseCode(), HttpStatus.SC_OK); assertEquals(response.getBody(), "{\"data\":[]}"); }
@Test public void elideBypassSecurity() { String expected = jsonParser.getJson("/ResourceIT/elideBypassSecurity.json"); Elide elide = new Elide(new ElideSettingsBuilder(AbstractIntegrationTestInitializer.getDatabaseManager()) .withAuditLogger(new TestAuditLogger()) .withPermissionExecutor(BypassPermissionExecutor.class) .withEntityDictionary(new EntityDictionary(TestCheckMappings.MAPPINGS)) .build()); ElideResponse response = elide.get("parent/1/children/1", new MultivaluedHashMap<>(), -1); assertEquals(response.getResponseCode(), HttpStatus.SC_OK); assertEquals(response.getBody(), expected); }
@Override public Elide provide() { EntityDictionary dictionary = new EntityDictionary(new HashMap<>()); DefaultFilterDialect defaultFilterStrategy = new DefaultFilterDialect(dictionary); RSQLFilterDialect rsqlFilterStrategy = new RSQLFilterDialect(dictionary); MultipleFilterDialect multipleFilterStrategy = new MultipleFilterDialect( Arrays.asList(rsqlFilterStrategy, defaultFilterStrategy), Arrays.asList(rsqlFilterStrategy, defaultFilterStrategy) ); return new Elide(new ElideSettingsBuilder(AbstractIntegrationTestInitializer.getDatabaseManager()) .withAuditLogger(auditLogger) .withJoinFilterDialect(multipleFilterStrategy) .withSubqueryFilterDialect(multipleFilterStrategy) .withEntityDictionary(dictionary) .withUpdate200Status() .build()); }
/** * Elide settings to be used for bootstrapping the Elide service. By default, this method constructs an * ElideSettings object using the application overrides provided in this class. If this method is overridden, * the returned settings object is used over any additional Elide setting overrides. * * That is to say, if you intend to override this method, expect to fully configure the ElideSettings object to * your needs. * * @param injector Service locator for web service for dependency injection. * @return Configured ElideSettings object. */ default ElideSettings getElideSettings(ServiceLocator injector) { DataStore dataStore = new InjectionAwareHibernateStore( injector, Util.getSessionFactory(getHibernate5ConfigPath(), getModelPackageName())); EntityDictionary dictionary = new EntityDictionary(getCheckMappings()); ElideSettingsBuilder builder = new ElideSettingsBuilder(dataStore) .withUseFilterExpressions(true) .withEntityDictionary(dictionary) .withJoinFilterDialect(new RSQLFilterDialect(dictionary)) .withSubqueryFilterDialect(new RSQLFilterDialect(dictionary)); if (enableIS06081Dates()) { builder = builder.withISO8601Dates("yyyy-MM-dd'T'HH:mm'Z'", TimeZone.getTimeZone("UTC")); } return builder.build(); }
@Override public Elide provide() { EntityDictionary dictionary = new EntityDictionary(TestCheckMappings.MAPPINGS); DefaultFilterDialect defaultFilterStrategy = new DefaultFilterDialect(dictionary); RSQLFilterDialect rsqlFilterStrategy = new RSQLFilterDialect(dictionary); MultipleFilterDialect multipleFilterStrategy = new MultipleFilterDialect( Arrays.asList(rsqlFilterStrategy, defaultFilterStrategy), Arrays.asList(rsqlFilterStrategy, defaultFilterStrategy) ); return new Elide(new ElideSettingsBuilder(AbstractIntegrationTestInitializer.getDatabaseManager()) .withAuditLogger(auditLogger) .withJoinFilterDialect(multipleFilterStrategy) .withSubqueryFilterDialect(multipleFilterStrategy) .withEntityDictionary(dictionary) .build()); }
@Override public Elide provide() { EntityDictionary dictionary = new EntityDictionary(TestCheckMappings.MAPPINGS); DefaultFilterDialect defaultFilterStrategy = new DefaultFilterDialect(dictionary); RSQLFilterDialect rsqlFilterStrategy = new RSQLFilterDialect(dictionary); MultipleFilterDialect multipleFilterStrategy = new MultipleFilterDialect( Arrays.asList(rsqlFilterStrategy, defaultFilterStrategy), Arrays.asList(rsqlFilterStrategy, defaultFilterStrategy) ); return new Elide(new ElideSettingsBuilder(AbstractIntegrationTestInitializer.getDatabaseManager()) .withAuditLogger(auditLogger) .withJoinFilterDialect(multipleFilterStrategy) .withSubqueryFilterDialect(multipleFilterStrategy) .withEntityDictionary(dictionary) .withReturnErrorObjects(true) .build()); }