use of org.orcid.jaxb.model.search_v2.Search in project aem-core-wcm-components by Adobe-Marketing-Cloud.
the class SearchIT method setupBeforeEach.
/**
* Before Test Case
*/
@BeforeEach
public void setupBeforeEach() throws ClientException {
// level 1
page1Path = authorClient.createPage("page_1", "page_1", rootPage, defaultPageTemplate).getSlingPath();
HashMap<String, String> data = new HashMap<String, String>();
data.put("_charset_", "UTF-8");
data.put("./jcr:content/jcr:title", "Parent Page 1");
Commons.editNodeProperties(adminClient, page1Path, data);
// create 20 pages
for (int i = 0; i < 20; i++) {
String pagePath = authorClient.createPage("page" + i, "page" + i, page1Path, defaultPageTemplate).getSlingPath();
data.clear();
data.put("_charset_", "UTF-8");
data.put("./jcr:content/jcr:title", "Page " + i);
Commons.editNodeProperties(adminClient, pagePath, data);
}
// level 2
page11Path = authorClient.createPage("page_1_1", "page_1_1", page1Path, defaultPageTemplate).getSlingPath();
data.clear();
data.put("_charset_", "UTF-8");
data.put("./jcr:content/jcr:title", "Page 1.1");
Commons.editNodeProperties(adminClient, page11Path, data);
// level 2 1
page111Path = authorClient.createPage("page_1_1_1", "page_1_1_1", page11Path, defaultPageTemplate).getSlingPath();
data.clear();
data.put("_charset_", "UTF-8");
data.put("./jcr:content/jcr:title", "Page 1.1.1");
Commons.editNodeProperties(adminClient, page111Path, data);
// level 2 2
page112Path = authorClient.createPage("page_1_1_2", "page_1_1_2", page11Path, defaultPageTemplate).getSlingPath();
data.clear();
data.put("_charset_", "UTF-8");
data.put("./jcr:content/jcr:title", "Page 1.1.2");
Commons.editNodeProperties(adminClient, page112Path, data);
// level 2 3
String page113Path = authorClient.createPage("page_1_1_3", "page_1_1_3", page11Path, defaultPageTemplate).getSlingPath();
data.clear();
data.put("_charset_", "UTF-8");
data.put("./jcr:content/jcr:title", "Page 1.1.3");
Commons.editNodeProperties(adminClient, page113Path, data);
// 2.
String policySuffix = "/structure/page/new_policy";
data.clear();
data.put("jcr:title", "New Policy");
data.put("sling:resourceType", "wcm/core/components/policy/policy");
data.put("clientlibs", clientlibs);
String policyPath1 = "/conf/" + label + "/settings/wcm/policies/core-component/components";
policyPath = Commons.createPolicy(adminClient, policySuffix, data, policyPath1);
// 3.
String policyLocation = "core-component/components";
String policyAssignmentPath = defaultPageTemplate + "/policies/jcr:content";
data.clear();
data.put("cq:policy", policyLocation + policySuffix);
data.put("sling:resourceType", "wcm/core/components/policies/mappings");
Commons.assignPolicy(adminClient, "", data, policyAssignmentPath);
// create a proxy component
proxyPath = Commons.createProxyComponent(adminClient, Commons.rtSearch_v1, Commons.proxyPath, null, null);
// add the component to test page
compPath = Commons.addComponent(adminClient, proxyPath, page11Path + Commons.relParentCompPath, "search", null);
// open test page in page editor
editorPage = new PageEditorPage(page11Path);
editorPage.open();
search = new Search();
}
use of org.orcid.jaxb.model.search_v2.Search in project timbuctoo by HuygensING.
the class TimbuctooV4 method run.
@Override
public void run(TimbuctooConfiguration configuration, Environment environment) throws Exception {
// environment.jersey().property(ServerProperties.TRACING, "ALL");
// // environment.jersey().property(ServerProperties.TRACING_THRESHOLD, "VERBOSE");
// Make sure we know what version is running
Properties properties = new Properties();
InputStream gitproperties = getClass().getClassLoader().getResourceAsStream("git.properties");
String currentVersion;
if (gitproperties != null) {
properties.load(gitproperties);
currentVersion = properties.getProperty("git.commit.id");
} else {
currentVersion = "NO-GIT-PROPERTIES-FOUND";
LoggerFactory.getLogger(this.getClass()).error("NO-GIT-PROPERTIES-FOUND");
}
LoggerFactory.getLogger(this.getClass()).info("Now launching timbuctoo version: " + currentVersion);
HttpClientBuilder apacheHttpClientBuilder = new HttpClientBuilder(environment).using(configuration.getHttpClientConfiguration());
CloseableHttpClient httpClient = apacheHttpClientBuilder.build("httpclient");
// Support services
SecurityFactory securityConfig = configuration.getSecurityConfiguration().createNewSecurityFactory(httpClient);
securityConfig.getHealthChecks().forEachRemaining(check -> {
register(environment, check.getLeft(), new LambdaHealthCheck(check.getRight()));
});
// Database migration
LinkedHashMap<String, DatabaseMigration> migrations = new LinkedHashMap<>();
migrations.put("fix-dcarkeywords-displayname-migration", new FixDcarKeywordDisplayNameMigration());
migrations.put("fix-pids-migration", new MakePidsAbsoluteUrls());
UriHelper uriHelper = configuration.getUriHelper();
environment.lifecycle().addServerLifecycleListener(new BaseUriDeriver(configuration));
TinkerPopConfig tinkerPopConfig = configuration.getDatabaseConfiguration();
final TinkerPopGraphManager graphManager = new TinkerPopGraphManager(tinkerPopConfig, migrations);
final PersistenceManager persistenceManager = configuration.getPersistenceManagerFactory().build();
UrlGenerator uriToRedirectToFromPersistentUrls = (coll, id, rev) -> uriHelper.fromResourceUri(SingleEntity.makeUrl(coll, id, rev));
final UrlGenerator pathWithoutVersionAndRevision = (coll, id, rev) -> URI.create(SingleEntity.makeUrl(coll, id, null).toString().replaceFirst("^/v2.1/", ""));
final UrlGenerator uriWithoutRev = (coll, id, rev) -> uriHelper.fromResourceUri(SingleEntity.makeUrl(coll, id, null));
HandleAdder handleAdder = new HandleAdder(persistenceManager, activeMqBundle);
// TODO make function when TimbuctooActions does not depend on TransactionEnforcer anymore
TimbuctooActions.TimbuctooActionsFactory timbuctooActionsFactory = new TimbuctooActions.TimbuctooActionsFactoryImpl(securityConfig.getPermissionFetcher(), Clock.systemDefaultZone(), handleAdder, uriToRedirectToFromPersistentUrls, () -> new TinkerPopOperations(graphManager));
TransactionEnforcer transactionEnforcer = new TransactionEnforcer(timbuctooActionsFactory);
graphManager.onGraph(g -> new ScaffoldMigrator(graphManager).execute());
handleAdder.init(transactionEnforcer);
final Vres vres = new DatabaseConfiguredVres(transactionEnforcer);
migrations.put("prepare-for-bia-import-migration", new PrepareForBiaImportMigration(vres, graphManager));
migrations.put("give-existing-relationtypes-rdf-uris", new RelationTypeRdfUriMigration());
migrations.put("remove-search-results", new RemoveSearchResultsMigration());
migrations.put("move-indices-to-isLatest-vertex", new MoveIndicesToIsLatestVertexMigration(vres));
final ResourceSyncService resourceSyncService = new ResourceSyncService(httpClient, new ResourceSyncContext());
final JsonMetadata jsonMetadata = new JsonMetadata(vres, graphManager);
final AutocompleteService.AutocompleteServiceFactory autocompleteServiceFactory = new AutocompleteService.AutocompleteServiceFactory(uriWithoutRev);
environment.lifecycle().manage(graphManager);
final CrudServiceFactory crudServiceFactory = new CrudServiceFactory(vres, securityConfig.getUserValidator(), pathWithoutVersionAndRevision);
final Webhooks webhooks = configuration.getWebhooks().getWebHook(environment);
DataSetRepository dataSetRepository = configuration.getDataSetConfiguration().createRepository(environment.lifecycle().executorService("dataSet").build(), securityConfig.getPermissionFetcher(), configuration.getDatabases(), configuration.getRdfIdHelper(), (combinedId -> {
try {
webhooks.dataSetUpdated(combinedId);
} catch (IOException e) {
LOG.error("Webhook call failed", e);
}
}), configuration.dataSetsArePublicByDefault());
environment.lifecycle().manage(new DataSetRepositoryManager(dataSetRepository));
ErrorResponseHelper errorResponseHelper = new ErrorResponseHelper();
AuthCheck authCheck = new AuthCheck(securityConfig.getUserValidator(), securityConfig.getPermissionFetcher(), dataSetRepository);
register(environment, new RdfUpload(authCheck));
register(environment, new TabularUpload(authCheck, dataSetRepository, errorResponseHelper));
register(environment, new Rml(dataSetRepository, errorResponseHelper, securityConfig.getUserValidator()));
SerializerWriterRegistry serializerWriterRegistry = new SerializerWriterRegistry(new CsvWriter(), new JsonLdWriter(), new JsonWriter(), new GraphVizWriter());
final PaginationArgumentsHelper argHelper = new PaginationArgumentsHelper(configuration.getCollectionFilters());
final GraphQl graphQlEndpoint = new GraphQl(new RootQuery(dataSetRepository, serializerWriterRegistry, configuration.getArchetypesSchema(), new RdfWiringFactory(dataSetRepository, argHelper, configuration.getDefaultSummaryProps()), new DerivedSchemaTypeGenerator(argHelper), environment.getObjectMapper()), serializerWriterRegistry, securityConfig.getUserValidator(), uriHelper, securityConfig.getPermissionFetcher(), dataSetRepository);
register(environment, graphQlEndpoint);
if (securityConfig instanceof TwitterSecurityFactory) {
final TwitterLogin twitterLogin = new TwitterLogin();
register(environment, twitterLogin);
}
register(environment, new JsonLdEditEndpoint(securityConfig.getUserValidator(), securityConfig.getPermissionFetcher(), dataSetRepository, new HttpClientBuilder(environment).build("json-ld")));
register(environment, new RootEndpoint(uriHelper, configuration.getUserRedirectUrl()));
if (securityConfig instanceof OldStyleSecurityFactory) {
register(environment, new Authenticate(((OldStyleSecurityFactory) securityConfig).getLoggedInUsers()));
}
register(environment, new Me(securityConfig.getUserValidator()));
register(environment, new Search(configuration, uriHelper, graphManager));
register(environment, new Autocomplete(autocompleteServiceFactory, transactionEnforcer));
register(environment, new Index(securityConfig.getUserValidator(), crudServiceFactory, transactionEnforcer));
register(environment, new SingleEntity(securityConfig.getUserValidator(), crudServiceFactory, transactionEnforcer));
register(environment, new SingleEntityNTriple(transactionEnforcer, uriHelper));
register(environment, new WomenWritersEntityGet(crudServiceFactory, transactionEnforcer));
register(environment, new LegacySingleEntityRedirect(uriHelper));
register(environment, new LegacyIndexRedirect(uriHelper));
register(environment, new Discover(resourceSyncService));
if (configuration.isAllowGremlinEndpoint()) {
register(environment, new Gremlin(graphManager));
}
register(environment, new Graph(graphManager, vres));
register(environment, new RelationTypes(graphManager));
register(environment, new Metadata());
register(environment, new nl.knaw.huygens.timbuctoo.server.endpoints.v2.system.vres.Metadata(jsonMetadata));
register(environment, new MyVres(securityConfig.getUserValidator(), securityConfig.getPermissionFetcher(), transactionEnforcer, uriHelper));
register(environment, new ListVres(uriHelper, transactionEnforcer));
register(environment, new VreImage(transactionEnforcer));
final ExecutorService rfdExecutorService = environment.lifecycle().executorService("rdf-import").build();
register(environment, new ImportRdf(graphManager, vres, rfdExecutorService, transactionEnforcer));
register(environment, new Import(new ResourceSyncFileLoader(httpClient), authCheck));
register(environment, new WellKnown());
RsDocumentBuilder rsDocumentBuilder = new RsDocumentBuilder(dataSetRepository, configuration.getUriHelper());
register(environment, new RsEndpoint(rsDocumentBuilder, securityConfig.getUserValidator()));
// Admin resources
if (securityConfig instanceof OldStyleSecurityFactory) {
final OldStyleSecurityFactory oldStyleSecurityFactory = (OldStyleSecurityFactory) securityConfig;
environment.admin().addTask(new UserCreationTask(new LocalUserCreator(oldStyleSecurityFactory.getLoginCreator(), oldStyleSecurityFactory.getUserCreator(), oldStyleSecurityFactory.getVreAuthorizationCreator())));
}
environment.admin().addTask(new DatabaseValidationTask(new DatabaseValidator(graphManager, new LabelsAddedToVertexDatabaseCheck(), new InvariantsCheck(vres), new FullTextIndexCheck()), Clock.systemUTC(), 5000));
environment.admin().addTask(new DbLogCreatorTask(graphManager));
environment.admin().addTask(new BdbDumpTask(configuration.getDatabases()));
if (configuration.getDatabaseBackupper().isPresent()) {
environment.admin().addTask(new StagingBackup(configuration.getDatabaseBackupper().get().create(configuration.getDatabaseConfiguration().getDatabasePath(), configuration.getDatabases().getDatabaseLocation())));
}
// register health checks
// Dropwizard Health checks are used to check whether requests should be routed to this instance
// For example, checking if neo4j is in a valid state is not a "HealthCheck" because if the database on one instance
// is in an invalid state, then this applies to all other instances too. So once the database is in an invalid state
// timbuctoo will be down.
//
// checking whether this instance is part of the neo4j quorum is a good HealthCheck because running a database query
// on those instances that are not part of the quorum will block forever, while the other instances will respond
// just fine.
register(environment, "Neo4j database connection", graphManager);
// Log all http requests
register(environment, new LoggingFilter(1024, currentVersion));
register(environment, new TransactionFilter(graphManager));
// Allow all CORS requests
register(environment, new PromiscuousCorsFilter());
// Add embedded AMQ (if any) to the metrics
configuration.getLocalAmqJmxPath(HANDLE_QUEUE).ifPresent(rethrowConsumer(jmxPath -> {
String dwMetricName = name(this.getClass(), "localAmq");
ObjectName jmxMetricName = new ObjectName(jmxPath);
environment.metrics().register(dwMetricName + ".enqueueCount", new JmxAttributeGauge(jmxMetricName, "EnqueueCount"));
environment.metrics().register(dwMetricName + ".dequeueCount", new JmxAttributeGauge(jmxMetricName, "DequeueCount"));
}));
setupObjectMapping(environment);
}
Aggregations