.. java:import:: java.io BufferedReader .. java:import:: java.io FileNotFoundException .. java:import:: java.io IOException .. java:import:: java.io InputStreamReader .. java:import:: java.io Reader .. java:import:: java.time ZoneId .. java:import:: java.util ArrayList .. java:import:: java.util Arrays .. java:import:: java.util Properties .. java:import:: java.util TimeZone .. java:import:: java.util UUID .. java:import:: java.util.logging Handler .. java:import:: java.util.logging Level .. java:import:: java.util.logging LogRecord .. java:import:: org.apache.shiro SecurityUtils .. java:import:: org.apache.shiro.config Ini .. java:import:: org.apache.shiro.config Ini.Section .. java:import:: org.apache.shiro.env BasicIniEnvironment .. java:import:: org.apache.shiro.mgt SecurityManager .. java:import:: org.apache.shiro.subject Subject .. java:import:: org.apache.shiro.util ThreadContext .. java:import:: org.caosdb.server.accessControl AnonymousAuthenticationToken .. java:import:: org.caosdb.server.accessControl AnonymousRealm .. java:import:: org.caosdb.server.accessControl AuthenticationUtils .. java:import:: org.caosdb.server.accessControl CaosDBAuthorizingRealm .. java:import:: org.caosdb.server.accessControl CaosDBDefaultRealm .. java:import:: org.caosdb.server.accessControl ConsumedInfoCleanupJob .. java:import:: org.caosdb.server.accessControl OneTimeAuthenticationToken .. java:import:: org.caosdb.server.accessControl SessionToken .. java:import:: org.caosdb.server.accessControl SessionTokenRealm .. java:import:: org.caosdb.server.database BackendTransaction .. java:import:: org.caosdb.server.database.access Access .. java:import:: org.caosdb.server.database.backend.transaction RetrieveDatatypes .. java:import:: org.caosdb.server.database.misc TransactionBenchmark .. java:import:: org.caosdb.server.datatype AbstractDatatype .. java:import:: org.caosdb.server.entity EntityInterface .. java:import:: org.caosdb.server.entity Role .. java:import:: org.caosdb.server.entity.container Container .. java:import:: org.caosdb.server.grpc GRPCServer .. java:import:: org.caosdb.server.jobs.core AccessControl .. java:import:: org.caosdb.server.jobs.core CheckStateTransition .. java:import:: org.caosdb.server.logging RequestErrorLogMessage .. java:import:: org.caosdb.server.resource AuthenticationResource .. java:import:: org.caosdb.server.resource DefaultResource .. java:import:: org.caosdb.server.resource EntityOwnerResource .. java:import:: org.caosdb.server.resource EntityPermissionsResource .. java:import:: org.caosdb.server.resource FileSystemResource .. java:import:: org.caosdb.server.resource InfoResource .. java:import:: org.caosdb.server.resource LogoutResource .. java:import:: org.caosdb.server.resource PermissionRulesResource .. java:import:: org.caosdb.server.resource RolesResource .. java:import:: org.caosdb.server.resource ScriptingResource .. java:import:: org.caosdb.server.resource ServerPropertiesResource .. java:import:: org.caosdb.server.resource SharedFileResource .. java:import:: org.caosdb.server.resource ThumbnailsResource .. java:import:: org.caosdb.server.resource UserResource .. java:import:: org.caosdb.server.resource UserRolesResource .. java:import:: org.caosdb.server.resource Webinterface .. java:import:: org.caosdb.server.resource WebinterfaceBuildNumber .. java:import:: org.caosdb.server.resource.transaction EntityNamesResource .. java:import:: org.caosdb.server.resource.transaction EntityResource .. java:import:: org.caosdb.server.scripting ScriptingPermissions .. java:import:: org.caosdb.server.transaction ChecksumUpdater .. java:import:: org.caosdb.server.utils FileUtils .. java:import:: org.caosdb.server.utils Initialization .. java:import:: org.caosdb.server.utils Observable .. java:import:: org.caosdb.server.utils Observer .. java:import:: org.quartz JobDetail .. java:import:: org.quartz Scheduler .. java:import:: org.quartz SchedulerException .. java:import:: org.quartz Trigger .. java:import:: org.quartz.impl StdSchedulerFactory .. java:import:: org.restlet Application .. java:import:: org.restlet Component .. java:import:: org.restlet Context .. java:import:: org.restlet Request .. java:import:: org.restlet Response .. java:import:: org.restlet Restlet .. java:import:: org.restlet Server .. java:import:: org.restlet.data CookieSetting .. java:import:: org.restlet.data Parameter .. java:import:: org.restlet.data Protocol .. java:import:: org.restlet.data Reference .. java:import:: org.restlet.data ServerInfo .. java:import:: org.restlet.data Status .. java:import:: org.restlet.engine Engine .. java:import:: org.restlet.routing Redirector .. java:import:: org.restlet.routing Route .. java:import:: org.restlet.routing Router .. java:import:: org.restlet.routing Template .. java:import:: org.restlet.routing TemplateRoute .. java:import:: org.restlet.routing Variable .. java:import:: org.restlet.util Series .. java:import:: org.slf4j Logger .. java:import:: org.slf4j LoggerFactory CaosDBServer ============ .. java:package:: org.caosdb.server :noindex: .. java:type:: public class CaosDBServer extends Application Fields ------ REQUEST_ERRORS_LOGGER ^^^^^^^^^^^^^^^^^^^^^ .. java:field:: public static final String REQUEST_ERRORS_LOGGER :outertype: CaosDBServer REQUEST_TIME_LOGGER ^^^^^^^^^^^^^^^^^^^ .. java:field:: public static final String REQUEST_TIME_LOGGER :outertype: CaosDBServer Methods ------- addPostShutdownHook ^^^^^^^^^^^^^^^^^^^ .. java:method:: public static void addPostShutdownHook(Thread t) :outertype: CaosDBServer Add a shutdown hook which runs after the Restlet Server has been shut down. addPreShutdownHook ^^^^^^^^^^^^^^^^^^ .. java:method:: public static void addPreShutdownHook(Runnable runnable) :outertype: CaosDBServer Add a shutdown hook which runs before the Restlet Server is being shut down. createInboundRoot ^^^^^^^^^^^^^^^^^ .. java:method:: @Override public Restlet createInboundRoot() :outertype: CaosDBServer Specify the dispatching restlet that maps URIs to their associated resources for processing. :return: A Router restlet that implements dispatching. getComponent ^^^^^^^^^^^^ .. java:method:: public static Component getComponent() :outertype: CaosDBServer getServerInfo ^^^^^^^^^^^^^ .. java:method:: public static ServerInfo getServerInfo() :outertype: CaosDBServer getServerProperties ^^^^^^^^^^^^^^^^^^^ .. java:method:: public static Properties getServerProperties() :outertype: CaosDBServer getServerProperty ^^^^^^^^^^^^^^^^^ .. java:method:: public static String getServerProperty(String key) :outertype: CaosDBServer getShiroConfig ^^^^^^^^^^^^^^ .. java:method:: public static Ini getShiroConfig() :outertype: CaosDBServer getTimeZoneFromDate ^^^^^^^^^^^^^^^^^^^ .. java:method:: public static String getTimeZoneFromDate() throws InterruptedException, IOException :outertype: CaosDBServer initBackend ^^^^^^^^^^^ .. java:method:: public static void initBackend() throws Exception :outertype: CaosDBServer initCaching ^^^^^^^^^^^ .. java:method:: public static void initCaching() :outertype: CaosDBServer initOneTimeTokens ^^^^^^^^^^^^^^^^^ .. java:method:: public static void initOneTimeTokens() throws Exception :outertype: CaosDBServer initServerProperties ^^^^^^^^^^^^^^^^^^^^ .. java:method:: public static void initServerProperties() throws IOException :outertype: CaosDBServer initShiro ^^^^^^^^^ .. java:method:: public static void initShiro() :outertype: CaosDBServer initShiro ^^^^^^^^^ .. java:method:: public static void initShiro(Ini config) :outertype: CaosDBServer initTimeZone ^^^^^^^^^^^^ .. java:method:: public static void initTimeZone() throws InterruptedException, IOException :outertype: CaosDBServer Precedence order: .. #. ServerProperty "TIMEZONE" #. JVM property "user.timezone" #. Environment variable "TZ" #. Output of posix' "date +%Z" :throws InterruptedException: :throws IOException: isDebugMode ^^^^^^^^^^^ .. java:method:: public static boolean isDebugMode() :outertype: CaosDBServer main ^^^^ .. java:method:: public static void main(String[] args) throws SecurityException, FileNotFoundException, IOException :outertype: CaosDBServer This main method starts up a web application that will listen on a port defined in the config file. :param args: One option temporarily (for testing) available: silent: If present: disable System.out-stream (stream to a NullPrintStream). This makes the response of the database amazingly faster. :throws IOException: :throws FileNotFoundException: :throws SecurityException: :throws Exception: If problems occur. scheduleJob ^^^^^^^^^^^ .. java:method:: public static void scheduleJob(JobDetail job, Trigger trigger) throws SchedulerException :outertype: CaosDBServer setProperty ^^^^^^^^^^^ .. java:method:: public static void setProperty(String key, String value) :outertype: CaosDBServer Set a server property to a new value. This might not have an immediate effect if classes did already read an older configuration and stick to that. :param key,: the server property. :param value,: the new value. useCache ^^^^^^^^ .. java:method:: public static boolean useCache() :outertype: CaosDBServer