2007-08-31 Jan-Oliver Wagner * README.txt: New. Some notes about OSAAS in general. * HowTo-Release.txt: New. Some notes on how to create a release. 2007-08-29 Bernhard Herzog * server/README.txt: Add section about stopping the server 2007-08-29 Bernhard Herzog * server/demo-config.xml: Change column type of responsetime to "timestamp with time zone" 2007-08-29 Bernhard Herzog * client/java/src/de/intevation/osaas/OSAASClient.java: Make sure the timestamps are in UTC 2007-08-29 Bernhard Herzog * server/adduser.py, server/initosaasdb.py, server/osaas/__init__.py, server/osaas/config.py, server/osaas/dbbackend.py, server/osaas/dbinit.py, server/osaas/formparser.py, server/osaas/http/httpserver.py, server/osaas/http/run.py, server/osaas/http/threadedserver.py, server/osaas/http/threadpool.py, server/osaas/pycompat.py, server/osaas/recordfilter.py, server/osaas/run.py, server/osaas/server.py, server/osaas/userdb.py, server/startosaas.py, server/test/runtests.py, server/test/serversupport.py, server/test/support.py, server/test/test_config.py, server/test/test_dbbackend.py, server/test/test_formparser.py, server/test/test_httpserver.py, server/test/test_osasserver.py, server/test/test_run.py, server/test/test_threadedserver.py, server/test/test_threadpool.py, server/test/test_userdb.py: Fix copyright notice. Refer to GPL.txt instead of COPYING. 2007-08-29 Bernhard Herzog * server/README.txt: New. Minimal documentation * server/demo-config.xml: Example configuration * server/GPL.txt: New copy of the GPL 2007-08-29 Bernhard Herzog * client/java/README.txt: Add note about the OWSProxy patch 2007-08-29 Bernhard Herzog * client/java/owsproxy/owsproxy.diff, client/java/owsproxy/README.txt: New. The deegree OWSProxy patch 2007-08-29 Bernhard Herzog * client/java/README.txt: Add license information * client/java/LGPL.txt: New. Copy of the LGPL * client/java/src/de/intevation/osaas/OSAASClient.java, client/java/src/de/intevation/osaas/Base64Encoder.java: Refer to LGPL.txt instead of LGPL 2007-08-28 Bernhard Herzog * client/java/src/de/intevation/osaas/OSAASClient.java, client/java/src/de/intevation/osaas/Base64Encoder.java, client/java/build.xml, client/java/README.txt: New. Java client implementation 2007-08-28 Bernhard Herzog * server/test/test_dbbackend.py (TestDBBackend.test_create_tables): Adapt test case * server/osaas/dbbackend.py (DBBackend.create_tables): Make the ID column a primary key 2007-08-28 Bernhard Herzog * server/osaas/run.py (OSAASServerProgram.instantiate_server): Use the logger httpserver.error.dbbackend instead of dbbackend 2007-08-28 Bernhard Herzog * server/osaas/run.py (OSAASServerProgram.instantiate_server): Create a logger for the database backend * server/osaas/formparser.py (parse_formdata): Add the raw formdata as a field to the record so that it can be used by the database backend when logging errors * server/osaas/dbbackend.py (DBBackend.__init__): Added parameter logger (DBBackend.log_debug, DBBackend.log_error): Added. (DBBackend.ensure_connection, DBBackend.handle_record): Produce log message * server/test/test_dbbackend.py (MockConnection.rollback): Added. (MockLogger): New class to test logging in the db backend (TestDBBackend.setUp): Create a logger (TestDBBackend.method_called, TestDBBackend.check_method_called): Provide a way for tests to simulate errors in database tests (TestDBBackend.test_create_tables) (TestDBBackend.test_handle_record): Pass the mock logger to the database backend and test the logs (TestDBBackend.test_handle_record_error) (TestDBBackend.test_create_tables_error): New. Test error handling 2007-08-28 Bernhard Herzog * server/osaas/dbinit.py, server/osaas/server.py, server/test/test_httpserver.py: Remove unused imports 2007-08-28 Bernhard Herzog * server/osaas/dbinit.py: New. Helper program to initialize the database according to the settings from the config file. * server/initosaasdb.py: New. Frontend for osaas.dbinit. 2007-08-28 Bernhard Herzog * server/osaas/run.py (OSAASServerProgram.instantiate_server): Instantiate the DBBackend and pass it to the server 2007-08-28 Bernhard Herzog * server/osaas/server.py (OSAASServer.__init__): Rename the dbhandler parameter to dbbackend. If a dbbackend object is passed in, use the backend's handle_record method in the dbthreadpool * server/test/test_osasserver.py (OSAASDBServerTests.handle_record): (OSAASDBServerTests.dbhandler): Renamed to handle_record (OSAASDBServerTests.create_server): pass self as the dbbackend to the server. 2007-08-28 Bernhard Herzog * server/osaas/config.py (read_database_rules): New function to read the database rules (read_config_file): Read the database rules and store then into opts.db-rules * server/test/test_config.py (TestConfigParsing_DBRules.config): Tests for reading the database rules from the config file 2007-08-28 Bernhard Herzog * server/osaas/dbbackend.py (DBField, Insertion, DBBackend): New classes implementing the backend. (dbhandler): Removed this dummy implementation * server/osaas/server.py (OSAASServer.__init__): Do not reference the removed dbhandler function anymore. * server/test/test_dbbackend.py: New. tests for the db backend 2007-08-28 Bernhard Herzog * server/osaas/run.py (OSAASProgramMixin.add_db_options): New method to add database options (OSAASServerProgram.create_option_parser): Call add_db_options * server/test/test_config.py (TestConfigParsing_DBConnection): New class with test for the db connection options 2007-08-28 Bernhard Herzog * server/osaas/run.py (OSAASServerProgram, OSAASProgramMixin): Split the configuration handling -- the read_config_file method and the optparse_option_class -- from OSAASServerProgram into the new mix-in class OSAASProgramMixin. 2007-08-28 Bernhard Herzog * server/osaas/formparser.py (Field.deserialize): New method to support non-string data types (DateField): New class for fields with date/time values (Record.set_fields): Deserialize the values of the fields (form_fields): Turn requesttime into a DateField. * server/test/test_formparser.py (FormParsingTests.test_convert_form_urlencoded), server/test/test_osasserver.py (OSAASDBServerTests.test_post_with_content) (OSAASDBServerTests.test_post_with_content_and_filtering): Adapt to datetime/requesttime changes 2007-08-28 Bernhard Herzog * server/osaas/config.py (find_xml_path, find_xml_path_node) (find_xml_path_text): Split find_xml_path into find_xml_path_node and find_xml_path_text. (read_config_file): Adapt to find_xml_path changes. 2007-08-27 Bernhard Herzog * server/osaas/http/run.py (OptionStack.__init__): New parameter for a list a list of option definitions. (ProgramWithOptions.parse_options): pass the option parser's option_list to the OptionStack instance * server/osaas/config.py (read_config_file): Work directly on the option stack instead of passing a list of option and a setter function * server/osaas/run.py (OSAASServerProgram.create_option_parser): Do not bind the parser to self. (OSAASServerProgram.read_config_file): Adapt to config.read_config_file changes. * server/test/test_run.py (TestOptionStack.test): Adapt to OptionStack changes 2007-08-27 Bernhard Herzog * server/startosaas.py: Add missing #! line 2007-08-27 Bernhard Herzog * server/osaas/http/run.py (ProgramWithOptions.read_config_file): Fix typo in doc-string 2007-08-27 Bernhard Herzog Rework where the default options are defined * server/osaas/http/run.py (ProgramWithOptions.create_option_parser) (ServerProgram.create_option_parser): Move most of the option definitions from ProgramWithOptions to the new create_option_parser method of ServerProgram where they make more sense. Only the config-file option remains in ProgramWithOptions (ServerProgram.default_port): New class variable to specify the default port. The default port no longer needs to be passed to various methods. (ProgramWithOptions.parse_options): Adapt to create_option_parser changes. (ServerProgram.main): Adapt to parse_options changes. * server/test/test_config.py (TestConfigParsing.test) (TestConfigParsing_MissingEntries.test) (TestConfigParsing_AmbiguousEntries.test): Adapt to parse_options changes. * server/test/test_run.py (TestProgramWithOptions.test_default_options) (TestProgramWithOptions.test_options) (TestProgramWithOptions.test_adding_options) (TestProgramWithOptions.test_adding_options) (TestProgramWithOptions.test_read_config_file_method) (TestProgramWithOptions.test_optparse_option_class): Adapt to changes in server/osaas/http/run.py 2007-08-27 Bernhard Herzog * ChangeLog: started ChangeLog