Before testing the password, test that the account is well-formed: first name, last name, email.
After testing the password, check to see whether a password change is required.
Because subclass/superclass is only a partial ordering, this breaks the contract for Comparator,
and throws an IllegalArgumentException under Java 8. In particular, for classes sub, super and other,
we have sub=other, sub<super, which should imply other<super, but instead other=super.
As far as I can determine, this sort is never used anyway, so there should be no impact in removing it.
PropertyInstanceDaoJena sorts these results again before using them, as does GroupedPropertyList.
Replace PelletListener with a TBoxReasonerModule in the Application.
The reasoner will be accessible only through here, not as a context attribute or through the WebappDaoFactory.
Split out the initialization of the TBox reasoner from SimpleReasonerSetup.
Break out the filtering of TBox changes into a ConfiguredReasonerListener.
Refactor the threading logic into a BasicTBoxReasonerDriver.
Add a factory for creating VitroBackgroundThreads in an Executor.
Isolate the actual reasoner into a TBoxReasoner implementation. In this case, PelletTBoxReasoner.
Combine the consistency flag, error flag, explanation, and running status into one TBoxReasonerStatus object.
Replace PelletListener with BasicTBoxReasonerDriver, and associated classes.
Run the background thread from an ExecutorService.
Since nobody was using the FOREGROUND flag, and since its logic was flawed, skip it.
Make TBoxReasonerModule a module on the Application. Make the reasoner status available through the module.
Initialize it in startup_listeners.txt
Create a concrete class for PelletTBoxReasonerModule, and configure it in applicationSetup.n3
Get rid of PelletReasonerSetup.
Make it so the ExecutorService in BasicTBoxReasonerDriver uses a VitroBackgroundThread.,
Make TBoxReasonerModule a module on the Application. Make the reasoner status available through the module.
Initialize it in startup_listeners.txt
Create a concrete class for PelletTBoxReasonerModule, and configure it in applicationSetup.n3
Get rid of PelletReasonerSetup.
Make it so the ExecutorService in BasicTBoxReasonerDriver uses a VitroBackgroundThread.,
Merging list of populated properties with all possible properties,
we don't want to consider two properties equivalent just on the basis of base URI and label (domainPublic)
Why was this previously considered to be a good thing?
Use it to handle the odd behavior that a particular triple store might have.
In this case, the odd behavior is that TDB mangles XMLSchema#nonNegativeInteger to XMLSchema#integer in literal types.
the DataStructuresProviders must wrap their RDFServiceFactory in LoggingRDFServiceFactory,
and insure that their RDFService comes from that wrapped factory.
Create an interface for the Listener to act on.
If the changed object doesn't implement the interface, log a warning and do nothing, instead of throwing a ClassCastException.
The level values should never be null.