upgrade to 1.0.1-SNAPSHOT DataONE jars
started replication unit test
MockCNode.getSystemMetadata() no longer throws InvalidRequest.
remove catch blocks for unthrown exceptions
uses prepared statement instead of plain old statement.deprecated the DBConnection.createStatement() method to discourage direct parameter value use in favor of parameter binding.http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5527
Add a test for systemMetadataChanged. This should be fleshed out more so that the test uses a CN certificate.
uses prepared statement parameter binding for querieshttp://bugzilla.ecoinformatics.org/show_bug.cgi?id=5527
check object format id values since they are not Comparable objects
make MNodeServiceTest pass JUnit testing
Update CNodeService test to include serialVersion in it's calls as appropriate.
restore -- apparently this was used with reflection in a test...
MN.setAccessPolicy() is deprecated, commenting out the test.
removing non-junit file from the test area
load hazelcast test files from the classpath rather than from rob's personal directory.
SystemMetadataManager's functionality is handled by IdentifierManager. Removing it and it's test.
MetadataTypeRegister is now replaced by ObjectFormatService. Removing it and it's test.
move the DataONE 1.0.0-SNAPSHOT
add User-Agent logging to support D1 requirements
remove old RestServlet handler -- not used now
including newer d1 libclient that uses Foresite (and Jena) to construct/parse ORE resource maps for DataONE
update D1 jars to include recent SubjectList -> SubjectInfo refactoring and the SUBJECT_PUBLIC constant
use an actual data object (bytes of "test") when generating system metadata so that the checksum is a valid checksum
test relationship assertion using obsoletes
move bulk of the Hazelcast code into HazelcastService from CNodeService so that it is centrall located - easier to manage and configure
cleaned up mock tests on hzObjectPathMap. split out code for mocking a datastore into MockObjectPathMap.
initialize Hazelcast from the custom configuration when initializing the Metacat service.
exercise the shared hazelecast system metadata map and custom loader/store by inserting normally and also directly into the map. both mechanisms allow up to read the same system metadata (only tested on single local instance)
test hzSystemMetadata Map and custom loader
copied default hazelcast configuration from the jar into hazelcast.test.properties.xml, to get instances to talk to each other.
configuring hazelcast tests
further refactoring and start of unit tests for hazelcast elements
return the test Identifier so other tests can piggyback
Update test for getReplicationStatus to reflect API change.
changes for schema update (d1_common)
Update tests to use the DataONE 0.6.4 schema and types.
latest D1 jars - changes include:updateSystemMetadata() impl for CNnew identifier methods (generate is its own method)removal of the resourceMap pointer from system metadata
refactor Constants
refactor Constants and ServiceTypeUtil
use new "v1" types from DataONE
remove CrudService -- replaced by MNodeService and CNodeService
remove CrudServiceTest reference in main Metacat test (about to remove from svn)
reset object input stream (testGet)check for reserveIdentifier NotImplemented (expected)
merge changes from 1.9.5 branch that read site docs from SVN not a defunct LTER server
Return the new pid (not the obsoleted pid) on update(), and set the correct system metadata.
include Mock version of looking up the base url for our own node - for testReplicate().still expecting a failure during MN.replicate() since we are trying to add the replica to the same MN from which it came.
allow alternative CNode implementations (subclasses) to be returned when D1Client.getCN() is called. The alternative is given in the Settings configuration via the D1Client.cnClassName property.MockCNode in Metacat is an example of such an alternative and is used when Metacat requires methods of a CN be present for unit testing.
Test that the obsoletes and derivedFrom system metadata fields were set correctly.
use objectFormatIdentifier for listObjects()remove provisional system metadata indicator - Metacat will not implement reserveIdentifier()
add test for synchronization failed -- TODO: verify that the log record made it in the logs
provisional replicate() implementation -- does not check if the session's subject is "allowed" to do this.the test also requires 2 servers -- right now it attempts to replicate with itself which will fail because of duplicate IDs
provisional version of getOperationStatistics() -- not clear if we are meant to aggregate by hour or by day
include test for replicate() method -- still fails as not implemented
allow null objects (use default checksum)
wire-up the getCapabilities() and getOperationStatistics() methods for when they are actually implemented (tests fail now)
test listObjects()
include MNAuthorization tests
refactor to use common superclass D1NodeServiceTest for shared methods
test for getLogRecords -- with some semi-reasonable expectations on the return that is expected
tests for isAuthorized and setAccessPolicy
include getLogRecords() test, though it is commented out at the moment
test for CN.getSystemMetadata()
test CN.get()
Uncommented MNStorage tests.
Send the correct Date format in testGetLogRecords(). I've commented out certain tests in the suite until isAuthorized() functionality is working. It is returning a NotFound exception even though the object is clearly in Metacat.
Add MNodeServiceTest tests for MNCore, MNRead, MNStorage, MNAuthorization implementations. MNReplication remains to be tested, as does MNCore.getCapabilities() and getOperationStatistics().
add the d1_common formats if they do not exist on the server
remove resolve() test -- not implemented in Metacat
add methods for testing CNodeService impl. Still some failing tests, but whittling them down
refactor to test the entire CN service impl
do not use pisco for referral testing (merge from 1.9.5)
merge 1.9.5 changes to trunk (delete now preserves access rules and docs can be read after deletion)
CNCoreImpl is replaced by CNodeService
Get username and password from a property file.
Updated tests to use ObjectFormatCache.getInstance(), and added tests for CNCoreImpl.listFormats and getFormat().
When calling SystemMetadata.getObjectFormat(), return the string value of the ObjectFormatIdentifier rather than ObjectFormat.toString() (which no longer returns the fmtid string).
organize imports so that it is clearer what dependencies exist on the D1 jars
Merged in the D1_0_6_2_BRANCH changes that include the transition from ObjectFormat calls to ObjectFormatCache calls.
include GUID column for xml_access and related methods for storing/retrieving access rules
handle timed replication of system metadata. there are still a few outstanding issues: -track server location of system metadata-only entries-replication policy flag for system metadata-only entries?-locking for replicated entries?-forced replication of entries
-remove system metadata guid -> local id mapping (there is no document for system metadata now)-include system metadata elements when replicating data objects (TODO: transfer all system metadata structures with the docinfo request).TODO: remove docid+rev from the systemMetadata table definition
do not use XML files for storing SystemMetadata - use DB tables only.
Commenting out these MetacatRestClient tests because the Metacat RestService is no longer registered as a servlet and needs to be removed, along with the associated MetacatRestClient and tests.
Fixed MetaCatServletTest test failures by removing the hardcoded username/passwords used in the tests and replacing those with data from metacat.properties.
Fix AuthLdapTest to use accounts that are more reliable when searching for existing accounts in the getPrincipals output.
Modified Metacat to build against the D1_SCHEMA_0_6_1 branch of the dataone schemas by incorporating the 0.6.1-SNAPSHOT version of d1_common and d1_libclient libraries, and refactoring Metacat code references to the d1 schema changed types.
updating CrudServiceTest with better exception handling (more specific) to match refactored CrudService.java class
removed newline addition to test doc now that the newline problem is fixed in utilities project. Small adjustments to comments and debug statements to aid in debugging. Reordered tests to remove possible insertion between read and getLastDocid test.
Make this class be the subclass of the MCTestCase. The super class will initialize the property service for it.
commenting out the pisco user tests, since they only work in production.
put in more explanatory exception methods in the private helper functions that throw exceptions, and some debug statements in the onlineData201CasesTest_1 test.
Due to changes in MetacatHandler that creates system metadata from uploaded EML documents, OnlineDataAccessTest was failing certain tests because of errors in how the test documents were originally uploaded. MetacatHandler.createSystemMetadata() was throwing exceptions because of these errors, specifically when a data document is uploaded with a docid that is difeerent than the docid statement in the EML distribution URL. Most errors involved stated docids with .2 versions, and the metadata had .1 versions....
Cleaned up imports.
Updated D1 libraries to head to eliminate problems with date parsing -- addedJoda jar to support date parsing. Removed hardcoded DN from test file. NowCrudServiceTest is passing again.
Remove hardcoded LDAP usernames from testing so that MetaCatServletNetTest will work even using alternateLDAP servers.
Fixed the testNCEASLogin() password that I mistakenly changed.
Now that MetacatHandler creates GUID identifier mappings and system metadata, many of the tests in IdentifierManagerTest were failing that were manually creating id mappings and system metadata. Modified testCreateMapping() and testCreateSystemMetadataMapping() to use docids that haven't been inserted to just exercise the methods....
Added a new test method testDeleteDocumentByGUID() to ensure MetacatHandler can delete based on GUID, but fall back to docid if the GUID isn't present. Modified CrudServiceTest and made some private methods public to leverage the D1 REST calls in that library (i.e. create() a doc with a GUID).
Add a method to test download a schema with included schemas.
Add a test file for XMLSchemaServcieTest.
Add a junit test file for testing the XMLSchemaParser class.