Set up a Timer to run the regenerating solr index task periodically.
Add code to handle delete data package information when delete a pid in the solr index.
Add two static methods to get the SystemMetadata and data object InputStream for the specified id.
Change the code since the ApplicationController's constructor was changed.
Add code to check if the metacat.properties is available.
If solr is not enabled, it would not be running.
Use another thread in the Servlet init method to wait hazelcast.
Put the waiting mechanism for the hazelcast at the first place.
Temporarily remove the code to disable solr engine if it isn't listed in the property file.
If the solr engine is disabled, the metacat index will do nothing.
set the dataone.hazelcast.location.clientconfig property to be the local config file. It will be used in the d1_cn_index_processor
Read the waiting time and maximum attempts from the metacat.properties file.
Add some new properties for the test.
Index the none-resourcemap data objects first, then the resourcemap objects.
Try to get the metacat ids first.
Use SolrQueryServiceController to get the ValidFieldList.
Change the package name of SolrQueryResponseTransformer and SolrQueryWriterFactory.
Add the depency of d1_cn_index_processor here.
move the depency of d1_cn_index_processor to the metacat-common module.
Add the code to add a resource map information.
Add code the transform query response to SolrDoc.
use java 1.6 for maven compiler
Use the new class to handle the resource map.
Modify the subprocessor to use SolrServer rather than solr service url.
Add code to wait the readiness of the hazelcast service.
Use the DistributedMapsFactory to get maps.
Add a class to get distributed maps such as the system metadata map.
Removed the comment on the process of building index.
Add code to wait the startup of the MNode.
Use the log info to replace the print.
Add log information for archiving or inserting indexes.
Consider mutithread issue there.
Catch a new exception base on the change of the calling method.
use the sharing code from the metacat-common.
Move this class to the metacat-common.
Use an update method to replace the insert and update methods in the SolrIndex class.
Add a system metadata for archiving.
Add code to generate index during the servlet initialization.
Add the names of the system metadata and the data object imaps.
Use the Identifier object rather than String as the key to get the system metadata and object path.
Add code to start hazelcast.
Add a junit test for the IndexGenerator class.
Add a new class which will generate index for the ids.
Add code to get all doc ids in the solr server.
Add a remove(List) method in the class and an obsoletes list parameter in the update method.
Add the getSystemMetadata and getObsoletes methods.
Change the default solr endpoint to be the localhost.
Base the configuration to create either EmbeddedSolrServer or HttpSolrServer.
Read the solr configuration file name and collection name from the property file.
Print out the solr query result in the xml format.
naive version of SolrServerFactory - no reflection. It returns an EmbeddedSolrServer implementation based on the solr.homeDir set in Settings class. https://projects.ecoinformatics.org/ecoinfo/issues/5883
simplify testing with embedded solr server locations -- no need to copy solr-home or set system properties. Still more to do (factory method) but this is getting cleaner.
add place-holder for using SolrServerFactory to get the correct SOlrServer impl during application init
clean up configuration initialization
clean up logging for hz config file error
rely on Settings loaded from test resources config rather than hardcoding the paths in code. https://projects.ecoinformatics.org/ecoinfo/issues/5918
include test resource bundles to be loaded into Settings configuration during testing.
move hazelcast config file location code into the MetacatIndexServlet init method
use integration-test ("mvn verify") to test things that require Metacat to be running. These classes should end be named "*IT.java" and unit tests that do not require metacat to be running can be named "*Test.java" - https://projects.ecoinformatics.org/ecoinfo/issues/5918
format before editing.
Comment out the testRemove method temporarily.
Temporarily to comment out the remove test.
Add a test method to test the update method.
Add the update method.
Add documents for updating solr index.
Get the solr home dir from the metacat.properties.
Set the test solr home in the target directory.
Add the necessary files for the solr home.
Set the hazelcast.xml path for the test.
Add a query method in the test.
correctly look up the context init parameter for the metacat properties file
Move this file to the solr home and rename it to the schema.xml.
Add the solr home directory.
lookup the hz client connection information from the hazelcast.xml file being used by metacat. https://projects.ecoinformatics.org/ecoinfo/issues/5909
start the SystemMetadataListener for each solr index configured (expecting only one).
Remove this obsoleted file.
draft for sharing the metacat.properties with the metacat-index webapp. https://projects.ecoinformatics.org/ecoinfo/issues/5909
add methods to set the SolrIndex instance and initialize the listener (includes overloaded constructor)
use SystemMetadata parameter for inserting into SolrIndex
Change one parameter type of the insert method from the InputStream to the SystemMetadata.
Add a file prefix to tell it is absolute path.
Excludes the slf4j-log4j12.jar for removing duplicated class.
The module will create a servlet class in a war file.
Add a web.xml file for the war.
add first pass at listening for SM events on HZ. Note that the configuration and even the call to solrIndex.insert() are not actually working.
Make EmbeddedServer work. It is for solr 3.4 since the d1_cn_index_processor depends on that version.
Use the EmbeddedSolrServer to replace HttpSolrServer. Now it still has some issues.
Add junit test class to test the SolrIndex class.
Add insert method for SolrIndex.
Remove the file generated by the wizard.
Figured out to read beans from the configuration file.
Add the dependency of solr-solrj.
Add the repository and dependency of the d1_cn_index_processor.
add the metacat-index component. It has nothing right now.