Changes in the DataONE ObjectFormat class deprecate the convert() method, and we're now using Metacat's ObjectFormatService to look up object format attributes. The following changes replace ObjectFormat.convert() with ObjectFormatService.getFormat() in several classes....
This is the start of the ObjectFormatService, which manages the list of object formats registered within Metacat. This includes schema types, mime types, and other information related to a particular format. The service provides functionality for the DataONE MemberNode and CoordinatingNode components, with CoordinatingNodes providing the authoritative list of object formats. See https://redmine.dataone.org/issues/1378....
Add a static method to get base url base on a schema url.
A sax handler class can get included schema path.
add support for EML 2.1.1
fixed redmine task 864. Metacat will now download an http:// referenced schema when a reference is put in the xml_catalog table.
[merged from 1.9.3 branch] security fix: never unregister the "public" user session
refactored the sessionService to use a correct singleton initialization scheme. Added true authentication to ResourceHandler.
allow any nonquote characters in the schemaLocation attribute, otherwise the whole line is matched and this prevents schemaLocation from appearing anywhere but at the end of the line.
refactored XMLSchemaService to not have static methods. made the CrudServiceTest more robust.
fixed schema location bug. the dataone schemas are now correclty found
Refactored schema service to call doRefresh() in constructor to eliminate code duplication.
Merge 1.9.2 changes back into the trunk
change unregister error message to be an info message
Add user name to SessionData object
Add session validation to metacat tpc and workflow scheduler. Fix sanparks skin session management so it always uses the logged in session id.
Add session Validation action and session timeout functionality.
Change location of PropertyService to properties directory
Persist skin properties across installations
Change MetaCatVersion to MetacatVersion
Create database and shared directories for database management code and shared code respectively.
Implement stop method in services. Stop all services when shutting down metacat. This primarily keeps scheduler from hanging with open threads.
Added generic scheduler and workflow scheduling functionality.
Add archival read funtionality (jar/kar/war files)
Roll back replication user changes. Fix code that converts access levels to integer and to text.
Introduce replication user. Use the fileutil writer methods instead of writing directly.
Beef up exception handling from file utilities. Move UtilException to MetacatUtilException to eliminate conflict with similar exception in utility package.
Separate the concept of a backup file location and a metacat external directory location. These can be totally different.
Make sure and write the shortcut to the backup directory to a directory in the users home.
Allow for backup properties to be written to context based subdirectory of the external configuration directory. This allow multiple instances of metacat to be run side by side.
Handle sessions with null ids gracefully.
Do not throw exception when skin metadata file is missing. Instead, remove the skin from the available skins list, write an error message to the log and continue on. This was already done for the skins properties file.
Check for null session ID when touching session.
Do not back up password properties
Only configure skins that are correctly configured in the skins directory.
Check for existance of backup file location at startup time.
Create a propertyService.getTestInstance method to facilitate unit tests
Remove org configuration methods since they are not used. Get the backup configuration directories when doing a bypass. Implement the refresh method.
This service now holds a registry of active services. Refreshing of services must go through this class. Also holds some common values that are discovered via servlet context.
Implement refresh methods inherited from base class
Correct the pathing for the schema directories based on OS. Leave them in the database with linux style paths (forward slashes) since the values are also used to create urls.
Discover the external (backup) directory based on OS
catch and report missing skins configuration files.
Rename LDAPUtil to AuthUtil
Trim property values
Beef up the regex to find the document namespace
Get the file name from the system_id, handling cases where the id starts with http
Change the ServiceInterface into a base class called BaseService. All services extend BaseService.
Object to hold information about a single xml schema.
Add service to keep persistent information about xml schemas. This maintains a list of all registered schemas
Display the deb.runConfiguration property in debug
Add debug statements to the bypass config section
Reload backup properties after they are changed so it will show up on the configuration form when you go back to it.
Add geoserver section to configuration bypass module.
Move the DBAdaptor accessor into a DatabaseService class
Fix bug where skin configs don't read backup properties correctly for checkboxes.
Add comments. Added getPublicSession method
Add a "bypassed" state for confguration sections.
Add support for separate LDAP and organization level configurations
Add functionality to allow developer to bypass configuration utility
Create PropertyService using log directory instead of servlet context.
Fix backup file pathing issues. Modify checkAndSetProperty to get skin specific values from request.
implement getPropertiesByGroup() method
Backup properties should use addProperty, not setProperty
Merge 1.9 changes into Head