From 53db451d674c64da24da1c8af8760f0ad9298e10 Mon Sep 17 00:00:00 2001
From: Timm Fitschen <t.fitschen@indiscale.com>
Date: Mon, 24 Aug 2020 13:54:41 +0200
Subject: [PATCH] WIP: fix release

---
 makefile                                      |   4 +
 pom.xml                                       |   4 +-
 .../server/database/BackendTransaction.java   | 298 ------------------
 .../interfaces/InsertEntityDatatypeImpl.java  |   8 -
 .../java/{ => org}/caosdb/datetime/Date.java  |   4 +-
 .../caosdb/datetime/DateTimeFactory2.java     |   6 +-
 .../datetime/DateTimeFactoryInterface.java    |   2 +-
 .../caosdb/datetime/DateTimeInterface.java    |   4 +-
 .../caosdb/datetime/DateTimeLexer.g4          |   0
 .../caosdb/datetime/DateTimeParser.g4         |   0
 .../datetime/DateTimeStringStrategy.java      |   2 +-
 .../caosdb/datetime/FragmentDateTime.java     |   2 +-
 ...egorianCalendarDateTimeStringStrategy.java |   2 +-
 .../{ => org}/caosdb/datetime/Interval.java   |   2 +-
 .../LeapSecondDateTimeStringStrategy.java     |   2 +-
 .../caosdb/datetime/SemiCompleteDateTime.java |   4 +-
 .../caosdb/datetime/UTCDateTime.java          |   4 +-
 .../caosdb/datetime/UTCTimeZoneShift.java     |   2 +-
 .../caosdb/server/CaosAuthenticator.java      |  10 +-
 .../caosdb/server/CaosAuthorizer.java         |   6 +-
 .../caosdb/server/CaosDBException.java        |   2 +-
 .../{ => org}/caosdb/server/CaosDBServer.java |  94 +++---
 .../server/CaosDBServerConnectorHelper.java   |   2 +-
 .../{ => org}/caosdb/server/FileSystem.java   |  24 +-
 .../caosdb/server/HttpToHttpsRedirector.java  |   2 +-
 .../caosdb/server/ServerProperties.java       |   2 +-
 .../server/ServerPropertiesSerializer.java    |   4 +-
 .../server/accessControl/ACMPermissions.java  |   2 +-
 .../AnonymousAuthenticationToken.java         |   2 +-
 .../server/accessControl/AnonymousRealm.java  |   2 +-
 .../accessControl/AuthenticationUtils.java    |  14 +-
 .../accessControl/CaosDBAuthorizingRealm.java |   2 +-
 .../accessControl/CaosDBDefaultRealm.java     |   2 +-
 .../CaosDBRolePermissionResolver.java         |  12 +-
 .../caosdb/server/accessControl/Config.java   |   2 +-
 .../accessControl/ConsumedInfoCleanupJob.java |   4 +-
 .../accessControl/CredentialsValidator.java   |   2 +-
 .../accessControl/HashPasswordValidator.java  |   4 +-
 .../accessControl/InternalUserSource.java     |  10 +-
 .../caosdb/server/accessControl/Mode.java     |   2 +-
 .../OneTimeAuthenticationToken.java           |   6 +-
 .../OneTimeTokenConsumedInfo.java             |   2 +-
 .../accessControl/OneTimeTokenToFile.java     |   4 +-
 .../caosdb/server/accessControl/Pam.java      |   4 +-
 .../server/accessControl/PamScriptCaller.java |   2 +-
 .../server/accessControl/Principal.java       |   4 +-
 .../RealmUsernamePasswordToken.java           |   2 +-
 .../caosdb/server/accessControl/Role.java     |   2 +-
 .../SelfValidatingAuthenticationToken.java    |   4 +-
 .../server/accessControl/SessionToken.java    |   6 +-
 .../accessControl/SessionTokenRealm.java      |   2 +-
 .../server/accessControl/UserSource.java      |   2 +-
 .../server/accessControl/UserSources.java     |  16 +-
 .../server/accessControl/UserStatus.java      |   2 +-
 .../caosdb/server/caching/Cache.java          |   2 +-
 .../caosdb/server/caching/CacheHelper.java    |   2 +-
 .../caosdb/server/caching/JCSCacheHelper.java |   6 +-
 .../server/database/BackendTransaction.java   | 298 ++++++++++++++++++
 .../database/CacheableBackendTransaction.java |   4 +-
 .../server/database/ChainTransaction.java     |   4 +-
 .../caosdb/server/database/Database.java      |   2 +-
 .../server/database/DatabaseMonitor.java      |  32 +-
 .../caosdb/server/database/DatabaseUtils.java |  34 +-
 .../database/access/AbstractAccess.java       |   8 +-
 .../caosdb/server/database/access/Access.java |   4 +-
 .../database/access/AccessControlAccess.java  |   4 +-
 .../server/database/access/InfoAccess.java    |   4 +-
 .../server/database/access/InitAccess.java    |   4 +-
 .../database/access/TransactionAccess.java    |   6 +-
 .../MySQL/ConnectionException.java            |   2 +-
 .../MySQL/DatabaseConnectionPool.java         |   8 +-
 .../MySQL/MySQLDeleteEntityProperties.java    |  10 +-
 .../MySQL/MySQLDeletePassword.java            |  10 +-
 .../implementation/MySQL/MySQLDeleteRole.java |   8 +-
 .../MySQL/MySQLDeleteSparseEntity.java        |  10 +-
 .../implementation/MySQL/MySQLDeleteUser.java |   8 +-
 .../MySQL/MySQLGetAllNames.java               |  12 +-
 .../MySQL/MySQLGetChildren.java               |   8 +-
 .../MySQL/MySQLGetDependentEntities.java      |   8 +-
 .../MySQL/MySQLGetFileRecordByPath.java       |  10 +-
 .../MySQL/MySQLGetIDByName.java               |   8 +-
 .../implementation/MySQL/MySQLGetInfo.java    |  10 +-
 .../MySQL/MySQLGetUpdateableChecksums.java    |   8 +-
 .../implementation/MySQL/MySQLHelper.java     |  12 +-
 .../MySQL/MySQLInsertEntityDatatype.java      |  12 +-
 .../MySQL/MySQLInsertEntityProperties.java    |  14 +-
 .../MySQL/MySQLInsertLinCon.java              |  10 +-
 .../MySQL/MySQLInsertLogRecord.java           |   8 +-
 .../MySQL/MySQLInsertParents.java             |   8 +-
 .../implementation/MySQL/MySQLInsertRole.java |  10 +-
 .../MySQL/MySQLInsertSparseEntity.java        |  14 +-
 .../MySQL/MySQLInsertTransactionHistory.java  |   8 +-
 .../implementation/MySQL/MySQLIsSubType.java  |   8 +-
 .../MySQL/MySQLRegisterSubDomain.java         |   8 +-
 .../MySQL/MySQLRetrieveAll.java               |  10 +-
 .../MySQL/MySQLRetrieveAllUncheckedFiles.java |  10 +-
 .../MySQL/MySQLRetrieveDatatypes.java         |  12 +-
 .../MySQL/MySQLRetrieveLogRecord.java         |   8 +-
 .../MySQL/MySQLRetrieveParents.java           |  12 +-
 .../MySQL/MySQLRetrievePasswordValidator.java |  14 +-
 .../MySQL/MySQLRetrievePermissionRules.java   |  10 +-
 .../MySQL/MySQLRetrieveProperties.java        |  16 +-
 .../MySQLRetrieveQueryTemplateDefinition.java |   8 +-
 .../MySQL/MySQLRetrieveRole.java              |  10 +-
 .../MySQL/MySQLRetrieveSparseEntity.java      |  12 +-
 .../MySQLRetrieveTransactionHistory.java      |  12 +-
 .../MySQL/MySQLRetrieveUser.java              |  16 +-
 .../MySQL/MySQLRetrieveVersionHistory.java    |  12 +-
 .../implementation/MySQL/MySQLRuleLoader.java |  14 +-
 .../MySQLSetFileCheckedTimestampImpl.java     |   8 +-
 .../MySQL/MySQLSetPassword.java               |  10 +-
 .../MySQL/MySQLSetPermissionRules.java        |  10 +-
 .../MySQLSetQueryTemplateDefinition.java      |   8 +-
 .../implementation/MySQL/MySQLSyncStats.java  |  10 +-
 .../MySQL/MySQLTransaction.java               |  10 +-
 .../MySQL/MySQLUpdateSparseEntity.java        |  14 +-
 .../implementation/MySQL/MySQLUpdateUser.java |  10 +-
 .../MySQL/MySQLUpdateUserRoles.java           |   8 +-
 .../UnixFileSystemCheckHash.java              |  12 +-
 .../UnixFileSystemCheckSize.java              |  10 +-
 .../UnixFileSystemFileExists.java             |  10 +-
 .../UnixFileSystemFileWasModifiedAfter.java   |  10 +-
 .../UnixFileSystemGetFileIterator.java        |  12 +-
 .../UnixFileSystem/UnixFileSystemHelper.java  |   6 +-
 .../UnixFileSystemTransaction.java            |  14 +-
 .../interfaces/BackendTransactionImpl.java    |   4 +-
 .../DeleteEntityPropertiesImpl.java           |   6 +-
 .../interfaces/DeletePasswordImpl.java        |   4 +-
 .../backend/interfaces/DeleteRoleImpl.java    |   4 +-
 .../interfaces/DeleteSparseEntityImpl.java    |   6 +-
 .../backend/interfaces/DeleteUserImpl.java    |   4 +-
 .../backend/interfaces/FileCheckHash.java     |   6 +-
 .../backend/interfaces/FileCheckSize.java     |   4 +-
 .../backend/interfaces/FileExists.java        |   4 +-
 .../interfaces/FileWasModifiedAfter.java      |   4 +-
 .../backend/interfaces/GetAllNamesImpl.java   |   4 +-
 .../backend/interfaces/GetChildrenImpl.java   |   4 +-
 .../interfaces/GetDependentEntitiesImpl.java  |   4 +-
 .../interfaces/GetFileIteratorImpl.java       |   4 +-
 .../interfaces/GetFileRecordByPathImpl.java   |   6 +-
 .../backend/interfaces/GetIDByNameImpl.java   |   4 +-
 .../backend/interfaces/GetInfoImpl.java       |   6 +-
 .../GetUpdateableChecksumsImpl.java           |   4 +-
 .../interfaces/InsertEntityDatatypeImpl.java  |   8 +
 .../InsertEntityPropertiesImpl.java           |  10 +-
 .../backend/interfaces/InsertLinConImpl.java  |   8 +-
 .../interfaces/InsertLogRecordImpl.java       |   4 +-
 .../backend/interfaces/InsertParentsImpl.java |   6 +-
 .../backend/interfaces/InsertRoleImpl.java    |   6 +-
 .../interfaces/InsertSparseEntityImpl.java    |   6 +-
 .../InsertTransactionHistoryImpl.java         |   6 +-
 .../backend/interfaces/IsSubTypeImpl.java     |   4 +-
 .../interfaces/RegisterSubDomainImpl.java     |   4 +-
 .../backend/interfaces/RetrieveAllImpl.java   |   4 +-
 .../RetrieveAllUncheckedFilesImpl.java        |   6 +-
 .../interfaces/RetrieveDatatypesImpl.java     |   6 +-
 .../interfaces/RetrieveLogRecordImpl.java     |   4 +-
 .../interfaces/RetrieveParentsImpl.java       |   6 +-
 .../RetrievePasswordValidatorImpl.java        |   6 +-
 .../RetrievePermissionRulesImpl.java          |   6 +-
 .../interfaces/RetrievePropertiesImpl.java    |   6 +-
 .../RetrieveQueryTemplateDefinitionImpl.java  |   2 +-
 .../backend/interfaces/RetrieveRoleImpl.java  |   6 +-
 .../interfaces/RetrieveSparseEntityImpl.java  |   6 +-
 .../RetrieveTransactionHistoryImpl.java       |   6 +-
 .../backend/interfaces/RetrieveUserImpl.java  |   8 +-
 .../RetrieveVersionHistoryImpl.java           |   4 +-
 .../backend/interfaces/RuleLoaderImpl.java    |   6 +-
 .../SetFileCheckedTimestampImpl.java          |   4 +-
 .../backend/interfaces/SetPasswordImpl.java   |   4 +-
 .../interfaces/SetPermissionRulesImpl.java    |   6 +-
 .../SetQueryTemplateDefinitionImpl.java       |   2 +-
 .../backend/interfaces/SyncStatsImpl.java     |   6 +-
 .../interfaces/UpdateSparseEntityImpl.java    |   8 +-
 .../backend/interfaces/UpdateUserImpl.java    |   6 +-
 .../interfaces/UpdateUserRolesImpl.java       |   4 +-
 .../backend/transaction/DeleteEntity.java     |  10 +-
 .../transaction/DeleteEntityProperties.java   |  14 +-
 .../backend/transaction/DeleteFile.java       |  12 +-
 .../backend/transaction/DeletePassword.java   |   8 +-
 .../backend/transaction/DeleteRole.java       |   8 +-
 .../transaction/DeleteSparseEntity.java       |  14 +-
 .../backend/transaction/DeleteUser.java       |  10 +-
 .../transaction/FileConsistencyCheck.java     |  16 +-
 .../backend/transaction/GetAllNames.java      |  12 +-
 .../backend/transaction/GetChildren.java      |   8 +-
 .../transaction/GetDependentEntities.java     |   8 +-
 .../backend/transaction/GetFileIterator.java  |   8 +-
 .../transaction/GetFileRecordByPath.java      |  14 +-
 .../backend/transaction/GetIDByName.java      |  12 +-
 .../database/backend/transaction/GetInfo.java |  10 +-
 .../transaction/GetUpdateableChecksums.java   |   8 +-
 .../backend/transaction/InsertEntity.java     |  10 +-
 .../transaction/InsertEntityDatatype.java     |  14 +-
 .../transaction/InsertEntityProperties.java   |  32 +-
 .../transaction/InsertEntityValue.java        |  16 +-
 .../backend/transaction/InsertFile.java       |  12 +-
 .../backend/transaction/InsertLinCon.java     |  10 +-
 .../backend/transaction/InsertLogRecord.java  |   8 +-
 .../backend/transaction/InsertParents.java    |  12 +-
 .../backend/transaction/InsertRole.java       |  10 +-
 .../transaction/InsertSparseEntity.java       |  20 +-
 .../transaction/InsertTransactionHistory.java |  16 +-
 .../backend/transaction/IsSubType.java        |   8 +-
 .../transaction/RegisterSubDomain.java        |   8 +-
 .../backend/transaction/RetrieveAll.java      |  12 +-
 .../RetrieveAllUncheckedFiles.java            |  10 +-
 .../transaction/RetrieveDatatypes.java        |  18 +-
 .../transaction/RetrieveFullEntity.java       |  28 +-
 .../transaction/RetrieveLogRecord.java        |   8 +-
 .../backend/transaction/RetrieveParents.java  |  16 +-
 .../RetrievePasswordValidator.java            |  10 +-
 .../transaction/RetrievePermissionRules.java  |  12 +-
 .../transaction/RetrieveProperties.java       |  20 +-
 .../RetrieveQueryTemplateDefinition.java      |  10 +-
 .../backend/transaction/RetrieveRole.java     |  12 +-
 .../transaction/RetrieveSparseEntity.java     |  20 +-
 .../RetrieveTransactionHistory.java           |  16 +-
 .../backend/transaction/RetrieveUser.java     |  14 +-
 .../transaction/RetrieveVersionHistory.java   |  12 +-
 .../transaction/RetrieveVersionInfo.java      |  12 +-
 .../backend/transaction/RuleLoader.java       |  20 +-
 .../transaction/SetFileCheckedTimestamp.java  |   8 +-
 .../backend/transaction/SetPassword.java      |   8 +-
 .../transaction/SetPermissionRules.java       |  10 +-
 .../SetQueryTemplateDefinition.java           |  10 +-
 .../backend/transaction/SyncStats.java        |  10 +-
 .../backend/transaction/UpdateEntity.java     |  12 +-
 .../transaction/UpdateSparseEntity.java       |  16 +-
 .../backend/transaction/UpdateUser.java       |  12 +-
 .../backend/transaction/UpdateUserRoles.java  |  10 +-
 .../EntityDoesNotExistException.java          |   2 +-
 .../EntityWasNotUniqueException.java          |   2 +-
 .../exceptions/IntegrityException.java        |   2 +-
 .../exceptions/RolledBackException.java       |   2 +-
 .../exceptions/TransactionException.java      |   2 +-
 .../caosdb/server/database/misc/DBHelper.java |   4 +-
 .../server/database/misc/RollBackHandler.java |   6 +-
 .../database/misc/TransactionBenchmark.java   |  12 +-
 .../server/database/proto/FlatProperty.java   |   2 +-
 .../caosdb/server/database/proto/LinCon.java  |   2 +-
 .../server/database/proto/ProtoGroup.java     |   2 +-
 .../server/database/proto/ProtoInfo.java      |   2 +-
 .../server/database/proto/ProtoProperty.java  |   2 +-
 .../proto/ProtoTransactionLogMessage.java     |   2 +-
 .../server/database/proto/ProtoUser.java      |   4 +-
 .../caosdb/server/database/proto/Rule.java    |   4 +-
 .../server/database/proto/SparseEntity.java   |   2 +-
 .../database/proto/VersionHistoryItem.java    |   2 +-
 .../database/proto/VerySparseEntity.java      |   2 +-
 .../datatype/AbstractCollectionDatatype.java  |   2 +-
 .../server/datatype/AbstractDatatype.java     |   8 +-
 .../server/datatype/AbstractEnumValue.java    |   4 +-
 .../server/datatype/BooleanDatatype.java      |   6 +-
 .../caosdb/server/datatype/BooleanValue.java  |   2 +-
 .../caosdb/server/datatype/CaosEnum.java      |   2 +-
 .../datatype/CollectionDatatypeFactory.java   |   2 +-
 .../server/datatype/CollectionValue.java      |   2 +-
 .../server/datatype/DatatypeDefinition.java   |   2 +-
 .../server/datatype/DateTimeDatatype.java     |  14 +-
 .../server/datatype/DoubleDatatype.java       |   6 +-
 .../caosdb/server/datatype/FileDatatype.java  |   2 +-
 .../caosdb/server/datatype/GenericValue.java  |   4 +-
 .../server/datatype/IndexedSingleValue.java   |   4 +-
 .../server/datatype/IntegerDatatype.java      |   6 +-
 .../caosdb/server/datatype/ListDatatype.java  |   4 +-
 .../server/datatype/ListDatatypeFactory.java  |   2 +-
 .../server/datatype/ReferenceDatatype.java    |   4 +-
 .../server/datatype/ReferenceDatatype2.java   |   6 +-
 .../server/datatype/ReferenceValue.java       |  10 +-
 .../server/datatype/SQLiteDatatype.java       |   2 +-
 .../caosdb/server/datatype/SingleValue.java   |   2 +-
 .../caosdb/server/datatype/TextDatatype.java  |   4 +-
 .../caosdb/server/datatype/Value.java         |   2 +-
 .../caosdb/server/entity/Affiliation.java     |   2 +-
 .../caosdb/server/entity/DeleteEntity.java    |   2 +-
 .../caosdb/server/entity/Entity.java          |  56 ++--
 .../caosdb/server/entity/EntityInterface.java |  36 +--
 .../caosdb/server/entity/FileProperties.java  |  16 +-
 .../caosdb/server/entity/InsertEntity.java    |   2 +-
 .../caosdb/server/entity/MagicTypes.java      |   6 +-
 .../caosdb/server/entity/Message.java         |   4 +-
 .../server/entity/NoSuchRoleException.java    |   2 +-
 .../caosdb/server/entity/RetrieveEntity.java  |   2 +-
 .../{ => org}/caosdb/server/entity/Role.java  |  12 +-
 .../caosdb/server/entity/StatementStatus.java |   2 +-
 .../server/entity/TransactionEntity.java      |  10 +-
 .../caosdb/server/entity/UpdateEntity.java    |   4 +-
 .../caosdb/server/entity/ValidEntity.java     |   2 +-
 .../caosdb/server/entity/Version.java         |   4 +-
 .../caosdb/server/entity/WritableEntity.java  |   2 +-
 .../caosdb/server/entity/WriteEntity.java     |   2 +-
 .../server/entity/container/Container.java    |   4 +-
 .../entity/container/DeleteContainer.java     |   4 +-
 .../entity/container/EntityByIdContainer.java |   2 +-
 .../entity/container/InsertContainer.java     |   4 +-
 .../entity/container/ParentContainer.java     |  22 +-
 .../entity/container/PropertyContainer.java   |  22 +-
 .../entity/container/RetrieveContainer.java   |   4 +-
 .../container/TransactionContainer.java       |  18 +-
 .../entity/container/UpdateContainer.java     |   4 +-
 .../entity/container/WritableContainer.java   |   4 +-
 .../caosdb/server/entity/wrapper/Domain.java  |  16 +-
 .../server/entity/wrapper/EntityWrapper.java  |  46 +--
 .../caosdb/server/entity/wrapper/Parent.java  |  10 +-
 .../server/entity/wrapper/Property.java       |  12 +-
 .../entity/xml/DomainToElementStrategy.java   |   4 +-
 .../entity/xml/EntityToElementStrategy.java   |  12 +-
 .../entity/xml/FileToElementStrategy.java     |   4 +-
 .../entity/xml/ParentToElementStrategy.java   |   8 +-
 .../entity/xml/PropertyToElementStrategy.java |  10 +-
 .../server/entity/xml/SetFieldStrategy.java   |   8 +-
 .../server/entity/xml/ToElementStrategy.java  |   4 +-
 .../server/entity/xml/ToElementable.java      |   2 +-
 .../entity/xml/VersionXMLSerializer.java      |   4 +-
 .../caosdb/server/jobs/ContainerJob.java      |   8 +-
 .../caosdb/server/jobs/EntityJob.java         |   4 +-
 .../caosdb/server/jobs/FilesJob.java          |   4 +-
 .../{ => org}/caosdb/server/jobs/FlagJob.java |   2 +-
 .../{ => org}/caosdb/server/jobs/Job.java     |  48 +--
 .../caosdb/server/jobs/JobAnnotation.java     |   4 +-
 .../caosdb/server/jobs/JobExecutionTime.java  |   2 +-
 .../caosdb/server/jobs/JobTarget.java         |   2 +-
 .../caosdb/server/jobs/Schedule.java          |   4 +-
 .../server/jobs/core/AccessControl.java       |  20 +-
 .../caosdb/server/jobs/core/Atomic.java       |  20 +-
 .../core/CheckChildDependencyExistent.java    |  12 +-
 .../jobs/core/CheckDatatypePresent.java       |  30 +-
 .../server/jobs/core/CheckDescPresent.java    |   8 +-
 .../server/jobs/core/CheckEntityACLRoles.java |  22 +-
 .../core/CheckFileStorageConsistency.java     |  32 +-
 .../server/jobs/core/CheckNamePresent.java    |   8 +-
 .../CheckNoAdditionalPropertiesPresent.java   |  16 +-
 .../jobs/core/CheckNoOverridesPresent.java    |  12 +-
 .../jobs/core/CheckParOblPropPresent.java     |  14 +-
 .../server/jobs/core/CheckParPresent.java     |   8 +-
 .../server/jobs/core/CheckParValid.java       |  28 +-
 .../server/jobs/core/CheckPropPresent.java    |   8 +-
 .../server/jobs/core/CheckPropValid.java      |  26 +-
 .../server/jobs/core/CheckQueryTemplate.java  |  16 +-
 .../CheckReferenceDependencyExistent.java     |  12 +-
 .../jobs/core/CheckRefidIsaParRefid.java      |  34 +-
 .../server/jobs/core/CheckRefidPresent.java   |   4 +-
 .../server/jobs/core/CheckRefidValid.java     |  34 +-
 .../jobs/core/CheckTargetPathValid.java       |  14 +-
 .../server/jobs/core/CheckUnitPresent.java    |  12 +-
 .../server/jobs/core/CheckValueParsable.java  |  14 +-
 .../caosdb/server/jobs/core/DebugCalls.java   |  10 +-
 .../caosdb/server/jobs/core/ExecuteQuery.java |  18 +-
 .../caosdb/server/jobs/core/History.java      |  18 +-
 .../caosdb/server/jobs/core/Inheritance.java  |  22 +-
 .../server/jobs/core/InsertFilesInDir.java    |  44 +--
 .../jobs/core/LoadContainerFlagJobs.java      |  12 +-
 .../server/jobs/core/MatchFileProp.java       |  12 +-
 .../caosdb/server/jobs/core/Mode.java         |   2 +-
 .../caosdb/server/jobs/core/NoCache.java      |   8 +-
 .../caosdb/server/jobs/core/Paging.java       |  14 +-
 .../caosdb/server/jobs/core/ParseUnit.java    |  20 +-
 .../caosdb/server/jobs/core/PickUp.java       |  22 +-
 .../jobs/core/ProcessNameProperties.java      |  20 +-
 .../server/jobs/core/RemoveDuplicates.java    |   6 +-
 .../caosdb/server/jobs/core/ResolveNames.java |  18 +-
 .../caosdb/server/jobs/core/RetrieveACL.java  |  20 +-
 .../server/jobs/core/RetrieveAllJob.java      |  10 +-
 .../server/jobs/core/RetrieveIdOnlyFlag.java  |  12 +-
 .../server/jobs/core/RetrieveOwner.java       |  22 +-
 .../server/jobs/core/RetriveAllNames.java     |  16 +-
 .../caosdb/server/jobs/core/SetImpToFix.java  |   8 +-
 .../jobs/core/SetImpToRecByDefault.java       |   8 +-
 .../caosdb/server/jobs/core/Strict.java       |  18 +-
 .../caosdb/server/jobs/core/TestMail.java     |  20 +-
 .../caosdb/server/jobs/core/UniqueName.java   |  16 +-
 .../jobs/core/UpdateUnitConverters.java       |  16 +-
 .../logging/RequestErrorLogMessage.java       |   4 +-
 .../log4j/CustomConfigurationFactory.java     |   2 +-
 .../permissions/AbstractEntityACLFactory.java |   2 +-
 .../server/permissions/CaosPermission.java    |   2 +-
 .../caosdb/server/permissions/EntityACI.java  |   2 +-
 .../caosdb/server/permissions/EntityACL.java  |  16 +-
 .../server/permissions/EntityACLFactory.java  |   2 +-
 .../server/permissions/EntityPermission.java  |   6 +-
 .../caosdb/server/permissions/Permission.java |   2 +-
 .../server/permissions/PermissionRule.java    |   2 +-
 .../server/permissions/ResponsibleAgent.java  |   2 +-
 .../caosdb/server/permissions/Role.java       |   2 +-
 .../caosdb/server/query/Backreference.java    |  12 +-
 .../{ => org}/caosdb/server/query/CQLLexer.g4 |   0
 .../caosdb/server/query/CQLParser.g4          |   0
 .../server/query/CQLParsingErrorListener.java |   2 +-
 .../caosdb/server/query/Conjunction.java      |   8 +-
 .../caosdb/server/query/Disjunction.java      |   8 +-
 .../server/query/EntityFilterContainer.java   |   2 +-
 .../server/query/EntityFilterInterface.java   |   4 +-
 .../caosdb/server/query/IDFilter.java         |   4 +-
 .../caosdb/server/query/Negation.java         |   8 +-
 .../{ => org}/caosdb/server/query/POV.java    |  18 +-
 .../{ => org}/caosdb/server/query/Query.java  |  50 +--
 .../caosdb/server/query/QueryInterface.java   |   4 +-
 .../caosdb/server/query/RoleFilter.java       |   6 +-
 .../caosdb/server/query/StoredAt.java         |   4 +-
 .../caosdb/server/query/SubProperty.java      |   8 +-
 .../server/query/TransactionFilter.java       |  20 +-
 .../{ => org}/caosdb/server/query/Utils.java  |   2 +-
 .../AbstractCaosDBServerResource.java         |  16 +-
 .../resource/AuthenticationResource.java      |  20 +-
 .../server/resource/DefaultResource.java      |   6 +-
 .../server/resource/EntityOwnerResource.java  |  10 +-
 .../resource/EntityPermissionsResource.java   |  10 +-
 .../server/resource/FileSystemResource.java   |  32 +-
 .../caosdb/server/resource/InfoResource.java  |  12 +-
 .../server/resource/JdomRepresentation.java   |   6 +-
 .../server/resource/LogoutResource.java       |   6 +-
 .../resource/PermissionRulesResource.java     |  18 +-
 .../resource/ReReadableRepresentation.java    |   2 +-
 .../caosdb/server/resource/RolesResource.java |  24 +-
 .../server/resource/ScriptingResource.java    |  28 +-
 .../server/resource/ServerLogsResource.java   |   8 +-
 .../resource/ServerPropertiesResource.java    |   8 +-
 .../server/resource/SharedFileResource.java   |  10 +-
 .../server/resource/ThumbnailsResource.java   |   8 +-
 .../caosdb/server/resource/UserResource.java  |  30 +-
 .../server/resource/UserRolesResource.java    |  18 +-
 .../caosdb/server/resource/Webinterface.java  |   8 +-
 .../resource/WebinterfaceBuildNumber.java     |   4 +-
 .../transaction/EntityNamesResource.java      |   8 +-
 .../resource/transaction/EntityResource.java  |  36 +--
 .../handlers/FileUploadHandler.java           |  12 +-
 .../handlers/GetNamesRequestHandler.java      |   6 +-
 .../transaction/handlers/RequestHandler.java  |   6 +-
 ...etrieveGlobalEntityPermissionsHandler.java |   8 +-
 .../handlers/RetriveOwnerRequestHandler.java  |   8 +-
 .../handlers/SimpleDeleteRequestHandler.java  |   6 +-
 .../handlers/SimpleGetRequestHandler.java     |   6 +-
 .../handlers/SimpleWriteHandler.java          |   6 +-
 .../server/scripting/CallerSerializer.java    |   6 +-
 .../scripting/ScriptingPermissions.java       |   2 +-
 .../server/scripting/ScriptingUtils.java      |  14 +-
 .../scripting/ServerSideScriptingCaller.java  |  20 +-
 .../server/scripting/TimeoutException.java    |   2 +-
 .../server/scripting/TimeoutProcess.java      |   2 +-
 .../server/terminal/CaosDBTerminal.java       |   2 +-
 .../server/terminal/DatabaseAccessPanel.java  |   8 +-
 .../caosdb/server/terminal/EntitiesPanel.java |   4 +-
 .../caosdb/server/terminal/MainWindow.java    |   4 +-
 .../server/terminal/OutputStreamPanel.java    |   2 +-
 .../caosdb/server/terminal/StatComponent.java |   2 +-
 .../caosdb/server/terminal/StatLabel.java     |   6 +-
 .../caosdb/server/terminal/StatTable.java     |   2 +-
 .../caosdb/server/terminal/StatsPanel.java    |   2 +-
 .../server/terminal/SystemErrPanel.java       |   2 +-
 .../server/terminal/SystemOutPanel.java       |   2 +-
 .../transaction/AccessControlTransaction.java |  10 +-
 .../server/transaction/ChecksumUpdater.java   |  28 +-
 .../caosdb/server/transaction/Delete.java     |  22 +-
 .../transaction/DeleteRoleTransaction.java    |  12 +-
 .../transaction/DeleteUserTransaction.java    |  20 +-
 .../FileStorageConsistencyCheck.java          |  30 +-
 .../caosdb/server/transaction/Insert.java     |  22 +-
 .../InsertLogRecordTransaction.java           |   8 +-
 .../transaction/InsertRoleTransaction.java    |  12 +-
 .../transaction/InsertUserTransaction.java    |  20 +-
 .../caosdb/server/transaction/Retrieve.java   |  30 +-
 .../RetrieveLogRecordTransaction.java         |  10 +-
 .../RetrievePasswordValidatorTransaction.java |   8 +-
 .../RetrievePermissionRulesTransaction.java   |  10 +-
 .../transaction/RetrieveRoleTransaction.java  |   8 +-
 .../RetrieveSparseEntityByPath.java           |  10 +-
 .../RetrieveUserRolesTransaction.java         |   8 +-
 .../transaction/RetrieveUserTransaction.java  |  14 +-
 .../server/transaction/Transaction.java       |  48 +--
 .../transaction/TransactionInterface.java     |  10 +-
 .../caosdb/server/transaction/Update.java     |  36 +--
 .../UpdatePermissionRulesTransaction.java     |  12 +-
 .../transaction/UpdateRoleTransaction.java    |  14 +-
 .../UpdateUserRolesTransaction.java           |  14 +-
 .../transaction/UpdateUserTransaction.java    |  32 +-
 .../server/transaction/WriteTransaction.java  |   8 +-
 .../server/utils/AbstractObservable.java      |   2 +-
 .../server/utils/AsynchronousHasher.java      |   1 +
 .../server/utils/ConfigurationException.java  |   2 +-
 .../caosdb/server/utils/CronJob.java          |   4 +-
 .../caosdb/server/utils/EntityStatus.java     |   2 +-
 .../caosdb/server/utils/FileUtils.java        |  14 +-
 .../caosdb/server/utils/FlagInfo.java         |  10 +-
 .../caosdb/server/utils/HashAlgorithm.java    |   2 +-
 .../caosdb/server/utils/HashException.java    |   4 +-
 .../server/utils/HashNotReadyException.java   |   2 +-
 .../server/utils/HashTimeoutException.java    |   2 +-
 .../{ => org}/caosdb/server/utils/Hasher.java |   2 +-
 .../{ => org}/caosdb/server/utils/Info.java   |  24 +-
 .../caosdb/server/utils/Initialization.java   |   8 +-
 .../caosdb/server/utils/NullPrintStream.java  |   2 +-
 .../caosdb/server/utils/Observable.java       |   2 +-
 .../server/utils/ObservableWrapper.java       |   1 +
 .../caosdb/server/utils/Observer.java         |   2 +-
 .../caosdb/server/utils/Releasable.java       |   2 +-
 .../{ => org}/caosdb/server/utils/SHA512.java |   2 +-
 .../caosdb/server/utils/Serializer.java       |   2 +-
 .../caosdb/server/utils/ServerMessages.java   |  10 +-
 .../caosdb/server/utils/ServerStat.java       |   2 +-
 .../server/utils/TransactionLogMessage.java   |   6 +-
 .../server/utils/UncloseableOutputStream.java |   2 +-
 .../caosdb/server/utils/UndoHandler.java      |   2 +-
 .../caosdb/server/utils/Undoable.java         |   2 +-
 .../{ => org}/caosdb/server/utils/Utils.java  |   4 +-
 .../server/utils/WebinterfaceUtils.java       |  10 +-
 .../utils/fsm/ActionNotAllowedException.java  |   2 +-
 .../server/utils/fsm/FiniteStateMachine.java  |   2 +-
 .../fsm/MissingImplementationException.java   |   2 +-
 .../caosdb/server/utils/fsm/State.java        |   2 +-
 .../utils/fsm/StateNotReachableException.java |   2 +-
 .../utils/fsm/StrategyFiniteStateMachine.java |   2 +-
 .../caosdb/server/utils/fsm/Transition.java   |   2 +-
 .../fsm/TransitionNotAllowedException.java    |   2 +-
 .../caosdb/server/utils/mail/Mail.java        |   6 +-
 .../server/utils/mail/MailFormatter.java      |   2 +-
 .../caosdb/server/utils/mail/MailHandler.java |   2 +-
 .../caosdb/server/utils/mail/Mailable.java    |   2 +-
 .../server/utils/mail/SendMailHandler.java    |   2 +-
 .../utils/mail/SimpleMailFormatter.java       |   2 +-
 .../server/utils/mail/ToFileHandler.java      |   6 +-
 .../caosdb/unit/CaosDBSystemOfUnits.java      |   2 +-
 .../java/{ => org}/caosdb/unit/Converter.java |   2 +-
 .../caosdb/unit/LinearConverter.java          |   2 +-
 src/main/java/{ => org}/caosdb/unit/Unit.java |   2 +-
 .../{ => org}/caosdb/unit/UnknownUnit.java    |   2 +-
 .../caosdb/unit/WrappedConverter.java         |   2 +-
 .../caosdb/unit/WrappedLinearConverter.java   |   2 +-
 .../{ => org}/caosdb/unit/WrappedUnit.java    |   2 +-
 .../{ => org}/caosdb/CaosDBTestClass.java     |   2 +-
 .../caosdb/datetime/DateTimeTest.java         |   6 +-
 .../java/{ => org}/caosdb/server/Misc.java    |   8 +-
 .../TestDefaultPamScriptCaller.java           |   2 +-
 .../server/authentication/AuthTokenTest.java  |  40 +--
 .../caosdb/server/caching/TestCaching.java    |   8 +-
 .../caosdb/server/caching/TestNoCaching.java  |   8 +-
 .../server/database/DatabaseMonitorTest.java  |   2 +-
 .../caosdb/server/database/InsertTest.java    |  22 +-
 .../transaction/RetrieveFullEntityTest.java   |  14 +-
 .../backend/transactions/TestGetAllNames.java |  18 +-
 .../caosdb/server/datatype/testBoolean.java   |   8 +-
 .../caosdb/server/entity/SelectionTest.java   |  10 +-
 .../container/PropertyContainerTest.java      |  16 +-
 .../xml/PropertyToElementStrategyTest.java    |  16 +-
 .../caosdb/server/jobs/ScheduleTest.java      |   2 +-
 .../jobs/core/TestInsertFilesInDir.java       |   2 +-
 .../caosdb/server/logging/TestLogging.java    |   4 +-
 .../server/permissions/EntityACLTest.java     |  36 +--
 .../caosdb/server/query/TestCQL.java          |  18 +-
 .../resource/FileSystemResourceTest.java      |   2 +-
 .../TestAbstractCaosDBServerResource.java     |  30 +-
 .../resource/TestScriptingResource.java       |  42 +--
 .../resource/TestSharedFileResource.java      |  12 +-
 .../TestServerSideScriptingCaller.java        |  16 +-
 .../caosdb/server/transaction/UpdateTest.java |  20 +-
 .../caosdb/server/utils/FileUtilsTest.java    |  26 +-
 .../caosdb/server/utils/UtilsTest.java        |   2 +-
 .../server/utils/WebinterfaceUtilsTest.java   |   6 +-
 .../utils/fsm/TestFiniteStateMachine.java     |   2 +-
 .../fsm/TestStrategyFiniteStateMachine.java   |   2 +-
 .../caosdb/server/utils/mail/TestMail.java    |   8 +-
 561 files changed, 2867 insertions(+), 2861 deletions(-)
 delete mode 100644 src/main/java/caosdb/server/database/BackendTransaction.java
 delete mode 100644 src/main/java/caosdb/server/database/backend/interfaces/InsertEntityDatatypeImpl.java
 rename src/main/java/{ => org}/caosdb/datetime/Date.java (96%)
 rename src/main/java/{ => org}/caosdb/datetime/DateTimeFactory2.java (97%)
 rename src/main/java/{ => org}/caosdb/datetime/DateTimeFactoryInterface.java (98%)
 rename src/main/java/{ => org}/caosdb/datetime/DateTimeInterface.java (93%)
 rename src/main/java/{ => org}/caosdb/datetime/DateTimeLexer.g4 (100%)
 rename src/main/java/{ => org}/caosdb/datetime/DateTimeParser.g4 (100%)
 rename src/main/java/{ => org}/caosdb/datetime/DateTimeStringStrategy.java (97%)
 rename src/main/java/{ => org}/caosdb/datetime/FragmentDateTime.java (98%)
 rename src/main/java/{ => org}/caosdb/datetime/GregorianCalendarDateTimeStringStrategy.java (98%)
 rename src/main/java/{ => org}/caosdb/datetime/Interval.java (97%)
 rename src/main/java/{ => org}/caosdb/datetime/LeapSecondDateTimeStringStrategy.java (98%)
 rename src/main/java/{ => org}/caosdb/datetime/SemiCompleteDateTime.java (98%)
 rename src/main/java/{ => org}/caosdb/datetime/UTCDateTime.java (99%)
 rename src/main/java/{ => org}/caosdb/datetime/UTCTimeZoneShift.java (99%)
 rename src/main/java/{ => org}/caosdb/server/CaosAuthenticator.java (91%)
 rename src/main/java/{ => org}/caosdb/server/CaosAuthorizer.java (92%)
 rename src/main/java/{ => org}/caosdb/server/CaosDBException.java (97%)
 rename src/main/java/{ => org}/caosdb/server/CaosDBServer.java (92%)
 rename src/main/java/{ => org}/caosdb/server/CaosDBServerConnectorHelper.java (98%)
 rename src/main/java/{ => org}/caosdb/server/FileSystem.java (95%)
 rename src/main/java/{ => org}/caosdb/server/HttpToHttpsRedirector.java (98%)
 rename src/main/java/{ => org}/caosdb/server/ServerProperties.java (99%)
 rename src/main/java/{ => org}/caosdb/server/ServerPropertiesSerializer.java (92%)
 rename src/main/java/{ => org}/caosdb/server/accessControl/ACMPermissions.java (98%)
 rename src/main/java/{ => org}/caosdb/server/accessControl/AnonymousAuthenticationToken.java (97%)
 rename src/main/java/{ => org}/caosdb/server/accessControl/AnonymousRealm.java (97%)
 rename src/main/java/{ => org}/caosdb/server/accessControl/AuthenticationUtils.java (95%)
 rename src/main/java/{ => org}/caosdb/server/accessControl/CaosDBAuthorizingRealm.java (98%)
 rename src/main/java/{ => org}/caosdb/server/accessControl/CaosDBDefaultRealm.java (98%)
 rename src/main/java/{ => org}/caosdb/server/accessControl/CaosDBRolePermissionResolver.java (85%)
 rename src/main/java/{ => org}/caosdb/server/accessControl/Config.java (97%)
 rename src/main/java/{ => org}/caosdb/server/accessControl/ConsumedInfoCleanupJob.java (91%)
 rename src/main/java/{ => org}/caosdb/server/accessControl/CredentialsValidator.java (96%)
 rename src/main/java/{ => org}/caosdb/server/accessControl/HashPasswordValidator.java (95%)
 rename src/main/java/{ => org}/caosdb/server/accessControl/InternalUserSource.java (91%)
 rename src/main/java/{ => org}/caosdb/server/accessControl/Mode.java (95%)
 rename src/main/java/{ => org}/caosdb/server/accessControl/OneTimeAuthenticationToken.java (98%)
 rename src/main/java/{ => org}/caosdb/server/accessControl/OneTimeTokenConsumedInfo.java (98%)
 rename src/main/java/{ => org}/caosdb/server/accessControl/OneTimeTokenToFile.java (96%)
 rename src/main/java/{ => org}/caosdb/server/accessControl/Pam.java (99%)
 rename src/main/java/{ => org}/caosdb/server/accessControl/PamScriptCaller.java (96%)
 rename src/main/java/{ => org}/caosdb/server/accessControl/Principal.java (96%)
 rename src/main/java/{ => org}/caosdb/server/accessControl/RealmUsernamePasswordToken.java (97%)
 rename src/main/java/{ => org}/caosdb/server/accessControl/Role.java (96%)
 rename src/main/java/{ => org}/caosdb/server/accessControl/SelfValidatingAuthenticationToken.java (99%)
 rename src/main/java/{ => org}/caosdb/server/accessControl/SessionToken.java (97%)
 rename src/main/java/{ => org}/caosdb/server/accessControl/SessionTokenRealm.java (97%)
 rename src/main/java/{ => org}/caosdb/server/accessControl/UserSource.java (98%)
 rename src/main/java/{ => org}/caosdb/server/accessControl/UserSources.java (95%)
 rename src/main/java/{ => org}/caosdb/server/accessControl/UserStatus.java (95%)
 rename src/main/java/{ => org}/caosdb/server/caching/Cache.java (98%)
 rename src/main/java/{ => org}/caosdb/server/caching/CacheHelper.java (96%)
 rename src/main/java/{ => org}/caosdb/server/caching/JCSCacheHelper.java (96%)
 create mode 100644 src/main/java/org/caosdb/server/database/BackendTransaction.java
 rename src/main/java/{ => org}/caosdb/server/database/CacheableBackendTransaction.java (96%)
 rename src/main/java/{ => org}/caosdb/server/database/ChainTransaction.java (91%)
 rename src/main/java/{ => org}/caosdb/server/database/Database.java (97%)
 rename src/main/java/{ => org}/caosdb/server/database/DatabaseMonitor.java (92%)
 rename src/main/java/{ => org}/caosdb/server/database/DatabaseUtils.java (93%)
 rename src/main/java/{ => org}/caosdb/server/database/access/AbstractAccess.java (92%)
 rename src/main/java/{ => org}/caosdb/server/database/access/Access.java (92%)
 rename src/main/java/{ => org}/caosdb/server/database/access/AccessControlAccess.java (91%)
 rename src/main/java/{ => org}/caosdb/server/database/access/InfoAccess.java (93%)
 rename src/main/java/{ => org}/caosdb/server/database/access/InitAccess.java (92%)
 rename src/main/java/{ => org}/caosdb/server/database/access/TransactionAccess.java (89%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/ConnectionException.java (94%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/DatabaseConnectionPool.java (97%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteEntityProperties.java (83%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLDeletePassword.java (84%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteRole.java (86%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteSparseEntity.java (83%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteUser.java (88%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLGetAllNames.java (80%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLGetChildren.java (88%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLGetDependentEntities.java (87%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLGetFileRecordByPath.java (87%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLGetIDByName.java (91%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLGetInfo.java (87%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLGetUpdateableChecksums.java (87%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLHelper.java (94%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLInsertEntityDatatype.java (84%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLInsertEntityProperties.java (84%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLInsertLinCon.java (85%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLInsertLogRecord.java (88%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLInsertParents.java (85%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLInsertRole.java (85%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLInsertSparseEntity.java (87%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLInsertTransactionHistory.java (88%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLIsSubType.java (88%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLRegisterSubDomain.java (88%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveAll.java (89%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveAllUncheckedFiles.java (91%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveDatatypes.java (87%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveLogRecord.java (93%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveParents.java (85%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLRetrievePasswordValidator.java (82%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLRetrievePermissionRules.java (88%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveProperties.java (91%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveQueryTemplateDefinition.java (88%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveRole.java (86%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveSparseEntity.java (85%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveTransactionHistory.java (86%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveUser.java (86%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveVersionHistory.java (87%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLRuleLoader.java (85%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLSetFileCheckedTimestampImpl.java (86%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLSetPassword.java (89%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLSetPermissionRules.java (89%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLSetQueryTemplateDefinition.java (87%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLSyncStats.java (94%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLTransaction.java (87%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateSparseEntity.java (88%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateUser.java (88%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateUserRoles.java (89%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemCheckHash.java (83%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemCheckSize.java (82%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemFileExists.java (82%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemFileWasModifiedAfter.java (82%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemGetFileIterator.java (89%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemHelper.java (87%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemTransaction.java (84%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/BackendTransactionImpl.java (90%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/DeleteEntityPropertiesImpl.java (86%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/DeletePasswordImpl.java (89%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/DeleteRoleImpl.java (89%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/DeleteSparseEntityImpl.java (86%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/DeleteUserImpl.java (89%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/FileCheckHash.java (86%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/FileCheckSize.java (89%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/FileExists.java (89%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/FileWasModifiedAfter.java (89%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/GetAllNamesImpl.java (73%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/GetChildrenImpl.java (89%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/GetDependentEntitiesImpl.java (89%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/GetFileIteratorImpl.java (89%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/GetFileRecordByPathImpl.java (85%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/GetIDByNameImpl.java (90%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/GetInfoImpl.java (85%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/GetUpdateableChecksumsImpl.java (89%)
 create mode 100644 src/main/java/org/caosdb/server/database/backend/interfaces/InsertEntityDatatypeImpl.java
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/InsertEntityPropertiesImpl.java (80%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/InsertLinConImpl.java (83%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/InsertLogRecordImpl.java (90%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/InsertParentsImpl.java (86%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/InsertRoleImpl.java (86%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/InsertSparseEntityImpl.java (87%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/InsertTransactionHistoryImpl.java (87%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/IsSubTypeImpl.java (89%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/RegisterSubDomainImpl.java (89%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/RetrieveAllImpl.java (89%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/RetrieveAllUncheckedFilesImpl.java (86%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/RetrieveDatatypesImpl.java (85%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/RetrieveLogRecordImpl.java (90%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/RetrieveParentsImpl.java (85%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/RetrievePasswordValidatorImpl.java (85%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/RetrievePermissionRulesImpl.java (86%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/RetrievePropertiesImpl.java (86%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/RetrieveQueryTemplateDefinitionImpl.java (94%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/RetrieveRoleImpl.java (86%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/RetrieveSparseEntityImpl.java (85%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/RetrieveTransactionHistoryImpl.java (85%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/RetrieveUserImpl.java (82%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/RetrieveVersionHistoryImpl.java (61%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/RuleLoaderImpl.java (86%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/SetFileCheckedTimestampImpl.java (89%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/SetPasswordImpl.java (89%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/SetPermissionRulesImpl.java (86%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/SetQueryTemplateDefinitionImpl.java (94%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/SyncStatsImpl.java (87%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/UpdateSparseEntityImpl.java (83%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/UpdateUserImpl.java (85%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/interfaces/UpdateUserRolesImpl.java (90%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/DeleteEntity.java (83%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/DeleteEntityProperties.java (80%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/DeleteFile.java (83%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/DeletePassword.java (83%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/DeleteRole.java (83%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/DeleteSparseEntity.java (80%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/DeleteUser.java (82%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/FileConsistencyCheck.java (84%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/GetAllNames.java (61%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/GetChildren.java (84%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/GetDependentEntities.java (84%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/GetFileIterator.java (84%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/GetFileRecordByPath.java (84%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/GetIDByName.java (84%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/GetInfo.java (80%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/GetUpdateableChecksums.java (82%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/InsertEntity.java (89%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/InsertEntityDatatype.java (56%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/InsertEntityProperties.java (87%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/InsertEntityValue.java (79%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/InsertFile.java (83%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/InsertLinCon.java (83%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/InsertLogRecord.java (84%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/InsertParents.java (81%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/InsertRole.java (80%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/InsertSparseEntity.java (76%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/InsertTransactionHistory.java (81%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/IsSubType.java (85%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/RegisterSubDomain.java (84%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/RetrieveAll.java (80%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/RetrieveAllUncheckedFiles.java (82%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/RetrieveDatatypes.java (76%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/RetrieveFullEntity.java (89%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/RetrieveLogRecord.java (86%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/RetrieveParents.java (86%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/RetrievePasswordValidator.java (81%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/RetrievePermissionRules.java (85%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/RetrieveProperties.java (85%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/RetrieveQueryTemplateDefinition.java (81%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/RetrieveRole.java (84%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/RetrieveSparseEntity.java (84%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/RetrieveTransactionHistory.java (79%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/RetrieveUser.java (84%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/RetrieveVersionHistory.java (85%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/RetrieveVersionInfo.java (89%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/RuleLoader.java (82%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/SetFileCheckedTimestamp.java (83%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/SetPassword.java (84%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/SetPermissionRules.java (82%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/SetQueryTemplateDefinition.java (81%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/SyncStats.java (83%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/UpdateEntity.java (83%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/UpdateSparseEntity.java (80%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/UpdateUser.java (78%)
 rename src/main/java/{ => org}/caosdb/server/database/backend/transaction/UpdateUserRoles.java (83%)
 rename src/main/java/{ => org}/caosdb/server/database/exceptions/EntityDoesNotExistException.java (95%)
 rename src/main/java/{ => org}/caosdb/server/database/exceptions/EntityWasNotUniqueException.java (95%)
 rename src/main/java/{ => org}/caosdb/server/database/exceptions/IntegrityException.java (96%)
 rename src/main/java/{ => org}/caosdb/server/database/exceptions/RolledBackException.java (95%)
 rename src/main/java/{ => org}/caosdb/server/database/exceptions/TransactionException.java (96%)
 rename src/main/java/{ => org}/caosdb/server/database/misc/DBHelper.java (91%)
 rename src/main/java/{ => org}/caosdb/server/database/misc/RollBackHandler.java (88%)
 rename src/main/java/{ => org}/caosdb/server/database/misc/TransactionBenchmark.java (98%)
 rename src/main/java/{ => org}/caosdb/server/database/proto/FlatProperty.java (96%)
 rename src/main/java/{ => org}/caosdb/server/database/proto/LinCon.java (97%)
 rename src/main/java/{ => org}/caosdb/server/database/proto/ProtoGroup.java (96%)
 rename src/main/java/{ => org}/caosdb/server/database/proto/ProtoInfo.java (96%)
 rename src/main/java/{ => org}/caosdb/server/database/proto/ProtoProperty.java (96%)
 rename src/main/java/{ => org}/caosdb/server/database/proto/ProtoTransactionLogMessage.java (97%)
 rename src/main/java/{ => org}/caosdb/server/database/proto/ProtoUser.java (93%)
 rename src/main/java/{ => org}/caosdb/server/database/proto/Rule.java (93%)
 rename src/main/java/{ => org}/caosdb/server/database/proto/SparseEntity.java (97%)
 rename src/main/java/{ => org}/caosdb/server/database/proto/VersionHistoryItem.java (88%)
 rename src/main/java/{ => org}/caosdb/server/database/proto/VerySparseEntity.java (97%)
 rename src/main/java/{ => org}/caosdb/server/datatype/AbstractCollectionDatatype.java (98%)
 rename src/main/java/{ => org}/caosdb/server/datatype/AbstractDatatype.java (95%)
 rename src/main/java/{ => org}/caosdb/server/datatype/AbstractEnumValue.java (94%)
 rename src/main/java/{ => org}/caosdb/server/datatype/BooleanDatatype.java (92%)
 rename src/main/java/{ => org}/caosdb/server/datatype/BooleanValue.java (97%)
 rename src/main/java/{ => org}/caosdb/server/datatype/CaosEnum.java (98%)
 rename src/main/java/{ => org}/caosdb/server/datatype/CollectionDatatypeFactory.java (96%)
 rename src/main/java/{ => org}/caosdb/server/datatype/CollectionValue.java (98%)
 rename src/main/java/{ => org}/caosdb/server/datatype/DatatypeDefinition.java (96%)
 rename src/main/java/{ => org}/caosdb/server/datatype/DateTimeDatatype.java (84%)
 rename src/main/java/{ => org}/caosdb/server/datatype/DoubleDatatype.java (92%)
 rename src/main/java/{ => org}/caosdb/server/datatype/FileDatatype.java (96%)
 rename src/main/java/{ => org}/caosdb/server/datatype/GenericValue.java (96%)
 rename src/main/java/{ => org}/caosdb/server/datatype/IndexedSingleValue.java (95%)
 rename src/main/java/{ => org}/caosdb/server/datatype/IntegerDatatype.java (91%)
 rename src/main/java/{ => org}/caosdb/server/datatype/ListDatatype.java (96%)
 rename src/main/java/{ => org}/caosdb/server/datatype/ListDatatypeFactory.java (96%)
 rename src/main/java/{ => org}/caosdb/server/datatype/ReferenceDatatype.java (94%)
 rename src/main/java/{ => org}/caosdb/server/datatype/ReferenceDatatype2.java (93%)
 rename src/main/java/{ => org}/caosdb/server/datatype/ReferenceValue.java (96%)
 rename src/main/java/{ => org}/caosdb/server/datatype/SQLiteDatatype.java (96%)
 rename src/main/java/{ => org}/caosdb/server/datatype/SingleValue.java (96%)
 rename src/main/java/{ => org}/caosdb/server/datatype/TextDatatype.java (93%)
 rename src/main/java/{ => org}/caosdb/server/datatype/Value.java (96%)
 rename src/main/java/{ => org}/caosdb/server/entity/Affiliation.java (96%)
 rename src/main/java/{ => org}/caosdb/server/entity/DeleteEntity.java (97%)
 rename src/main/java/{ => org}/caosdb/server/entity/Entity.java (95%)
 rename src/main/java/{ => org}/caosdb/server/entity/EntityInterface.java (86%)
 rename src/main/java/{ => org}/caosdb/server/entity/FileProperties.java (96%)
 rename src/main/java/{ => org}/caosdb/server/entity/InsertEntity.java (96%)
 rename src/main/java/{ => org}/caosdb/server/entity/MagicTypes.java (94%)
 rename src/main/java/{ => org}/caosdb/server/entity/Message.java (98%)
 rename src/main/java/{ => org}/caosdb/server/entity/NoSuchRoleException.java (96%)
 rename src/main/java/{ => org}/caosdb/server/entity/RetrieveEntity.java (97%)
 rename src/main/java/{ => org}/caosdb/server/entity/Role.java (86%)
 rename src/main/java/{ => org}/caosdb/server/entity/StatementStatus.java (96%)
 rename src/main/java/{ => org}/caosdb/server/entity/TransactionEntity.java (90%)
 rename src/main/java/{ => org}/caosdb/server/entity/UpdateEntity.java (93%)
 rename src/main/java/{ => org}/caosdb/server/entity/ValidEntity.java (96%)
 rename src/main/java/{ => org}/caosdb/server/entity/Version.java (96%)
 rename src/main/java/{ => org}/caosdb/server/entity/WritableEntity.java (96%)
 rename src/main/java/{ => org}/caosdb/server/entity/WriteEntity.java (96%)
 rename src/main/java/{ => org}/caosdb/server/entity/container/Container.java (94%)
 rename src/main/java/{ => org}/caosdb/server/entity/container/DeleteContainer.java (94%)
 rename src/main/java/{ => org}/caosdb/server/entity/container/EntityByIdContainer.java (96%)
 rename src/main/java/{ => org}/caosdb/server/entity/container/InsertContainer.java (93%)
 rename src/main/java/{ => org}/caosdb/server/entity/container/ParentContainer.java (85%)
 rename src/main/java/{ => org}/caosdb/server/entity/container/PropertyContainer.java (88%)
 rename src/main/java/{ => org}/caosdb/server/entity/container/RetrieveContainer.java (94%)
 rename src/main/java/{ => org}/caosdb/server/entity/container/TransactionContainer.java (92%)
 rename src/main/java/{ => org}/caosdb/server/entity/container/UpdateContainer.java (93%)
 rename src/main/java/{ => org}/caosdb/server/entity/container/WritableContainer.java (94%)
 rename src/main/java/{ => org}/caosdb/server/entity/wrapper/Domain.java (78%)
 rename src/main/java/{ => org}/caosdb/server/entity/wrapper/EntityWrapper.java (91%)
 rename src/main/java/{ => org}/caosdb/server/entity/wrapper/Parent.java (87%)
 rename src/main/java/{ => org}/caosdb/server/entity/wrapper/Property.java (91%)
 rename src/main/java/{ => org}/caosdb/server/entity/xml/DomainToElementStrategy.java (95%)
 rename src/main/java/{ => org}/caosdb/server/entity/xml/EntityToElementStrategy.java (96%)
 rename src/main/java/{ => org}/caosdb/server/entity/xml/FileToElementStrategy.java (95%)
 rename src/main/java/{ => org}/caosdb/server/entity/xml/ParentToElementStrategy.java (91%)
 rename src/main/java/{ => org}/caosdb/server/entity/xml/PropertyToElementStrategy.java (89%)
 rename src/main/java/{ => org}/caosdb/server/entity/xml/SetFieldStrategy.java (96%)
 rename src/main/java/{ => org}/caosdb/server/entity/xml/ToElementStrategy.java (93%)
 rename src/main/java/{ => org}/caosdb/server/entity/xml/ToElementable.java (96%)
 rename src/main/java/{ => org}/caosdb/server/entity/xml/VersionXMLSerializer.java (96%)
 rename src/main/java/{ => org}/caosdb/server/jobs/ContainerJob.java (87%)
 rename src/main/java/{ => org}/caosdb/server/jobs/EntityJob.java (93%)
 rename src/main/java/{ => org}/caosdb/server/jobs/FilesJob.java (93%)
 rename src/main/java/{ => org}/caosdb/server/jobs/FlagJob.java (97%)
 rename src/main/java/{ => org}/caosdb/server/jobs/Job.java (92%)
 rename src/main/java/{ => org}/caosdb/server/jobs/JobAnnotation.java (94%)
 rename src/main/java/{ => org}/caosdb/server/jobs/JobExecutionTime.java (97%)
 rename src/main/java/{ => org}/caosdb/server/jobs/JobTarget.java (96%)
 rename src/main/java/{ => org}/caosdb/server/jobs/Schedule.java (97%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/AccessControl.java (82%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/Atomic.java (81%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/CheckChildDependencyExistent.java (92%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/CheckDatatypePresent.java (92%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/CheckDescPresent.java (89%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/CheckEntityACLRoles.java (79%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/CheckFileStorageConsistency.java (91%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/CheckNamePresent.java (89%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/CheckNoAdditionalPropertiesPresent.java (83%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/CheckNoOverridesPresent.java (76%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/CheckParOblPropPresent.java (92%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/CheckParPresent.java (89%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/CheckParValid.java (91%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/CheckPropPresent.java (89%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/CheckPropValid.java (90%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/CheckQueryTemplate.java (85%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/CheckReferenceDependencyExistent.java (92%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/CheckRefidIsaParRefid.java (87%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/CheckRefidPresent.java (93%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/CheckRefidValid.java (88%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/CheckTargetPathValid.java (87%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/CheckUnitPresent.java (86%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/CheckValueParsable.java (91%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/DebugCalls.java (88%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/ExecuteQuery.java (81%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/History.java (79%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/Inheritance.java (94%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/InsertFilesInDir.java (93%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/LoadContainerFlagJobs.java (85%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/MatchFileProp.java (92%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/Mode.java (96%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/NoCache.java (90%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/Paging.java (86%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/ParseUnit.java (80%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/PickUp.java (85%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/ProcessNameProperties.java (90%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/RemoveDuplicates.java (92%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/ResolveNames.java (80%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/RetrieveACL.java (81%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/RetrieveAllJob.java (83%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/RetrieveIdOnlyFlag.java (83%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/RetrieveOwner.java (82%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/RetriveAllNames.java (63%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/SetImpToFix.java (89%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/SetImpToRecByDefault.java (91%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/Strict.java (79%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/TestMail.java (81%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/UniqueName.java (83%)
 rename src/main/java/{ => org}/caosdb/server/jobs/core/UpdateUnitConverters.java (87%)
 rename src/main/java/{ => org}/caosdb/server/logging/RequestErrorLogMessage.java (97%)
 rename src/main/java/{ => org}/caosdb/server/logging/log4j/CustomConfigurationFactory.java (98%)
 rename src/main/java/{ => org}/caosdb/server/permissions/AbstractEntityACLFactory.java (99%)
 rename src/main/java/{ => org}/caosdb/server/permissions/CaosPermission.java (98%)
 rename src/main/java/{ => org}/caosdb/server/permissions/EntityACI.java (98%)
 rename src/main/java/{ => org}/caosdb/server/permissions/EntityACL.java (96%)
 rename src/main/java/{ => org}/caosdb/server/permissions/EntityACLFactory.java (85%)
 rename src/main/java/{ => org}/caosdb/server/permissions/EntityPermission.java (98%)
 rename src/main/java/{ => org}/caosdb/server/permissions/Permission.java (97%)
 rename src/main/java/{ => org}/caosdb/server/permissions/PermissionRule.java (98%)
 rename src/main/java/{ => org}/caosdb/server/permissions/ResponsibleAgent.java (96%)
 rename src/main/java/{ => org}/caosdb/server/permissions/Role.java (98%)
 rename src/main/java/{ => org}/caosdb/server/query/Backreference.java (96%)
 rename src/main/java/{ => org}/caosdb/server/query/CQLLexer.g4 (100%)
 rename src/main/java/{ => org}/caosdb/server/query/CQLParser.g4 (100%)
 rename src/main/java/{ => org}/caosdb/server/query/CQLParsingErrorListener.java (99%)
 rename src/main/java/{ => org}/caosdb/server/query/Conjunction.java (95%)
 rename src/main/java/{ => org}/caosdb/server/query/Disjunction.java (95%)
 rename src/main/java/{ => org}/caosdb/server/query/EntityFilterContainer.java (97%)
 rename src/main/java/{ => org}/caosdb/server/query/EntityFilterInterface.java (92%)
 rename src/main/java/{ => org}/caosdb/server/query/IDFilter.java (97%)
 rename src/main/java/{ => org}/caosdb/server/query/Negation.java (96%)
 rename src/main/java/{ => org}/caosdb/server/query/POV.java (97%)
 rename src/main/java/{ => org}/caosdb/server/query/Query.java (94%)
 rename src/main/java/{ => org}/caosdb/server/query/QueryInterface.java (94%)
 rename src/main/java/{ => org}/caosdb/server/query/RoleFilter.java (97%)
 rename src/main/java/{ => org}/caosdb/server/query/StoredAt.java (98%)
 rename src/main/java/{ => org}/caosdb/server/query/SubProperty.java (95%)
 rename src/main/java/{ => org}/caosdb/server/query/TransactionFilter.java (95%)
 rename src/main/java/{ => org}/caosdb/server/query/Utils.java (98%)
 rename src/main/java/{ => org}/caosdb/server/resource/AbstractCaosDBServerResource.java (97%)
 rename src/main/java/{ => org}/caosdb/server/resource/AuthenticationResource.java (90%)
 rename src/main/java/{ => org}/caosdb/server/resource/DefaultResource.java (91%)
 rename src/main/java/{ => org}/caosdb/server/resource/EntityOwnerResource.java (79%)
 rename src/main/java/{ => org}/caosdb/server/resource/EntityPermissionsResource.java (78%)
 rename src/main/java/{ => org}/caosdb/server/resource/FileSystemResource.java (89%)
 rename src/main/java/{ => org}/caosdb/server/resource/InfoResource.java (88%)
 rename src/main/java/{ => org}/caosdb/server/resource/JdomRepresentation.java (97%)
 rename src/main/java/{ => org}/caosdb/server/resource/LogoutResource.java (89%)
 rename src/main/java/{ => org}/caosdb/server/resource/PermissionRulesResource.java (86%)
 rename src/main/java/{ => org}/caosdb/server/resource/ReReadableRepresentation.java (99%)
 rename src/main/java/{ => org}/caosdb/server/resource/RolesResource.java (89%)
 rename src/main/java/{ => org}/caosdb/server/resource/ScriptingResource.java (92%)
 rename src/main/java/{ => org}/caosdb/server/resource/ServerLogsResource.java (91%)
 rename src/main/java/{ => org}/caosdb/server/resource/ServerPropertiesResource.java (87%)
 rename src/main/java/{ => org}/caosdb/server/resource/SharedFileResource.java (92%)
 rename src/main/java/{ => org}/caosdb/server/resource/ThumbnailsResource.java (93%)
 rename src/main/java/{ => org}/caosdb/server/resource/UserResource.java (90%)
 rename src/main/java/{ => org}/caosdb/server/resource/UserRolesResource.java (88%)
 rename src/main/java/{ => org}/caosdb/server/resource/Webinterface.java (95%)
 rename src/main/java/{ => org}/caosdb/server/resource/WebinterfaceBuildNumber.java (96%)
 rename src/main/java/{ => org}/caosdb/server/resource/transaction/EntityNamesResource.java (53%)
 rename src/main/java/{ => org}/caosdb/server/resource/transaction/EntityResource.java (85%)
 rename src/main/java/{ => org}/caosdb/server/resource/transaction/handlers/FileUploadHandler.java (90%)
 rename src/main/java/{ => org}/caosdb/server/resource/transaction/handlers/GetNamesRequestHandler.java (64%)
 rename src/main/java/{ => org}/caosdb/server/resource/transaction/handlers/RequestHandler.java (85%)
 rename src/main/java/{ => org}/caosdb/server/resource/transaction/handlers/RetrieveGlobalEntityPermissionsHandler.java (83%)
 rename src/main/java/{ => org}/caosdb/server/resource/transaction/handlers/RetriveOwnerRequestHandler.java (84%)
 rename src/main/java/{ => org}/caosdb/server/resource/transaction/handlers/SimpleDeleteRequestHandler.java (91%)
 rename src/main/java/{ => org}/caosdb/server/resource/transaction/handlers/SimpleGetRequestHandler.java (89%)
 rename src/main/java/{ => org}/caosdb/server/resource/transaction/handlers/SimpleWriteHandler.java (91%)
 rename src/main/java/{ => org}/caosdb/server/scripting/CallerSerializer.java (95%)
 rename src/main/java/{ => org}/caosdb/server/scripting/ScriptingPermissions.java (88%)
 rename src/main/java/{ => org}/caosdb/server/scripting/ScriptingUtils.java (90%)
 rename src/main/java/{ => org}/caosdb/server/scripting/ServerSideScriptingCaller.java (95%)
 rename src/main/java/{ => org}/caosdb/server/scripting/TimeoutException.java (96%)
 rename src/main/java/{ => org}/caosdb/server/scripting/TimeoutProcess.java (98%)
 rename src/main/java/{ => org}/caosdb/server/terminal/CaosDBTerminal.java (98%)
 rename src/main/java/{ => org}/caosdb/server/terminal/DatabaseAccessPanel.java (94%)
 rename src/main/java/{ => org}/caosdb/server/terminal/EntitiesPanel.java (97%)
 rename src/main/java/{ => org}/caosdb/server/terminal/MainWindow.java (98%)
 rename src/main/java/{ => org}/caosdb/server/terminal/OutputStreamPanel.java (99%)
 rename src/main/java/{ => org}/caosdb/server/terminal/StatComponent.java (96%)
 rename src/main/java/{ => org}/caosdb/server/terminal/StatLabel.java (93%)
 rename src/main/java/{ => org}/caosdb/server/terminal/StatTable.java (97%)
 rename src/main/java/{ => org}/caosdb/server/terminal/StatsPanel.java (98%)
 rename src/main/java/{ => org}/caosdb/server/terminal/SystemErrPanel.java (97%)
 rename src/main/java/{ => org}/caosdb/server/terminal/SystemOutPanel.java (97%)
 rename src/main/java/{ => org}/caosdb/server/transaction/AccessControlTransaction.java (87%)
 rename src/main/java/{ => org}/caosdb/server/transaction/ChecksumUpdater.java (88%)
 rename src/main/java/{ => org}/caosdb/server/transaction/Delete.java (85%)
 rename src/main/java/{ => org}/caosdb/server/transaction/DeleteRoleTransaction.java (81%)
 rename src/main/java/{ => org}/caosdb/server/transaction/DeleteUserTransaction.java (78%)
 rename src/main/java/{ => org}/caosdb/server/transaction/FileStorageConsistencyCheck.java (89%)
 rename src/main/java/{ => org}/caosdb/server/transaction/Insert.java (86%)
 rename src/main/java/{ => org}/caosdb/server/transaction/InsertLogRecordTransaction.java (87%)
 rename src/main/java/{ => org}/caosdb/server/transaction/InsertRoleTransaction.java (82%)
 rename src/main/java/{ => org}/caosdb/server/transaction/InsertUserTransaction.java (81%)
 rename src/main/java/{ => org}/caosdb/server/transaction/Retrieve.java (85%)
 rename src/main/java/{ => org}/caosdb/server/transaction/RetrieveLogRecordTransaction.java (89%)
 rename src/main/java/{ => org}/caosdb/server/transaction/RetrievePasswordValidatorTransaction.java (86%)
 rename src/main/java/{ => org}/caosdb/server/transaction/RetrievePermissionRulesTransaction.java (84%)
 rename src/main/java/{ => org}/caosdb/server/transaction/RetrieveRoleTransaction.java (87%)
 rename src/main/java/{ => org}/caosdb/server/transaction/RetrieveSparseEntityByPath.java (86%)
 rename src/main/java/{ => org}/caosdb/server/transaction/RetrieveUserRolesTransaction.java (91%)
 rename src/main/java/{ => org}/caosdb/server/transaction/RetrieveUserTransaction.java (88%)
 rename src/main/java/{ => org}/caosdb/server/transaction/Transaction.java (88%)
 rename src/main/java/{ => org}/caosdb/server/transaction/TransactionInterface.java (85%)
 rename src/main/java/{ => org}/caosdb/server/transaction/Update.java (94%)
 rename src/main/java/{ => org}/caosdb/server/transaction/UpdatePermissionRulesTransaction.java (83%)
 rename src/main/java/{ => org}/caosdb/server/transaction/UpdateRoleTransaction.java (80%)
 rename src/main/java/{ => org}/caosdb/server/transaction/UpdateUserRolesTransaction.java (87%)
 rename src/main/java/{ => org}/caosdb/server/transaction/UpdateUserTransaction.java (85%)
 rename src/main/java/{ => org}/caosdb/server/transaction/WriteTransaction.java (90%)
 rename src/main/java/{ => org}/caosdb/server/utils/AbstractObservable.java (98%)
 rename src/main/java/{ => org}/caosdb/server/utils/AsynchronousHasher.java (98%)
 rename src/main/java/{ => org}/caosdb/server/utils/ConfigurationException.java (97%)
 rename src/main/java/{ => org}/caosdb/server/utils/CronJob.java (97%)
 rename src/main/java/{ => org}/caosdb/server/utils/EntityStatus.java (98%)
 rename src/main/java/{ => org}/caosdb/server/utils/FileUtils.java (98%)
 rename src/main/java/{ => org}/caosdb/server/utils/FlagInfo.java (92%)
 rename src/main/java/{ => org}/caosdb/server/utils/HashAlgorithm.java (96%)
 rename src/main/java/{ => org}/caosdb/server/utils/HashException.java (93%)
 rename src/main/java/{ => org}/caosdb/server/utils/HashNotReadyException.java (97%)
 rename src/main/java/{ => org}/caosdb/server/utils/HashTimeoutException.java (97%)
 rename src/main/java/{ => org}/caosdb/server/utils/Hasher.java (97%)
 rename src/main/java/{ => org}/caosdb/server/utils/Info.java (93%)
 rename src/main/java/{ => org}/caosdb/server/utils/Initialization.java (89%)
 rename src/main/java/{ => org}/caosdb/server/utils/NullPrintStream.java (97%)
 rename src/main/java/{ => org}/caosdb/server/utils/Observable.java (96%)
 rename src/main/java/{ => org}/caosdb/server/utils/ObservableWrapper.java (97%)
 rename src/main/java/{ => org}/caosdb/server/utils/Observer.java (97%)
 rename src/main/java/{ => org}/caosdb/server/utils/Releasable.java (96%)
 rename src/main/java/{ => org}/caosdb/server/utils/SHA512.java (97%)
 rename src/main/java/{ => org}/caosdb/server/utils/Serializer.java (96%)
 rename src/main/java/{ => org}/caosdb/server/utils/ServerMessages.java (98%)
 rename src/main/java/{ => org}/caosdb/server/utils/ServerStat.java (96%)
 rename src/main/java/{ => org}/caosdb/server/utils/TransactionLogMessage.java (94%)
 rename src/main/java/{ => org}/caosdb/server/utils/UncloseableOutputStream.java (97%)
 rename src/main/java/{ => org}/caosdb/server/utils/UndoHandler.java (98%)
 rename src/main/java/{ => org}/caosdb/server/utils/Undoable.java (96%)
 rename src/main/java/{ => org}/caosdb/server/utils/Utils.java (99%)
 rename src/main/java/{ => org}/caosdb/server/utils/WebinterfaceUtils.java (97%)
 rename src/main/java/{ => org}/caosdb/server/utils/fsm/ActionNotAllowedException.java (97%)
 rename src/main/java/{ => org}/caosdb/server/utils/fsm/FiniteStateMachine.java (98%)
 rename src/main/java/{ => org}/caosdb/server/utils/fsm/MissingImplementationException.java (96%)
 rename src/main/java/{ => org}/caosdb/server/utils/fsm/State.java (96%)
 rename src/main/java/{ => org}/caosdb/server/utils/fsm/StateNotReachableException.java (96%)
 rename src/main/java/{ => org}/caosdb/server/utils/fsm/StrategyFiniteStateMachine.java (98%)
 rename src/main/java/{ => org}/caosdb/server/utils/fsm/Transition.java (96%)
 rename src/main/java/{ => org}/caosdb/server/utils/fsm/TransitionNotAllowedException.java (97%)
 rename src/main/java/{ => org}/caosdb/server/utils/mail/Mail.java (96%)
 rename src/main/java/{ => org}/caosdb/server/utils/mail/MailFormatter.java (96%)
 rename src/main/java/{ => org}/caosdb/server/utils/mail/MailHandler.java (96%)
 rename src/main/java/{ => org}/caosdb/server/utils/mail/Mailable.java (96%)
 rename src/main/java/{ => org}/caosdb/server/utils/mail/SendMailHandler.java (97%)
 rename src/main/java/{ => org}/caosdb/server/utils/mail/SimpleMailFormatter.java (98%)
 rename src/main/java/{ => org}/caosdb/server/utils/mail/ToFileHandler.java (94%)
 rename src/main/java/{ => org}/caosdb/unit/CaosDBSystemOfUnits.java (99%)
 rename src/main/java/{ => org}/caosdb/unit/Converter.java (97%)
 rename src/main/java/{ => org}/caosdb/unit/LinearConverter.java (97%)
 rename src/main/java/{ => org}/caosdb/unit/Unit.java (97%)
 rename src/main/java/{ => org}/caosdb/unit/UnknownUnit.java (97%)
 rename src/main/java/{ => org}/caosdb/unit/WrappedConverter.java (97%)
 rename src/main/java/{ => org}/caosdb/unit/WrappedLinearConverter.java (99%)
 rename src/main/java/{ => org}/caosdb/unit/WrappedUnit.java (98%)
 rename src/test/java/{ => org}/caosdb/CaosDBTestClass.java (98%)
 rename src/test/java/{ => org}/caosdb/datetime/DateTimeTest.java (99%)
 rename src/test/java/{ => org}/caosdb/server/Misc.java (97%)
 rename src/test/java/{ => org}/caosdb/server/accessControl/TestDefaultPamScriptCaller.java (98%)
 rename src/test/java/{ => org}/caosdb/server/authentication/AuthTokenTest.java (92%)
 rename src/test/java/{ => org}/caosdb/server/caching/TestCaching.java (89%)
 rename src/test/java/{ => org}/caosdb/server/caching/TestNoCaching.java (78%)
 rename src/test/java/{ => org}/caosdb/server/database/DatabaseMonitorTest.java (99%)
 rename src/test/java/{ => org}/caosdb/server/database/InsertTest.java (96%)
 rename src/test/java/{ => org}/caosdb/server/database/backend/transaction/RetrieveFullEntityTest.java (87%)
 rename src/test/java/{ => org}/caosdb/server/database/backend/transactions/TestGetAllNames.java (73%)
 rename src/test/java/{ => org}/caosdb/server/datatype/testBoolean.java (95%)
 rename src/test/java/{ => org}/caosdb/server/entity/SelectionTest.java (98%)
 rename src/test/java/{ => org}/caosdb/server/entity/container/PropertyContainerTest.java (86%)
 rename src/test/java/{ => org}/caosdb/server/entity/xml/PropertyToElementStrategyTest.java (91%)
 rename src/test/java/{ => org}/caosdb/server/jobs/ScheduleTest.java (97%)
 rename src/test/java/{ => org}/caosdb/server/jobs/core/TestInsertFilesInDir.java (92%)
 rename src/test/java/{ => org}/caosdb/server/logging/TestLogging.java (95%)
 rename src/test/java/{ => org}/caosdb/server/permissions/EntityACLTest.java (92%)
 rename src/test/java/{ => org}/caosdb/server/query/TestCQL.java (99%)
 rename src/test/java/{ => org}/caosdb/server/resource/FileSystemResourceTest.java (97%)
 rename src/test/java/{ => org}/caosdb/server/resource/TestAbstractCaosDBServerResource.java (85%)
 rename src/test/java/{ => org}/caosdb/server/resource/TestScriptingResource.java (86%)
 rename src/test/java/{ => org}/caosdb/server/resource/TestSharedFileResource.java (96%)
 rename src/test/java/{ => org}/caosdb/server/scripting/TestServerSideScriptingCaller.java (98%)
 rename src/test/java/{ => org}/caosdb/server/transaction/UpdateTest.java (92%)
 rename src/test/java/{ => org}/caosdb/server/utils/FileUtilsTest.java (96%)
 rename src/test/java/{ => org}/caosdb/server/utils/UtilsTest.java (98%)
 rename src/test/java/{ => org}/caosdb/server/utils/WebinterfaceUtilsTest.java (93%)
 rename src/test/java/{ => org}/caosdb/server/utils/fsm/TestFiniteStateMachine.java (98%)
 rename src/test/java/{ => org}/caosdb/server/utils/fsm/TestStrategyFiniteStateMachine.java (97%)
 rename src/test/java/{ => org}/caosdb/server/utils/mail/TestMail.java (90%)

diff --git a/makefile b/makefile
index e900742b..b348e696 100644
--- a/makefile
+++ b/makefile
@@ -23,10 +23,14 @@
 # ** end header
 #
 
+CAOSDB_SERVER_VERSION ?= $(mvn org.apache.maven.plugins:maven-help-plugin:3.1.0:evaluate -Dexpression=project.version -q -DforceStdout)
 SHELL:=/bin/bash
 JPDA_PORT ?= 9000
 JMX_PORT ?= 9090
 
+echoversion:
+	echo $(CAOSDB_SERVER_VERSION)
+
 compile: easy-units
 	mvn compile
 
diff --git a/pom.xml b/pom.xml
index 65174bd7..ad25a348 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,9 +23,9 @@
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
-  <groupId>bmp.ds.mpg.de</groupId>
+  <groupId>org.caosdb</groupId>
   <artifactId>caosdb-server</artifactId>
-  <version>0.1-SNAPSHOT</version>
+  <version>0.2</version>
   <packaging>jar</packaging>
   <name>CaosDB Server</name>
   <properties>
diff --git a/src/main/java/caosdb/server/database/BackendTransaction.java b/src/main/java/caosdb/server/database/BackendTransaction.java
deleted file mode 100644
index 55987005..00000000
--- a/src/main/java/caosdb/server/database/BackendTransaction.java
+++ /dev/null
@@ -1,298 +0,0 @@
-/*
- * ** header v3.0
- * This file is a part of the CaosDB Project.
- *
- * Copyright (C) 2018 Research Group Biomedical Physics,
- *   Max-Planck-Institute for Dynamics and Self-Organization Göttingen
- * Copyright (C) 2020 IndiScale GmbH
- * Copyright (C) 2020 Timm Fitschen (t.fitschen@indiscale.com)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <https://www.gnu.org/licenses/>.
- *
- * ** end header
- */
-package caosdb.server.database;
-
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.implementation.MySQL.MySQLDeleteEntityProperties;
-import caosdb.server.database.backend.implementation.MySQL.MySQLDeletePassword;
-import caosdb.server.database.backend.implementation.MySQL.MySQLDeleteRole;
-import caosdb.server.database.backend.implementation.MySQL.MySQLDeleteSparseEntity;
-import caosdb.server.database.backend.implementation.MySQL.MySQLDeleteUser;
-import caosdb.server.database.backend.implementation.MySQL.MySQLGetAllNames;
-import caosdb.server.database.backend.implementation.MySQL.MySQLGetChildren;
-import caosdb.server.database.backend.implementation.MySQL.MySQLGetDependentEntities;
-import caosdb.server.database.backend.implementation.MySQL.MySQLGetFileRecordByPath;
-import caosdb.server.database.backend.implementation.MySQL.MySQLGetIDByName;
-import caosdb.server.database.backend.implementation.MySQL.MySQLGetInfo;
-import caosdb.server.database.backend.implementation.MySQL.MySQLGetUpdateableChecksums;
-import caosdb.server.database.backend.implementation.MySQL.MySQLInsertEntityDatatype;
-import caosdb.server.database.backend.implementation.MySQL.MySQLInsertEntityProperties;
-import caosdb.server.database.backend.implementation.MySQL.MySQLInsertLinCon;
-import caosdb.server.database.backend.implementation.MySQL.MySQLInsertLogRecord;
-import caosdb.server.database.backend.implementation.MySQL.MySQLInsertParents;
-import caosdb.server.database.backend.implementation.MySQL.MySQLInsertRole;
-import caosdb.server.database.backend.implementation.MySQL.MySQLInsertSparseEntity;
-import caosdb.server.database.backend.implementation.MySQL.MySQLInsertTransactionHistory;
-import caosdb.server.database.backend.implementation.MySQL.MySQLIsSubType;
-import caosdb.server.database.backend.implementation.MySQL.MySQLRegisterSubDomain;
-import caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveAll;
-import caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveAllUncheckedFiles;
-import caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveDatatypes;
-import caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveLogRecord;
-import caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveParents;
-import caosdb.server.database.backend.implementation.MySQL.MySQLRetrievePasswordValidator;
-import caosdb.server.database.backend.implementation.MySQL.MySQLRetrievePermissionRules;
-import caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveProperties;
-import caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveQueryTemplateDefinition;
-import caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveRole;
-import caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveSparseEntity;
-import caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveTransactionHistory;
-import caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveUser;
-import caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveVersionHistory;
-import caosdb.server.database.backend.implementation.MySQL.MySQLRuleLoader;
-import caosdb.server.database.backend.implementation.MySQL.MySQLSetFileCheckedTimestampImpl;
-import caosdb.server.database.backend.implementation.MySQL.MySQLSetPassword;
-import caosdb.server.database.backend.implementation.MySQL.MySQLSetPermissionRules;
-import caosdb.server.database.backend.implementation.MySQL.MySQLSetQueryTemplateDefinition;
-import caosdb.server.database.backend.implementation.MySQL.MySQLSyncStats;
-import caosdb.server.database.backend.implementation.MySQL.MySQLUpdateSparseEntity;
-import caosdb.server.database.backend.implementation.MySQL.MySQLUpdateUser;
-import caosdb.server.database.backend.implementation.MySQL.MySQLUpdateUserRoles;
-import caosdb.server.database.backend.implementation.UnixFileSystem.UnixFileSystemCheckHash;
-import caosdb.server.database.backend.implementation.UnixFileSystem.UnixFileSystemCheckSize;
-import caosdb.server.database.backend.implementation.UnixFileSystem.UnixFileSystemFileExists;
-import caosdb.server.database.backend.implementation.UnixFileSystem.UnixFileSystemFileWasModifiedAfter;
-import caosdb.server.database.backend.implementation.UnixFileSystem.UnixFileSystemGetFileIterator;
-import caosdb.server.database.backend.interfaces.BackendTransactionImpl;
-import caosdb.server.database.backend.interfaces.DeleteEntityPropertiesImpl;
-import caosdb.server.database.backend.interfaces.DeletePasswordImpl;
-import caosdb.server.database.backend.interfaces.DeleteRoleImpl;
-import caosdb.server.database.backend.interfaces.DeleteSparseEntityImpl;
-import caosdb.server.database.backend.interfaces.DeleteUserImpl;
-import caosdb.server.database.backend.interfaces.FileCheckHash;
-import caosdb.server.database.backend.interfaces.FileCheckSize;
-import caosdb.server.database.backend.interfaces.FileExists;
-import caosdb.server.database.backend.interfaces.FileWasModifiedAfter;
-import caosdb.server.database.backend.interfaces.GetAllNamesImpl;
-import caosdb.server.database.backend.interfaces.GetChildrenImpl;
-import caosdb.server.database.backend.interfaces.GetDependentEntitiesImpl;
-import caosdb.server.database.backend.interfaces.GetFileIteratorImpl;
-import caosdb.server.database.backend.interfaces.GetFileRecordByPathImpl;
-import caosdb.server.database.backend.interfaces.GetIDByNameImpl;
-import caosdb.server.database.backend.interfaces.GetInfoImpl;
-import caosdb.server.database.backend.interfaces.GetUpdateableChecksumsImpl;
-import caosdb.server.database.backend.interfaces.InsertEntityDatatypeImpl;
-import caosdb.server.database.backend.interfaces.InsertEntityPropertiesImpl;
-import caosdb.server.database.backend.interfaces.InsertLinConImpl;
-import caosdb.server.database.backend.interfaces.InsertLogRecordImpl;
-import caosdb.server.database.backend.interfaces.InsertParentsImpl;
-import caosdb.server.database.backend.interfaces.InsertRoleImpl;
-import caosdb.server.database.backend.interfaces.InsertSparseEntityImpl;
-import caosdb.server.database.backend.interfaces.InsertTransactionHistoryImpl;
-import caosdb.server.database.backend.interfaces.IsSubTypeImpl;
-import caosdb.server.database.backend.interfaces.RegisterSubDomainImpl;
-import caosdb.server.database.backend.interfaces.RetrieveAllImpl;
-import caosdb.server.database.backend.interfaces.RetrieveAllUncheckedFilesImpl;
-import caosdb.server.database.backend.interfaces.RetrieveDatatypesImpl;
-import caosdb.server.database.backend.interfaces.RetrieveLogRecordImpl;
-import caosdb.server.database.backend.interfaces.RetrieveParentsImpl;
-import caosdb.server.database.backend.interfaces.RetrievePasswordValidatorImpl;
-import caosdb.server.database.backend.interfaces.RetrievePermissionRulesImpl;
-import caosdb.server.database.backend.interfaces.RetrievePropertiesImpl;
-import caosdb.server.database.backend.interfaces.RetrieveQueryTemplateDefinitionImpl;
-import caosdb.server.database.backend.interfaces.RetrieveRoleImpl;
-import caosdb.server.database.backend.interfaces.RetrieveSparseEntityImpl;
-import caosdb.server.database.backend.interfaces.RetrieveTransactionHistoryImpl;
-import caosdb.server.database.backend.interfaces.RetrieveUserImpl;
-import caosdb.server.database.backend.interfaces.RetrieveVersionHistoryImpl;
-import caosdb.server.database.backend.interfaces.RuleLoaderImpl;
-import caosdb.server.database.backend.interfaces.SetFileCheckedTimestampImpl;
-import caosdb.server.database.backend.interfaces.SetPasswordImpl;
-import caosdb.server.database.backend.interfaces.SetPermissionRulesImpl;
-import caosdb.server.database.backend.interfaces.SetQueryTemplateDefinitionImpl;
-import caosdb.server.database.backend.interfaces.SyncStatsImpl;
-import caosdb.server.database.backend.interfaces.UpdateSparseEntityImpl;
-import caosdb.server.database.backend.interfaces.UpdateUserImpl;
-import caosdb.server.database.backend.interfaces.UpdateUserRolesImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.misc.TransactionBenchmark;
-import caosdb.server.utils.UndoHandler;
-import caosdb.server.utils.Undoable;
-import java.util.HashMap;
-
-public abstract class BackendTransaction implements Undoable {
-
-  private final UndoHandler undoHandler = new UndoHandler();
-  private Access access;
-  private TransactionBenchmark benchmark;
-  private static HashMap<
-          Class<? extends BackendTransactionImpl>, Class<? extends BackendTransactionImpl>>
-      impl = new HashMap<>();
-
-  protected abstract void execute();
-
-  public final void executeTransaction() {
-    final long t1 = System.currentTimeMillis();
-    execute();
-    final long t2 = System.currentTimeMillis();
-    this.addMeasurement(this, t2 - t1);
-  }
-
-  /**
-   * Intialiaze the adapters to the database backend.
-   *
-   * <p>Currently this is hard-coded to the MySQL-Backend but the architecture of this class is
-   * designed to make it easy in the future to choose other implementations (i.e. other back-ends)
-   */
-  public static void init() {
-    if (impl.isEmpty()) {
-      setImpl(GetAllNamesImpl.class, MySQLGetAllNames.class);
-      setImpl(DeleteEntityPropertiesImpl.class, MySQLDeleteEntityProperties.class);
-      setImpl(DeleteSparseEntityImpl.class, MySQLDeleteSparseEntity.class);
-      setImpl(GetChildrenImpl.class, MySQLGetChildren.class);
-      setImpl(GetDependentEntitiesImpl.class, MySQLGetDependentEntities.class);
-      setImpl(GetIDByNameImpl.class, MySQLGetIDByName.class);
-      setImpl(GetInfoImpl.class, MySQLGetInfo.class);
-      setImpl(InsertEntityPropertiesImpl.class, MySQLInsertEntityProperties.class);
-      setImpl(InsertLinConImpl.class, MySQLInsertLinCon.class);
-      setImpl(InsertParentsImpl.class, MySQLInsertParents.class);
-      setImpl(InsertSparseEntityImpl.class, MySQLInsertSparseEntity.class);
-      setImpl(InsertTransactionHistoryImpl.class, MySQLInsertTransactionHistory.class);
-      setImpl(IsSubTypeImpl.class, MySQLIsSubType.class);
-      setImpl(UpdateSparseEntityImpl.class, MySQLUpdateSparseEntity.class);
-      setImpl(RetrieveAllImpl.class, MySQLRetrieveAll.class);
-      setImpl(RegisterSubDomainImpl.class, MySQLRegisterSubDomain.class);
-      setImpl(RetrieveDatatypesImpl.class, MySQLRetrieveDatatypes.class);
-      setImpl(RetrieveTransactionHistoryImpl.class, MySQLRetrieveTransactionHistory.class);
-      setImpl(RetrieveUserImpl.class, MySQLRetrieveUser.class);
-      setImpl(RetrieveParentsImpl.class, MySQLRetrieveParents.class);
-      setImpl(GetFileRecordByPathImpl.class, MySQLGetFileRecordByPath.class);
-      setImpl(RetrievePropertiesImpl.class, MySQLRetrieveProperties.class);
-      setImpl(RetrieveSparseEntityImpl.class, MySQLRetrieveSparseEntity.class);
-      setImpl(RuleLoaderImpl.class, MySQLRuleLoader.class);
-      setImpl(SyncStatsImpl.class, MySQLSyncStats.class);
-      setImpl(FileExists.class, UnixFileSystemFileExists.class);
-      setImpl(FileWasModifiedAfter.class, UnixFileSystemFileWasModifiedAfter.class);
-      setImpl(FileCheckHash.class, UnixFileSystemCheckHash.class);
-      setImpl(GetFileIteratorImpl.class, UnixFileSystemGetFileIterator.class);
-      setImpl(SetFileCheckedTimestampImpl.class, MySQLSetFileCheckedTimestampImpl.class);
-      setImpl(RetrieveAllUncheckedFilesImpl.class, MySQLRetrieveAllUncheckedFiles.class);
-      setImpl(UpdateUserImpl.class, MySQLUpdateUser.class);
-      setImpl(DeleteUserImpl.class, MySQLDeleteUser.class);
-      setImpl(SetPasswordImpl.class, MySQLSetPassword.class);
-      setImpl(RetrievePasswordValidatorImpl.class, MySQLRetrievePasswordValidator.class);
-      setImpl(DeletePasswordImpl.class, MySQLDeletePassword.class);
-      setImpl(GetUpdateableChecksumsImpl.class, MySQLGetUpdateableChecksums.class);
-      setImpl(FileCheckSize.class, UnixFileSystemCheckSize.class);
-      setImpl(InsertRoleImpl.class, MySQLInsertRole.class);
-      setImpl(RetrieveRoleImpl.class, MySQLRetrieveRole.class);
-      setImpl(DeleteRoleImpl.class, MySQLDeleteRole.class);
-      setImpl(SetPermissionRulesImpl.class, MySQLSetPermissionRules.class);
-      setImpl(RetrievePermissionRulesImpl.class, MySQLRetrievePermissionRules.class);
-      setImpl(UpdateUserRolesImpl.class, MySQLUpdateUserRoles.class);
-      setImpl(InsertLogRecordImpl.class, MySQLInsertLogRecord.class);
-      setImpl(RetrieveLogRecordImpl.class, MySQLRetrieveLogRecord.class);
-      setImpl(SetQueryTemplateDefinitionImpl.class, MySQLSetQueryTemplateDefinition.class);
-      setImpl(
-          RetrieveQueryTemplateDefinitionImpl.class, MySQLRetrieveQueryTemplateDefinition.class);
-      setImpl(InsertEntityDatatypeImpl.class, MySQLInsertEntityDatatype.class);
-      setImpl(RetrieveVersionHistoryImpl.class, MySQLRetrieveVersionHistory.class);
-    }
-  }
-
-  /**
-   * Execute this BackendTransaction, using the implementation given as an argument.
-   *
-   * <p>The implementation's benchmark is set to the corresponding sub-benchmark of this object's
-   * benchmark.
-   *
-   * @param t This BackendTransaction's execute() method will be called.
-   * @return The BackendTransaction which was passed as an argument.
-   */
-  protected <K extends BackendTransaction> K execute(final K t) {
-    assert t != this;
-    this.undoHandler.append(t);
-    t.setAccess(this.access);
-    if (benchmark != null) {
-      t.setTransactionBenchmark(benchmark.getBenchmark(t.getClass()));
-    }
-    final long t1 = System.currentTimeMillis();
-    t.execute();
-    final long t2 = System.currentTimeMillis();
-    this.addMeasurement(t, t2 - t1);
-    return t;
-  }
-
-  public static <K extends BackendTransactionImpl, L extends K> void setImpl(
-      final Class<K> k, final Class<L> l) {
-    impl.put(k, l);
-  }
-
-  public void setAccess(final Access access) {
-    this.access = access;
-  }
-
-  @SuppressWarnings("unchecked")
-  protected <T extends BackendTransactionImpl> T getImplementation(final Class<T> clz) {
-    init();
-    try {
-      Class<?> implclz = impl.get(clz);
-      final T ret = (T) implclz.getConstructor(Access.class).newInstance(this.access);
-      if (ret instanceof Undoable) {
-        this.undoHandler.append((Undoable) ret);
-      }
-      if (benchmark != null) {
-        ret.setTransactionBenchmark(benchmark.getBenchmark(ret.getClass()));
-      }
-      return ret;
-    } catch (final Exception e) {
-      throw new TransactionException(e);
-    }
-  }
-
-  protected UndoHandler getUndoHandler() {
-    return this.undoHandler;
-  }
-
-  @Override
-  public final void undo() {
-    this.undoHandler.undo();
-  }
-
-  @Override
-  public final void cleanUp() {
-    this.undoHandler.cleanUp();
-  }
-
-  boolean useCache() {
-    return this.access.useCache();
-  }
-
-  @Override
-  public String toString() {
-    return this.getClass().getSimpleName();
-  }
-
-  /** Set the benchmark object for this AbstractTransaction. */
-  public void setTransactionBenchmark(TransactionBenchmark b) {
-    this.benchmark = b;
-  }
-
-  public void addMeasurement(Object o, long time) {
-    if (this.benchmark != null) {
-      this.benchmark.addMeasurement(o, time);
-    }
-  }
-}
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/InsertEntityDatatypeImpl.java b/src/main/java/caosdb/server/database/backend/interfaces/InsertEntityDatatypeImpl.java
deleted file mode 100644
index 2f6f7c85..00000000
--- a/src/main/java/caosdb/server/database/backend/interfaces/InsertEntityDatatypeImpl.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package caosdb.server.database.backend.interfaces;
-
-import caosdb.server.database.proto.SparseEntity;
-import caosdb.server.utils.Undoable;
-
-public interface InsertEntityDatatypeImpl extends BackendTransactionImpl, Undoable {
-  public abstract void execute(SparseEntity entity);
-}
diff --git a/src/main/java/caosdb/datetime/Date.java b/src/main/java/org/caosdb/datetime/Date.java
similarity index 96%
rename from src/main/java/caosdb/datetime/Date.java
rename to src/main/java/org/caosdb/datetime/Date.java
index b0d025df..2b7aa522 100644
--- a/src/main/java/caosdb/datetime/Date.java
+++ b/src/main/java/org/caosdb/datetime/Date.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.datetime;
+package org.caosdb.datetime;
 
-import caosdb.server.datatype.AbstractDatatype.Table;
 import java.util.Calendar;
 import java.util.GregorianCalendar;
 import java.util.TimeZone;
+import org.caosdb.server.datatype.AbstractDatatype.Table;
 import org.jdom2.Element;
 
 public class Date extends SemiCompleteDateTime {
diff --git a/src/main/java/caosdb/datetime/DateTimeFactory2.java b/src/main/java/org/caosdb/datetime/DateTimeFactory2.java
similarity index 97%
rename from src/main/java/caosdb/datetime/DateTimeFactory2.java
rename to src/main/java/org/caosdb/datetime/DateTimeFactory2.java
index 40aa7473..103359c7 100644
--- a/src/main/java/caosdb/datetime/DateTimeFactory2.java
+++ b/src/main/java/org/caosdb/datetime/DateTimeFactory2.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.datetime;
+package org.caosdb.datetime;
 
-import caosdb.server.query.CQLParsingErrorListener;
-import caosdb.server.query.CQLParsingErrorListener.ParsingError;
 import java.util.Arrays;
 import java.util.Calendar;
 import java.util.TimeZone;
 import org.antlr.v4.runtime.CharStreams;
 import org.antlr.v4.runtime.CommonTokenStream;
+import org.caosdb.server.query.CQLParsingErrorListener;
+import org.caosdb.server.query.CQLParsingErrorListener.ParsingError;
 
 public class DateTimeFactory2 implements DateTimeFactoryInterface {
 
diff --git a/src/main/java/caosdb/datetime/DateTimeFactoryInterface.java b/src/main/java/org/caosdb/datetime/DateTimeFactoryInterface.java
similarity index 98%
rename from src/main/java/caosdb/datetime/DateTimeFactoryInterface.java
rename to src/main/java/org/caosdb/datetime/DateTimeFactoryInterface.java
index 89ce60d3..c81018f9 100644
--- a/src/main/java/caosdb/datetime/DateTimeFactoryInterface.java
+++ b/src/main/java/org/caosdb/datetime/DateTimeFactoryInterface.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.datetime;
+package org.caosdb.datetime;
 
 import java.util.Date;
 
diff --git a/src/main/java/caosdb/datetime/DateTimeInterface.java b/src/main/java/org/caosdb/datetime/DateTimeInterface.java
similarity index 93%
rename from src/main/java/caosdb/datetime/DateTimeInterface.java
rename to src/main/java/org/caosdb/datetime/DateTimeInterface.java
index 33d508cc..e6f1b933 100644
--- a/src/main/java/caosdb/datetime/DateTimeInterface.java
+++ b/src/main/java/org/caosdb/datetime/DateTimeInterface.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.datetime;
+package org.caosdb.datetime;
 
-import caosdb.server.datatype.SingleValue;
 import java.util.TimeZone;
+import org.caosdb.server.datatype.SingleValue;
 
 public interface DateTimeInterface extends SingleValue {
 
diff --git a/src/main/java/caosdb/datetime/DateTimeLexer.g4 b/src/main/java/org/caosdb/datetime/DateTimeLexer.g4
similarity index 100%
rename from src/main/java/caosdb/datetime/DateTimeLexer.g4
rename to src/main/java/org/caosdb/datetime/DateTimeLexer.g4
diff --git a/src/main/java/caosdb/datetime/DateTimeParser.g4 b/src/main/java/org/caosdb/datetime/DateTimeParser.g4
similarity index 100%
rename from src/main/java/caosdb/datetime/DateTimeParser.g4
rename to src/main/java/org/caosdb/datetime/DateTimeParser.g4
diff --git a/src/main/java/caosdb/datetime/DateTimeStringStrategy.java b/src/main/java/org/caosdb/datetime/DateTimeStringStrategy.java
similarity index 97%
rename from src/main/java/caosdb/datetime/DateTimeStringStrategy.java
rename to src/main/java/org/caosdb/datetime/DateTimeStringStrategy.java
index 299a1b78..635b2cfa 100644
--- a/src/main/java/caosdb/datetime/DateTimeStringStrategy.java
+++ b/src/main/java/org/caosdb/datetime/DateTimeStringStrategy.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.datetime;
+package org.caosdb.datetime;
 
 import java.util.TimeZone;
 
diff --git a/src/main/java/caosdb/datetime/FragmentDateTime.java b/src/main/java/org/caosdb/datetime/FragmentDateTime.java
similarity index 98%
rename from src/main/java/caosdb/datetime/FragmentDateTime.java
rename to src/main/java/org/caosdb/datetime/FragmentDateTime.java
index 46bec549..52faf5f2 100644
--- a/src/main/java/caosdb/datetime/FragmentDateTime.java
+++ b/src/main/java/org/caosdb/datetime/FragmentDateTime.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.datetime;
+package org.caosdb.datetime;
 
 import java.util.TimeZone;
 
diff --git a/src/main/java/caosdb/datetime/GregorianCalendarDateTimeStringStrategy.java b/src/main/java/org/caosdb/datetime/GregorianCalendarDateTimeStringStrategy.java
similarity index 98%
rename from src/main/java/caosdb/datetime/GregorianCalendarDateTimeStringStrategy.java
rename to src/main/java/org/caosdb/datetime/GregorianCalendarDateTimeStringStrategy.java
index 22e83dc7..459f1d59 100644
--- a/src/main/java/caosdb/datetime/GregorianCalendarDateTimeStringStrategy.java
+++ b/src/main/java/org/caosdb/datetime/GregorianCalendarDateTimeStringStrategy.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.datetime;
+package org.caosdb.datetime;
 
 import java.text.SimpleDateFormat;
 import java.util.Calendar;
diff --git a/src/main/java/caosdb/datetime/Interval.java b/src/main/java/org/caosdb/datetime/Interval.java
similarity index 97%
rename from src/main/java/caosdb/datetime/Interval.java
rename to src/main/java/org/caosdb/datetime/Interval.java
index 59a3915e..9890fb4c 100644
--- a/src/main/java/caosdb/datetime/Interval.java
+++ b/src/main/java/org/caosdb/datetime/Interval.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.datetime;
+package org.caosdb.datetime;
 
 public interface Interval extends DateTimeInterface {
 
diff --git a/src/main/java/caosdb/datetime/LeapSecondDateTimeStringStrategy.java b/src/main/java/org/caosdb/datetime/LeapSecondDateTimeStringStrategy.java
similarity index 98%
rename from src/main/java/caosdb/datetime/LeapSecondDateTimeStringStrategy.java
rename to src/main/java/org/caosdb/datetime/LeapSecondDateTimeStringStrategy.java
index 28beb760..5aff2dce 100644
--- a/src/main/java/caosdb/datetime/LeapSecondDateTimeStringStrategy.java
+++ b/src/main/java/org/caosdb/datetime/LeapSecondDateTimeStringStrategy.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.datetime;
+package org.caosdb.datetime;
 
 import java.text.SimpleDateFormat;
 import java.util.Calendar;
diff --git a/src/main/java/caosdb/datetime/SemiCompleteDateTime.java b/src/main/java/org/caosdb/datetime/SemiCompleteDateTime.java
similarity index 98%
rename from src/main/java/caosdb/datetime/SemiCompleteDateTime.java
rename to src/main/java/org/caosdb/datetime/SemiCompleteDateTime.java
index 55a7f5d5..5bd4daca 100644
--- a/src/main/java/caosdb/datetime/SemiCompleteDateTime.java
+++ b/src/main/java/org/caosdb/datetime/SemiCompleteDateTime.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.datetime;
+package org.caosdb.datetime;
 
-import caosdb.server.datatype.AbstractDatatype.Table;
 import java.util.TimeZone;
+import org.caosdb.server.datatype.AbstractDatatype.Table;
 import org.jdom2.Element;
 
 public class SemiCompleteDateTime extends FragmentDateTime implements Interval {
diff --git a/src/main/java/caosdb/datetime/UTCDateTime.java b/src/main/java/org/caosdb/datetime/UTCDateTime.java
similarity index 99%
rename from src/main/java/caosdb/datetime/UTCDateTime.java
rename to src/main/java/org/caosdb/datetime/UTCDateTime.java
index db66ef0a..0ecb3ac6 100644
--- a/src/main/java/caosdb/datetime/UTCDateTime.java
+++ b/src/main/java/org/caosdb/datetime/UTCDateTime.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.datetime;
+package org.caosdb.datetime;
 
-import caosdb.server.datatype.AbstractDatatype.Table;
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.GregorianCalendar;
 import java.util.TimeZone;
+import org.caosdb.server.datatype.AbstractDatatype.Table;
 import org.jdom2.Element;
 
 public class UTCDateTime implements Interval {
diff --git a/src/main/java/caosdb/datetime/UTCTimeZoneShift.java b/src/main/java/org/caosdb/datetime/UTCTimeZoneShift.java
similarity index 99%
rename from src/main/java/caosdb/datetime/UTCTimeZoneShift.java
rename to src/main/java/org/caosdb/datetime/UTCTimeZoneShift.java
index a5930d7d..b601e68c 100644
--- a/src/main/java/caosdb/datetime/UTCTimeZoneShift.java
+++ b/src/main/java/org/caosdb/datetime/UTCTimeZoneShift.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.datetime;
+package org.caosdb.datetime;
 
 import java.util.Date;
 import java.util.TimeZone;
diff --git a/src/main/java/caosdb/server/CaosAuthenticator.java b/src/main/java/org/caosdb/server/CaosAuthenticator.java
similarity index 91%
rename from src/main/java/caosdb/server/CaosAuthenticator.java
rename to src/main/java/org/caosdb/server/CaosAuthenticator.java
index 8fefee3b..b26e5000 100644
--- a/src/main/java/caosdb/server/CaosAuthenticator.java
+++ b/src/main/java/org/caosdb/server/CaosAuthenticator.java
@@ -20,16 +20,16 @@
  *
  * ** end header
  */
-package caosdb.server;
+package org.caosdb.server;
 
-import caosdb.server.accessControl.AnonymousAuthenticationToken;
-import caosdb.server.accessControl.AuthenticationUtils;
-import caosdb.server.resource.DefaultResource;
-import caosdb.server.utils.ServerMessages;
 import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.authc.AuthenticationException;
 import org.apache.shiro.authc.AuthenticationToken;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.accessControl.AnonymousAuthenticationToken;
+import org.caosdb.server.accessControl.AuthenticationUtils;
+import org.caosdb.server.resource.DefaultResource;
+import org.caosdb.server.utils.ServerMessages;
 import org.restlet.Context;
 import org.restlet.Request;
 import org.restlet.Response;
diff --git a/src/main/java/caosdb/server/CaosAuthorizer.java b/src/main/java/org/caosdb/server/CaosAuthorizer.java
similarity index 92%
rename from src/main/java/caosdb/server/CaosAuthorizer.java
rename to src/main/java/org/caosdb/server/CaosAuthorizer.java
index 7b0e0194..58e814a3 100644
--- a/src/main/java/caosdb/server/CaosAuthorizer.java
+++ b/src/main/java/org/caosdb/server/CaosAuthorizer.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server;
+package org.caosdb.server;
 
-import caosdb.server.resource.DefaultResource;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.resource.DefaultResource;
+import org.caosdb.server.utils.ServerMessages;
 import org.restlet.Request;
 import org.restlet.Response;
 import org.restlet.security.Authorizer;
diff --git a/src/main/java/caosdb/server/CaosDBException.java b/src/main/java/org/caosdb/server/CaosDBException.java
similarity index 97%
rename from src/main/java/caosdb/server/CaosDBException.java
rename to src/main/java/org/caosdb/server/CaosDBException.java
index 3e0e5076..e01882bf 100644
--- a/src/main/java/caosdb/server/CaosDBException.java
+++ b/src/main/java/org/caosdb/server/CaosDBException.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server;
+package org.caosdb.server;
 
 public class CaosDBException extends RuntimeException {
 
diff --git a/src/main/java/caosdb/server/CaosDBServer.java b/src/main/java/org/caosdb/server/CaosDBServer.java
similarity index 92%
rename from src/main/java/caosdb/server/CaosDBServer.java
rename to src/main/java/org/caosdb/server/CaosDBServer.java
index cdee262f..bad0bb35 100644
--- a/src/main/java/caosdb/server/CaosDBServer.java
+++ b/src/main/java/org/caosdb/server/CaosDBServer.java
@@ -17,53 +17,8 @@
  *
  * ** end header
  */
-package caosdb.server;
-
-import caosdb.server.accessControl.AnonymousAuthenticationToken;
-import caosdb.server.accessControl.AnonymousRealm;
-import caosdb.server.accessControl.AuthenticationUtils;
-import caosdb.server.accessControl.CaosDBAuthorizingRealm;
-import caosdb.server.accessControl.CaosDBDefaultRealm;
-import caosdb.server.accessControl.ConsumedInfoCleanupJob;
-import caosdb.server.accessControl.OneTimeAuthenticationToken;
-import caosdb.server.accessControl.SessionToken;
-import caosdb.server.accessControl.SessionTokenRealm;
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.transaction.RetrieveDatatypes;
-import caosdb.server.database.misc.TransactionBenchmark;
-import caosdb.server.datatype.AbstractDatatype;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Role;
-import caosdb.server.entity.container.Container;
-import caosdb.server.logging.RequestErrorLogMessage;
-import caosdb.server.resource.AuthenticationResource;
-import caosdb.server.resource.DefaultResource;
-import caosdb.server.resource.EntityOwnerResource;
-import caosdb.server.resource.EntityPermissionsResource;
-import caosdb.server.resource.FileSystemResource;
-import caosdb.server.resource.InfoResource;
-import caosdb.server.resource.LogoutResource;
-import caosdb.server.resource.PermissionRulesResource;
-import caosdb.server.resource.RolesResource;
-import caosdb.server.resource.ScriptingResource;
-import caosdb.server.resource.ServerLogsResource;
-import caosdb.server.resource.ServerPropertiesResource;
-import caosdb.server.resource.SharedFileResource;
-import caosdb.server.resource.ThumbnailsResource;
-import caosdb.server.resource.UserResource;
-import caosdb.server.resource.UserRolesResource;
-import caosdb.server.resource.Webinterface;
-import caosdb.server.resource.WebinterfaceBuildNumber;
-import caosdb.server.resource.transaction.EntityNamesResource;
-import caosdb.server.resource.transaction.EntityResource;
-import caosdb.server.terminal.CaosDBTerminal;
-import caosdb.server.terminal.StatsPanel;
-import caosdb.server.terminal.SystemErrPanel;
-import caosdb.server.transaction.ChecksumUpdater;
-import caosdb.server.utils.FileUtils;
-import caosdb.server.utils.Initialization;
-import caosdb.server.utils.NullPrintStream;
+package org.caosdb.server;
+
 import java.io.BufferedReader;
 import java.io.FileNotFoundException;
 import java.io.IOException;
@@ -85,6 +40,51 @@ import org.apache.shiro.env.BasicIniEnvironment;
 import org.apache.shiro.mgt.SecurityManager;
 import org.apache.shiro.subject.Subject;
 import org.apache.shiro.util.ThreadContext;
+import org.caosdb.server.accessControl.AnonymousAuthenticationToken;
+import org.caosdb.server.accessControl.AnonymousRealm;
+import org.caosdb.server.accessControl.AuthenticationUtils;
+import org.caosdb.server.accessControl.CaosDBAuthorizingRealm;
+import org.caosdb.server.accessControl.CaosDBDefaultRealm;
+import org.caosdb.server.accessControl.ConsumedInfoCleanupJob;
+import org.caosdb.server.accessControl.OneTimeAuthenticationToken;
+import org.caosdb.server.accessControl.SessionToken;
+import org.caosdb.server.accessControl.SessionTokenRealm;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.transaction.RetrieveDatatypes;
+import org.caosdb.server.database.misc.TransactionBenchmark;
+import org.caosdb.server.datatype.AbstractDatatype;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Role;
+import org.caosdb.server.entity.container.Container;
+import org.caosdb.server.logging.RequestErrorLogMessage;
+import org.caosdb.server.resource.AuthenticationResource;
+import org.caosdb.server.resource.DefaultResource;
+import org.caosdb.server.resource.EntityOwnerResource;
+import org.caosdb.server.resource.EntityPermissionsResource;
+import org.caosdb.server.resource.FileSystemResource;
+import org.caosdb.server.resource.InfoResource;
+import org.caosdb.server.resource.LogoutResource;
+import org.caosdb.server.resource.PermissionRulesResource;
+import org.caosdb.server.resource.RolesResource;
+import org.caosdb.server.resource.ScriptingResource;
+import org.caosdb.server.resource.ServerLogsResource;
+import org.caosdb.server.resource.ServerPropertiesResource;
+import org.caosdb.server.resource.SharedFileResource;
+import org.caosdb.server.resource.ThumbnailsResource;
+import org.caosdb.server.resource.UserResource;
+import org.caosdb.server.resource.UserRolesResource;
+import org.caosdb.server.resource.Webinterface;
+import org.caosdb.server.resource.WebinterfaceBuildNumber;
+import org.caosdb.server.resource.transaction.EntityNamesResource;
+import org.caosdb.server.resource.transaction.EntityResource;
+import org.caosdb.server.terminal.CaosDBTerminal;
+import org.caosdb.server.terminal.StatsPanel;
+import org.caosdb.server.terminal.SystemErrPanel;
+import org.caosdb.server.transaction.ChecksumUpdater;
+import org.caosdb.server.utils.FileUtils;
+import org.caosdb.server.utils.Initialization;
+import org.caosdb.server.utils.NullPrintStream;
 import org.quartz.JobDetail;
 import org.quartz.Scheduler;
 import org.quartz.SchedulerException;
diff --git a/src/main/java/caosdb/server/CaosDBServerConnectorHelper.java b/src/main/java/org/caosdb/server/CaosDBServerConnectorHelper.java
similarity index 98%
rename from src/main/java/caosdb/server/CaosDBServerConnectorHelper.java
rename to src/main/java/org/caosdb/server/CaosDBServerConnectorHelper.java
index 718d9a5e..8a9749bc 100644
--- a/src/main/java/caosdb/server/CaosDBServerConnectorHelper.java
+++ b/src/main/java/org/caosdb/server/CaosDBServerConnectorHelper.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server;
+package org.caosdb.server;
 
 import java.util.LinkedList;
 import org.restlet.Server;
diff --git a/src/main/java/caosdb/server/FileSystem.java b/src/main/java/org/caosdb/server/FileSystem.java
similarity index 95%
rename from src/main/java/caosdb/server/FileSystem.java
rename to src/main/java/org/caosdb/server/FileSystem.java
index 79e764b9..6bff612c 100644
--- a/src/main/java/caosdb/server/FileSystem.java
+++ b/src/main/java/org/caosdb/server/FileSystem.java
@@ -22,18 +22,8 @@
  * ** end header
  */
 
-package caosdb.server;
-
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.transaction.GetFileRecordByPath;
-import caosdb.server.database.exceptions.EntityDoesNotExistException;
-import caosdb.server.database.misc.TransactionBenchmark;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.FileProperties;
-import caosdb.server.entity.Message;
-import caosdb.server.utils.FileUtils;
-import caosdb.server.utils.ServerMessages;
-import caosdb.server.utils.Utils;
+package org.caosdb.server;
+
 import com.google.common.io.Files;
 import java.io.File;
 import java.io.FileOutputStream;
@@ -45,6 +35,16 @@ import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
 import java.util.regex.Pattern;
 import org.apache.commons.fileupload.FileItemStream;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.transaction.GetFileRecordByPath;
+import org.caosdb.server.database.exceptions.EntityDoesNotExistException;
+import org.caosdb.server.database.misc.TransactionBenchmark;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.FileProperties;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.utils.FileUtils;
+import org.caosdb.server.utils.ServerMessages;
+import org.caosdb.server.utils.Utils;
 
 public class FileSystem {
   private static String filesystem = null;
diff --git a/src/main/java/caosdb/server/HttpToHttpsRedirector.java b/src/main/java/org/caosdb/server/HttpToHttpsRedirector.java
similarity index 98%
rename from src/main/java/caosdb/server/HttpToHttpsRedirector.java
rename to src/main/java/org/caosdb/server/HttpToHttpsRedirector.java
index 6e250028..5f15406f 100644
--- a/src/main/java/caosdb/server/HttpToHttpsRedirector.java
+++ b/src/main/java/org/caosdb/server/HttpToHttpsRedirector.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server;
+package org.caosdb.server;
 
 import org.restlet.Request;
 import org.restlet.Response;
diff --git a/src/main/java/caosdb/server/ServerProperties.java b/src/main/java/org/caosdb/server/ServerProperties.java
similarity index 99%
rename from src/main/java/caosdb/server/ServerProperties.java
rename to src/main/java/org/caosdb/server/ServerProperties.java
index 29ba470d..d2f8e14d 100644
--- a/src/main/java/caosdb/server/ServerProperties.java
+++ b/src/main/java/org/caosdb/server/ServerProperties.java
@@ -22,7 +22,7 @@
  *
  * ** end header
  */
-package caosdb.server;
+package org.caosdb.server;
 
 import java.io.BufferedInputStream;
 import java.io.File;
diff --git a/src/main/java/caosdb/server/ServerPropertiesSerializer.java b/src/main/java/org/caosdb/server/ServerPropertiesSerializer.java
similarity index 92%
rename from src/main/java/caosdb/server/ServerPropertiesSerializer.java
rename to src/main/java/org/caosdb/server/ServerPropertiesSerializer.java
index 10189f99..f68538a3 100644
--- a/src/main/java/caosdb/server/ServerPropertiesSerializer.java
+++ b/src/main/java/org/caosdb/server/ServerPropertiesSerializer.java
@@ -1,10 +1,10 @@
-package caosdb.server;
+package org.caosdb.server;
 
-import caosdb.server.utils.Serializer;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Properties;
+import org.caosdb.server.utils.Serializer;
 import org.jdom2.Element;
 
 public class ServerPropertiesSerializer implements Serializer<Properties, Element> {
diff --git a/src/main/java/caosdb/server/accessControl/ACMPermissions.java b/src/main/java/org/caosdb/server/accessControl/ACMPermissions.java
similarity index 98%
rename from src/main/java/caosdb/server/accessControl/ACMPermissions.java
rename to src/main/java/org/caosdb/server/accessControl/ACMPermissions.java
index 29988106..84844e89 100644
--- a/src/main/java/caosdb/server/accessControl/ACMPermissions.java
+++ b/src/main/java/org/caosdb/server/accessControl/ACMPermissions.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
 public class ACMPermissions {
 
diff --git a/src/main/java/caosdb/server/accessControl/AnonymousAuthenticationToken.java b/src/main/java/org/caosdb/server/accessControl/AnonymousAuthenticationToken.java
similarity index 97%
rename from src/main/java/caosdb/server/accessControl/AnonymousAuthenticationToken.java
rename to src/main/java/org/caosdb/server/accessControl/AnonymousAuthenticationToken.java
index f3f62af2..fcbf8c43 100644
--- a/src/main/java/caosdb/server/accessControl/AnonymousAuthenticationToken.java
+++ b/src/main/java/org/caosdb/server/accessControl/AnonymousAuthenticationToken.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
 import org.apache.shiro.authc.AuthenticationToken;
 
diff --git a/src/main/java/caosdb/server/accessControl/AnonymousRealm.java b/src/main/java/org/caosdb/server/accessControl/AnonymousRealm.java
similarity index 97%
rename from src/main/java/caosdb/server/accessControl/AnonymousRealm.java
rename to src/main/java/org/caosdb/server/accessControl/AnonymousRealm.java
index 831d45a7..006400bf 100644
--- a/src/main/java/caosdb/server/accessControl/AnonymousRealm.java
+++ b/src/main/java/org/caosdb/server/accessControl/AnonymousRealm.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
 import org.apache.shiro.authc.AuthenticationInfo;
 import org.apache.shiro.authc.AuthenticationToken;
diff --git a/src/main/java/caosdb/server/accessControl/AuthenticationUtils.java b/src/main/java/org/caosdb/server/accessControl/AuthenticationUtils.java
similarity index 95%
rename from src/main/java/caosdb/server/accessControl/AuthenticationUtils.java
rename to src/main/java/org/caosdb/server/accessControl/AuthenticationUtils.java
index c3576031..e6907f40 100644
--- a/src/main/java/caosdb/server/accessControl/AuthenticationUtils.java
+++ b/src/main/java/org/caosdb/server/accessControl/AuthenticationUtils.java
@@ -22,19 +22,19 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
-import static caosdb.server.utils.Utils.URLDecodeWithUTF8;
+import static org.caosdb.server.utils.Utils.URLDecodeWithUTF8;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
-import caosdb.server.permissions.ResponsibleAgent;
-import caosdb.server.permissions.Role;
-import caosdb.server.utils.Utils;
 import java.sql.Timestamp;
 import java.util.Collection;
 import java.util.LinkedList;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.permissions.ResponsibleAgent;
+import org.caosdb.server.permissions.Role;
+import org.caosdb.server.utils.Utils;
 import org.restlet.data.Cookie;
 import org.restlet.data.CookieSetting;
 
diff --git a/src/main/java/caosdb/server/accessControl/CaosDBAuthorizingRealm.java b/src/main/java/org/caosdb/server/accessControl/CaosDBAuthorizingRealm.java
similarity index 98%
rename from src/main/java/caosdb/server/accessControl/CaosDBAuthorizingRealm.java
rename to src/main/java/org/caosdb/server/accessControl/CaosDBAuthorizingRealm.java
index abd52d9e..e10a0b29 100644
--- a/src/main/java/caosdb/server/accessControl/CaosDBAuthorizingRealm.java
+++ b/src/main/java/org/caosdb/server/accessControl/CaosDBAuthorizingRealm.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
 import java.util.Collection;
 import java.util.Set;
diff --git a/src/main/java/caosdb/server/accessControl/CaosDBDefaultRealm.java b/src/main/java/org/caosdb/server/accessControl/CaosDBDefaultRealm.java
similarity index 98%
rename from src/main/java/caosdb/server/accessControl/CaosDBDefaultRealm.java
rename to src/main/java/org/caosdb/server/accessControl/CaosDBDefaultRealm.java
index 209487b7..47fe71fd 100644
--- a/src/main/java/caosdb/server/accessControl/CaosDBDefaultRealm.java
+++ b/src/main/java/org/caosdb/server/accessControl/CaosDBDefaultRealm.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
 import org.apache.shiro.authc.AuthenticationInfo;
 import org.apache.shiro.authc.AuthenticationToken;
diff --git a/src/main/java/caosdb/server/accessControl/CaosDBRolePermissionResolver.java b/src/main/java/org/caosdb/server/accessControl/CaosDBRolePermissionResolver.java
similarity index 85%
rename from src/main/java/caosdb/server/accessControl/CaosDBRolePermissionResolver.java
rename to src/main/java/org/caosdb/server/accessControl/CaosDBRolePermissionResolver.java
index ae4c3860..17637b01 100644
--- a/src/main/java/caosdb/server/accessControl/CaosDBRolePermissionResolver.java
+++ b/src/main/java/org/caosdb/server/accessControl/CaosDBRolePermissionResolver.java
@@ -20,16 +20,16 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
-import caosdb.server.entity.Message;
-import caosdb.server.permissions.CaosPermission;
-import caosdb.server.permissions.PermissionRule;
-import caosdb.server.transaction.RetrievePermissionRulesTransaction;
-import caosdb.server.utils.ServerMessages;
 import java.util.HashSet;
 import java.util.Set;
 import org.apache.shiro.authc.AuthenticationException;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.permissions.CaosPermission;
+import org.caosdb.server.permissions.PermissionRule;
+import org.caosdb.server.transaction.RetrievePermissionRulesTransaction;
+import org.caosdb.server.utils.ServerMessages;
 
 public class CaosDBRolePermissionResolver {
 
diff --git a/src/main/java/caosdb/server/accessControl/Config.java b/src/main/java/org/caosdb/server/accessControl/Config.java
similarity index 97%
rename from src/main/java/caosdb/server/accessControl/Config.java
rename to src/main/java/org/caosdb/server/accessControl/Config.java
index 3da7a426..4c50b445 100644
--- a/src/main/java/caosdb/server/accessControl/Config.java
+++ b/src/main/java/org/caosdb/server/accessControl/Config.java
@@ -1,4 +1,4 @@
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
 public class Config {
   private String[] permissions = {};
diff --git a/src/main/java/caosdb/server/accessControl/ConsumedInfoCleanupJob.java b/src/main/java/org/caosdb/server/accessControl/ConsumedInfoCleanupJob.java
similarity index 91%
rename from src/main/java/caosdb/server/accessControl/ConsumedInfoCleanupJob.java
rename to src/main/java/org/caosdb/server/accessControl/ConsumedInfoCleanupJob.java
index 1f62fa0a..b5945c5c 100644
--- a/src/main/java/caosdb/server/accessControl/ConsumedInfoCleanupJob.java
+++ b/src/main/java/org/caosdb/server/accessControl/ConsumedInfoCleanupJob.java
@@ -1,6 +1,6 @@
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
-import caosdb.server.CaosDBServer;
+import org.caosdb.server.CaosDBServer;
 import org.quartz.CronScheduleBuilder;
 import org.quartz.Job;
 import org.quartz.JobBuilder;
diff --git a/src/main/java/caosdb/server/accessControl/CredentialsValidator.java b/src/main/java/org/caosdb/server/accessControl/CredentialsValidator.java
similarity index 96%
rename from src/main/java/caosdb/server/accessControl/CredentialsValidator.java
rename to src/main/java/org/caosdb/server/accessControl/CredentialsValidator.java
index 1c9474eb..dfcbe8df 100644
--- a/src/main/java/caosdb/server/accessControl/CredentialsValidator.java
+++ b/src/main/java/org/caosdb/server/accessControl/CredentialsValidator.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
 public interface CredentialsValidator<T> {
 
diff --git a/src/main/java/caosdb/server/accessControl/HashPasswordValidator.java b/src/main/java/org/caosdb/server/accessControl/HashPasswordValidator.java
similarity index 95%
rename from src/main/java/caosdb/server/accessControl/HashPasswordValidator.java
rename to src/main/java/org/caosdb/server/accessControl/HashPasswordValidator.java
index 2d883d90..dcf1e3fe 100644
--- a/src/main/java/caosdb/server/accessControl/HashPasswordValidator.java
+++ b/src/main/java/org/caosdb/server/accessControl/HashPasswordValidator.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
-import caosdb.server.utils.Utils;
 import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
+import org.caosdb.server.utils.Utils;
 
 public class HashPasswordValidator implements CredentialsValidator<String> {
 
diff --git a/src/main/java/caosdb/server/accessControl/InternalUserSource.java b/src/main/java/org/caosdb/server/accessControl/InternalUserSource.java
similarity index 91%
rename from src/main/java/caosdb/server/accessControl/InternalUserSource.java
rename to src/main/java/org/caosdb/server/accessControl/InternalUserSource.java
index 16e795aa..23f772df 100644
--- a/src/main/java/caosdb/server/accessControl/InternalUserSource.java
+++ b/src/main/java/org/caosdb/server/accessControl/InternalUserSource.java
@@ -20,16 +20,16 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
-import caosdb.server.entity.Message;
-import caosdb.server.transaction.RetrievePasswordValidatorTransaction;
-import caosdb.server.transaction.RetrieveUserTransaction;
-import caosdb.server.utils.ServerMessages;
 import java.util.Map;
 import java.util.Set;
 import org.apache.shiro.authc.AuthenticationException;
 import org.apache.shiro.authz.AuthorizationException;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.transaction.RetrievePasswordValidatorTransaction;
+import org.caosdb.server.transaction.RetrieveUserTransaction;
+import org.caosdb.server.utils.ServerMessages;
 
 public class InternalUserSource implements UserSource {
 
diff --git a/src/main/java/caosdb/server/accessControl/Mode.java b/src/main/java/org/caosdb/server/accessControl/Mode.java
similarity index 95%
rename from src/main/java/caosdb/server/accessControl/Mode.java
rename to src/main/java/org/caosdb/server/accessControl/Mode.java
index de7af914..8f91a9ba 100644
--- a/src/main/java/caosdb/server/accessControl/Mode.java
+++ b/src/main/java/org/caosdb/server/accessControl/Mode.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
 public enum Mode {
   ONETIME,
diff --git a/src/main/java/caosdb/server/accessControl/OneTimeAuthenticationToken.java b/src/main/java/org/caosdb/server/accessControl/OneTimeAuthenticationToken.java
similarity index 98%
rename from src/main/java/caosdb/server/accessControl/OneTimeAuthenticationToken.java
rename to src/main/java/org/caosdb/server/accessControl/OneTimeAuthenticationToken.java
index 8dddf77b..bde27876 100644
--- a/src/main/java/caosdb/server/accessControl/OneTimeAuthenticationToken.java
+++ b/src/main/java/org/caosdb/server/accessControl/OneTimeAuthenticationToken.java
@@ -22,10 +22,8 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.ObjectReader;
 import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
@@ -38,6 +36,8 @@ import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
 import org.eclipse.jetty.util.ajax.JSON;
 import org.quartz.SchedulerException;
 import org.slf4j.Logger;
diff --git a/src/main/java/caosdb/server/accessControl/OneTimeTokenConsumedInfo.java b/src/main/java/org/caosdb/server/accessControl/OneTimeTokenConsumedInfo.java
similarity index 98%
rename from src/main/java/caosdb/server/accessControl/OneTimeTokenConsumedInfo.java
rename to src/main/java/org/caosdb/server/accessControl/OneTimeTokenConsumedInfo.java
index a8ebd2c8..20c648b2 100644
--- a/src/main/java/caosdb/server/accessControl/OneTimeTokenConsumedInfo.java
+++ b/src/main/java/org/caosdb/server/accessControl/OneTimeTokenConsumedInfo.java
@@ -1,4 +1,4 @@
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
 import java.util.HashMap;
 import java.util.Iterator;
diff --git a/src/main/java/caosdb/server/accessControl/OneTimeTokenToFile.java b/src/main/java/org/caosdb/server/accessControl/OneTimeTokenToFile.java
similarity index 96%
rename from src/main/java/caosdb/server/accessControl/OneTimeTokenToFile.java
rename to src/main/java/org/caosdb/server/accessControl/OneTimeTokenToFile.java
index b4006783..46017701 100644
--- a/src/main/java/caosdb/server/accessControl/OneTimeTokenToFile.java
+++ b/src/main/java/org/caosdb/server/accessControl/OneTimeTokenToFile.java
@@ -1,10 +1,10 @@
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
-import caosdb.server.CaosDBServer;
 import com.google.common.io.Files;
 import java.io.File;
 import java.io.IOException;
 import java.io.PrintWriter;
+import org.caosdb.server.CaosDBServer;
 import org.quartz.CronScheduleBuilder;
 import org.quartz.Job;
 import org.quartz.JobBuilder;
diff --git a/src/main/java/caosdb/server/accessControl/Pam.java b/src/main/java/org/caosdb/server/accessControl/Pam.java
similarity index 99%
rename from src/main/java/caosdb/server/accessControl/Pam.java
rename to src/main/java/org/caosdb/server/accessControl/Pam.java
index 0cae6fd7..992665c1 100644
--- a/src/main/java/caosdb/server/accessControl/Pam.java
+++ b/src/main/java/org/caosdb/server/accessControl/Pam.java
@@ -23,9 +23,8 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
-import caosdb.server.caching.Cache;
 import java.io.File;
 import java.io.IOException;
 import java.util.HashSet;
@@ -36,6 +35,7 @@ import org.apache.commons.jcs.access.behavior.ICacheAccess;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.apache.shiro.authz.AuthorizationException;
+import org.caosdb.server.caching.Cache;
 import org.jvnet.libpam.PAMException;
 import org.jvnet.libpam.UnixUser;
 
diff --git a/src/main/java/caosdb/server/accessControl/PamScriptCaller.java b/src/main/java/org/caosdb/server/accessControl/PamScriptCaller.java
similarity index 96%
rename from src/main/java/caosdb/server/accessControl/PamScriptCaller.java
rename to src/main/java/org/caosdb/server/accessControl/PamScriptCaller.java
index 4cf1836d..dc9137e0 100644
--- a/src/main/java/caosdb/server/accessControl/PamScriptCaller.java
+++ b/src/main/java/org/caosdb/server/accessControl/PamScriptCaller.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
 public interface PamScriptCaller {
   public boolean isValid(String username, String password);
diff --git a/src/main/java/caosdb/server/accessControl/Principal.java b/src/main/java/org/caosdb/server/accessControl/Principal.java
similarity index 96%
rename from src/main/java/caosdb/server/accessControl/Principal.java
rename to src/main/java/org/caosdb/server/accessControl/Principal.java
index 6a95dd79..fc96fb99 100644
--- a/src/main/java/caosdb/server/accessControl/Principal.java
+++ b/src/main/java/org/caosdb/server/accessControl/Principal.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
-import caosdb.server.permissions.ResponsibleAgent;
 import java.util.HashMap;
+import org.caosdb.server.permissions.ResponsibleAgent;
 import org.jdom2.Element;
 
 public class Principal implements ResponsibleAgent {
diff --git a/src/main/java/caosdb/server/accessControl/RealmUsernamePasswordToken.java b/src/main/java/org/caosdb/server/accessControl/RealmUsernamePasswordToken.java
similarity index 97%
rename from src/main/java/caosdb/server/accessControl/RealmUsernamePasswordToken.java
rename to src/main/java/org/caosdb/server/accessControl/RealmUsernamePasswordToken.java
index e07db9a6..9455df70 100644
--- a/src/main/java/caosdb/server/accessControl/RealmUsernamePasswordToken.java
+++ b/src/main/java/org/caosdb/server/accessControl/RealmUsernamePasswordToken.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
 import org.apache.shiro.authc.AuthenticationToken;
 
diff --git a/src/main/java/caosdb/server/accessControl/Role.java b/src/main/java/org/caosdb/server/accessControl/Role.java
similarity index 96%
rename from src/main/java/caosdb/server/accessControl/Role.java
rename to src/main/java/org/caosdb/server/accessControl/Role.java
index e19e2459..e01f344c 100644
--- a/src/main/java/caosdb/server/accessControl/Role.java
+++ b/src/main/java/org/caosdb/server/accessControl/Role.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
 import java.io.Serializable;
 import org.jdom2.Element;
diff --git a/src/main/java/caosdb/server/accessControl/SelfValidatingAuthenticationToken.java b/src/main/java/org/caosdb/server/accessControl/SelfValidatingAuthenticationToken.java
similarity index 99%
rename from src/main/java/caosdb/server/accessControl/SelfValidatingAuthenticationToken.java
rename to src/main/java/org/caosdb/server/accessControl/SelfValidatingAuthenticationToken.java
index 119a8624..4291c5f6 100644
--- a/src/main/java/caosdb/server/accessControl/SelfValidatingAuthenticationToken.java
+++ b/src/main/java/org/caosdb/server/accessControl/SelfValidatingAuthenticationToken.java
@@ -22,13 +22,13 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
-import caosdb.server.utils.Utils;
 import java.util.Arrays;
 import java.util.Collection;
 import org.apache.shiro.authc.AuthenticationException;
 import org.apache.shiro.authc.AuthenticationToken;
+import org.caosdb.server.utils.Utils;
 import org.eclipse.jetty.util.ajax.JSON;
 
 /**
diff --git a/src/main/java/caosdb/server/accessControl/SessionToken.java b/src/main/java/org/caosdb/server/accessControl/SessionToken.java
similarity index 97%
rename from src/main/java/caosdb/server/accessControl/SessionToken.java
rename to src/main/java/org/caosdb/server/accessControl/SessionToken.java
index d24b4afe..5696af68 100644
--- a/src/main/java/caosdb/server/accessControl/SessionToken.java
+++ b/src/main/java/org/caosdb/server/accessControl/SessionToken.java
@@ -23,11 +23,11 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
 import org.eclipse.jetty.util.ajax.JSON;
 
 /**
diff --git a/src/main/java/caosdb/server/accessControl/SessionTokenRealm.java b/src/main/java/org/caosdb/server/accessControl/SessionTokenRealm.java
similarity index 97%
rename from src/main/java/caosdb/server/accessControl/SessionTokenRealm.java
rename to src/main/java/org/caosdb/server/accessControl/SessionTokenRealm.java
index cce2850d..d78ffb40 100644
--- a/src/main/java/caosdb/server/accessControl/SessionTokenRealm.java
+++ b/src/main/java/org/caosdb/server/accessControl/SessionTokenRealm.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
 import org.apache.shiro.authc.AuthenticationInfo;
 import org.apache.shiro.authc.AuthenticationToken;
diff --git a/src/main/java/caosdb/server/accessControl/UserSource.java b/src/main/java/org/caosdb/server/accessControl/UserSource.java
similarity index 98%
rename from src/main/java/caosdb/server/accessControl/UserSource.java
rename to src/main/java/org/caosdb/server/accessControl/UserSource.java
index 0ece8d50..ff9882bf 100644
--- a/src/main/java/caosdb/server/accessControl/UserSource.java
+++ b/src/main/java/org/caosdb/server/accessControl/UserSource.java
@@ -22,7 +22,7 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
 import java.util.Map;
 import java.util.Set;
diff --git a/src/main/java/caosdb/server/accessControl/UserSources.java b/src/main/java/org/caosdb/server/accessControl/UserSources.java
similarity index 95%
rename from src/main/java/caosdb/server/accessControl/UserSources.java
rename to src/main/java/org/caosdb/server/accessControl/UserSources.java
index cdf219c0..9e5663ed 100644
--- a/src/main/java/caosdb/server/accessControl/UserSources.java
+++ b/src/main/java/org/caosdb/server/accessControl/UserSources.java
@@ -22,15 +22,8 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
-import caosdb.server.entity.Message;
-import caosdb.server.permissions.Role;
-import caosdb.server.transaction.RetrieveRoleTransaction;
-import caosdb.server.transaction.RetrieveUserTransaction;
-import caosdb.server.utils.ServerMessages;
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.lang.reflect.InvocationTargetException;
@@ -39,6 +32,13 @@ import java.util.HashSet;
 import java.util.Set;
 import org.apache.shiro.authc.AuthenticationException;
 import org.apache.shiro.config.Ini;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.permissions.Role;
+import org.caosdb.server.transaction.RetrieveRoleTransaction;
+import org.caosdb.server.transaction.RetrieveUserTransaction;
+import org.caosdb.server.utils.ServerMessages;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/src/main/java/caosdb/server/accessControl/UserStatus.java b/src/main/java/org/caosdb/server/accessControl/UserStatus.java
similarity index 95%
rename from src/main/java/caosdb/server/accessControl/UserStatus.java
rename to src/main/java/org/caosdb/server/accessControl/UserStatus.java
index 5acf24f0..6091d3e1 100644
--- a/src/main/java/caosdb/server/accessControl/UserStatus.java
+++ b/src/main/java/org/caosdb/server/accessControl/UserStatus.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
 public enum UserStatus {
   ACTIVE,
diff --git a/src/main/java/caosdb/server/caching/Cache.java b/src/main/java/org/caosdb/server/caching/Cache.java
similarity index 98%
rename from src/main/java/caosdb/server/caching/Cache.java
rename to src/main/java/org/caosdb/server/caching/Cache.java
index 338b1d85..fe5e12c5 100644
--- a/src/main/java/caosdb/server/caching/Cache.java
+++ b/src/main/java/org/caosdb/server/caching/Cache.java
@@ -22,7 +22,7 @@
  *
  * ** end header
  */
-package caosdb.server.caching;
+package org.caosdb.server.caching;
 
 import java.io.Serializable;
 import org.apache.commons.jcs.access.behavior.ICacheAccess;
diff --git a/src/main/java/caosdb/server/caching/CacheHelper.java b/src/main/java/org/caosdb/server/caching/CacheHelper.java
similarity index 96%
rename from src/main/java/caosdb/server/caching/CacheHelper.java
rename to src/main/java/org/caosdb/server/caching/CacheHelper.java
index 32c85440..0dfd32da 100644
--- a/src/main/java/caosdb/server/caching/CacheHelper.java
+++ b/src/main/java/org/caosdb/server/caching/CacheHelper.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.caching;
+package org.caosdb.server.caching;
 
 import java.io.Serializable;
 import org.apache.commons.jcs.access.behavior.ICacheAccess;
diff --git a/src/main/java/caosdb/server/caching/JCSCacheHelper.java b/src/main/java/org/caosdb/server/caching/JCSCacheHelper.java
similarity index 96%
rename from src/main/java/caosdb/server/caching/JCSCacheHelper.java
rename to src/main/java/org/caosdb/server/caching/JCSCacheHelper.java
index c471ed7e..1613b8be 100644
--- a/src/main/java/caosdb/server/caching/JCSCacheHelper.java
+++ b/src/main/java/org/caosdb/server/caching/JCSCacheHelper.java
@@ -22,10 +22,8 @@
  *
  * ** end header
  */
-package caosdb.server.caching;
+package org.caosdb.server.caching;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.IOException;
@@ -36,6 +34,8 @@ import org.apache.commons.jcs.JCS;
 import org.apache.commons.jcs.access.behavior.ICacheAccess;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
 
 /**
  * A CacheHelper implementation which is configured statically via the {@link
diff --git a/src/main/java/org/caosdb/server/database/BackendTransaction.java b/src/main/java/org/caosdb/server/database/BackendTransaction.java
new file mode 100644
index 00000000..cb23dde5
--- /dev/null
+++ b/src/main/java/org/caosdb/server/database/BackendTransaction.java
@@ -0,0 +1,298 @@
+/*
+ * ** header v3.0
+ * This file is a part of the CaosDB Project.
+ *
+ * Copyright (C) 2018 Research Group Biomedical Physics,
+ *   Max-Planck-Institute for Dynamics and Self-Organization Göttingen
+ * Copyright (C) 2020 IndiScale GmbH
+ * Copyright (C) 2020 Timm Fitschen (t.fitschen@indiscale.com)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ * ** end header
+ */
+package org.caosdb.server.database;
+
+import java.util.HashMap;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLDeleteEntityProperties;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLDeletePassword;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLDeleteRole;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLDeleteSparseEntity;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLDeleteUser;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLGetAllNames;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLGetChildren;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLGetDependentEntities;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLGetFileRecordByPath;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLGetIDByName;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLGetInfo;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLGetUpdateableChecksums;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLInsertEntityDatatype;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLInsertEntityProperties;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLInsertLinCon;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLInsertLogRecord;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLInsertParents;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLInsertRole;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLInsertSparseEntity;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLInsertTransactionHistory;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLIsSubType;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLRegisterSubDomain;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveAll;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveAllUncheckedFiles;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveDatatypes;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveLogRecord;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveParents;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLRetrievePasswordValidator;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLRetrievePermissionRules;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveProperties;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveQueryTemplateDefinition;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveRole;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveSparseEntity;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveTransactionHistory;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveUser;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLRetrieveVersionHistory;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLRuleLoader;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLSetFileCheckedTimestampImpl;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLSetPassword;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLSetPermissionRules;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLSetQueryTemplateDefinition;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLSyncStats;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLUpdateSparseEntity;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLUpdateUser;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLUpdateUserRoles;
+import org.caosdb.server.database.backend.implementation.UnixFileSystem.UnixFileSystemCheckHash;
+import org.caosdb.server.database.backend.implementation.UnixFileSystem.UnixFileSystemCheckSize;
+import org.caosdb.server.database.backend.implementation.UnixFileSystem.UnixFileSystemFileExists;
+import org.caosdb.server.database.backend.implementation.UnixFileSystem.UnixFileSystemFileWasModifiedAfter;
+import org.caosdb.server.database.backend.implementation.UnixFileSystem.UnixFileSystemGetFileIterator;
+import org.caosdb.server.database.backend.interfaces.BackendTransactionImpl;
+import org.caosdb.server.database.backend.interfaces.DeleteEntityPropertiesImpl;
+import org.caosdb.server.database.backend.interfaces.DeletePasswordImpl;
+import org.caosdb.server.database.backend.interfaces.DeleteRoleImpl;
+import org.caosdb.server.database.backend.interfaces.DeleteSparseEntityImpl;
+import org.caosdb.server.database.backend.interfaces.DeleteUserImpl;
+import org.caosdb.server.database.backend.interfaces.FileCheckHash;
+import org.caosdb.server.database.backend.interfaces.FileCheckSize;
+import org.caosdb.server.database.backend.interfaces.FileExists;
+import org.caosdb.server.database.backend.interfaces.FileWasModifiedAfter;
+import org.caosdb.server.database.backend.interfaces.GetAllNamesImpl;
+import org.caosdb.server.database.backend.interfaces.GetChildrenImpl;
+import org.caosdb.server.database.backend.interfaces.GetDependentEntitiesImpl;
+import org.caosdb.server.database.backend.interfaces.GetFileIteratorImpl;
+import org.caosdb.server.database.backend.interfaces.GetFileRecordByPathImpl;
+import org.caosdb.server.database.backend.interfaces.GetIDByNameImpl;
+import org.caosdb.server.database.backend.interfaces.GetInfoImpl;
+import org.caosdb.server.database.backend.interfaces.GetUpdateableChecksumsImpl;
+import org.caosdb.server.database.backend.interfaces.InsertEntityDatatypeImpl;
+import org.caosdb.server.database.backend.interfaces.InsertEntityPropertiesImpl;
+import org.caosdb.server.database.backend.interfaces.InsertLinConImpl;
+import org.caosdb.server.database.backend.interfaces.InsertLogRecordImpl;
+import org.caosdb.server.database.backend.interfaces.InsertParentsImpl;
+import org.caosdb.server.database.backend.interfaces.InsertRoleImpl;
+import org.caosdb.server.database.backend.interfaces.InsertSparseEntityImpl;
+import org.caosdb.server.database.backend.interfaces.InsertTransactionHistoryImpl;
+import org.caosdb.server.database.backend.interfaces.IsSubTypeImpl;
+import org.caosdb.server.database.backend.interfaces.RegisterSubDomainImpl;
+import org.caosdb.server.database.backend.interfaces.RetrieveAllImpl;
+import org.caosdb.server.database.backend.interfaces.RetrieveAllUncheckedFilesImpl;
+import org.caosdb.server.database.backend.interfaces.RetrieveDatatypesImpl;
+import org.caosdb.server.database.backend.interfaces.RetrieveLogRecordImpl;
+import org.caosdb.server.database.backend.interfaces.RetrieveParentsImpl;
+import org.caosdb.server.database.backend.interfaces.RetrievePasswordValidatorImpl;
+import org.caosdb.server.database.backend.interfaces.RetrievePermissionRulesImpl;
+import org.caosdb.server.database.backend.interfaces.RetrievePropertiesImpl;
+import org.caosdb.server.database.backend.interfaces.RetrieveQueryTemplateDefinitionImpl;
+import org.caosdb.server.database.backend.interfaces.RetrieveRoleImpl;
+import org.caosdb.server.database.backend.interfaces.RetrieveSparseEntityImpl;
+import org.caosdb.server.database.backend.interfaces.RetrieveTransactionHistoryImpl;
+import org.caosdb.server.database.backend.interfaces.RetrieveUserImpl;
+import org.caosdb.server.database.backend.interfaces.RetrieveVersionHistoryImpl;
+import org.caosdb.server.database.backend.interfaces.RuleLoaderImpl;
+import org.caosdb.server.database.backend.interfaces.SetFileCheckedTimestampImpl;
+import org.caosdb.server.database.backend.interfaces.SetPasswordImpl;
+import org.caosdb.server.database.backend.interfaces.SetPermissionRulesImpl;
+import org.caosdb.server.database.backend.interfaces.SetQueryTemplateDefinitionImpl;
+import org.caosdb.server.database.backend.interfaces.SyncStatsImpl;
+import org.caosdb.server.database.backend.interfaces.UpdateSparseEntityImpl;
+import org.caosdb.server.database.backend.interfaces.UpdateUserImpl;
+import org.caosdb.server.database.backend.interfaces.UpdateUserRolesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.misc.TransactionBenchmark;
+import org.caosdb.server.utils.UndoHandler;
+import org.caosdb.server.utils.Undoable;
+
+public abstract class BackendTransaction implements Undoable {
+
+  private final UndoHandler undoHandler = new UndoHandler();
+  private Access access;
+  private TransactionBenchmark benchmark;
+  private static HashMap<
+          Class<? extends BackendTransactionImpl>, Class<? extends BackendTransactionImpl>>
+      impl = new HashMap<>();
+
+  protected abstract void execute();
+
+  public final void executeTransaction() {
+    final long t1 = System.currentTimeMillis();
+    execute();
+    final long t2 = System.currentTimeMillis();
+    this.addMeasurement(this, t2 - t1);
+  }
+
+  /**
+   * Intialiaze the adapters to the database backend.
+   *
+   * <p>Currently this is hard-coded to the MySQL-Backend but the architecture of this class is
+   * designed to make it easy in the future to choose other implementations (i.e. other back-ends)
+   */
+  public static void init() {
+    if (impl.isEmpty()) {
+      setImpl(GetAllNamesImpl.class, MySQLGetAllNames.class);
+      setImpl(DeleteEntityPropertiesImpl.class, MySQLDeleteEntityProperties.class);
+      setImpl(DeleteSparseEntityImpl.class, MySQLDeleteSparseEntity.class);
+      setImpl(GetChildrenImpl.class, MySQLGetChildren.class);
+      setImpl(GetDependentEntitiesImpl.class, MySQLGetDependentEntities.class);
+      setImpl(GetIDByNameImpl.class, MySQLGetIDByName.class);
+      setImpl(GetInfoImpl.class, MySQLGetInfo.class);
+      setImpl(InsertEntityPropertiesImpl.class, MySQLInsertEntityProperties.class);
+      setImpl(InsertLinConImpl.class, MySQLInsertLinCon.class);
+      setImpl(InsertParentsImpl.class, MySQLInsertParents.class);
+      setImpl(InsertSparseEntityImpl.class, MySQLInsertSparseEntity.class);
+      setImpl(InsertTransactionHistoryImpl.class, MySQLInsertTransactionHistory.class);
+      setImpl(IsSubTypeImpl.class, MySQLIsSubType.class);
+      setImpl(UpdateSparseEntityImpl.class, MySQLUpdateSparseEntity.class);
+      setImpl(RetrieveAllImpl.class, MySQLRetrieveAll.class);
+      setImpl(RegisterSubDomainImpl.class, MySQLRegisterSubDomain.class);
+      setImpl(RetrieveDatatypesImpl.class, MySQLRetrieveDatatypes.class);
+      setImpl(RetrieveTransactionHistoryImpl.class, MySQLRetrieveTransactionHistory.class);
+      setImpl(RetrieveUserImpl.class, MySQLRetrieveUser.class);
+      setImpl(RetrieveParentsImpl.class, MySQLRetrieveParents.class);
+      setImpl(GetFileRecordByPathImpl.class, MySQLGetFileRecordByPath.class);
+      setImpl(RetrievePropertiesImpl.class, MySQLRetrieveProperties.class);
+      setImpl(RetrieveSparseEntityImpl.class, MySQLRetrieveSparseEntity.class);
+      setImpl(RuleLoaderImpl.class, MySQLRuleLoader.class);
+      setImpl(SyncStatsImpl.class, MySQLSyncStats.class);
+      setImpl(FileExists.class, UnixFileSystemFileExists.class);
+      setImpl(FileWasModifiedAfter.class, UnixFileSystemFileWasModifiedAfter.class);
+      setImpl(FileCheckHash.class, UnixFileSystemCheckHash.class);
+      setImpl(GetFileIteratorImpl.class, UnixFileSystemGetFileIterator.class);
+      setImpl(SetFileCheckedTimestampImpl.class, MySQLSetFileCheckedTimestampImpl.class);
+      setImpl(RetrieveAllUncheckedFilesImpl.class, MySQLRetrieveAllUncheckedFiles.class);
+      setImpl(UpdateUserImpl.class, MySQLUpdateUser.class);
+      setImpl(DeleteUserImpl.class, MySQLDeleteUser.class);
+      setImpl(SetPasswordImpl.class, MySQLSetPassword.class);
+      setImpl(RetrievePasswordValidatorImpl.class, MySQLRetrievePasswordValidator.class);
+      setImpl(DeletePasswordImpl.class, MySQLDeletePassword.class);
+      setImpl(GetUpdateableChecksumsImpl.class, MySQLGetUpdateableChecksums.class);
+      setImpl(FileCheckSize.class, UnixFileSystemCheckSize.class);
+      setImpl(InsertRoleImpl.class, MySQLInsertRole.class);
+      setImpl(RetrieveRoleImpl.class, MySQLRetrieveRole.class);
+      setImpl(DeleteRoleImpl.class, MySQLDeleteRole.class);
+      setImpl(SetPermissionRulesImpl.class, MySQLSetPermissionRules.class);
+      setImpl(RetrievePermissionRulesImpl.class, MySQLRetrievePermissionRules.class);
+      setImpl(UpdateUserRolesImpl.class, MySQLUpdateUserRoles.class);
+      setImpl(InsertLogRecordImpl.class, MySQLInsertLogRecord.class);
+      setImpl(RetrieveLogRecordImpl.class, MySQLRetrieveLogRecord.class);
+      setImpl(SetQueryTemplateDefinitionImpl.class, MySQLSetQueryTemplateDefinition.class);
+      setImpl(
+          RetrieveQueryTemplateDefinitionImpl.class, MySQLRetrieveQueryTemplateDefinition.class);
+      setImpl(InsertEntityDatatypeImpl.class, MySQLInsertEntityDatatype.class);
+      setImpl(RetrieveVersionHistoryImpl.class, MySQLRetrieveVersionHistory.class);
+    }
+  }
+
+  /**
+   * Execute this BackendTransaction, using the implementation given as an argument.
+   *
+   * <p>The implementation's benchmark is set to the corresponding sub-benchmark of this object's
+   * benchmark.
+   *
+   * @param t This BackendTransaction's execute() method will be called.
+   * @return The BackendTransaction which was passed as an argument.
+   */
+  protected <K extends BackendTransaction> K execute(final K t) {
+    assert t != this;
+    this.undoHandler.append(t);
+    t.setAccess(this.access);
+    if (benchmark != null) {
+      t.setTransactionBenchmark(benchmark.getBenchmark(t.getClass()));
+    }
+    final long t1 = System.currentTimeMillis();
+    t.execute();
+    final long t2 = System.currentTimeMillis();
+    this.addMeasurement(t, t2 - t1);
+    return t;
+  }
+
+  public static <K extends BackendTransactionImpl, L extends K> void setImpl(
+      final Class<K> k, final Class<L> l) {
+    impl.put(k, l);
+  }
+
+  public void setAccess(final Access access) {
+    this.access = access;
+  }
+
+  @SuppressWarnings("unchecked")
+  protected <T extends BackendTransactionImpl> T getImplementation(final Class<T> clz) {
+    init();
+    try {
+      Class<?> implclz = impl.get(clz);
+      final T ret = (T) implclz.getConstructor(Access.class).newInstance(this.access);
+      if (ret instanceof Undoable) {
+        this.undoHandler.append((Undoable) ret);
+      }
+      if (benchmark != null) {
+        ret.setTransactionBenchmark(benchmark.getBenchmark(ret.getClass()));
+      }
+      return ret;
+    } catch (final Exception e) {
+      throw new TransactionException(e);
+    }
+  }
+
+  protected UndoHandler getUndoHandler() {
+    return this.undoHandler;
+  }
+
+  @Override
+  public final void undo() {
+    this.undoHandler.undo();
+  }
+
+  @Override
+  public final void cleanUp() {
+    this.undoHandler.cleanUp();
+  }
+
+  boolean useCache() {
+    return this.access.useCache();
+  }
+
+  @Override
+  public String toString() {
+    return this.getClass().getSimpleName();
+  }
+
+  /** Set the benchmark object for this AbstractTransaction. */
+  public void setTransactionBenchmark(TransactionBenchmark b) {
+    this.benchmark = b;
+  }
+
+  public void addMeasurement(Object o, long time) {
+    if (this.benchmark != null) {
+      this.benchmark.addMeasurement(o, time);
+    }
+  }
+}
diff --git a/src/main/java/caosdb/server/database/CacheableBackendTransaction.java b/src/main/java/org/caosdb/server/database/CacheableBackendTransaction.java
similarity index 96%
rename from src/main/java/caosdb/server/database/CacheableBackendTransaction.java
rename to src/main/java/org/caosdb/server/database/CacheableBackendTransaction.java
index 0131b740..621fa31c 100644
--- a/src/main/java/caosdb/server/database/CacheableBackendTransaction.java
+++ b/src/main/java/org/caosdb/server/database/CacheableBackendTransaction.java
@@ -22,11 +22,11 @@
  *
  * ** end header
  */
-package caosdb.server.database;
+package org.caosdb.server.database;
 
-import caosdb.server.database.exceptions.TransactionException;
 import java.io.Serializable;
 import org.apache.commons.jcs.access.behavior.ICacheAccess;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public abstract class CacheableBackendTransaction<K, V extends Serializable>
     extends BackendTransaction {
diff --git a/src/main/java/caosdb/server/database/ChainTransaction.java b/src/main/java/org/caosdb/server/database/ChainTransaction.java
similarity index 91%
rename from src/main/java/caosdb/server/database/ChainTransaction.java
rename to src/main/java/org/caosdb/server/database/ChainTransaction.java
index ccbd0e2b..6adee64a 100644
--- a/src/main/java/caosdb/server/database/ChainTransaction.java
+++ b/src/main/java/org/caosdb/server/database/ChainTransaction.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database;
+package org.caosdb.server.database;
 
-import caosdb.server.database.backend.interfaces.BackendTransactionImpl;
 import java.util.LinkedList;
+import org.caosdb.server.database.backend.interfaces.BackendTransactionImpl;
 
 public class ChainTransaction<T extends BackendTransactionImpl> {
   private final LinkedList<T> chain = new LinkedList<T>();
diff --git a/src/main/java/caosdb/server/database/Database.java b/src/main/java/org/caosdb/server/database/Database.java
similarity index 97%
rename from src/main/java/caosdb/server/database/Database.java
rename to src/main/java/org/caosdb/server/database/Database.java
index d67acdff..797aadcc 100644
--- a/src/main/java/caosdb/server/database/Database.java
+++ b/src/main/java/org/caosdb/server/database/Database.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database;
+package org.caosdb.server.database;
 
 public class Database {
 
diff --git a/src/main/java/caosdb/server/database/DatabaseMonitor.java b/src/main/java/org/caosdb/server/database/DatabaseMonitor.java
similarity index 92%
rename from src/main/java/caosdb/server/database/DatabaseMonitor.java
rename to src/main/java/org/caosdb/server/database/DatabaseMonitor.java
index 6efd782f..77e91302 100644
--- a/src/main/java/caosdb/server/database/DatabaseMonitor.java
+++ b/src/main/java/org/caosdb/server/database/DatabaseMonitor.java
@@ -20,26 +20,26 @@
  *
  * ** end header
  */
-package caosdb.server.database;
-
-import caosdb.server.database.access.Access;
-import caosdb.server.database.access.AccessControlAccess;
-import caosdb.server.database.access.InfoAccess;
-import caosdb.server.database.access.InitAccess;
-import caosdb.server.database.access.TransactionAccess;
-import caosdb.server.entity.container.TransactionContainer;
-import caosdb.server.transaction.AccessControlTransaction;
-import caosdb.server.transaction.TransactionInterface;
-import caosdb.server.transaction.WriteTransaction;
-import caosdb.server.utils.Info;
-import caosdb.server.utils.Initialization;
-import caosdb.server.utils.Observable;
-import caosdb.server.utils.Observer;
-import caosdb.server.utils.Releasable;
+package org.caosdb.server.database;
+
 import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.concurrent.Semaphore;
 import java.util.concurrent.locks.ReentrantLock;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.access.AccessControlAccess;
+import org.caosdb.server.database.access.InfoAccess;
+import org.caosdb.server.database.access.InitAccess;
+import org.caosdb.server.database.access.TransactionAccess;
+import org.caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.transaction.AccessControlTransaction;
+import org.caosdb.server.transaction.TransactionInterface;
+import org.caosdb.server.transaction.WriteTransaction;
+import org.caosdb.server.utils.Info;
+import org.caosdb.server.utils.Initialization;
+import org.caosdb.server.utils.Observable;
+import org.caosdb.server.utils.Observer;
+import org.caosdb.server.utils.Releasable;
 
 /**
  * Acquire and release weak access. DatabaseMonitor uses this class for managing access to entities
diff --git a/src/main/java/caosdb/server/database/DatabaseUtils.java b/src/main/java/org/caosdb/server/database/DatabaseUtils.java
similarity index 93%
rename from src/main/java/caosdb/server/database/DatabaseUtils.java
rename to src/main/java/org/caosdb/server/database/DatabaseUtils.java
index 9edc0347..c985c1b9 100644
--- a/src/main/java/caosdb/server/database/DatabaseUtils.java
+++ b/src/main/java/org/caosdb/server/database/DatabaseUtils.java
@@ -20,30 +20,30 @@
  *
  * ** end header
  */
-package caosdb.server.database;
+package org.caosdb.server.database;
 
-import caosdb.server.database.proto.FlatProperty;
-import caosdb.server.database.proto.ProtoProperty;
-import caosdb.server.database.proto.SparseEntity;
-import caosdb.server.database.proto.VerySparseEntity;
-import caosdb.server.datatype.AbstractCollectionDatatype;
-import caosdb.server.datatype.CollectionValue;
-import caosdb.server.datatype.IndexedSingleValue;
-import caosdb.server.datatype.ReferenceValue;
-import caosdb.server.datatype.SingleValue;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.Role;
-import caosdb.server.entity.StatementStatus;
-import caosdb.server.entity.wrapper.Domain;
-import caosdb.server.entity.wrapper.Parent;
-import caosdb.server.entity.wrapper.Property;
 import com.google.common.base.Objects;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
+import org.caosdb.server.database.proto.FlatProperty;
+import org.caosdb.server.database.proto.ProtoProperty;
+import org.caosdb.server.database.proto.SparseEntity;
+import org.caosdb.server.database.proto.VerySparseEntity;
+import org.caosdb.server.datatype.AbstractCollectionDatatype;
+import org.caosdb.server.datatype.CollectionValue;
+import org.caosdb.server.datatype.IndexedSingleValue;
+import org.caosdb.server.datatype.ReferenceValue;
+import org.caosdb.server.datatype.SingleValue;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.Role;
+import org.caosdb.server.entity.StatementStatus;
+import org.caosdb.server.entity.wrapper.Domain;
+import org.caosdb.server.entity.wrapper.Parent;
+import org.caosdb.server.entity.wrapper.Property;
 
 public class DatabaseUtils {
 
diff --git a/src/main/java/caosdb/server/database/access/AbstractAccess.java b/src/main/java/org/caosdb/server/database/access/AbstractAccess.java
similarity index 92%
rename from src/main/java/caosdb/server/database/access/AbstractAccess.java
rename to src/main/java/org/caosdb/server/database/access/AbstractAccess.java
index 8013c609..9d00a876 100644
--- a/src/main/java/caosdb/server/database/access/AbstractAccess.java
+++ b/src/main/java/org/caosdb/server/database/access/AbstractAccess.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.access;
+package org.caosdb.server.database.access;
 
-import caosdb.server.database.misc.DBHelper;
-import caosdb.server.database.misc.RollBackHandler;
-import caosdb.server.transaction.TransactionInterface;
 import java.util.HashMap;
+import org.caosdb.server.database.misc.DBHelper;
+import org.caosdb.server.database.misc.RollBackHandler;
+import org.caosdb.server.transaction.TransactionInterface;
 
 public abstract class AbstractAccess<T extends TransactionInterface> implements Access {
 
diff --git a/src/main/java/caosdb/server/database/access/Access.java b/src/main/java/org/caosdb/server/database/access/Access.java
similarity index 92%
rename from src/main/java/caosdb/server/database/access/Access.java
rename to src/main/java/org/caosdb/server/database/access/Access.java
index 0114f672..228e8e00 100644
--- a/src/main/java/caosdb/server/database/access/Access.java
+++ b/src/main/java/org/caosdb/server/database/access/Access.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.database.access;
+package org.caosdb.server.database.access;
 
-import caosdb.server.database.misc.DBHelper;
+import org.caosdb.server.database.misc.DBHelper;
 
 public interface Access {
 
diff --git a/src/main/java/caosdb/server/database/access/AccessControlAccess.java b/src/main/java/org/caosdb/server/database/access/AccessControlAccess.java
similarity index 91%
rename from src/main/java/caosdb/server/database/access/AccessControlAccess.java
rename to src/main/java/org/caosdb/server/database/access/AccessControlAccess.java
index 14e32a3d..450f0c61 100644
--- a/src/main/java/caosdb/server/database/access/AccessControlAccess.java
+++ b/src/main/java/org/caosdb/server/database/access/AccessControlAccess.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.database.access;
+package org.caosdb.server.database.access;
 
-import caosdb.server.transaction.AccessControlTransaction;
+import org.caosdb.server.transaction.AccessControlTransaction;
 
 public class AccessControlAccess extends AbstractAccess<AccessControlTransaction> {
 
diff --git a/src/main/java/caosdb/server/database/access/InfoAccess.java b/src/main/java/org/caosdb/server/database/access/InfoAccess.java
similarity index 93%
rename from src/main/java/caosdb/server/database/access/InfoAccess.java
rename to src/main/java/org/caosdb/server/database/access/InfoAccess.java
index e26d7de1..3d66e67a 100644
--- a/src/main/java/caosdb/server/database/access/InfoAccess.java
+++ b/src/main/java/org/caosdb/server/database/access/InfoAccess.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.access;
+package org.caosdb.server.database.access;
 
-import caosdb.server.utils.Info;
 import java.sql.SQLException;
+import org.caosdb.server.utils.Info;
 
 public class InfoAccess extends AbstractAccess<Info> {
 
diff --git a/src/main/java/caosdb/server/database/access/InitAccess.java b/src/main/java/org/caosdb/server/database/access/InitAccess.java
similarity index 92%
rename from src/main/java/caosdb/server/database/access/InitAccess.java
rename to src/main/java/org/caosdb/server/database/access/InitAccess.java
index b5b24d83..1a6108cc 100644
--- a/src/main/java/caosdb/server/database/access/InitAccess.java
+++ b/src/main/java/org/caosdb/server/database/access/InitAccess.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.access;
+package org.caosdb.server.database.access;
 
-import caosdb.server.utils.Initialization;
 import java.sql.SQLException;
+import org.caosdb.server.utils.Initialization;
 
 public class InitAccess extends AbstractAccess<Initialization> {
 
diff --git a/src/main/java/caosdb/server/database/access/TransactionAccess.java b/src/main/java/org/caosdb/server/database/access/TransactionAccess.java
similarity index 89%
rename from src/main/java/caosdb/server/database/access/TransactionAccess.java
rename to src/main/java/org/caosdb/server/database/access/TransactionAccess.java
index 84f422af..406d0fb6 100644
--- a/src/main/java/caosdb/server/database/access/TransactionAccess.java
+++ b/src/main/java/org/caosdb/server/database/access/TransactionAccess.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.access;
+package org.caosdb.server.database.access;
 
-import caosdb.server.transaction.TransactionInterface;
-import caosdb.server.utils.Releasable;
+import org.caosdb.server.transaction.TransactionInterface;
+import org.caosdb.server.utils.Releasable;
 
 public class TransactionAccess extends AbstractAccess<TransactionInterface> {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/ConnectionException.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/ConnectionException.java
similarity index 94%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/ConnectionException.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/ConnectionException.java
index 6e688f9a..f8b0da35 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/ConnectionException.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/ConnectionException.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
 public class ConnectionException extends Exception {
   private static final long serialVersionUID = 3581951559636079126L;
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/DatabaseConnectionPool.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/DatabaseConnectionPool.java
similarity index 97%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/DatabaseConnectionPool.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/DatabaseConnectionPool.java
index fc17dd10..f77f810a 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/DatabaseConnectionPool.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/DatabaseConnectionPool.java
@@ -20,11 +20,8 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.CaosDBException;
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
 import com.google.common.base.Objects;
 import java.sql.CallableStatement;
 import java.sql.Connection;
@@ -32,6 +29,9 @@ import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import snaq.db.ConnectionPool;
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteEntityProperties.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteEntityProperties.java
similarity index 83%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteEntityProperties.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteEntityProperties.java
index 989291a6..28285ae9 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteEntityProperties.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteEntityProperties.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.DeleteEntityPropertiesImpl;
-import caosdb.server.database.exceptions.IntegrityException;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
 import java.sql.SQLIntegrityConstraintViolationException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.DeleteEntityPropertiesImpl;
+import org.caosdb.server.database.exceptions.IntegrityException;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLDeleteEntityProperties extends MySQLTransaction
     implements DeleteEntityPropertiesImpl {
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLDeletePassword.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLDeletePassword.java
similarity index 84%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLDeletePassword.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLDeletePassword.java
index da3c083a..2569226e 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLDeletePassword.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLDeletePassword.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.DeletePasswordImpl;
-import caosdb.server.database.exceptions.IntegrityException;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
 import java.sql.SQLIntegrityConstraintViolationException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.DeletePasswordImpl;
+import org.caosdb.server.database.exceptions.IntegrityException;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLDeletePassword extends MySQLTransaction implements DeletePasswordImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteRole.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteRole.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteRole.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteRole.java
index 6e5c278c..8fd8d35f 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteRole.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteRole.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.DeleteRoleImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.DeleteRoleImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLDeleteRole extends MySQLTransaction implements DeleteRoleImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteSparseEntity.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteSparseEntity.java
similarity index 83%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteSparseEntity.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteSparseEntity.java
index 8293754d..9f504f3f 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteSparseEntity.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteSparseEntity.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.DeleteSparseEntityImpl;
-import caosdb.server.database.exceptions.IntegrityException;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
 import java.sql.SQLIntegrityConstraintViolationException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.DeleteSparseEntityImpl;
+import org.caosdb.server.database.exceptions.IntegrityException;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLDeleteSparseEntity extends MySQLTransaction implements DeleteSparseEntityImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteUser.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteUser.java
similarity index 88%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteUser.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteUser.java
index c037b390..88b20e4a 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteUser.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLDeleteUser.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.DeleteUserImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.DeleteUserImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLDeleteUser extends MySQLTransaction implements DeleteUserImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetAllNames.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetAllNames.java
similarity index 80%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetAllNames.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetAllNames.java
index 060cf9b8..09cae688 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetAllNames.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetAllNames.java
@@ -1,15 +1,15 @@
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.DatabaseUtils;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.GetAllNamesImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.SparseEntity;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.List;
+import org.caosdb.server.database.DatabaseUtils;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.GetAllNamesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.SparseEntity;
 
 /** Retrieve name, role and acl of all entities from the MySQL backend. */
 public class MySQLGetAllNames extends MySQLTransaction implements GetAllNamesImpl {
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetChildren.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetChildren.java
similarity index 88%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetChildren.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetChildren.java
index b230efae..d63de2d5 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetChildren.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetChildren.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.GetChildrenImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.util.ArrayList;
 import java.util.List;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.GetChildrenImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLGetChildren extends MySQLTransaction implements GetChildrenImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetDependentEntities.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetDependentEntities.java
similarity index 87%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetDependentEntities.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetDependentEntities.java
index 2ef82083..7875ced0 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetDependentEntities.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetDependentEntities.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.GetDependentEntitiesImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.util.ArrayList;
 import java.util.List;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.GetDependentEntitiesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLGetDependentEntities extends MySQLTransaction
     implements GetDependentEntitiesImpl {
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetFileRecordByPath.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetFileRecordByPath.java
similarity index 87%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetFileRecordByPath.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetFileRecordByPath.java
index b929c923..9b147d28 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetFileRecordByPath.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetFileRecordByPath.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.GetFileRecordByPathImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.SparseEntity;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.GetFileRecordByPathImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.SparseEntity;
 
 public class MySQLGetFileRecordByPath extends MySQLTransaction implements GetFileRecordByPathImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetIDByName.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetIDByName.java
similarity index 91%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetIDByName.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetIDByName.java
index e9797640..5a546ae1 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetIDByName.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetIDByName.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.GetIDByNameImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.util.ArrayList;
 import java.util.List;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.GetIDByNameImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLGetIDByName extends MySQLTransaction implements GetIDByNameImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetInfo.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetInfo.java
similarity index 87%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetInfo.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetInfo.java
index 5032f185..2e7a110c 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetInfo.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetInfo.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.GetInfoImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.ProtoInfo;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.GetInfoImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.ProtoInfo;
 
 public class MySQLGetInfo extends MySQLTransaction implements GetInfoImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetUpdateableChecksums.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetUpdateableChecksums.java
similarity index 87%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetUpdateableChecksums.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetUpdateableChecksums.java
index 534c6ad2..cf4e0aa7 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLGetUpdateableChecksums.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLGetUpdateableChecksums.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.GetUpdateableChecksumsImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.GetUpdateableChecksumsImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLGetUpdateableChecksums extends MySQLTransaction
     implements GetUpdateableChecksumsImpl {
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLHelper.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLHelper.java
similarity index 94%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLHelper.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLHelper.java
index b443c545..2ad36235 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLHelper.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLHelper.java
@@ -22,13 +22,8 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.accessControl.Principal;
-import caosdb.server.database.misc.DBHelper;
-import caosdb.server.transaction.ChecksumUpdater;
-import caosdb.server.transaction.TransactionInterface;
-import caosdb.server.transaction.WriteTransaction;
 import java.io.UnsupportedEncodingException;
 import java.sql.CallableStatement;
 import java.sql.Connection;
@@ -36,6 +31,11 @@ import java.sql.PreparedStatement;
 import java.sql.SQLException;
 import java.sql.Statement;
 import java.util.HashMap;
+import org.caosdb.server.accessControl.Principal;
+import org.caosdb.server.database.misc.DBHelper;
+import org.caosdb.server.transaction.ChecksumUpdater;
+import org.caosdb.server.transaction.TransactionInterface;
+import org.caosdb.server.transaction.WriteTransaction;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertEntityDatatype.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertEntityDatatype.java
similarity index 84%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertEntityDatatype.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertEntityDatatype.java
index 47671864..c4cb7cf9 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertEntityDatatype.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertEntityDatatype.java
@@ -1,12 +1,12 @@
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.InsertEntityDatatypeImpl;
-import caosdb.server.database.exceptions.IntegrityException;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.SparseEntity;
 import java.sql.PreparedStatement;
 import java.sql.SQLIntegrityConstraintViolationException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.InsertEntityDatatypeImpl;
+import org.caosdb.server.database.exceptions.IntegrityException;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.SparseEntity;
 
 public class MySQLInsertEntityDatatype extends MySQLTransaction
     implements InsertEntityDatatypeImpl {
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertEntityProperties.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertEntityProperties.java
similarity index 84%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertEntityProperties.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertEntityProperties.java
index cbc01eb3..d4243d77 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertEntityProperties.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertEntityProperties.java
@@ -20,19 +20,19 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
 import static java.sql.Types.BIGINT;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.InsertEntityPropertiesImpl;
-import caosdb.server.database.exceptions.IntegrityException;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.FlatProperty;
-import caosdb.server.datatype.AbstractDatatype.Table;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
 import java.sql.SQLIntegrityConstraintViolationException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.InsertEntityPropertiesImpl;
+import org.caosdb.server.database.exceptions.IntegrityException;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.FlatProperty;
+import org.caosdb.server.datatype.AbstractDatatype.Table;
 
 public class MySQLInsertEntityProperties extends MySQLTransaction
     implements InsertEntityPropertiesImpl {
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertLinCon.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertLinCon.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertLinCon.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertLinCon.java
index e286212c..b8ea7872 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertLinCon.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertLinCon.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.InsertLinConImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.LinCon;
 import java.sql.PreparedStatement;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.InsertLinConImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.LinCon;
 
 public class MySQLInsertLinCon extends MySQLTransaction implements InsertLinConImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertLogRecord.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertLogRecord.java
similarity index 88%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertLogRecord.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertLogRecord.java
index 054d13e5..6807808d 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertLogRecord.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertLogRecord.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.InsertLogRecordImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
 import java.util.List;
 import java.util.logging.LogRecord;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.InsertLogRecordImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLInsertLogRecord extends MySQLTransaction implements InsertLogRecordImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertParents.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertParents.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertParents.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertParents.java
index 87493ceb..a37bf066 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertParents.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertParents.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.InsertParentsImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.InsertParentsImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLInsertParents extends MySQLTransaction implements InsertParentsImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertRole.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertRole.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertRole.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertRole.java
index 79627097..66f5a888 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertRole.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertRole.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.accessControl.Role;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.InsertRoleImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
+import org.caosdb.server.accessControl.Role;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.InsertRoleImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLInsertRole extends MySQLTransaction implements InsertRoleImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertSparseEntity.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertSparseEntity.java
similarity index 87%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertSparseEntity.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertSparseEntity.java
index 97cfde68..1f1f32c6 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertSparseEntity.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertSparseEntity.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.DatabaseUtils;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.InsertSparseEntityImpl;
-import caosdb.server.database.exceptions.IntegrityException;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.SparseEntity;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLIntegrityConstraintViolationException;
 import java.sql.Types;
+import org.caosdb.server.database.DatabaseUtils;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.InsertSparseEntityImpl;
+import org.caosdb.server.database.exceptions.IntegrityException;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.SparseEntity;
 
 public class MySQLInsertSparseEntity extends MySQLTransaction implements InsertSparseEntityImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertTransactionHistory.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertTransactionHistory.java
similarity index 88%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertTransactionHistory.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertTransactionHistory.java
index f3563ce0..27b0f8a1 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLInsertTransactionHistory.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLInsertTransactionHistory.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.InsertTransactionHistoryImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.InsertTransactionHistoryImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLInsertTransactionHistory extends MySQLTransaction
     implements InsertTransactionHistoryImpl {
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLIsSubType.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLIsSubType.java
similarity index 88%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLIsSubType.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLIsSubType.java
index 5a9b1a3e..bb847de7 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLIsSubType.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLIsSubType.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.IsSubTypeImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.IsSubTypeImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLIsSubType extends MySQLTransaction implements IsSubTypeImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRegisterSubDomain.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRegisterSubDomain.java
similarity index 88%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRegisterSubDomain.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRegisterSubDomain.java
index 055177a8..ca499728 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRegisterSubDomain.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRegisterSubDomain.java
@@ -20,16 +20,16 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RegisterSubDomainImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.ArrayDeque;
 import java.util.Deque;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RegisterSubDomainImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLRegisterSubDomain extends MySQLTransaction implements RegisterSubDomainImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveAll.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveAll.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveAll.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveAll.java
index 7ae92131..ec0c0c1b 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveAll.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveAll.java
@@ -20,17 +20,17 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RetrieveAllImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.Role;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.List;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RetrieveAllImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.Role;
 
 public class MySQLRetrieveAll extends MySQLTransaction implements RetrieveAllImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveAllUncheckedFiles.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveAllUncheckedFiles.java
similarity index 91%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveAllUncheckedFiles.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveAllUncheckedFiles.java
index 0e557da5..09a4e7c2 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveAllUncheckedFiles.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveAllUncheckedFiles.java
@@ -20,16 +20,16 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RetrieveAllUncheckedFilesImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.SparseEntity;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.Iterator;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RetrieveAllUncheckedFilesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.SparseEntity;
 
 public class MySQLRetrieveAllUncheckedFiles extends MySQLTransaction
     implements RetrieveAllUncheckedFilesImpl {
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveDatatypes.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveDatatypes.java
similarity index 87%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveDatatypes.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveDatatypes.java
index a8e12672..e085f051 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveDatatypes.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveDatatypes.java
@@ -20,17 +20,17 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.DatabaseUtils;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RetrieveDatatypesImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.VerySparseEntity;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.ArrayList;
+import org.caosdb.server.database.DatabaseUtils;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RetrieveDatatypesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.VerySparseEntity;
 
 public class MySQLRetrieveDatatypes extends MySQLTransaction implements RetrieveDatatypesImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveLogRecord.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveLogRecord.java
similarity index 93%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveLogRecord.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveLogRecord.java
index b675b967..bba36d2e 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveLogRecord.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveLogRecord.java
@@ -20,11 +20,8 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RetrieveLogRecordImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.ObjectInputStream;
@@ -35,6 +32,9 @@ import java.util.LinkedList;
 import java.util.List;
 import java.util.logging.Level;
 import java.util.logging.LogRecord;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RetrieveLogRecordImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLRetrieveLogRecord extends MySQLTransaction implements RetrieveLogRecordImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveParents.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveParents.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveParents.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveParents.java
index 721ba566..7b8c0d48 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveParents.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveParents.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.DatabaseUtils;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RetrieveParentsImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.VerySparseEntity;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Types;
 import java.util.ArrayList;
+import org.caosdb.server.database.DatabaseUtils;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RetrieveParentsImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.VerySparseEntity;
 
 public class MySQLRetrieveParents extends MySQLTransaction implements RetrieveParentsImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrievePasswordValidator.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrievePasswordValidator.java
similarity index 82%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrievePasswordValidator.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrievePasswordValidator.java
index 9b951cba..1ff7dd7a 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrievePasswordValidator.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrievePasswordValidator.java
@@ -20,19 +20,19 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import static caosdb.server.database.DatabaseUtils.bytes2UTF8;
+import static org.caosdb.server.database.DatabaseUtils.bytes2UTF8;
 
-import caosdb.server.accessControl.CredentialsValidator;
-import caosdb.server.accessControl.HashPasswordValidator;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RetrievePasswordValidatorImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.security.NoSuchAlgorithmException;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
+import org.caosdb.server.accessControl.CredentialsValidator;
+import org.caosdb.server.accessControl.HashPasswordValidator;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RetrievePasswordValidatorImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLRetrievePasswordValidator extends MySQLTransaction
     implements RetrievePasswordValidatorImpl {
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrievePermissionRules.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrievePermissionRules.java
similarity index 88%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrievePermissionRules.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrievePermissionRules.java
index 7428157e..40767db3 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrievePermissionRules.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrievePermissionRules.java
@@ -20,17 +20,17 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RetrievePermissionRulesImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.permissions.PermissionRule;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.HashSet;
 import java.util.Map;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RetrievePermissionRulesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.permissions.PermissionRule;
 import org.eclipse.jetty.util.ajax.JSON;
 
 public class MySQLRetrievePermissionRules extends MySQLTransaction
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveProperties.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveProperties.java
similarity index 91%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveProperties.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveProperties.java
index 9b6704c4..39de8692 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveProperties.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveProperties.java
@@ -20,20 +20,20 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
-
-import caosdb.server.database.DatabaseUtils;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RetrievePropertiesImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.FlatProperty;
-import caosdb.server.database.proto.ProtoProperty;
+package org.caosdb.server.database.backend.implementation.MySQL;
+
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Types;
 import java.util.ArrayList;
 import java.util.List;
+import org.caosdb.server.database.DatabaseUtils;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RetrievePropertiesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.FlatProperty;
+import org.caosdb.server.database.proto.ProtoProperty;
 
 public class MySQLRetrieveProperties extends MySQLTransaction implements RetrievePropertiesImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveQueryTemplateDefinition.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveQueryTemplateDefinition.java
similarity index 88%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveQueryTemplateDefinition.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveQueryTemplateDefinition.java
index c6d88ec9..fd0efb8e 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveQueryTemplateDefinition.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveQueryTemplateDefinition.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RetrieveQueryTemplateDefinitionImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Types;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RetrieveQueryTemplateDefinitionImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLRetrieveQueryTemplateDefinition extends MySQLTransaction
     implements RetrieveQueryTemplateDefinitionImpl {
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveRole.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveRole.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveRole.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveRole.java
index 04cad3e9..f0219040 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveRole.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveRole.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.accessControl.Role;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RetrieveRoleImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
+import org.caosdb.server.accessControl.Role;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RetrieveRoleImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLRetrieveRole extends MySQLTransaction implements RetrieveRoleImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveSparseEntity.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveSparseEntity.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveSparseEntity.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveSparseEntity.java
index 09796197..3775c1dd 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveSparseEntity.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveSparseEntity.java
@@ -20,17 +20,17 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.DatabaseUtils;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RetrieveSparseEntityImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.SparseEntity;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Types;
+import org.caosdb.server.database.DatabaseUtils;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RetrieveSparseEntityImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.SparseEntity;
 
 /**
  * Retrieve a single SparseEntity by id.
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveTransactionHistory.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveTransactionHistory.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveTransactionHistory.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveTransactionHistory.java
index 43785187..3273f49a 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveTransactionHistory.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveTransactionHistory.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import static caosdb.server.database.DatabaseUtils.bytes2UTF8;
+import static org.caosdb.server.database.DatabaseUtils.bytes2UTF8;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RetrieveTransactionHistoryImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.ProtoTransactionLogMessage;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.ArrayList;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RetrieveTransactionHistoryImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.ProtoTransactionLogMessage;
 
 public class MySQLRetrieveTransactionHistory extends MySQLTransaction
     implements RetrieveTransactionHistoryImpl {
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveUser.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveUser.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveUser.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveUser.java
index 97ef5084..bde1878d 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveUser.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveUser.java
@@ -20,20 +20,20 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import static caosdb.server.database.DatabaseUtils.bytes2UTF8;
+import static org.caosdb.server.database.DatabaseUtils.bytes2UTF8;
 
-import caosdb.server.accessControl.Principal;
-import caosdb.server.accessControl.UserStatus;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RetrieveUserImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.ProtoUser;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.HashSet;
+import org.caosdb.server.accessControl.Principal;
+import org.caosdb.server.accessControl.UserStatus;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RetrieveUserImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.ProtoUser;
 
 public class MySQLRetrieveUser extends MySQLTransaction implements RetrieveUserImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveVersionHistory.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveVersionHistory.java
similarity index 87%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveVersionHistory.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveVersionHistory.java
index 22ac0c2e..a3c87ae6 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveVersionHistory.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRetrieveVersionHistory.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.DatabaseUtils;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RetrieveVersionHistoryImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.VersionHistoryItem;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.HashMap;
 import java.util.LinkedList;
+import org.caosdb.server.database.DatabaseUtils;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RetrieveVersionHistoryImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.VersionHistoryItem;
 
 /**
  * Transaction to retrieve all versions of an entity.
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRuleLoader.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRuleLoader.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRuleLoader.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRuleLoader.java
index a240a7de..525c3973 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLRuleLoader.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLRuleLoader.java
@@ -20,19 +20,19 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import static caosdb.server.database.DatabaseUtils.bytes2UTF8;
+import static org.caosdb.server.database.DatabaseUtils.bytes2UTF8;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RuleLoaderImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.Rule;
-import caosdb.server.jobs.core.Mode;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.ArrayList;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RuleLoaderImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.Rule;
+import org.caosdb.server.jobs.core.Mode;
 
 public class MySQLRuleLoader extends MySQLTransaction implements RuleLoaderImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLSetFileCheckedTimestampImpl.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLSetFileCheckedTimestampImpl.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLSetFileCheckedTimestampImpl.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLSetFileCheckedTimestampImpl.java
index 14214077..fa4c60ad 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLSetFileCheckedTimestampImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLSetFileCheckedTimestampImpl.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.SetFileCheckedTimestampImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.SetFileCheckedTimestampImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLSetFileCheckedTimestampImpl extends MySQLTransaction
     implements SetFileCheckedTimestampImpl {
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLSetPassword.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLSetPassword.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLSetPassword.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLSetPassword.java
index cacbdb4d..9972c3af 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLSetPassword.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLSetPassword.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.SetPasswordImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.utils.Utils;
 import java.math.BigInteger;
 import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
 import java.security.SecureRandom;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.SetPasswordImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.utils.Utils;
 
 public class MySQLSetPassword extends MySQLTransaction implements SetPasswordImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLSetPermissionRules.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLSetPermissionRules.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLSetPermissionRules.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLSetPermissionRules.java
index c4691e8a..1569cd49 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLSetPermissionRules.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLSetPermissionRules.java
@@ -20,17 +20,17 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.SetPermissionRulesImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.permissions.PermissionRule;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.SetPermissionRulesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.permissions.PermissionRule;
 import org.eclipse.jetty.util.ajax.JSON;
 
 public class MySQLSetPermissionRules extends MySQLTransaction implements SetPermissionRulesImpl {
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLSetQueryTemplateDefinition.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLSetQueryTemplateDefinition.java
similarity index 87%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLSetQueryTemplateDefinition.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLSetQueryTemplateDefinition.java
index 29f87a3f..e938010c 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLSetQueryTemplateDefinition.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLSetQueryTemplateDefinition.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.SetQueryTemplateDefinitionImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.SetQueryTemplateDefinitionImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLSetQueryTemplateDefinition extends MySQLTransaction
     implements SetQueryTemplateDefinitionImpl {
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLSyncStats.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLSyncStats.java
similarity index 94%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLSyncStats.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLSyncStats.java
index 4cae9e41..c874f21b 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLSyncStats.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLSyncStats.java
@@ -20,12 +20,8 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.SyncStatsImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.utils.ServerStat;
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
@@ -36,6 +32,10 @@ import java.io.ObjectOutputStream;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.SyncStatsImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.utils.ServerStat;
 
 public class MySQLSyncStats extends MySQLTransaction implements SyncStatsImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLTransaction.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLTransaction.java
similarity index 87%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLTransaction.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLTransaction.java
index f116a136..5b46579e 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLTransaction.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLTransaction.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.BackendTransactionImpl;
-import caosdb.server.database.misc.DBHelper;
-import caosdb.server.database.misc.TransactionBenchmark;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.BackendTransactionImpl;
+import org.caosdb.server.database.misc.DBHelper;
+import org.caosdb.server.database.misc.TransactionBenchmark;
 
 public class MySQLTransaction implements BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateSparseEntity.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateSparseEntity.java
similarity index 88%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateSparseEntity.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateSparseEntity.java
index 73c589fa..18b59ef9 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateSparseEntity.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateSparseEntity.java
@@ -20,19 +20,19 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.DatabaseUtils;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.UpdateSparseEntityImpl;
-import caosdb.server.database.exceptions.IntegrityException;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.SparseEntity;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.SQLIntegrityConstraintViolationException;
 import java.sql.Types;
+import org.caosdb.server.database.DatabaseUtils;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.UpdateSparseEntityImpl;
+import org.caosdb.server.database.exceptions.IntegrityException;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.SparseEntity;
 
 public class MySQLUpdateSparseEntity extends MySQLTransaction implements UpdateSparseEntityImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateUser.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateUser.java
similarity index 88%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateUser.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateUser.java
index 4d35ac31..bd368698 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateUser.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateUser.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.UpdateUserImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.ProtoUser;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
 import java.sql.Types;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.UpdateUserImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.ProtoUser;
 
 public class MySQLUpdateUser extends MySQLTransaction implements UpdateUserImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateUserRoles.java b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateUserRoles.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateUserRoles.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateUserRoles.java
index 96b759a3..62cb68bf 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateUserRoles.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/MySQL/MySQLUpdateUserRoles.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.MySQL;
+package org.caosdb.server.database.backend.implementation.MySQL;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.UpdateUserRolesImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
 import java.util.HashSet;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.UpdateUserRolesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class MySQLUpdateUserRoles extends MySQLTransaction implements UpdateUserRolesImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemCheckHash.java b/src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemCheckHash.java
similarity index 83%
rename from src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemCheckHash.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemCheckHash.java
index 84a195b3..e6b95a99 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemCheckHash.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemCheckHash.java
@@ -20,16 +20,16 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.UnixFileSystem;
+package org.caosdb.server.database.backend.implementation.UnixFileSystem;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.FileCheckHash;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.Message;
-import caosdb.server.utils.Hasher;
 import java.io.File;
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.FileCheckHash;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.utils.Hasher;
 
 public class UnixFileSystemCheckHash extends UnixFileSystemTransaction implements FileCheckHash {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemCheckSize.java b/src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemCheckSize.java
similarity index 82%
rename from src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemCheckSize.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemCheckSize.java
index 019b3925..c695ff58 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemCheckSize.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemCheckSize.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.UnixFileSystem;
+package org.caosdb.server.database.backend.implementation.UnixFileSystem;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.FileCheckSize;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.Message;
 import java.io.File;
 import java.io.IOException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.FileCheckSize;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.Message;
 
 public class UnixFileSystemCheckSize extends UnixFileSystemTransaction implements FileCheckSize {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemFileExists.java b/src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemFileExists.java
similarity index 82%
rename from src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemFileExists.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemFileExists.java
index cc163c7f..908d917c 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemFileExists.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemFileExists.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.UnixFileSystem;
+package org.caosdb.server.database.backend.implementation.UnixFileSystem;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.FileExists;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.Message;
 import java.io.File;
 import java.io.IOException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.FileExists;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.Message;
 
 public class UnixFileSystemFileExists extends UnixFileSystemTransaction implements FileExists {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemFileWasModifiedAfter.java b/src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemFileWasModifiedAfter.java
similarity index 82%
rename from src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemFileWasModifiedAfter.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemFileWasModifiedAfter.java
index 6b98d37d..70c97fec 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemFileWasModifiedAfter.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemFileWasModifiedAfter.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.UnixFileSystem;
+package org.caosdb.server.database.backend.implementation.UnixFileSystem;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.FileWasModifiedAfter;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.Message;
 import java.io.File;
 import java.io.IOException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.FileWasModifiedAfter;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.Message;
 
 public class UnixFileSystemFileWasModifiedAfter extends UnixFileSystemTransaction
     implements FileWasModifiedAfter {
diff --git a/src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemGetFileIterator.java b/src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemGetFileIterator.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemGetFileIterator.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemGetFileIterator.java
index 5bd6cd56..89c275dd 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemGetFileIterator.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemGetFileIterator.java
@@ -20,16 +20,16 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.UnixFileSystem;
+package org.caosdb.server.database.backend.implementation.UnixFileSystem;
 
-import caosdb.server.FileSystem;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.GetFileIteratorImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.Message;
 import java.io.File;
 import java.util.Arrays;
 import java.util.Iterator;
+import org.caosdb.server.FileSystem;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.GetFileIteratorImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.Message;
 
 public class UnixFileSystemGetFileIterator extends UnixFileSystemTransaction
     implements GetFileIteratorImpl {
diff --git a/src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemHelper.java b/src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemHelper.java
similarity index 87%
rename from src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemHelper.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemHelper.java
index 5b197f3d..260a401f 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemHelper.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemHelper.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.UnixFileSystem;
+package org.caosdb.server.database.backend.implementation.UnixFileSystem;
 
-import caosdb.server.database.misc.DBHelper;
-import caosdb.server.transaction.TransactionInterface;
+import org.caosdb.server.database.misc.DBHelper;
+import org.caosdb.server.transaction.TransactionInterface;
 
 public class UnixFileSystemHelper implements DBHelper {
 
diff --git a/src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemTransaction.java b/src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemTransaction.java
similarity index 84%
rename from src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemTransaction.java
rename to src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemTransaction.java
index 63e87d6a..ccf13744 100644
--- a/src/main/java/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemTransaction.java
+++ b/src/main/java/org/caosdb/server/database/backend/implementation/UnixFileSystem/UnixFileSystemTransaction.java
@@ -20,16 +20,16 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.implementation.UnixFileSystem;
+package org.caosdb.server.database.backend.implementation.UnixFileSystem;
 
-import caosdb.server.FileSystem;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.BackendTransactionImpl;
-import caosdb.server.database.misc.DBHelper;
-import caosdb.server.database.misc.TransactionBenchmark;
-import caosdb.server.entity.Message;
 import java.io.File;
 import java.io.IOException;
+import org.caosdb.server.FileSystem;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.BackendTransactionImpl;
+import org.caosdb.server.database.misc.DBHelper;
+import org.caosdb.server.database.misc.TransactionBenchmark;
+import org.caosdb.server.entity.Message;
 
 public abstract class UnixFileSystemTransaction implements BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/BackendTransactionImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/BackendTransactionImpl.java
similarity index 90%
rename from src/main/java/caosdb/server/database/backend/interfaces/BackendTransactionImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/BackendTransactionImpl.java
index d4751f94..8a2dbb0c 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/BackendTransactionImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/BackendTransactionImpl.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.misc.TransactionBenchmark;
+import org.caosdb.server.database.misc.TransactionBenchmark;
 
 public interface BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/DeleteEntityPropertiesImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/DeleteEntityPropertiesImpl.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/interfaces/DeleteEntityPropertiesImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/DeleteEntityPropertiesImpl.java
index d53bb92e..93b7023b 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/DeleteEntityPropertiesImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/DeleteEntityPropertiesImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.utils.Undoable;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.utils.Undoable;
 
 public interface DeleteEntityPropertiesImpl extends BackendTransactionImpl, Undoable {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/DeletePasswordImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/DeletePasswordImpl.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/interfaces/DeletePasswordImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/DeletePasswordImpl.java
index 9def6b63..32c485a9 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/DeletePasswordImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/DeletePasswordImpl.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface DeletePasswordImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/DeleteRoleImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/DeleteRoleImpl.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/interfaces/DeleteRoleImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/DeleteRoleImpl.java
index 230b3c04..0bd6c5c7 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/DeleteRoleImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/DeleteRoleImpl.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface DeleteRoleImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/DeleteSparseEntityImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/DeleteSparseEntityImpl.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/interfaces/DeleteSparseEntityImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/DeleteSparseEntityImpl.java
index 4c05ac0d..30ee6060 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/DeleteSparseEntityImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/DeleteSparseEntityImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.utils.Undoable;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.utils.Undoable;
 
 public interface DeleteSparseEntityImpl extends BackendTransactionImpl, Undoable {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/DeleteUserImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/DeleteUserImpl.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/interfaces/DeleteUserImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/DeleteUserImpl.java
index 4f717f73..3ee0a1e4 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/DeleteUserImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/DeleteUserImpl.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface DeleteUserImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/FileCheckHash.java b/src/main/java/org/caosdb/server/database/backend/interfaces/FileCheckHash.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/interfaces/FileCheckHash.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/FileCheckHash.java
index 11bc5cba..edd0718c 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/FileCheckHash.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/FileCheckHash.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.utils.Hasher;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.utils.Hasher;
 
 public interface FileCheckHash extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/FileCheckSize.java b/src/main/java/org/caosdb/server/database/backend/interfaces/FileCheckSize.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/interfaces/FileCheckSize.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/FileCheckSize.java
index 36baac74..bce32498 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/FileCheckSize.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/FileCheckSize.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface FileCheckSize extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/FileExists.java b/src/main/java/org/caosdb/server/database/backend/interfaces/FileExists.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/interfaces/FileExists.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/FileExists.java
index 546b6a9d..9a5ab664 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/FileExists.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/FileExists.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface FileExists extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/FileWasModifiedAfter.java b/src/main/java/org/caosdb/server/database/backend/interfaces/FileWasModifiedAfter.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/interfaces/FileWasModifiedAfter.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/FileWasModifiedAfter.java
index 318a15a4..08fccc58 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/FileWasModifiedAfter.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/FileWasModifiedAfter.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface FileWasModifiedAfter extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/GetAllNamesImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/GetAllNamesImpl.java
similarity index 73%
rename from src/main/java/caosdb/server/database/backend/interfaces/GetAllNamesImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/GetAllNamesImpl.java
index 3a89e579..9ca7a040 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/GetAllNamesImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/GetAllNamesImpl.java
@@ -1,7 +1,7 @@
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.proto.SparseEntity;
 import java.util.List;
+import org.caosdb.server.database.proto.SparseEntity;
 
 /**
  * Interface for the retrieval of all known names from the backend.
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/GetChildrenImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/GetChildrenImpl.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/interfaces/GetChildrenImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/GetChildrenImpl.java
index 7f7f7450..a58579fe 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/GetChildrenImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/GetChildrenImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
 import java.util.List;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface GetChildrenImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/GetDependentEntitiesImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/GetDependentEntitiesImpl.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/interfaces/GetDependentEntitiesImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/GetDependentEntitiesImpl.java
index 1ed4cf5f..ca63fac6 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/GetDependentEntitiesImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/GetDependentEntitiesImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
 import java.util.List;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface GetDependentEntitiesImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/GetFileIteratorImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/GetFileIteratorImpl.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/interfaces/GetFileIteratorImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/GetFileIteratorImpl.java
index 52886899..0b7e4570 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/GetFileIteratorImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/GetFileIteratorImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
 import java.util.Iterator;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface GetFileIteratorImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/GetFileRecordByPathImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/GetFileRecordByPathImpl.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/interfaces/GetFileRecordByPathImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/GetFileRecordByPathImpl.java
index d0dd185a..e7f69667 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/GetFileRecordByPathImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/GetFileRecordByPathImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.SparseEntity;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.SparseEntity;
 
 public interface GetFileRecordByPathImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/GetIDByNameImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/GetIDByNameImpl.java
similarity index 90%
rename from src/main/java/caosdb/server/database/backend/interfaces/GetIDByNameImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/GetIDByNameImpl.java
index 23a06a1d..d788a357 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/GetIDByNameImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/GetIDByNameImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
 import java.util.List;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface GetIDByNameImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/GetInfoImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/GetInfoImpl.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/interfaces/GetInfoImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/GetInfoImpl.java
index 52812424..d2bb1326 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/GetInfoImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/GetInfoImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.ProtoInfo;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.ProtoInfo;
 
 public interface GetInfoImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/GetUpdateableChecksumsImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/GetUpdateableChecksumsImpl.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/interfaces/GetUpdateableChecksumsImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/GetUpdateableChecksumsImpl.java
index d7d3b142..53aac490 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/GetUpdateableChecksumsImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/GetUpdateableChecksumsImpl.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface GetUpdateableChecksumsImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/org/caosdb/server/database/backend/interfaces/InsertEntityDatatypeImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/InsertEntityDatatypeImpl.java
new file mode 100644
index 00000000..6da8d5cf
--- /dev/null
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/InsertEntityDatatypeImpl.java
@@ -0,0 +1,8 @@
+package org.caosdb.server.database.backend.interfaces;
+
+import org.caosdb.server.database.proto.SparseEntity;
+import org.caosdb.server.utils.Undoable;
+
+public interface InsertEntityDatatypeImpl extends BackendTransactionImpl, Undoable {
+  public abstract void execute(SparseEntity entity);
+}
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/InsertEntityPropertiesImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/InsertEntityPropertiesImpl.java
similarity index 80%
rename from src/main/java/caosdb/server/database/backend/interfaces/InsertEntityPropertiesImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/InsertEntityPropertiesImpl.java
index 14c76afa..e45fe9ea 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/InsertEntityPropertiesImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/InsertEntityPropertiesImpl.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.FlatProperty;
-import caosdb.server.datatype.AbstractDatatype.Table;
-import caosdb.server.utils.Undoable;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.FlatProperty;
+import org.caosdb.server.datatype.AbstractDatatype.Table;
+import org.caosdb.server.utils.Undoable;
 
 public interface InsertEntityPropertiesImpl extends BackendTransactionImpl, Undoable {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/InsertLinConImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/InsertLinConImpl.java
similarity index 83%
rename from src/main/java/caosdb/server/database/backend/interfaces/InsertLinConImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/InsertLinConImpl.java
index 679f6824..98ba022e 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/InsertLinConImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/InsertLinConImpl.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.LinCon;
-import caosdb.server.utils.Undoable;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.LinCon;
+import org.caosdb.server.utils.Undoable;
 
 public interface InsertLinConImpl extends BackendTransactionImpl, Undoable {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/InsertLogRecordImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/InsertLogRecordImpl.java
similarity index 90%
rename from src/main/java/caosdb/server/database/backend/interfaces/InsertLogRecordImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/InsertLogRecordImpl.java
index 511e0ed4..78bab8e2 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/InsertLogRecordImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/InsertLogRecordImpl.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
 import java.util.List;
 import java.util.logging.LogRecord;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface InsertLogRecordImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/InsertParentsImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/InsertParentsImpl.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/interfaces/InsertParentsImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/InsertParentsImpl.java
index f83aa32e..aa65abe6 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/InsertParentsImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/InsertParentsImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.utils.Undoable;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.utils.Undoable;
 
 public interface InsertParentsImpl extends BackendTransactionImpl, Undoable {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/InsertRoleImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/InsertRoleImpl.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/interfaces/InsertRoleImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/InsertRoleImpl.java
index 3ee2746c..ff305cab 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/InsertRoleImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/InsertRoleImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.accessControl.Role;
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.accessControl.Role;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface InsertRoleImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/InsertSparseEntityImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/InsertSparseEntityImpl.java
similarity index 87%
rename from src/main/java/caosdb/server/database/backend/interfaces/InsertSparseEntityImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/InsertSparseEntityImpl.java
index 8ad9a9f7..33f46e97 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/InsertSparseEntityImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/InsertSparseEntityImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.proto.SparseEntity;
-import caosdb.server.utils.Undoable;
+import org.caosdb.server.database.proto.SparseEntity;
+import org.caosdb.server.utils.Undoable;
 
 public interface InsertSparseEntityImpl extends BackendTransactionImpl, Undoable {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/InsertTransactionHistoryImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/InsertTransactionHistoryImpl.java
similarity index 87%
rename from src/main/java/caosdb/server/database/backend/interfaces/InsertTransactionHistoryImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/InsertTransactionHistoryImpl.java
index 0ccb5d15..a0b7db43 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/InsertTransactionHistoryImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/InsertTransactionHistoryImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.utils.Undoable;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.utils.Undoable;
 
 public interface InsertTransactionHistoryImpl extends BackendTransactionImpl, Undoable {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/IsSubTypeImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/IsSubTypeImpl.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/interfaces/IsSubTypeImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/IsSubTypeImpl.java
index 7a4f9717..2e61c5fb 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/IsSubTypeImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/IsSubTypeImpl.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface IsSubTypeImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/RegisterSubDomainImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/RegisterSubDomainImpl.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/interfaces/RegisterSubDomainImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/RegisterSubDomainImpl.java
index d5e0c7d1..e9df6f88 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/RegisterSubDomainImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/RegisterSubDomainImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
 import java.util.Deque;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface RegisterSubDomainImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveAllImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveAllImpl.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/interfaces/RetrieveAllImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveAllImpl.java
index 54f8755e..0aaa9707 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveAllImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveAllImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
 import java.util.List;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface RetrieveAllImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveAllUncheckedFilesImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveAllUncheckedFilesImpl.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/interfaces/RetrieveAllUncheckedFilesImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveAllUncheckedFilesImpl.java
index 5d49a0e4..031bfbf9 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveAllUncheckedFilesImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveAllUncheckedFilesImpl.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.SparseEntity;
 import java.util.Iterator;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.SparseEntity;
 
 public interface RetrieveAllUncheckedFilesImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveDatatypesImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveDatatypesImpl.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/interfaces/RetrieveDatatypesImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveDatatypesImpl.java
index aa20a3ce..91c68dc5 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveDatatypesImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveDatatypesImpl.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.VerySparseEntity;
 import java.util.ArrayList;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.VerySparseEntity;
 
 public interface RetrieveDatatypesImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveLogRecordImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveLogRecordImpl.java
similarity index 90%
rename from src/main/java/caosdb/server/database/backend/interfaces/RetrieveLogRecordImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveLogRecordImpl.java
index 8fa00a0d..b6646d26 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveLogRecordImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveLogRecordImpl.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
 import java.util.List;
 import java.util.logging.Level;
 import java.util.logging.LogRecord;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface RetrieveLogRecordImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveParentsImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveParentsImpl.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/interfaces/RetrieveParentsImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveParentsImpl.java
index 9dfb8cf5..1948be05 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveParentsImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveParentsImpl.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.VerySparseEntity;
 import java.util.ArrayList;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.VerySparseEntity;
 
 public interface RetrieveParentsImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/RetrievePasswordValidatorImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrievePasswordValidatorImpl.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/interfaces/RetrievePasswordValidatorImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/RetrievePasswordValidatorImpl.java
index 9eaee5f0..3b3c2851 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/RetrievePasswordValidatorImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrievePasswordValidatorImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.accessControl.CredentialsValidator;
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.accessControl.CredentialsValidator;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface RetrievePasswordValidatorImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/RetrievePermissionRulesImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrievePermissionRulesImpl.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/interfaces/RetrievePermissionRulesImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/RetrievePermissionRulesImpl.java
index 01d2c20d..cdbb5eb9 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/RetrievePermissionRulesImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrievePermissionRulesImpl.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.permissions.PermissionRule;
 import java.util.HashSet;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.permissions.PermissionRule;
 
 public interface RetrievePermissionRulesImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/RetrievePropertiesImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrievePropertiesImpl.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/interfaces/RetrievePropertiesImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/RetrievePropertiesImpl.java
index b9a15a52..54dba75e 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/RetrievePropertiesImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrievePropertiesImpl.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.ProtoProperty;
 import java.util.ArrayList;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.ProtoProperty;
 
 public interface RetrievePropertiesImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveQueryTemplateDefinitionImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveQueryTemplateDefinitionImpl.java
similarity index 94%
rename from src/main/java/caosdb/server/database/backend/interfaces/RetrieveQueryTemplateDefinitionImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveQueryTemplateDefinitionImpl.java
index cda33604..df144c79 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveQueryTemplateDefinitionImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveQueryTemplateDefinitionImpl.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
 public interface RetrieveQueryTemplateDefinitionImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveRoleImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveRoleImpl.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/interfaces/RetrieveRoleImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveRoleImpl.java
index 518cac1a..92fde36b 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveRoleImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveRoleImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.accessControl.Role;
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.accessControl.Role;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface RetrieveRoleImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveSparseEntityImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveSparseEntityImpl.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/interfaces/RetrieveSparseEntityImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveSparseEntityImpl.java
index 5b6978f8..8bb790c9 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveSparseEntityImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveSparseEntityImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.SparseEntity;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.SparseEntity;
 
 public interface RetrieveSparseEntityImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveTransactionHistoryImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveTransactionHistoryImpl.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/interfaces/RetrieveTransactionHistoryImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveTransactionHistoryImpl.java
index 217ec61c..b02e4d93 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveTransactionHistoryImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveTransactionHistoryImpl.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.ProtoTransactionLogMessage;
 import java.util.ArrayList;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.ProtoTransactionLogMessage;
 
 public interface RetrieveTransactionHistoryImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveUserImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveUserImpl.java
similarity index 82%
rename from src/main/java/caosdb/server/database/backend/interfaces/RetrieveUserImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveUserImpl.java
index ffb1f16a..2ff82863 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveUserImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveUserImpl.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.accessControl.Principal;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.ProtoUser;
+import org.caosdb.server.accessControl.Principal;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.ProtoUser;
 
 public interface RetrieveUserImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveVersionHistoryImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveVersionHistoryImpl.java
similarity index 61%
rename from src/main/java/caosdb/server/database/backend/interfaces/RetrieveVersionHistoryImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveVersionHistoryImpl.java
index 118e783d..50b6e13c 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/RetrieveVersionHistoryImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/RetrieveVersionHistoryImpl.java
@@ -1,7 +1,7 @@
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.proto.VersionHistoryItem;
 import java.util.HashMap;
+import org.caosdb.server.database.proto.VersionHistoryItem;
 
 public interface RetrieveVersionHistoryImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/RuleLoaderImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/RuleLoaderImpl.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/interfaces/RuleLoaderImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/RuleLoaderImpl.java
index c1e84dd3..151e3d9d 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/RuleLoaderImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/RuleLoaderImpl.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.Rule;
 import java.util.ArrayList;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.Rule;
 
 public interface RuleLoaderImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/SetFileCheckedTimestampImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/SetFileCheckedTimestampImpl.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/interfaces/SetFileCheckedTimestampImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/SetFileCheckedTimestampImpl.java
index eab36276..a3983539 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/SetFileCheckedTimestampImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/SetFileCheckedTimestampImpl.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface SetFileCheckedTimestampImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/SetPasswordImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/SetPasswordImpl.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/interfaces/SetPasswordImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/SetPasswordImpl.java
index 6e4c951f..e60f5788 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/SetPasswordImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/SetPasswordImpl.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface SetPasswordImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/SetPermissionRulesImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/SetPermissionRulesImpl.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/interfaces/SetPermissionRulesImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/SetPermissionRulesImpl.java
index 29a28415..89ab9bd1 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/SetPermissionRulesImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/SetPermissionRulesImpl.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.permissions.PermissionRule;
 import java.util.Set;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.permissions.PermissionRule;
 
 public interface SetPermissionRulesImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/SetQueryTemplateDefinitionImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/SetQueryTemplateDefinitionImpl.java
similarity index 94%
rename from src/main/java/caosdb/server/database/backend/interfaces/SetQueryTemplateDefinitionImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/SetQueryTemplateDefinitionImpl.java
index 4d6695fe..aee26c5e 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/SetQueryTemplateDefinitionImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/SetQueryTemplateDefinitionImpl.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
 public interface SetQueryTemplateDefinitionImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/SyncStatsImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/SyncStatsImpl.java
similarity index 87%
rename from src/main/java/caosdb/server/database/backend/interfaces/SyncStatsImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/SyncStatsImpl.java
index 6a4d1d39..d5a15f0e 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/SyncStatsImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/SyncStatsImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.utils.ServerStat;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.utils.ServerStat;
 
 public interface SyncStatsImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/UpdateSparseEntityImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/UpdateSparseEntityImpl.java
similarity index 83%
rename from src/main/java/caosdb/server/database/backend/interfaces/UpdateSparseEntityImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/UpdateSparseEntityImpl.java
index f3583209..e7cb2612 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/UpdateSparseEntityImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/UpdateSparseEntityImpl.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.SparseEntity;
-import caosdb.server.utils.Undoable;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.SparseEntity;
+import org.caosdb.server.utils.Undoable;
 
 public interface UpdateSparseEntityImpl extends BackendTransactionImpl, Undoable {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/UpdateUserImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/UpdateUserImpl.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/interfaces/UpdateUserImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/UpdateUserImpl.java
index 5479c13f..eb26002c 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/UpdateUserImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/UpdateUserImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.ProtoUser;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.ProtoUser;
 
 public interface UpdateUserImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/interfaces/UpdateUserRolesImpl.java b/src/main/java/org/caosdb/server/database/backend/interfaces/UpdateUserRolesImpl.java
similarity index 90%
rename from src/main/java/caosdb/server/database/backend/interfaces/UpdateUserRolesImpl.java
rename to src/main/java/org/caosdb/server/database/backend/interfaces/UpdateUserRolesImpl.java
index 5d1763b6..f2abfbe3 100644
--- a/src/main/java/caosdb/server/database/backend/interfaces/UpdateUserRolesImpl.java
+++ b/src/main/java/org/caosdb/server/database/backend/interfaces/UpdateUserRolesImpl.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.interfaces;
+package org.caosdb.server.database.backend.interfaces;
 
-import caosdb.server.database.exceptions.TransactionException;
 import java.util.HashSet;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public interface UpdateUserRolesImpl extends BackendTransactionImpl {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/DeleteEntity.java b/src/main/java/org/caosdb/server/database/backend/transaction/DeleteEntity.java
similarity index 83%
rename from src/main/java/caosdb/server/database/backend/transaction/DeleteEntity.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/DeleteEntity.java
index e94d90e6..7f3d3435 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/DeleteEntity.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/DeleteEntity.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.container.TransactionContainer;
 
 public class DeleteEntity extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/DeleteEntityProperties.java b/src/main/java/org/caosdb/server/database/backend/transaction/DeleteEntityProperties.java
similarity index 80%
rename from src/main/java/caosdb/server/database/backend/transaction/DeleteEntityProperties.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/DeleteEntityProperties.java
index 984ca5eb..7b02fbf0 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/DeleteEntityProperties.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/DeleteEntityProperties.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import static caosdb.server.transaction.Transaction.ERROR_INTEGRITY_VIOLATION;
+import static org.caosdb.server.transaction.Transaction.ERROR_INTEGRITY_VIOLATION;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.DeleteEntityPropertiesImpl;
-import caosdb.server.database.exceptions.IntegrityException;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.utils.EntityStatus;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.DeleteEntityPropertiesImpl;
+import org.caosdb.server.database.exceptions.IntegrityException;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.utils.EntityStatus;
 
 public class DeleteEntityProperties extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/DeleteFile.java b/src/main/java/org/caosdb/server/database/backend/transaction/DeleteFile.java
similarity index 83%
rename from src/main/java/caosdb/server/database/backend/transaction/DeleteFile.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/DeleteFile.java
index 82c022be..254e4e70 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/DeleteFile.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/DeleteFile.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.CaosDBException;
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
 import java.io.IOException;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
 
 public class DeleteFile extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/DeletePassword.java b/src/main/java/org/caosdb/server/database/backend/transaction/DeletePassword.java
similarity index 83%
rename from src/main/java/caosdb/server/database/backend/transaction/DeletePassword.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/DeletePassword.java
index a467ae18..402726a9 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/DeletePassword.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/DeletePassword.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.DeletePasswordImpl;
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.DeletePasswordImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class DeletePassword extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/DeleteRole.java b/src/main/java/org/caosdb/server/database/backend/transaction/DeleteRole.java
similarity index 83%
rename from src/main/java/caosdb/server/database/backend/transaction/DeleteRole.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/DeleteRole.java
index 1c80d1b9..eab8f6f3 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/DeleteRole.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/DeleteRole.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.DeleteRoleImpl;
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.DeleteRoleImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class DeleteRole extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/DeleteSparseEntity.java b/src/main/java/org/caosdb/server/database/backend/transaction/DeleteSparseEntity.java
similarity index 80%
rename from src/main/java/caosdb/server/database/backend/transaction/DeleteSparseEntity.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/DeleteSparseEntity.java
index a2e4de64..55989d21 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/DeleteSparseEntity.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/DeleteSparseEntity.java
@@ -22,15 +22,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import static caosdb.server.transaction.Transaction.ERROR_INTEGRITY_VIOLATION;
+import static org.caosdb.server.transaction.Transaction.ERROR_INTEGRITY_VIOLATION;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.DeleteSparseEntityImpl;
-import caosdb.server.database.exceptions.IntegrityException;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.utils.EntityStatus;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.DeleteSparseEntityImpl;
+import org.caosdb.server.database.exceptions.IntegrityException;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.utils.EntityStatus;
 
 public class DeleteSparseEntity extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/DeleteUser.java b/src/main/java/org/caosdb/server/database/backend/transaction/DeleteUser.java
similarity index 82%
rename from src/main/java/caosdb/server/database/backend/transaction/DeleteUser.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/DeleteUser.java
index 90f2d02e..13ea8744 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/DeleteUser.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/DeleteUser.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.accessControl.Principal;
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.DeleteUserImpl;
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.accessControl.Principal;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.DeleteUserImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class DeleteUser extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/FileConsistencyCheck.java b/src/main/java/org/caosdb/server/database/backend/transaction/FileConsistencyCheck.java
similarity index 84%
rename from src/main/java/caosdb/server/database/backend/transaction/FileConsistencyCheck.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/FileConsistencyCheck.java
index 5238ec74..5cece246 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/FileConsistencyCheck.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/FileConsistencyCheck.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.FileCheckHash;
-import caosdb.server.database.backend.interfaces.FileCheckSize;
-import caosdb.server.database.backend.interfaces.FileExists;
-import caosdb.server.database.backend.interfaces.FileWasModifiedAfter;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.utils.Hasher;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.FileCheckHash;
+import org.caosdb.server.database.backend.interfaces.FileCheckSize;
+import org.caosdb.server.database.backend.interfaces.FileExists;
+import org.caosdb.server.database.backend.interfaces.FileWasModifiedAfter;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.utils.Hasher;
 
 public class FileConsistencyCheck extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/GetAllNames.java b/src/main/java/org/caosdb/server/database/backend/transaction/GetAllNames.java
similarity index 61%
rename from src/main/java/caosdb/server/database/backend/transaction/GetAllNames.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/GetAllNames.java
index f30ec5b2..f45f5104 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/GetAllNames.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/GetAllNames.java
@@ -1,12 +1,12 @@
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.GetAllNamesImpl;
-import caosdb.server.database.proto.SparseEntity;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
 import java.util.ArrayList;
 import java.util.List;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.GetAllNamesImpl;
+import org.caosdb.server.database.proto.SparseEntity;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
 
 public class GetAllNames extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/GetChildren.java b/src/main/java/org/caosdb/server/database/backend/transaction/GetChildren.java
similarity index 84%
rename from src/main/java/caosdb/server/database/backend/transaction/GetChildren.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/GetChildren.java
index d476345c..32bf8883 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/GetChildren.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/GetChildren.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.GetChildrenImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.util.List;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.GetChildrenImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class GetChildren extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/GetDependentEntities.java b/src/main/java/org/caosdb/server/database/backend/transaction/GetDependentEntities.java
similarity index 84%
rename from src/main/java/caosdb/server/database/backend/transaction/GetDependentEntities.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/GetDependentEntities.java
index e4e6e96f..067a422f 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/GetDependentEntities.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/GetDependentEntities.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.GetDependentEntitiesImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.util.List;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.GetDependentEntitiesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class GetDependentEntities extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/GetFileIterator.java b/src/main/java/org/caosdb/server/database/backend/transaction/GetFileIterator.java
similarity index 84%
rename from src/main/java/caosdb/server/database/backend/transaction/GetFileIterator.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/GetFileIterator.java
index 7e28ff24..c5db6bef 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/GetFileIterator.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/GetFileIterator.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.GetFileIteratorImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.util.Iterator;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.GetFileIteratorImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class GetFileIterator extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/GetFileRecordByPath.java b/src/main/java/org/caosdb/server/database/backend/transaction/GetFileRecordByPath.java
similarity index 84%
rename from src/main/java/caosdb/server/database/backend/transaction/GetFileRecordByPath.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/GetFileRecordByPath.java
index 6366bd28..1a7fa863 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/GetFileRecordByPath.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/GetFileRecordByPath.java
@@ -22,15 +22,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.caching.Cache;
-import caosdb.server.database.CacheableBackendTransaction;
-import caosdb.server.database.backend.interfaces.GetFileRecordByPathImpl;
-import caosdb.server.database.exceptions.EntityDoesNotExistException;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.SparseEntity;
 import org.apache.commons.jcs.access.behavior.ICacheAccess;
+import org.caosdb.server.caching.Cache;
+import org.caosdb.server.database.CacheableBackendTransaction;
+import org.caosdb.server.database.backend.interfaces.GetFileRecordByPathImpl;
+import org.caosdb.server.database.exceptions.EntityDoesNotExistException;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.SparseEntity;
 
 public class GetFileRecordByPath extends CacheableBackendTransaction<String, SparseEntity> {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/GetIDByName.java b/src/main/java/org/caosdb/server/database/backend/transaction/GetIDByName.java
similarity index 84%
rename from src/main/java/caosdb/server/database/backend/transaction/GetIDByName.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/GetIDByName.java
index 895cd707..b43db001 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/GetIDByName.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/GetIDByName.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.GetIDByNameImpl;
-import caosdb.server.database.exceptions.EntityDoesNotExistException;
-import caosdb.server.database.exceptions.EntityWasNotUniqueException;
-import caosdb.server.database.exceptions.TransactionException;
 import java.util.List;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.GetIDByNameImpl;
+import org.caosdb.server.database.exceptions.EntityDoesNotExistException;
+import org.caosdb.server.database.exceptions.EntityWasNotUniqueException;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class GetIDByName extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/GetInfo.java b/src/main/java/org/caosdb/server/database/backend/transaction/GetInfo.java
similarity index 80%
rename from src/main/java/caosdb/server/database/backend/transaction/GetInfo.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/GetInfo.java
index dd7cfc5a..a1662ec0 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/GetInfo.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/GetInfo.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.GetInfoImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.ProtoInfo;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.GetInfoImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.ProtoInfo;
 
 public class GetInfo extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/GetUpdateableChecksums.java b/src/main/java/org/caosdb/server/database/backend/transaction/GetUpdateableChecksums.java
similarity index 82%
rename from src/main/java/caosdb/server/database/backend/transaction/GetUpdateableChecksums.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/GetUpdateableChecksums.java
index b70c1918..eade9ea6 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/GetUpdateableChecksums.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/GetUpdateableChecksums.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.GetUpdateableChecksumsImpl;
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.GetUpdateableChecksumsImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class GetUpdateableChecksums extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/InsertEntity.java b/src/main/java/org/caosdb/server/database/backend/transaction/InsertEntity.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/transaction/InsertEntity.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/InsertEntity.java
index e2585049..42439aa5 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/InsertEntity.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/InsertEntity.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.container.TransactionContainer;
-import caosdb.server.utils.EntityStatus;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.utils.EntityStatus;
 
 public class InsertEntity extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/InsertEntityDatatype.java b/src/main/java/org/caosdb/server/database/backend/transaction/InsertEntityDatatype.java
similarity index 56%
rename from src/main/java/caosdb/server/database/backend/transaction/InsertEntityDatatype.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/InsertEntityDatatype.java
index 58aa4d88..182874d1 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/InsertEntityDatatype.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/InsertEntityDatatype.java
@@ -1,12 +1,12 @@
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import static caosdb.server.transaction.Transaction.ERROR_INTEGRITY_VIOLATION;
+import static org.caosdb.server.transaction.Transaction.ERROR_INTEGRITY_VIOLATION;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.InsertEntityDatatypeImpl;
-import caosdb.server.database.exceptions.IntegrityException;
-import caosdb.server.database.proto.SparseEntity;
-import caosdb.server.entity.EntityInterface;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.InsertEntityDatatypeImpl;
+import org.caosdb.server.database.exceptions.IntegrityException;
+import org.caosdb.server.database.proto.SparseEntity;
+import org.caosdb.server.entity.EntityInterface;
 
 public class InsertEntityDatatype extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/InsertEntityProperties.java b/src/main/java/org/caosdb/server/database/backend/transaction/InsertEntityProperties.java
similarity index 87%
rename from src/main/java/caosdb/server/database/backend/transaction/InsertEntityProperties.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/InsertEntityProperties.java
index a777d420..bd5bf63a 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/InsertEntityProperties.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/InsertEntityProperties.java
@@ -20,26 +20,26 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
-
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.DatabaseUtils;
-import caosdb.server.database.backend.interfaces.InsertEntityPropertiesImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.FlatProperty;
-import caosdb.server.datatype.AbstractCollectionDatatype;
-import caosdb.server.datatype.AbstractDatatype.Table;
-import caosdb.server.datatype.CollectionValue;
-import caosdb.server.datatype.IndexedSingleValue;
-import caosdb.server.datatype.SingleValue;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Role;
-import caosdb.server.entity.StatementStatus;
-import caosdb.server.entity.wrapper.Property;
+package org.caosdb.server.database.backend.transaction;
+
 import java.util.ArrayList;
 import java.util.Deque;
 import java.util.Iterator;
 import java.util.List;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.DatabaseUtils;
+import org.caosdb.server.database.backend.interfaces.InsertEntityPropertiesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.FlatProperty;
+import org.caosdb.server.datatype.AbstractCollectionDatatype;
+import org.caosdb.server.datatype.AbstractDatatype.Table;
+import org.caosdb.server.datatype.CollectionValue;
+import org.caosdb.server.datatype.IndexedSingleValue;
+import org.caosdb.server.datatype.SingleValue;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Role;
+import org.caosdb.server.entity.StatementStatus;
+import org.caosdb.server.entity.wrapper.Property;
 
 public class InsertEntityProperties extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/InsertEntityValue.java b/src/main/java/org/caosdb/server/database/backend/transaction/InsertEntityValue.java
similarity index 79%
rename from src/main/java/caosdb/server/database/backend/transaction/InsertEntityValue.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/InsertEntityValue.java
index 56ace8d9..8ec6b0d1 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/InsertEntityValue.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/InsertEntityValue.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.InsertEntityPropertiesImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.FlatProperty;
-import caosdb.server.datatype.SingleValue;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.StatementStatus;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.InsertEntityPropertiesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.FlatProperty;
+import org.caosdb.server.datatype.SingleValue;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.StatementStatus;
 
 public class InsertEntityValue extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/InsertFile.java b/src/main/java/org/caosdb/server/database/backend/transaction/InsertFile.java
similarity index 83%
rename from src/main/java/caosdb/server/database/backend/transaction/InsertFile.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/InsertFile.java
index fe9b930e..f92dc62b 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/InsertFile.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/InsertFile.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.utils.EntityStatus;
 import java.io.IOException;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.utils.EntityStatus;
 
 public class InsertFile extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/InsertLinCon.java b/src/main/java/org/caosdb/server/database/backend/transaction/InsertLinCon.java
similarity index 83%
rename from src/main/java/caosdb/server/database/backend/transaction/InsertLinCon.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/InsertLinCon.java
index 279f9f1f..68555010 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/InsertLinCon.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/InsertLinCon.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.InsertLinConImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.LinCon;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.InsertLinConImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.LinCon;
 
 public class InsertLinCon extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/InsertLogRecord.java b/src/main/java/org/caosdb/server/database/backend/transaction/InsertLogRecord.java
similarity index 84%
rename from src/main/java/caosdb/server/database/backend/transaction/InsertLogRecord.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/InsertLogRecord.java
index 43a21d48..3ce27add 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/InsertLogRecord.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/InsertLogRecord.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.InsertLogRecordImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.util.List;
 import java.util.logging.LogRecord;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.InsertLogRecordImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class InsertLogRecord extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/InsertParents.java b/src/main/java/org/caosdb/server/database/backend/transaction/InsertParents.java
similarity index 81%
rename from src/main/java/caosdb/server/database/backend/transaction/InsertParents.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/InsertParents.java
index 439b9f58..d71fec92 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/InsertParents.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/InsertParents.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.InsertParentsImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.utils.EntityStatus;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.InsertParentsImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.utils.EntityStatus;
 
 public class InsertParents extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/InsertRole.java b/src/main/java/org/caosdb/server/database/backend/transaction/InsertRole.java
similarity index 80%
rename from src/main/java/caosdb/server/database/backend/transaction/InsertRole.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/InsertRole.java
index e44820d2..4ffa7d68 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/InsertRole.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/InsertRole.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.accessControl.Role;
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.InsertRoleImpl;
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.accessControl.Role;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.InsertRoleImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class InsertRole extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/InsertSparseEntity.java b/src/main/java/org/caosdb/server/database/backend/transaction/InsertSparseEntity.java
similarity index 76%
rename from src/main/java/caosdb/server/database/backend/transaction/InsertSparseEntity.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/InsertSparseEntity.java
index c8e20895..1800168e 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/InsertSparseEntity.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/InsertSparseEntity.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import static caosdb.server.transaction.Transaction.ERROR_INTEGRITY_VIOLATION;
+import static org.caosdb.server.transaction.Transaction.ERROR_INTEGRITY_VIOLATION;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.InsertSparseEntityImpl;
-import caosdb.server.database.exceptions.IntegrityException;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.SparseEntity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Version;
-import caosdb.server.utils.Undoable;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.InsertSparseEntityImpl;
+import org.caosdb.server.database.exceptions.IntegrityException;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.SparseEntity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Version;
+import org.caosdb.server.utils.Undoable;
 
 public class InsertSparseEntity extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/InsertTransactionHistory.java b/src/main/java/org/caosdb/server/database/backend/transaction/InsertTransactionHistory.java
similarity index 81%
rename from src/main/java/caosdb/server/database/backend/transaction/InsertTransactionHistory.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/InsertTransactionHistory.java
index 242eec29..db7393b0 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/InsertTransactionHistory.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/InsertTransactionHistory.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.datetime.UTCDateTime;
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.InsertTransactionHistoryImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.container.TransactionContainer;
-import caosdb.server.utils.EntityStatus;
+import org.caosdb.datetime.UTCDateTime;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.InsertTransactionHistoryImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.utils.EntityStatus;
 
 public class InsertTransactionHistory extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/IsSubType.java b/src/main/java/org/caosdb/server/database/backend/transaction/IsSubType.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/transaction/IsSubType.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/IsSubType.java
index ed91f761..d75fb2c2 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/IsSubType.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/IsSubType.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.IsSubTypeImpl;
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.IsSubTypeImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class IsSubType extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RegisterSubDomain.java b/src/main/java/org/caosdb/server/database/backend/transaction/RegisterSubDomain.java
similarity index 84%
rename from src/main/java/caosdb/server/database/backend/transaction/RegisterSubDomain.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RegisterSubDomain.java
index 08b999d0..ecae501d 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RegisterSubDomain.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RegisterSubDomain.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.RegisterSubDomainImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.util.Deque;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.RegisterSubDomainImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class RegisterSubDomain extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RetrieveAll.java b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveAll.java
similarity index 80%
rename from src/main/java/caosdb/server/database/backend/transaction/RetrieveAll.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RetrieveAll.java
index 5820547c..7b6173ed 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RetrieveAll.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveAll.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.RetrieveAllImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.RetrieveEntity;
-import caosdb.server.entity.container.TransactionContainer;
 import java.util.List;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.RetrieveAllImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.RetrieveEntity;
+import org.caosdb.server.entity.container.TransactionContainer;
 
 public class RetrieveAll extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RetrieveAllUncheckedFiles.java b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveAllUncheckedFiles.java
similarity index 82%
rename from src/main/java/caosdb/server/database/backend/transaction/RetrieveAllUncheckedFiles.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RetrieveAllUncheckedFiles.java
index b9969424..655e47b8 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RetrieveAllUncheckedFiles.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveAllUncheckedFiles.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.RetrieveAllUncheckedFilesImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.SparseEntity;
 import java.util.Iterator;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.RetrieveAllUncheckedFilesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.SparseEntity;
 
 public class RetrieveAllUncheckedFiles extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RetrieveDatatypes.java b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveDatatypes.java
similarity index 76%
rename from src/main/java/caosdb/server/database/backend/transaction/RetrieveDatatypes.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RetrieveDatatypes.java
index 44f8427a..56efbdd3 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RetrieveDatatypes.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveDatatypes.java
@@ -20,17 +20,17 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.RetrieveDatatypesImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.VerySparseEntity;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.RetrieveEntity;
-import caosdb.server.entity.container.Container;
 import java.util.ArrayList;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.RetrieveDatatypesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.VerySparseEntity;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.RetrieveEntity;
+import org.caosdb.server.entity.container.Container;
 
 public class RetrieveDatatypes extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RetrieveFullEntity.java b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveFullEntity.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/transaction/RetrieveFullEntity.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RetrieveFullEntity.java
index ad0d39e9..2601367b 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RetrieveFullEntity.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveFullEntity.java
@@ -22,22 +22,22 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
-
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.datatype.ReferenceDatatype;
-import caosdb.server.datatype.ReferenceValue;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.RetrieveEntity;
-import caosdb.server.entity.Role;
-import caosdb.server.entity.container.Container;
-import caosdb.server.entity.wrapper.Property;
-import caosdb.server.query.Query;
-import caosdb.server.query.Query.Selection;
-import caosdb.server.utils.EntityStatus;
+package org.caosdb.server.database.backend.transaction;
+
 import java.util.LinkedList;
 import java.util.List;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.datatype.ReferenceDatatype;
+import org.caosdb.server.datatype.ReferenceValue;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.RetrieveEntity;
+import org.caosdb.server.entity.Role;
+import org.caosdb.server.entity.container.Container;
+import org.caosdb.server.entity.wrapper.Property;
+import org.caosdb.server.query.Query;
+import org.caosdb.server.query.Query.Selection;
+import org.caosdb.server.utils.EntityStatus;
 
 /**
  * Retrieve the full entity from the backend - with all parents, properties, file properties and so
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RetrieveLogRecord.java b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveLogRecord.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/transaction/RetrieveLogRecord.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RetrieveLogRecord.java
index 42211d43..eae8a965 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RetrieveLogRecord.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveLogRecord.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.RetrieveLogRecordImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.util.List;
 import java.util.logging.Level;
 import java.util.logging.LogRecord;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.RetrieveLogRecordImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class RetrieveLogRecord extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RetrieveParents.java b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveParents.java
similarity index 86%
rename from src/main/java/caosdb/server/database/backend/transaction/RetrieveParents.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RetrieveParents.java
index d33d5e96..b551430a 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RetrieveParents.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveParents.java
@@ -22,17 +22,17 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.caching.Cache;
-import caosdb.server.database.CacheableBackendTransaction;
-import caosdb.server.database.DatabaseUtils;
-import caosdb.server.database.backend.interfaces.RetrieveParentsImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.VerySparseEntity;
-import caosdb.server.entity.EntityInterface;
 import java.util.ArrayList;
 import org.apache.commons.jcs.access.behavior.ICacheAccess;
+import org.caosdb.server.caching.Cache;
+import org.caosdb.server.database.CacheableBackendTransaction;
+import org.caosdb.server.database.DatabaseUtils;
+import org.caosdb.server.database.backend.interfaces.RetrieveParentsImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.VerySparseEntity;
+import org.caosdb.server.entity.EntityInterface;
 
 // TODO Problem with the caching.
 // When an old entity version has a parent which is deleted, the name is
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RetrievePasswordValidator.java b/src/main/java/org/caosdb/server/database/backend/transaction/RetrievePasswordValidator.java
similarity index 81%
rename from src/main/java/caosdb/server/database/backend/transaction/RetrievePasswordValidator.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RetrievePasswordValidator.java
index 36ce2c94..d8ea908d 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RetrievePasswordValidator.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RetrievePasswordValidator.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.accessControl.CredentialsValidator;
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.RetrievePasswordValidatorImpl;
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.accessControl.CredentialsValidator;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.RetrievePasswordValidatorImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class RetrievePasswordValidator extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RetrievePermissionRules.java b/src/main/java/org/caosdb/server/database/backend/transaction/RetrievePermissionRules.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/transaction/RetrievePermissionRules.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RetrievePermissionRules.java
index 7e992577..0ec67561 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RetrievePermissionRules.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RetrievePermissionRules.java
@@ -22,15 +22,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.caching.Cache;
-import caosdb.server.database.CacheableBackendTransaction;
-import caosdb.server.database.backend.interfaces.RetrievePermissionRulesImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.permissions.PermissionRule;
 import java.util.HashSet;
 import org.apache.commons.jcs.access.behavior.ICacheAccess;
+import org.caosdb.server.caching.Cache;
+import org.caosdb.server.database.CacheableBackendTransaction;
+import org.caosdb.server.database.backend.interfaces.RetrievePermissionRulesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.permissions.PermissionRule;
 
 public class RetrievePermissionRules
     extends CacheableBackendTransaction<String, HashSet<PermissionRule>> {
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RetrieveProperties.java b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveProperties.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/transaction/RetrieveProperties.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RetrieveProperties.java
index 822f57fd..726382f2 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RetrieveProperties.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveProperties.java
@@ -22,19 +22,19 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.caching.Cache;
-import caosdb.server.database.CacheableBackendTransaction;
-import caosdb.server.database.DatabaseUtils;
-import caosdb.server.database.backend.interfaces.RetrievePropertiesImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.ProtoProperty;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Role;
-import caosdb.server.entity.wrapper.Property;
 import java.util.ArrayList;
 import org.apache.commons.jcs.access.behavior.ICacheAccess;
+import org.caosdb.server.caching.Cache;
+import org.caosdb.server.database.CacheableBackendTransaction;
+import org.caosdb.server.database.DatabaseUtils;
+import org.caosdb.server.database.backend.interfaces.RetrievePropertiesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.ProtoProperty;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Role;
+import org.caosdb.server.entity.wrapper.Property;
 
 public class RetrieveProperties
     extends CacheableBackendTransaction<String, ArrayList<ProtoProperty>> {
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RetrieveQueryTemplateDefinition.java b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveQueryTemplateDefinition.java
similarity index 81%
rename from src/main/java/caosdb/server/database/backend/transaction/RetrieveQueryTemplateDefinition.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RetrieveQueryTemplateDefinition.java
index 0c96c72c..90a8ac27 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RetrieveQueryTemplateDefinition.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveQueryTemplateDefinition.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.RetrieveQueryTemplateDefinitionImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.EntityInterface;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.RetrieveQueryTemplateDefinitionImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.EntityInterface;
 
 public class RetrieveQueryTemplateDefinition extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RetrieveRole.java b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveRole.java
similarity index 84%
rename from src/main/java/caosdb/server/database/backend/transaction/RetrieveRole.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RetrieveRole.java
index 5bb6150a..1e855663 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RetrieveRole.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveRole.java
@@ -22,14 +22,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.accessControl.Role;
-import caosdb.server.caching.Cache;
-import caosdb.server.database.CacheableBackendTransaction;
-import caosdb.server.database.backend.interfaces.RetrieveRoleImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import org.apache.commons.jcs.access.behavior.ICacheAccess;
+import org.caosdb.server.accessControl.Role;
+import org.caosdb.server.caching.Cache;
+import org.caosdb.server.database.CacheableBackendTransaction;
+import org.caosdb.server.database.backend.interfaces.RetrieveRoleImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class RetrieveRole extends CacheableBackendTransaction<String, Role> {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RetrieveSparseEntity.java b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveSparseEntity.java
similarity index 84%
rename from src/main/java/caosdb/server/database/backend/transaction/RetrieveSparseEntity.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RetrieveSparseEntity.java
index 7843f579..db35c45d 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RetrieveSparseEntity.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveSparseEntity.java
@@ -22,18 +22,18 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.caching.Cache;
-import caosdb.server.database.CacheableBackendTransaction;
-import caosdb.server.database.DatabaseUtils;
-import caosdb.server.database.backend.interfaces.RetrieveSparseEntityImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.SparseEntity;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.utils.EntityStatus;
 import org.apache.commons.jcs.access.behavior.ICacheAccess;
+import org.caosdb.server.caching.Cache;
+import org.caosdb.server.database.CacheableBackendTransaction;
+import org.caosdb.server.database.DatabaseUtils;
+import org.caosdb.server.database.backend.interfaces.RetrieveSparseEntityImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.SparseEntity;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.utils.EntityStatus;
 
 public class RetrieveSparseEntity extends CacheableBackendTransaction<String, SparseEntity> {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RetrieveTransactionHistory.java b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveTransactionHistory.java
similarity index 79%
rename from src/main/java/caosdb/server/database/backend/transaction/RetrieveTransactionHistory.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RetrieveTransactionHistory.java
index 72bc1e5b..632ce20c 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RetrieveTransactionHistory.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveTransactionHistory.java
@@ -22,16 +22,16 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.datetime.UTCDateTime;
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.RetrieveTransactionHistoryImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.ProtoTransactionLogMessage;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.utils.TransactionLogMessage;
 import java.util.ArrayList;
+import org.caosdb.datetime.UTCDateTime;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.RetrieveTransactionHistoryImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.ProtoTransactionLogMessage;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.utils.TransactionLogMessage;
 
 public class RetrieveTransactionHistory extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RetrieveUser.java b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveUser.java
similarity index 84%
rename from src/main/java/caosdb/server/database/backend/transaction/RetrieveUser.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RetrieveUser.java
index 9f271520..3ffdee13 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RetrieveUser.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveUser.java
@@ -22,15 +22,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.accessControl.Principal;
-import caosdb.server.caching.Cache;
-import caosdb.server.database.CacheableBackendTransaction;
-import caosdb.server.database.backend.interfaces.RetrieveUserImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.ProtoUser;
 import org.apache.commons.jcs.access.behavior.ICacheAccess;
+import org.caosdb.server.accessControl.Principal;
+import org.caosdb.server.caching.Cache;
+import org.caosdb.server.database.CacheableBackendTransaction;
+import org.caosdb.server.database.backend.interfaces.RetrieveUserImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.ProtoUser;
 
 public class RetrieveUser extends CacheableBackendTransaction<Principal, ProtoUser> {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RetrieveVersionHistory.java b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveVersionHistory.java
similarity index 85%
rename from src/main/java/caosdb/server/database/backend/transaction/RetrieveVersionHistory.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RetrieveVersionHistory.java
index 20be2f8f..6077d649 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RetrieveVersionHistory.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveVersionHistory.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.CacheableBackendTransaction;
-import caosdb.server.database.backend.interfaces.RetrieveVersionHistoryImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.VersionHistoryItem;
-import caosdb.server.entity.EntityInterface;
 import java.util.Collection;
 import java.util.HashMap;
+import org.caosdb.server.database.CacheableBackendTransaction;
+import org.caosdb.server.database.backend.interfaces.RetrieveVersionHistoryImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.VersionHistoryItem;
+import org.caosdb.server.entity.EntityInterface;
 
 public abstract class RetrieveVersionHistory
     extends CacheableBackendTransaction<Integer, HashMap<String, VersionHistoryItem>> {
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RetrieveVersionInfo.java b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveVersionInfo.java
similarity index 89%
rename from src/main/java/caosdb/server/database/backend/transaction/RetrieveVersionInfo.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RetrieveVersionInfo.java
index 1daab050..7d9fe5fd 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RetrieveVersionInfo.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RetrieveVersionInfo.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.datetime.UTCDateTime;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.VersionHistoryItem;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Version;
 import java.util.HashMap;
 import java.util.LinkedList;
+import org.caosdb.datetime.UTCDateTime;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.VersionHistoryItem;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Version;
 
 public class RetrieveVersionInfo extends RetrieveVersionHistory {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/RuleLoader.java b/src/main/java/org/caosdb/server/database/backend/transaction/RuleLoader.java
similarity index 82%
rename from src/main/java/caosdb/server/database/backend/transaction/RuleLoader.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/RuleLoader.java
index 303029b4..2bc6a92a 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/RuleLoader.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/RuleLoader.java
@@ -22,19 +22,19 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.caching.Cache;
-import caosdb.server.database.CacheableBackendTransaction;
-import caosdb.server.database.backend.interfaces.RuleLoaderImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.Rule;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.container.TransactionContainer;
-import caosdb.server.jobs.Job;
-import caosdb.server.transaction.Transaction;
 import java.util.ArrayList;
 import org.apache.commons.jcs.access.behavior.ICacheAccess;
+import org.caosdb.server.caching.Cache;
+import org.caosdb.server.database.CacheableBackendTransaction;
+import org.caosdb.server.database.backend.interfaces.RuleLoaderImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.Rule;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.jobs.Job;
+import org.caosdb.server.transaction.Transaction;
 
 public class RuleLoader extends CacheableBackendTransaction<String, ArrayList<Rule>> {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/SetFileCheckedTimestamp.java b/src/main/java/org/caosdb/server/database/backend/transaction/SetFileCheckedTimestamp.java
similarity index 83%
rename from src/main/java/caosdb/server/database/backend/transaction/SetFileCheckedTimestamp.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/SetFileCheckedTimestamp.java
index 1dd20a83..f7bf76c3 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/SetFileCheckedTimestamp.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/SetFileCheckedTimestamp.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.SetFileCheckedTimestampImpl;
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.SetFileCheckedTimestampImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class SetFileCheckedTimestamp extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/SetPassword.java b/src/main/java/org/caosdb/server/database/backend/transaction/SetPassword.java
similarity index 84%
rename from src/main/java/caosdb/server/database/backend/transaction/SetPassword.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/SetPassword.java
index 1f6c1e55..a22815ab 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/SetPassword.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/SetPassword.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.SetPasswordImpl;
-import caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.SetPasswordImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class SetPassword extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/SetPermissionRules.java b/src/main/java/org/caosdb/server/database/backend/transaction/SetPermissionRules.java
similarity index 82%
rename from src/main/java/caosdb/server/database/backend/transaction/SetPermissionRules.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/SetPermissionRules.java
index a632f299..30986303 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/SetPermissionRules.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/SetPermissionRules.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.SetPermissionRulesImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.permissions.PermissionRule;
 import java.util.Set;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.SetPermissionRulesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.permissions.PermissionRule;
 
 public class SetPermissionRules extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/SetQueryTemplateDefinition.java b/src/main/java/org/caosdb/server/database/backend/transaction/SetQueryTemplateDefinition.java
similarity index 81%
rename from src/main/java/caosdb/server/database/backend/transaction/SetQueryTemplateDefinition.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/SetQueryTemplateDefinition.java
index 10618ff0..b697b04f 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/SetQueryTemplateDefinition.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/SetQueryTemplateDefinition.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.SetQueryTemplateDefinitionImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.EntityInterface;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.SetQueryTemplateDefinitionImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.EntityInterface;
 
 public class SetQueryTemplateDefinition extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/SyncStats.java b/src/main/java/org/caosdb/server/database/backend/transaction/SyncStats.java
similarity index 83%
rename from src/main/java/caosdb/server/database/backend/transaction/SyncStats.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/SyncStats.java
index 8d82c188..d2650aff 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/SyncStats.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/SyncStats.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.SyncStatsImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.utils.ServerStat;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.SyncStatsImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.utils.ServerStat;
 
 public class SyncStats extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/UpdateEntity.java b/src/main/java/org/caosdb/server/database/backend/transaction/UpdateEntity.java
similarity index 83%
rename from src/main/java/caosdb/server/database/backend/transaction/UpdateEntity.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/UpdateEntity.java
index a7c9ba43..9c20cb1d 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/UpdateEntity.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/UpdateEntity.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.container.TransactionContainer;
-import caosdb.server.utils.EntityStatus;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.utils.EntityStatus;
 
 public class UpdateEntity extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/UpdateSparseEntity.java b/src/main/java/org/caosdb/server/database/backend/transaction/UpdateSparseEntity.java
similarity index 80%
rename from src/main/java/caosdb/server/database/backend/transaction/UpdateSparseEntity.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/UpdateSparseEntity.java
index 309ff9cb..2385ec84 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/UpdateSparseEntity.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/UpdateSparseEntity.java
@@ -22,14 +22,14 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
-
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.UpdateSparseEntityImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.SparseEntity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Version;
+package org.caosdb.server.database.backend.transaction;
+
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.UpdateSparseEntityImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.SparseEntity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Version;
 
 public class UpdateSparseEntity extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/UpdateUser.java b/src/main/java/org/caosdb/server/database/backend/transaction/UpdateUser.java
similarity index 78%
rename from src/main/java/caosdb/server/database/backend/transaction/UpdateUser.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/UpdateUser.java
index 4f2c2776..07740f88 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/UpdateUser.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/UpdateUser.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.accessControl.Principal;
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.UpdateUserImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.ProtoUser;
+import org.caosdb.server.accessControl.Principal;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.UpdateUserImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.ProtoUser;
 
 public class UpdateUser extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/backend/transaction/UpdateUserRoles.java b/src/main/java/org/caosdb/server/database/backend/transaction/UpdateUserRoles.java
similarity index 83%
rename from src/main/java/caosdb/server/database/backend/transaction/UpdateUserRoles.java
rename to src/main/java/org/caosdb/server/database/backend/transaction/UpdateUserRoles.java
index 359bbb3a..66b3cb8e 100644
--- a/src/main/java/caosdb/server/database/backend/transaction/UpdateUserRoles.java
+++ b/src/main/java/org/caosdb/server/database/backend/transaction/UpdateUserRoles.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
-import caosdb.server.accessControl.Principal;
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.UpdateUserRolesImpl;
-import caosdb.server.database.exceptions.TransactionException;
 import java.util.HashSet;
+import org.caosdb.server.accessControl.Principal;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.UpdateUserRolesImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
 
 public class UpdateUserRoles extends BackendTransaction {
 
diff --git a/src/main/java/caosdb/server/database/exceptions/EntityDoesNotExistException.java b/src/main/java/org/caosdb/server/database/exceptions/EntityDoesNotExistException.java
similarity index 95%
rename from src/main/java/caosdb/server/database/exceptions/EntityDoesNotExistException.java
rename to src/main/java/org/caosdb/server/database/exceptions/EntityDoesNotExistException.java
index 29bd175f..ab6e6860 100644
--- a/src/main/java/caosdb/server/database/exceptions/EntityDoesNotExistException.java
+++ b/src/main/java/org/caosdb/server/database/exceptions/EntityDoesNotExistException.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database.exceptions;
+package org.caosdb.server.database.exceptions;
 
 public class EntityDoesNotExistException extends TransactionException {
 
diff --git a/src/main/java/caosdb/server/database/exceptions/EntityWasNotUniqueException.java b/src/main/java/org/caosdb/server/database/exceptions/EntityWasNotUniqueException.java
similarity index 95%
rename from src/main/java/caosdb/server/database/exceptions/EntityWasNotUniqueException.java
rename to src/main/java/org/caosdb/server/database/exceptions/EntityWasNotUniqueException.java
index 8a5ab286..d4aa56e1 100644
--- a/src/main/java/caosdb/server/database/exceptions/EntityWasNotUniqueException.java
+++ b/src/main/java/org/caosdb/server/database/exceptions/EntityWasNotUniqueException.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database.exceptions;
+package org.caosdb.server.database.exceptions;
 
 public class EntityWasNotUniqueException extends TransactionException {
   private static final long serialVersionUID = -6520827199072001991L;
diff --git a/src/main/java/caosdb/server/database/exceptions/IntegrityException.java b/src/main/java/org/caosdb/server/database/exceptions/IntegrityException.java
similarity index 96%
rename from src/main/java/caosdb/server/database/exceptions/IntegrityException.java
rename to src/main/java/org/caosdb/server/database/exceptions/IntegrityException.java
index e3632fe3..9bf259a1 100644
--- a/src/main/java/caosdb/server/database/exceptions/IntegrityException.java
+++ b/src/main/java/org/caosdb/server/database/exceptions/IntegrityException.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database.exceptions;
+package org.caosdb.server.database.exceptions;
 
 public class IntegrityException extends TransactionException {
 
diff --git a/src/main/java/caosdb/server/database/exceptions/RolledBackException.java b/src/main/java/org/caosdb/server/database/exceptions/RolledBackException.java
similarity index 95%
rename from src/main/java/caosdb/server/database/exceptions/RolledBackException.java
rename to src/main/java/org/caosdb/server/database/exceptions/RolledBackException.java
index 0b371d77..f038da96 100644
--- a/src/main/java/caosdb/server/database/exceptions/RolledBackException.java
+++ b/src/main/java/org/caosdb/server/database/exceptions/RolledBackException.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database.exceptions;
+package org.caosdb.server.database.exceptions;
 
 public class RolledBackException extends TransactionException {
 
diff --git a/src/main/java/caosdb/server/database/exceptions/TransactionException.java b/src/main/java/org/caosdb/server/database/exceptions/TransactionException.java
similarity index 96%
rename from src/main/java/caosdb/server/database/exceptions/TransactionException.java
rename to src/main/java/org/caosdb/server/database/exceptions/TransactionException.java
index 13d306a8..08b68b1a 100644
--- a/src/main/java/caosdb/server/database/exceptions/TransactionException.java
+++ b/src/main/java/org/caosdb/server/database/exceptions/TransactionException.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database.exceptions;
+package org.caosdb.server.database.exceptions;
 
 public class TransactionException extends RuntimeException {
 
diff --git a/src/main/java/caosdb/server/database/misc/DBHelper.java b/src/main/java/org/caosdb/server/database/misc/DBHelper.java
similarity index 91%
rename from src/main/java/caosdb/server/database/misc/DBHelper.java
rename to src/main/java/org/caosdb/server/database/misc/DBHelper.java
index a9b3ea89..27bd1d08 100644
--- a/src/main/java/caosdb/server/database/misc/DBHelper.java
+++ b/src/main/java/org/caosdb/server/database/misc/DBHelper.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.database.misc;
+package org.caosdb.server.database.misc;
 
-import caosdb.server.transaction.TransactionInterface;
+import org.caosdb.server.transaction.TransactionInterface;
 
 public interface DBHelper {
 
diff --git a/src/main/java/caosdb/server/database/misc/RollBackHandler.java b/src/main/java/org/caosdb/server/database/misc/RollBackHandler.java
similarity index 88%
rename from src/main/java/caosdb/server/database/misc/RollBackHandler.java
rename to src/main/java/org/caosdb/server/database/misc/RollBackHandler.java
index 38bf00af..1591d858 100644
--- a/src/main/java/caosdb/server/database/misc/RollBackHandler.java
+++ b/src/main/java/org/caosdb/server/database/misc/RollBackHandler.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.misc;
+package org.caosdb.server.database.misc;
 
-import caosdb.server.transaction.TransactionInterface;
-import caosdb.server.utils.UndoHandler;
+import org.caosdb.server.transaction.TransactionInterface;
+import org.caosdb.server.utils.UndoHandler;
 
 public class RollBackHandler extends UndoHandler implements DBHelper {
 
diff --git a/src/main/java/caosdb/server/database/misc/TransactionBenchmark.java b/src/main/java/org/caosdb/server/database/misc/TransactionBenchmark.java
similarity index 98%
rename from src/main/java/caosdb/server/database/misc/TransactionBenchmark.java
rename to src/main/java/org/caosdb/server/database/misc/TransactionBenchmark.java
index 2d263df4..aa26924e 100644
--- a/src/main/java/caosdb/server/database/misc/TransactionBenchmark.java
+++ b/src/main/java/org/caosdb/server/database/misc/TransactionBenchmark.java
@@ -20,13 +20,8 @@
  *
  * ** end header
  */
-package caosdb.server.database.misc;
+package org.caosdb.server.database.misc;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
-import caosdb.server.utils.CronJob;
-import caosdb.server.utils.Info;
-import caosdb.server.utils.ServerStat;
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -38,6 +33,11 @@ import java.util.Map;
 import java.util.Map.Entry;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.utils.CronJob;
+import org.caosdb.server.utils.Info;
+import org.caosdb.server.utils.ServerStat;
 import org.jdom2.Element;
 
 class Counter implements Serializable {
diff --git a/src/main/java/caosdb/server/database/proto/FlatProperty.java b/src/main/java/org/caosdb/server/database/proto/FlatProperty.java
similarity index 96%
rename from src/main/java/caosdb/server/database/proto/FlatProperty.java
rename to src/main/java/org/caosdb/server/database/proto/FlatProperty.java
index a413b461..9728b378 100644
--- a/src/main/java/caosdb/server/database/proto/FlatProperty.java
+++ b/src/main/java/org/caosdb/server/database/proto/FlatProperty.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database.proto;
+package org.caosdb.server.database.proto;
 
 import java.io.Serializable;
 
diff --git a/src/main/java/caosdb/server/database/proto/LinCon.java b/src/main/java/org/caosdb/server/database/proto/LinCon.java
similarity index 97%
rename from src/main/java/caosdb/server/database/proto/LinCon.java
rename to src/main/java/org/caosdb/server/database/proto/LinCon.java
index ba75d3c5..719e7602 100644
--- a/src/main/java/caosdb/server/database/proto/LinCon.java
+++ b/src/main/java/org/caosdb/server/database/proto/LinCon.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database.proto;
+package org.caosdb.server.database.proto;
 
 public class LinCon {
   public final long signature_from;
diff --git a/src/main/java/caosdb/server/database/proto/ProtoGroup.java b/src/main/java/org/caosdb/server/database/proto/ProtoGroup.java
similarity index 96%
rename from src/main/java/caosdb/server/database/proto/ProtoGroup.java
rename to src/main/java/org/caosdb/server/database/proto/ProtoGroup.java
index 990be2ff..c8e68118 100644
--- a/src/main/java/caosdb/server/database/proto/ProtoGroup.java
+++ b/src/main/java/org/caosdb/server/database/proto/ProtoGroup.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database.proto;
+package org.caosdb.server.database.proto;
 
 import java.io.Serializable;
 import java.util.HashSet;
diff --git a/src/main/java/caosdb/server/database/proto/ProtoInfo.java b/src/main/java/org/caosdb/server/database/proto/ProtoInfo.java
similarity index 96%
rename from src/main/java/caosdb/server/database/proto/ProtoInfo.java
rename to src/main/java/org/caosdb/server/database/proto/ProtoInfo.java
index 36470495..e8486e2f 100644
--- a/src/main/java/caosdb/server/database/proto/ProtoInfo.java
+++ b/src/main/java/org/caosdb/server/database/proto/ProtoInfo.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database.proto;
+package org.caosdb.server.database.proto;
 
 public class ProtoInfo {
   public Integer recordsCount = null;
diff --git a/src/main/java/caosdb/server/database/proto/ProtoProperty.java b/src/main/java/org/caosdb/server/database/proto/ProtoProperty.java
similarity index 96%
rename from src/main/java/caosdb/server/database/proto/ProtoProperty.java
rename to src/main/java/org/caosdb/server/database/proto/ProtoProperty.java
index 6e138363..c19341c7 100644
--- a/src/main/java/caosdb/server/database/proto/ProtoProperty.java
+++ b/src/main/java/org/caosdb/server/database/proto/ProtoProperty.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database.proto;
+package org.caosdb.server.database.proto;
 
 import java.io.Serializable;
 import java.util.List;
diff --git a/src/main/java/caosdb/server/database/proto/ProtoTransactionLogMessage.java b/src/main/java/org/caosdb/server/database/proto/ProtoTransactionLogMessage.java
similarity index 97%
rename from src/main/java/caosdb/server/database/proto/ProtoTransactionLogMessage.java
rename to src/main/java/org/caosdb/server/database/proto/ProtoTransactionLogMessage.java
index a34d9628..9ca424e2 100644
--- a/src/main/java/caosdb/server/database/proto/ProtoTransactionLogMessage.java
+++ b/src/main/java/org/caosdb/server/database/proto/ProtoTransactionLogMessage.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database.proto;
+package org.caosdb.server.database.proto;
 
 import java.io.Serializable;
 
diff --git a/src/main/java/caosdb/server/database/proto/ProtoUser.java b/src/main/java/org/caosdb/server/database/proto/ProtoUser.java
similarity index 93%
rename from src/main/java/caosdb/server/database/proto/ProtoUser.java
rename to src/main/java/org/caosdb/server/database/proto/ProtoUser.java
index 40f8f490..6cee37e9 100644
--- a/src/main/java/caosdb/server/database/proto/ProtoUser.java
+++ b/src/main/java/org/caosdb/server/database/proto/ProtoUser.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.database.proto;
+package org.caosdb.server.database.proto;
 
-import caosdb.server.accessControl.UserStatus;
 import java.io.Serializable;
 import java.util.Set;
+import org.caosdb.server.accessControl.UserStatus;
 
 public class ProtoUser implements Serializable {
 
diff --git a/src/main/java/caosdb/server/database/proto/Rule.java b/src/main/java/org/caosdb/server/database/proto/Rule.java
similarity index 93%
rename from src/main/java/caosdb/server/database/proto/Rule.java
rename to src/main/java/org/caosdb/server/database/proto/Rule.java
index 1bda3f43..4b710d23 100644
--- a/src/main/java/caosdb/server/database/proto/Rule.java
+++ b/src/main/java/org/caosdb/server/database/proto/Rule.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.database.proto;
+package org.caosdb.server.database.proto;
 
-import caosdb.server.jobs.core.Mode;
 import java.io.Serializable;
+import org.caosdb.server.jobs.core.Mode;
 
 public class Rule implements Serializable {
 
diff --git a/src/main/java/caosdb/server/database/proto/SparseEntity.java b/src/main/java/org/caosdb/server/database/proto/SparseEntity.java
similarity index 97%
rename from src/main/java/caosdb/server/database/proto/SparseEntity.java
rename to src/main/java/org/caosdb/server/database/proto/SparseEntity.java
index d70d4ae0..da409f0a 100644
--- a/src/main/java/caosdb/server/database/proto/SparseEntity.java
+++ b/src/main/java/org/caosdb/server/database/proto/SparseEntity.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database.proto;
+package org.caosdb.server.database.proto;
 
 /**
  * Rather abstract representation of a sparse Entity used by the data base abstraction layer.
diff --git a/src/main/java/caosdb/server/database/proto/VersionHistoryItem.java b/src/main/java/org/caosdb/server/database/proto/VersionHistoryItem.java
similarity index 88%
rename from src/main/java/caosdb/server/database/proto/VersionHistoryItem.java
rename to src/main/java/org/caosdb/server/database/proto/VersionHistoryItem.java
index e671950f..be999d99 100644
--- a/src/main/java/caosdb/server/database/proto/VersionHistoryItem.java
+++ b/src/main/java/org/caosdb/server/database/proto/VersionHistoryItem.java
@@ -1,4 +1,4 @@
-package caosdb.server.database.proto;
+package org.caosdb.server.database.proto;
 
 import java.io.Serializable;
 import java.util.LinkedList;
diff --git a/src/main/java/caosdb/server/database/proto/VerySparseEntity.java b/src/main/java/org/caosdb/server/database/proto/VerySparseEntity.java
similarity index 97%
rename from src/main/java/caosdb/server/database/proto/VerySparseEntity.java
rename to src/main/java/org/caosdb/server/database/proto/VerySparseEntity.java
index ae341830..864cd129 100644
--- a/src/main/java/caosdb/server/database/proto/VerySparseEntity.java
+++ b/src/main/java/org/caosdb/server/database/proto/VerySparseEntity.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database.proto;
+package org.caosdb.server.database.proto;
 
 import java.io.Serializable;
 
diff --git a/src/main/java/caosdb/server/datatype/AbstractCollectionDatatype.java b/src/main/java/org/caosdb/server/datatype/AbstractCollectionDatatype.java
similarity index 98%
rename from src/main/java/caosdb/server/datatype/AbstractCollectionDatatype.java
rename to src/main/java/org/caosdb/server/datatype/AbstractCollectionDatatype.java
index 5f07bbe9..cbd822ee 100644
--- a/src/main/java/caosdb/server/datatype/AbstractCollectionDatatype.java
+++ b/src/main/java/org/caosdb/server/datatype/AbstractCollectionDatatype.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
 import java.util.HashMap;
 import java.util.regex.Matcher;
diff --git a/src/main/java/caosdb/server/datatype/AbstractDatatype.java b/src/main/java/org/caosdb/server/datatype/AbstractDatatype.java
similarity index 95%
rename from src/main/java/caosdb/server/datatype/AbstractDatatype.java
rename to src/main/java/org/caosdb/server/datatype/AbstractDatatype.java
index 0cde534a..53ffdb0b 100644
--- a/src/main/java/caosdb/server/datatype/AbstractDatatype.java
+++ b/src/main/java/org/caosdb/server/datatype/AbstractDatatype.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.container.Container;
 import java.util.HashMap;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.container.Container;
 import org.reflections.Reflections;
 
 public abstract class AbstractDatatype {
diff --git a/src/main/java/caosdb/server/datatype/AbstractEnumValue.java b/src/main/java/org/caosdb/server/datatype/AbstractEnumValue.java
similarity index 94%
rename from src/main/java/caosdb/server/datatype/AbstractEnumValue.java
rename to src/main/java/org/caosdb/server/datatype/AbstractEnumValue.java
index 33303f22..06216c82 100644
--- a/src/main/java/caosdb/server/datatype/AbstractEnumValue.java
+++ b/src/main/java/org/caosdb/server/datatype/AbstractEnumValue.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
-import caosdb.server.datatype.AbstractDatatype.Table;
 import com.google.common.base.Objects;
+import org.caosdb.server.datatype.AbstractDatatype.Table;
 import org.jdom2.Element;
 
 public abstract class AbstractEnumValue implements SingleValue {
diff --git a/src/main/java/caosdb/server/datatype/BooleanDatatype.java b/src/main/java/org/caosdb/server/datatype/BooleanDatatype.java
similarity index 92%
rename from src/main/java/caosdb/server/datatype/BooleanDatatype.java
rename to src/main/java/org/caosdb/server/datatype/BooleanDatatype.java
index c5ddafb3..92c3440a 100644
--- a/src/main/java/caosdb/server/datatype/BooleanDatatype.java
+++ b/src/main/java/org/caosdb/server/datatype/BooleanDatatype.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
-import caosdb.server.entity.Message;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.utils.ServerMessages;
 
 @DatatypeDefinition(name = "Boolean")
 public class BooleanDatatype extends AbstractDatatype {
diff --git a/src/main/java/caosdb/server/datatype/BooleanValue.java b/src/main/java/org/caosdb/server/datatype/BooleanValue.java
similarity index 97%
rename from src/main/java/caosdb/server/datatype/BooleanValue.java
rename to src/main/java/org/caosdb/server/datatype/BooleanValue.java
index f06cd4e5..0abfa0c9 100644
--- a/src/main/java/caosdb/server/datatype/BooleanValue.java
+++ b/src/main/java/org/caosdb/server/datatype/BooleanValue.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
 public class BooleanValue extends AbstractEnumValue {
 
diff --git a/src/main/java/caosdb/server/datatype/CaosEnum.java b/src/main/java/org/caosdb/server/datatype/CaosEnum.java
similarity index 98%
rename from src/main/java/caosdb/server/datatype/CaosEnum.java
rename to src/main/java/org/caosdb/server/datatype/CaosEnum.java
index 17615b23..1040ab9a 100644
--- a/src/main/java/caosdb/server/datatype/CaosEnum.java
+++ b/src/main/java/org/caosdb/server/datatype/CaosEnum.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
 import com.google.common.base.Objects;
 import java.util.TreeSet;
diff --git a/src/main/java/caosdb/server/datatype/CollectionDatatypeFactory.java b/src/main/java/org/caosdb/server/datatype/CollectionDatatypeFactory.java
similarity index 96%
rename from src/main/java/caosdb/server/datatype/CollectionDatatypeFactory.java
rename to src/main/java/org/caosdb/server/datatype/CollectionDatatypeFactory.java
index 2ecd1154..1f80d937 100644
--- a/src/main/java/caosdb/server/datatype/CollectionDatatypeFactory.java
+++ b/src/main/java/org/caosdb/server/datatype/CollectionDatatypeFactory.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
 public interface CollectionDatatypeFactory {
 
diff --git a/src/main/java/caosdb/server/datatype/CollectionValue.java b/src/main/java/org/caosdb/server/datatype/CollectionValue.java
similarity index 98%
rename from src/main/java/caosdb/server/datatype/CollectionValue.java
rename to src/main/java/org/caosdb/server/datatype/CollectionValue.java
index 3e70de73..55cbf048 100644
--- a/src/main/java/caosdb/server/datatype/CollectionValue.java
+++ b/src/main/java/org/caosdb/server/datatype/CollectionValue.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
 import java.util.ArrayList;
 import java.util.Collections;
diff --git a/src/main/java/caosdb/server/datatype/DatatypeDefinition.java b/src/main/java/org/caosdb/server/datatype/DatatypeDefinition.java
similarity index 96%
rename from src/main/java/caosdb/server/datatype/DatatypeDefinition.java
rename to src/main/java/org/caosdb/server/datatype/DatatypeDefinition.java
index 3728a57b..b28ce312 100644
--- a/src/main/java/caosdb/server/datatype/DatatypeDefinition.java
+++ b/src/main/java/org/caosdb/server/datatype/DatatypeDefinition.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
diff --git a/src/main/java/caosdb/server/datatype/DateTimeDatatype.java b/src/main/java/org/caosdb/server/datatype/DateTimeDatatype.java
similarity index 84%
rename from src/main/java/caosdb/server/datatype/DateTimeDatatype.java
rename to src/main/java/org/caosdb/server/datatype/DateTimeDatatype.java
index 833a1502..574e40cb 100644
--- a/src/main/java/caosdb/server/datatype/DateTimeDatatype.java
+++ b/src/main/java/org/caosdb/server/datatype/DateTimeDatatype.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
-import caosdb.datetime.Date;
-import caosdb.datetime.DateTimeFactory2;
-import caosdb.datetime.DateTimeInterface;
-import caosdb.datetime.UTCDateTime;
-import caosdb.server.entity.Message;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.datetime.Date;
+import org.caosdb.datetime.DateTimeFactory2;
+import org.caosdb.datetime.DateTimeInterface;
+import org.caosdb.datetime.UTCDateTime;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.utils.ServerMessages;
 
 @DatatypeDefinition(name = "DateTime")
 public class DateTimeDatatype extends AbstractDatatype {
diff --git a/src/main/java/caosdb/server/datatype/DoubleDatatype.java b/src/main/java/org/caosdb/server/datatype/DoubleDatatype.java
similarity index 92%
rename from src/main/java/caosdb/server/datatype/DoubleDatatype.java
rename to src/main/java/org/caosdb/server/datatype/DoubleDatatype.java
index c7daacdc..f2f8d282 100644
--- a/src/main/java/caosdb/server/datatype/DoubleDatatype.java
+++ b/src/main/java/org/caosdb/server/datatype/DoubleDatatype.java
@@ -21,10 +21,10 @@
  * ** end header
  */
 // Copyright (c) 2019 Daniel Hornung
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
-import caosdb.server.entity.Message;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.utils.ServerMessages;
 
 @DatatypeDefinition(name = "Double")
 public class DoubleDatatype extends AbstractDatatype {
diff --git a/src/main/java/caosdb/server/datatype/FileDatatype.java b/src/main/java/org/caosdb/server/datatype/FileDatatype.java
similarity index 96%
rename from src/main/java/caosdb/server/datatype/FileDatatype.java
rename to src/main/java/org/caosdb/server/datatype/FileDatatype.java
index 62c838ca..febc317d 100644
--- a/src/main/java/caosdb/server/datatype/FileDatatype.java
+++ b/src/main/java/org/caosdb/server/datatype/FileDatatype.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
 @DatatypeDefinition(name = "File")
 public class FileDatatype extends ReferenceDatatype {}
diff --git a/src/main/java/caosdb/server/datatype/GenericValue.java b/src/main/java/org/caosdb/server/datatype/GenericValue.java
similarity index 96%
rename from src/main/java/caosdb/server/datatype/GenericValue.java
rename to src/main/java/org/caosdb/server/datatype/GenericValue.java
index cffd62bb..e21841ee 100644
--- a/src/main/java/caosdb/server/datatype/GenericValue.java
+++ b/src/main/java/org/caosdb/server/datatype/GenericValue.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
-import caosdb.server.datatype.AbstractDatatype.Table;
 import com.google.common.base.Objects;
+import org.caosdb.server.datatype.AbstractDatatype.Table;
 import org.jdom2.Element;
 
 public class GenericValue implements SingleValue {
diff --git a/src/main/java/caosdb/server/datatype/IndexedSingleValue.java b/src/main/java/org/caosdb/server/datatype/IndexedSingleValue.java
similarity index 95%
rename from src/main/java/caosdb/server/datatype/IndexedSingleValue.java
rename to src/main/java/org/caosdb/server/datatype/IndexedSingleValue.java
index f33db43e..a9ed584b 100644
--- a/src/main/java/caosdb/server/datatype/IndexedSingleValue.java
+++ b/src/main/java/org/caosdb/server/datatype/IndexedSingleValue.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
-import caosdb.server.datatype.AbstractDatatype.Table;
+import org.caosdb.server.datatype.AbstractDatatype.Table;
 import org.jdom2.Element;
 
 public class IndexedSingleValue implements SingleValue, Comparable<IndexedSingleValue> {
diff --git a/src/main/java/caosdb/server/datatype/IntegerDatatype.java b/src/main/java/org/caosdb/server/datatype/IntegerDatatype.java
similarity index 91%
rename from src/main/java/caosdb/server/datatype/IntegerDatatype.java
rename to src/main/java/org/caosdb/server/datatype/IntegerDatatype.java
index 4ab8d94d..b5ac2d97 100644
--- a/src/main/java/caosdb/server/datatype/IntegerDatatype.java
+++ b/src/main/java/org/caosdb/server/datatype/IntegerDatatype.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
-import caosdb.server.entity.Message;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.utils.ServerMessages;
 
 @DatatypeDefinition(name = "Integer")
 public class IntegerDatatype extends AbstractDatatype {
diff --git a/src/main/java/caosdb/server/datatype/ListDatatype.java b/src/main/java/org/caosdb/server/datatype/ListDatatype.java
similarity index 96%
rename from src/main/java/caosdb/server/datatype/ListDatatype.java
rename to src/main/java/org/caosdb/server/datatype/ListDatatype.java
index 87790145..bdf148e6 100644
--- a/src/main/java/caosdb/server/datatype/ListDatatype.java
+++ b/src/main/java/org/caosdb/server/datatype/ListDatatype.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
-import caosdb.server.entity.Message;
+import org.caosdb.server.entity.Message;
 
 public class ListDatatype extends AbstractCollectionDatatype {
 
diff --git a/src/main/java/caosdb/server/datatype/ListDatatypeFactory.java b/src/main/java/org/caosdb/server/datatype/ListDatatypeFactory.java
similarity index 96%
rename from src/main/java/caosdb/server/datatype/ListDatatypeFactory.java
rename to src/main/java/org/caosdb/server/datatype/ListDatatypeFactory.java
index 9faf9caf..d1999f13 100644
--- a/src/main/java/caosdb/server/datatype/ListDatatypeFactory.java
+++ b/src/main/java/org/caosdb/server/datatype/ListDatatypeFactory.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
 public class ListDatatypeFactory implements CollectionDatatypeFactory {
 
diff --git a/src/main/java/caosdb/server/datatype/ReferenceDatatype.java b/src/main/java/org/caosdb/server/datatype/ReferenceDatatype.java
similarity index 94%
rename from src/main/java/caosdb/server/datatype/ReferenceDatatype.java
rename to src/main/java/org/caosdb/server/datatype/ReferenceDatatype.java
index 1675f028..42f60ceb 100644
--- a/src/main/java/caosdb/server/datatype/ReferenceDatatype.java
+++ b/src/main/java/org/caosdb/server/datatype/ReferenceDatatype.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
-import caosdb.server.entity.Message;
+import org.caosdb.server.entity.Message;
 
 @DatatypeDefinition(name = "Reference")
 public class ReferenceDatatype extends AbstractDatatype {
diff --git a/src/main/java/caosdb/server/datatype/ReferenceDatatype2.java b/src/main/java/org/caosdb/server/datatype/ReferenceDatatype2.java
similarity index 93%
rename from src/main/java/caosdb/server/datatype/ReferenceDatatype2.java
rename to src/main/java/org/caosdb/server/datatype/ReferenceDatatype2.java
index 87c17079..6d96d6de 100644
--- a/src/main/java/caosdb/server/datatype/ReferenceDatatype2.java
+++ b/src/main/java/org/caosdb/server/datatype/ReferenceDatatype2.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
 
 public class ReferenceDatatype2 extends ReferenceDatatype {
 
diff --git a/src/main/java/caosdb/server/datatype/ReferenceValue.java b/src/main/java/org/caosdb/server/datatype/ReferenceValue.java
similarity index 96%
rename from src/main/java/caosdb/server/datatype/ReferenceValue.java
rename to src/main/java/org/caosdb/server/datatype/ReferenceValue.java
index 77f7aa8c..89601b50 100644
--- a/src/main/java/caosdb/server/datatype/ReferenceValue.java
+++ b/src/main/java/org/caosdb/server/datatype/ReferenceValue.java
@@ -22,13 +22,13 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
-import caosdb.server.datatype.AbstractDatatype.Table;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.utils.ServerMessages;
 import java.util.Objects;
+import org.caosdb.server.datatype.AbstractDatatype.Table;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Element;
 
 /**
diff --git a/src/main/java/caosdb/server/datatype/SQLiteDatatype.java b/src/main/java/org/caosdb/server/datatype/SQLiteDatatype.java
similarity index 96%
rename from src/main/java/caosdb/server/datatype/SQLiteDatatype.java
rename to src/main/java/org/caosdb/server/datatype/SQLiteDatatype.java
index 9a7c2f1c..ffd43410 100644
--- a/src/main/java/caosdb/server/datatype/SQLiteDatatype.java
+++ b/src/main/java/org/caosdb/server/datatype/SQLiteDatatype.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
 @DatatypeDefinition(name = "SQLite")
 public class SQLiteDatatype extends ReferenceDatatype {}
diff --git a/src/main/java/caosdb/server/datatype/SingleValue.java b/src/main/java/org/caosdb/server/datatype/SingleValue.java
similarity index 96%
rename from src/main/java/caosdb/server/datatype/SingleValue.java
rename to src/main/java/org/caosdb/server/datatype/SingleValue.java
index 2ae17a61..cfe2b640 100644
--- a/src/main/java/caosdb/server/datatype/SingleValue.java
+++ b/src/main/java/org/caosdb/server/datatype/SingleValue.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
 public interface SingleValue extends Value {
 
diff --git a/src/main/java/caosdb/server/datatype/TextDatatype.java b/src/main/java/org/caosdb/server/datatype/TextDatatype.java
similarity index 93%
rename from src/main/java/caosdb/server/datatype/TextDatatype.java
rename to src/main/java/org/caosdb/server/datatype/TextDatatype.java
index f173243f..af06ed6d 100644
--- a/src/main/java/caosdb/server/datatype/TextDatatype.java
+++ b/src/main/java/org/caosdb/server/datatype/TextDatatype.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
-import caosdb.server.entity.Message;
+import org.caosdb.server.entity.Message;
 
 @DatatypeDefinition(name = "Text")
 public class TextDatatype extends AbstractDatatype {
diff --git a/src/main/java/caosdb/server/datatype/Value.java b/src/main/java/org/caosdb/server/datatype/Value.java
similarity index 96%
rename from src/main/java/caosdb/server/datatype/Value.java
rename to src/main/java/org/caosdb/server/datatype/Value.java
index 6030880d..540e6bc5 100644
--- a/src/main/java/caosdb/server/datatype/Value.java
+++ b/src/main/java/org/caosdb/server/datatype/Value.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
 import org.jdom2.Element;
 
diff --git a/src/main/java/caosdb/server/entity/Affiliation.java b/src/main/java/org/caosdb/server/entity/Affiliation.java
similarity index 96%
rename from src/main/java/caosdb/server/entity/Affiliation.java
rename to src/main/java/org/caosdb/server/entity/Affiliation.java
index c51a9a27..f3e5ec73 100644
--- a/src/main/java/caosdb/server/entity/Affiliation.java
+++ b/src/main/java/org/caosdb/server/entity/Affiliation.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
+package org.caosdb.server.entity;
 
 public enum Affiliation {
   INSTANTIATION, // RECORD is-a RECORD TYPE
diff --git a/src/main/java/caosdb/server/entity/DeleteEntity.java b/src/main/java/org/caosdb/server/entity/DeleteEntity.java
similarity index 97%
rename from src/main/java/caosdb/server/entity/DeleteEntity.java
rename to src/main/java/org/caosdb/server/entity/DeleteEntity.java
index b27ab3a7..37377534 100644
--- a/src/main/java/caosdb/server/entity/DeleteEntity.java
+++ b/src/main/java/org/caosdb/server/entity/DeleteEntity.java
@@ -22,7 +22,7 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
+package org.caosdb.server.entity;
 
 public class DeleteEntity extends Entity {
 
diff --git a/src/main/java/caosdb/server/entity/Entity.java b/src/main/java/org/caosdb/server/entity/Entity.java
similarity index 95%
rename from src/main/java/caosdb/server/entity/Entity.java
rename to src/main/java/org/caosdb/server/entity/Entity.java
index 16f4f508..28f42308 100644
--- a/src/main/java/caosdb/server/entity/Entity.java
+++ b/src/main/java/org/caosdb/server/entity/Entity.java
@@ -22,34 +22,8 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
-
-import caosdb.datetime.UTCDateTime;
-import caosdb.server.CaosDBException;
-import caosdb.server.database.proto.SparseEntity;
-import caosdb.server.database.proto.VerySparseEntity;
-import caosdb.server.datatype.AbstractCollectionDatatype;
-import caosdb.server.datatype.AbstractDatatype;
-import caosdb.server.datatype.CollectionValue;
-import caosdb.server.datatype.GenericValue;
-import caosdb.server.datatype.Value;
-import caosdb.server.entity.Message.MessageType;
-import caosdb.server.entity.container.ParentContainer;
-import caosdb.server.entity.container.PropertyContainer;
-import caosdb.server.entity.wrapper.Domain;
-import caosdb.server.entity.wrapper.Parent;
-import caosdb.server.entity.wrapper.Property;
-import caosdb.server.entity.xml.EntityToElementStrategy;
-import caosdb.server.entity.xml.SetFieldStrategy;
-import caosdb.server.entity.xml.ToElementStrategy;
-import caosdb.server.entity.xml.ToElementable;
-import caosdb.server.permissions.EntityACL;
-import caosdb.server.query.Query.Selection;
-import caosdb.server.utils.AbstractObservable;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
-import caosdb.server.utils.TransactionLogMessage;
-import caosdb.unit.Unit;
+package org.caosdb.server.entity;
+
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -60,6 +34,32 @@ import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.authz.AuthorizationException;
 import org.apache.shiro.authz.Permission;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.datetime.UTCDateTime;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.database.proto.SparseEntity;
+import org.caosdb.server.database.proto.VerySparseEntity;
+import org.caosdb.server.datatype.AbstractCollectionDatatype;
+import org.caosdb.server.datatype.AbstractDatatype;
+import org.caosdb.server.datatype.CollectionValue;
+import org.caosdb.server.datatype.GenericValue;
+import org.caosdb.server.datatype.Value;
+import org.caosdb.server.entity.Message.MessageType;
+import org.caosdb.server.entity.container.ParentContainer;
+import org.caosdb.server.entity.container.PropertyContainer;
+import org.caosdb.server.entity.wrapper.Domain;
+import org.caosdb.server.entity.wrapper.Parent;
+import org.caosdb.server.entity.wrapper.Property;
+import org.caosdb.server.entity.xml.EntityToElementStrategy;
+import org.caosdb.server.entity.xml.SetFieldStrategy;
+import org.caosdb.server.entity.xml.ToElementStrategy;
+import org.caosdb.server.entity.xml.ToElementable;
+import org.caosdb.server.permissions.EntityACL;
+import org.caosdb.server.query.Query.Selection;
+import org.caosdb.server.utils.AbstractObservable;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
+import org.caosdb.server.utils.TransactionLogMessage;
+import org.caosdb.unit.Unit;
 import org.jdom2.Element;
 
 public class Entity extends AbstractObservable implements EntityInterface {
diff --git a/src/main/java/caosdb/server/entity/EntityInterface.java b/src/main/java/org/caosdb/server/entity/EntityInterface.java
similarity index 86%
rename from src/main/java/caosdb/server/entity/EntityInterface.java
rename to src/main/java/org/caosdb/server/entity/EntityInterface.java
index 4205111a..ef976308 100644
--- a/src/main/java/caosdb/server/entity/EntityInterface.java
+++ b/src/main/java/org/caosdb/server/entity/EntityInterface.java
@@ -20,27 +20,27 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
-
-import caosdb.server.database.proto.SparseEntity;
-import caosdb.server.database.proto.VerySparseEntity;
-import caosdb.server.datatype.AbstractDatatype;
-import caosdb.server.datatype.Value;
-import caosdb.server.entity.container.ParentContainer;
-import caosdb.server.entity.container.PropertyContainer;
-import caosdb.server.entity.wrapper.Domain;
-import caosdb.server.entity.wrapper.Parent;
-import caosdb.server.entity.wrapper.Property;
-import caosdb.server.entity.xml.SetFieldStrategy;
-import caosdb.server.entity.xml.ToElementable;
-import caosdb.server.jobs.JobTarget;
-import caosdb.server.permissions.EntityACL;
-import caosdb.server.utils.Observable;
-import caosdb.server.utils.TransactionLogMessage;
-import caosdb.unit.Unit;
+package org.caosdb.server.entity;
+
 import java.util.List;
 import org.apache.shiro.authz.Permission;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.database.proto.SparseEntity;
+import org.caosdb.server.database.proto.VerySparseEntity;
+import org.caosdb.server.datatype.AbstractDatatype;
+import org.caosdb.server.datatype.Value;
+import org.caosdb.server.entity.container.ParentContainer;
+import org.caosdb.server.entity.container.PropertyContainer;
+import org.caosdb.server.entity.wrapper.Domain;
+import org.caosdb.server.entity.wrapper.Parent;
+import org.caosdb.server.entity.wrapper.Property;
+import org.caosdb.server.entity.xml.SetFieldStrategy;
+import org.caosdb.server.entity.xml.ToElementable;
+import org.caosdb.server.jobs.JobTarget;
+import org.caosdb.server.permissions.EntityACL;
+import org.caosdb.server.utils.Observable;
+import org.caosdb.server.utils.TransactionLogMessage;
+import org.caosdb.unit.Unit;
 import org.jdom2.Element;
 
 public interface EntityInterface
diff --git a/src/main/java/caosdb/server/entity/FileProperties.java b/src/main/java/org/caosdb/server/entity/FileProperties.java
similarity index 96%
rename from src/main/java/caosdb/server/entity/FileProperties.java
rename to src/main/java/org/caosdb/server/entity/FileProperties.java
index fbf8031f..b95cfec3 100644
--- a/src/main/java/caosdb/server/entity/FileProperties.java
+++ b/src/main/java/org/caosdb/server/entity/FileProperties.java
@@ -20,17 +20,17 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
-
-import caosdb.server.CaosDBException;
-import caosdb.server.FileSystem;
-import caosdb.server.utils.FileUtils;
-import caosdb.server.utils.ServerMessages;
-import caosdb.server.utils.UndoHandler;
-import caosdb.server.utils.Undoable;
+package org.caosdb.server.entity;
+
 import java.io.File;
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.FileSystem;
+import org.caosdb.server.utils.FileUtils;
+import org.caosdb.server.utils.ServerMessages;
+import org.caosdb.server.utils.UndoHandler;
+import org.caosdb.server.utils.Undoable;
 
 public class FileProperties {
   private File thumbnail = null;
diff --git a/src/main/java/caosdb/server/entity/InsertEntity.java b/src/main/java/org/caosdb/server/entity/InsertEntity.java
similarity index 96%
rename from src/main/java/caosdb/server/entity/InsertEntity.java
rename to src/main/java/org/caosdb/server/entity/InsertEntity.java
index 92f665e3..56eeb12b 100644
--- a/src/main/java/caosdb/server/entity/InsertEntity.java
+++ b/src/main/java/org/caosdb/server/entity/InsertEntity.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
+package org.caosdb.server.entity;
 
 import org.jdom2.Element;
 
diff --git a/src/main/java/caosdb/server/entity/MagicTypes.java b/src/main/java/org/caosdb/server/entity/MagicTypes.java
similarity index 94%
rename from src/main/java/caosdb/server/entity/MagicTypes.java
rename to src/main/java/org/caosdb/server/entity/MagicTypes.java
index ddc57a58..cffdb072 100644
--- a/src/main/java/caosdb/server/entity/MagicTypes.java
+++ b/src/main/java/org/caosdb/server/entity/MagicTypes.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
+package org.caosdb.server.entity;
 
-import caosdb.server.entity.container.RetrieveContainer;
-import caosdb.server.transaction.Retrieve;
 import java.util.HashMap;
+import org.caosdb.server.entity.container.RetrieveContainer;
+import org.caosdb.server.transaction.Retrieve;
 
 public enum MagicTypes {
   UNIT,
diff --git a/src/main/java/caosdb/server/entity/Message.java b/src/main/java/org/caosdb/server/entity/Message.java
similarity index 98%
rename from src/main/java/caosdb/server/entity/Message.java
rename to src/main/java/org/caosdb/server/entity/Message.java
index 0ffedb43..e79c5b6e 100644
--- a/src/main/java/caosdb/server/entity/Message.java
+++ b/src/main/java/org/caosdb/server/entity/Message.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
+package org.caosdb.server.entity;
 
-import caosdb.server.entity.xml.ToElementable;
+import org.caosdb.server.entity.xml.ToElementable;
 import org.jdom2.Element;
 
 public class Message extends Exception implements Comparable<Message>, ToElementable {
diff --git a/src/main/java/caosdb/server/entity/NoSuchRoleException.java b/src/main/java/org/caosdb/server/entity/NoSuchRoleException.java
similarity index 96%
rename from src/main/java/caosdb/server/entity/NoSuchRoleException.java
rename to src/main/java/org/caosdb/server/entity/NoSuchRoleException.java
index 783c2752..ae1d2e0d 100644
--- a/src/main/java/caosdb/server/entity/NoSuchRoleException.java
+++ b/src/main/java/org/caosdb/server/entity/NoSuchRoleException.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
+package org.caosdb.server.entity;
 
 public class NoSuchRoleException extends IllegalArgumentException {
 
diff --git a/src/main/java/caosdb/server/entity/RetrieveEntity.java b/src/main/java/org/caosdb/server/entity/RetrieveEntity.java
similarity index 97%
rename from src/main/java/caosdb/server/entity/RetrieveEntity.java
rename to src/main/java/org/caosdb/server/entity/RetrieveEntity.java
index 7035232b..35e34fed 100644
--- a/src/main/java/caosdb/server/entity/RetrieveEntity.java
+++ b/src/main/java/org/caosdb/server/entity/RetrieveEntity.java
@@ -22,7 +22,7 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
+package org.caosdb.server.entity;
 
 public class RetrieveEntity extends Entity {
 
diff --git a/src/main/java/caosdb/server/entity/Role.java b/src/main/java/org/caosdb/server/entity/Role.java
similarity index 86%
rename from src/main/java/caosdb/server/entity/Role.java
rename to src/main/java/org/caosdb/server/entity/Role.java
index 79b6548f..0ce45641 100644
--- a/src/main/java/caosdb/server/entity/Role.java
+++ b/src/main/java/org/caosdb/server/entity/Role.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
+package org.caosdb.server.entity;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.transaction.GetIDByName;
-import caosdb.server.entity.xml.EntityToElementStrategy;
-import caosdb.server.entity.xml.FileToElementStrategy;
-import caosdb.server.entity.xml.ToElementStrategy;
 import java.util.HashMap;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.transaction.GetIDByName;
+import org.caosdb.server.entity.xml.EntityToElementStrategy;
+import org.caosdb.server.entity.xml.FileToElementStrategy;
+import org.caosdb.server.entity.xml.ToElementStrategy;
 
 public enum Role {
   RecordType,
diff --git a/src/main/java/caosdb/server/entity/StatementStatus.java b/src/main/java/org/caosdb/server/entity/StatementStatus.java
similarity index 96%
rename from src/main/java/caosdb/server/entity/StatementStatus.java
rename to src/main/java/org/caosdb/server/entity/StatementStatus.java
index 122b31fc..ec6b0b8e 100644
--- a/src/main/java/caosdb/server/entity/StatementStatus.java
+++ b/src/main/java/org/caosdb/server/entity/StatementStatus.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
+package org.caosdb.server.entity;
 
 public enum StatementStatus {
   OBLIGATORY,
diff --git a/src/main/java/caosdb/server/entity/TransactionEntity.java b/src/main/java/org/caosdb/server/entity/TransactionEntity.java
similarity index 90%
rename from src/main/java/caosdb/server/entity/TransactionEntity.java
rename to src/main/java/org/caosdb/server/entity/TransactionEntity.java
index 458a1031..2883c076 100644
--- a/src/main/java/caosdb/server/entity/TransactionEntity.java
+++ b/src/main/java/org/caosdb/server/entity/TransactionEntity.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
+package org.caosdb.server.entity;
 
-import caosdb.server.entity.xml.ToElementStrategy;
-import caosdb.server.entity.xml.ToElementable;
-import caosdb.server.query.Query.Selection;
-import caosdb.server.utils.EntityStatus;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import org.caosdb.server.entity.xml.ToElementStrategy;
+import org.caosdb.server.entity.xml.ToElementable;
+import org.caosdb.server.query.Query.Selection;
+import org.caosdb.server.utils.EntityStatus;
 import org.jdom2.Element;
 
 public interface TransactionEntity {
diff --git a/src/main/java/caosdb/server/entity/UpdateEntity.java b/src/main/java/org/caosdb/server/entity/UpdateEntity.java
similarity index 93%
rename from src/main/java/caosdb/server/entity/UpdateEntity.java
rename to src/main/java/org/caosdb/server/entity/UpdateEntity.java
index 004eefaf..aa6d5916 100644
--- a/src/main/java/caosdb/server/entity/UpdateEntity.java
+++ b/src/main/java/org/caosdb/server/entity/UpdateEntity.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
+package org.caosdb.server.entity;
 
-import caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.EntityStatus;
 import org.jdom2.Element;
 
 public class UpdateEntity extends WritableEntity {
diff --git a/src/main/java/caosdb/server/entity/ValidEntity.java b/src/main/java/org/caosdb/server/entity/ValidEntity.java
similarity index 96%
rename from src/main/java/caosdb/server/entity/ValidEntity.java
rename to src/main/java/org/caosdb/server/entity/ValidEntity.java
index d2c8b519..6378e044 100644
--- a/src/main/java/caosdb/server/entity/ValidEntity.java
+++ b/src/main/java/org/caosdb/server/entity/ValidEntity.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
+package org.caosdb.server.entity;
 
 public class ValidEntity extends Entity {
 
diff --git a/src/main/java/caosdb/server/entity/Version.java b/src/main/java/org/caosdb/server/entity/Version.java
similarity index 96%
rename from src/main/java/caosdb/server/entity/Version.java
rename to src/main/java/org/caosdb/server/entity/Version.java
index 07c7387e..3f9e1485 100644
--- a/src/main/java/caosdb/server/entity/Version.java
+++ b/src/main/java/org/caosdb/server/entity/Version.java
@@ -18,10 +18,10 @@
  * along with this program. If not, see <https://www.gnu.org/licenses/>.
  */
 
-package caosdb.server.entity;
+package org.caosdb.server.entity;
 
-import caosdb.datetime.UTCDateTime;
 import java.util.LinkedList;
+import org.caosdb.datetime.UTCDateTime;
 
 /**
  * Plain old java object (POJO) for an entity's version.
diff --git a/src/main/java/caosdb/server/entity/WritableEntity.java b/src/main/java/org/caosdb/server/entity/WritableEntity.java
similarity index 96%
rename from src/main/java/caosdb/server/entity/WritableEntity.java
rename to src/main/java/org/caosdb/server/entity/WritableEntity.java
index 6e1c21e2..d9dc3edc 100644
--- a/src/main/java/caosdb/server/entity/WritableEntity.java
+++ b/src/main/java/org/caosdb/server/entity/WritableEntity.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
+package org.caosdb.server.entity;
 
 import org.jdom2.Element;
 
diff --git a/src/main/java/caosdb/server/entity/WriteEntity.java b/src/main/java/org/caosdb/server/entity/WriteEntity.java
similarity index 96%
rename from src/main/java/caosdb/server/entity/WriteEntity.java
rename to src/main/java/org/caosdb/server/entity/WriteEntity.java
index b8c65596..64cbbee8 100644
--- a/src/main/java/caosdb/server/entity/WriteEntity.java
+++ b/src/main/java/org/caosdb/server/entity/WriteEntity.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
+package org.caosdb.server.entity;
 
 import org.jdom2.Element;
 
diff --git a/src/main/java/caosdb/server/entity/container/Container.java b/src/main/java/org/caosdb/server/entity/container/Container.java
similarity index 94%
rename from src/main/java/caosdb/server/entity/container/Container.java
rename to src/main/java/org/caosdb/server/entity/container/Container.java
index de20b6a3..1f6f14dd 100644
--- a/src/main/java/caosdb/server/entity/container/Container.java
+++ b/src/main/java/org/caosdb/server/entity/container/Container.java
@@ -22,10 +22,10 @@
  *
  * ** end header
  */
-package caosdb.server.entity.container;
+package org.caosdb.server.entity.container;
 
-import caosdb.server.entity.EntityInterface;
 import java.util.ArrayList;
+import org.caosdb.server.entity.EntityInterface;
 
 public class Container<T extends EntityInterface> extends ArrayList<T> {
 
diff --git a/src/main/java/caosdb/server/entity/container/DeleteContainer.java b/src/main/java/org/caosdb/server/entity/container/DeleteContainer.java
similarity index 94%
rename from src/main/java/caosdb/server/entity/container/DeleteContainer.java
rename to src/main/java/org/caosdb/server/entity/container/DeleteContainer.java
index c3d57bc6..0c82642e 100644
--- a/src/main/java/caosdb/server/entity/container/DeleteContainer.java
+++ b/src/main/java/org/caosdb/server/entity/container/DeleteContainer.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.entity.container;
+package org.caosdb.server.entity.container;
 
-import caosdb.server.entity.DeleteEntity;
 import java.util.HashMap;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.entity.DeleteEntity;
 
 public class DeleteContainer extends EntityByIdContainer {
 
diff --git a/src/main/java/caosdb/server/entity/container/EntityByIdContainer.java b/src/main/java/org/caosdb/server/entity/container/EntityByIdContainer.java
similarity index 96%
rename from src/main/java/caosdb/server/entity/container/EntityByIdContainer.java
rename to src/main/java/org/caosdb/server/entity/container/EntityByIdContainer.java
index 29a0978b..31cc6d41 100644
--- a/src/main/java/caosdb/server/entity/container/EntityByIdContainer.java
+++ b/src/main/java/org/caosdb/server/entity/container/EntityByIdContainer.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.entity.container;
+package org.caosdb.server.entity.container;
 
 import java.util.HashMap;
 import org.apache.shiro.subject.Subject;
diff --git a/src/main/java/caosdb/server/entity/container/InsertContainer.java b/src/main/java/org/caosdb/server/entity/container/InsertContainer.java
similarity index 93%
rename from src/main/java/caosdb/server/entity/container/InsertContainer.java
rename to src/main/java/org/caosdb/server/entity/container/InsertContainer.java
index 6810e053..b1b54710 100644
--- a/src/main/java/caosdb/server/entity/container/InsertContainer.java
+++ b/src/main/java/org/caosdb/server/entity/container/InsertContainer.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.entity.container;
+package org.caosdb.server.entity.container;
 
-import caosdb.server.entity.InsertEntity;
 import java.util.HashMap;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.entity.InsertEntity;
 import org.jdom2.Element;
 
 public class InsertContainer extends WritableContainer {
diff --git a/src/main/java/caosdb/server/entity/container/ParentContainer.java b/src/main/java/org/caosdb/server/entity/container/ParentContainer.java
similarity index 85%
rename from src/main/java/caosdb/server/entity/container/ParentContainer.java
rename to src/main/java/org/caosdb/server/entity/container/ParentContainer.java
index 461760b8..7e43d7e5 100644
--- a/src/main/java/caosdb/server/entity/container/ParentContainer.java
+++ b/src/main/java/org/caosdb/server/entity/container/ParentContainer.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.entity.container;
+package org.caosdb.server.entity.container;
 
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.wrapper.Parent;
-import caosdb.server.entity.xml.ParentToElementStrategy;
-import caosdb.server.entity.xml.SetFieldStrategy;
-import caosdb.server.entity.xml.ToElementStrategy;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.Observable;
-import caosdb.server.utils.Observer;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.wrapper.Parent;
+import org.caosdb.server.entity.xml.ParentToElementStrategy;
+import org.caosdb.server.entity.xml.SetFieldStrategy;
+import org.caosdb.server.entity.xml.ToElementStrategy;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.Observable;
+import org.caosdb.server.utils.Observer;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Element;
 
 public class ParentContainer extends Container<Parent> {
diff --git a/src/main/java/caosdb/server/entity/container/PropertyContainer.java b/src/main/java/org/caosdb/server/entity/container/PropertyContainer.java
similarity index 88%
rename from src/main/java/caosdb/server/entity/container/PropertyContainer.java
rename to src/main/java/org/caosdb/server/entity/container/PropertyContainer.java
index 80cf8161..074d231f 100644
--- a/src/main/java/caosdb/server/entity/container/PropertyContainer.java
+++ b/src/main/java/org/caosdb/server/entity/container/PropertyContainer.java
@@ -22,21 +22,21 @@
  *
  * ** end header
  */
-package caosdb.server.entity.container;
+package org.caosdb.server.entity.container;
 
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.wrapper.Property;
-import caosdb.server.entity.xml.PropertyToElementStrategy;
-import caosdb.server.entity.xml.SetFieldStrategy;
-import caosdb.server.entity.xml.ToElementStrategy;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.Observable;
-import caosdb.server.utils.Observer;
-import caosdb.server.utils.ServerMessages;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Comparator;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.wrapper.Property;
+import org.caosdb.server.entity.xml.PropertyToElementStrategy;
+import org.caosdb.server.entity.xml.SetFieldStrategy;
+import org.caosdb.server.entity.xml.ToElementStrategy;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.Observable;
+import org.caosdb.server.utils.Observer;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Element;
 
 public class PropertyContainer extends Container<Property> {
diff --git a/src/main/java/caosdb/server/entity/container/RetrieveContainer.java b/src/main/java/org/caosdb/server/entity/container/RetrieveContainer.java
similarity index 94%
rename from src/main/java/caosdb/server/entity/container/RetrieveContainer.java
rename to src/main/java/org/caosdb/server/entity/container/RetrieveContainer.java
index 5b205bc2..681aac89 100644
--- a/src/main/java/caosdb/server/entity/container/RetrieveContainer.java
+++ b/src/main/java/org/caosdb/server/entity/container/RetrieveContainer.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.entity.container;
+package org.caosdb.server.entity.container;
 
-import caosdb.server.entity.RetrieveEntity;
 import java.util.HashMap;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.entity.RetrieveEntity;
 
 public class RetrieveContainer extends EntityByIdContainer {
 
diff --git a/src/main/java/caosdb/server/entity/container/TransactionContainer.java b/src/main/java/org/caosdb/server/entity/container/TransactionContainer.java
similarity index 92%
rename from src/main/java/caosdb/server/entity/container/TransactionContainer.java
rename to src/main/java/org/caosdb/server/entity/container/TransactionContainer.java
index f3a8a0f3..5d7e79b2 100644
--- a/src/main/java/caosdb/server/entity/container/TransactionContainer.java
+++ b/src/main/java/org/caosdb/server/entity/container/TransactionContainer.java
@@ -20,19 +20,19 @@
  *
  * ** end header
  */
-package caosdb.server.entity.container;
-
-import caosdb.server.CaosDBServer;
-import caosdb.server.database.misc.TransactionBenchmark;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.FileProperties;
-import caosdb.server.entity.xml.ToElementable;
-import caosdb.server.jobs.JobTarget;
-import caosdb.server.utils.EntityStatus;
+package org.caosdb.server.entity.container;
+
 import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.database.misc.TransactionBenchmark;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.FileProperties;
+import org.caosdb.server.entity.xml.ToElementable;
+import org.caosdb.server.jobs.JobTarget;
+import org.caosdb.server.utils.EntityStatus;
 import org.jdom2.Element;
 
 public class TransactionContainer extends Container<EntityInterface>
diff --git a/src/main/java/caosdb/server/entity/container/UpdateContainer.java b/src/main/java/org/caosdb/server/entity/container/UpdateContainer.java
similarity index 93%
rename from src/main/java/caosdb/server/entity/container/UpdateContainer.java
rename to src/main/java/org/caosdb/server/entity/container/UpdateContainer.java
index 843e70cf..578e422b 100644
--- a/src/main/java/caosdb/server/entity/container/UpdateContainer.java
+++ b/src/main/java/org/caosdb/server/entity/container/UpdateContainer.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.entity.container;
+package org.caosdb.server.entity.container;
 
-import caosdb.server.entity.UpdateEntity;
 import java.util.HashMap;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.entity.UpdateEntity;
 import org.jdom2.Element;
 
 public class UpdateContainer extends WritableContainer {
diff --git a/src/main/java/caosdb/server/entity/container/WritableContainer.java b/src/main/java/org/caosdb/server/entity/container/WritableContainer.java
similarity index 94%
rename from src/main/java/caosdb/server/entity/container/WritableContainer.java
rename to src/main/java/org/caosdb/server/entity/container/WritableContainer.java
index 3000aa5a..1cebca67 100644
--- a/src/main/java/caosdb/server/entity/container/WritableContainer.java
+++ b/src/main/java/org/caosdb/server/entity/container/WritableContainer.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.entity.container;
+package org.caosdb.server.entity.container;
 
-import caosdb.server.entity.FileProperties;
 import java.util.HashMap;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.entity.FileProperties;
 import org.jdom2.Element;
 
 public abstract class WritableContainer extends TransactionContainer {
diff --git a/src/main/java/caosdb/server/entity/wrapper/Domain.java b/src/main/java/org/caosdb/server/entity/wrapper/Domain.java
similarity index 78%
rename from src/main/java/caosdb/server/entity/wrapper/Domain.java
rename to src/main/java/org/caosdb/server/entity/wrapper/Domain.java
index 5bd5c73b..146706ef 100644
--- a/src/main/java/caosdb/server/entity/wrapper/Domain.java
+++ b/src/main/java/org/caosdb/server/entity/wrapper/Domain.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.entity.wrapper;
+package org.caosdb.server.entity.wrapper;
 
-import caosdb.server.datatype.AbstractDatatype;
-import caosdb.server.datatype.Value;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Role;
-import caosdb.server.entity.container.PropertyContainer;
+import org.caosdb.server.datatype.AbstractDatatype;
+import org.caosdb.server.datatype.Value;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Role;
+import org.caosdb.server.entity.container.PropertyContainer;
 
 public class Domain extends Entity {
 
@@ -37,7 +37,7 @@ public class Domain extends Entity {
       final PropertyContainer properties,
       final AbstractDatatype datatype,
       final Value value,
-      final caosdb.server.entity.StatementStatus statementStatus) {
+      final org.caosdb.server.entity.StatementStatus statementStatus) {
 
     setRole(Role.Domain);
     setProperties(properties);
diff --git a/src/main/java/caosdb/server/entity/wrapper/EntityWrapper.java b/src/main/java/org/caosdb/server/entity/wrapper/EntityWrapper.java
similarity index 91%
rename from src/main/java/caosdb/server/entity/wrapper/EntityWrapper.java
rename to src/main/java/org/caosdb/server/entity/wrapper/EntityWrapper.java
index f8d563de..e042c232 100644
--- a/src/main/java/caosdb/server/entity/wrapper/EntityWrapper.java
+++ b/src/main/java/org/caosdb/server/entity/wrapper/EntityWrapper.java
@@ -22,34 +22,34 @@
  *
  * ** end header
  */
-package caosdb.server.entity.wrapper;
-
-import caosdb.server.database.proto.SparseEntity;
-import caosdb.server.database.proto.VerySparseEntity;
-import caosdb.server.datatype.AbstractDatatype;
-import caosdb.server.datatype.Value;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.FileProperties;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.Role;
-import caosdb.server.entity.StatementStatus;
-import caosdb.server.entity.Version;
-import caosdb.server.entity.container.ParentContainer;
-import caosdb.server.entity.container.PropertyContainer;
-import caosdb.server.entity.xml.SetFieldStrategy;
-import caosdb.server.entity.xml.ToElementStrategy;
-import caosdb.server.entity.xml.ToElementable;
-import caosdb.server.permissions.EntityACL;
-import caosdb.server.query.Query.Selection;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.Observer;
-import caosdb.server.utils.TransactionLogMessage;
-import caosdb.unit.Unit;
+package org.caosdb.server.entity.wrapper;
+
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import org.apache.shiro.authz.Permission;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.database.proto.SparseEntity;
+import org.caosdb.server.database.proto.VerySparseEntity;
+import org.caosdb.server.datatype.AbstractDatatype;
+import org.caosdb.server.datatype.Value;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.FileProperties;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.Role;
+import org.caosdb.server.entity.StatementStatus;
+import org.caosdb.server.entity.Version;
+import org.caosdb.server.entity.container.ParentContainer;
+import org.caosdb.server.entity.container.PropertyContainer;
+import org.caosdb.server.entity.xml.SetFieldStrategy;
+import org.caosdb.server.entity.xml.ToElementStrategy;
+import org.caosdb.server.entity.xml.ToElementable;
+import org.caosdb.server.permissions.EntityACL;
+import org.caosdb.server.query.Query.Selection;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.Observer;
+import org.caosdb.server.utils.TransactionLogMessage;
+import org.caosdb.unit.Unit;
 import org.jdom2.Element;
 
 public class EntityWrapper implements EntityInterface {
diff --git a/src/main/java/caosdb/server/entity/wrapper/Parent.java b/src/main/java/org/caosdb/server/entity/wrapper/Parent.java
similarity index 87%
rename from src/main/java/caosdb/server/entity/wrapper/Parent.java
rename to src/main/java/org/caosdb/server/entity/wrapper/Parent.java
index f3686b5b..00336f4a 100644
--- a/src/main/java/caosdb/server/entity/wrapper/Parent.java
+++ b/src/main/java/org/caosdb/server/entity/wrapper/Parent.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.entity.wrapper;
+package org.caosdb.server.entity.wrapper;
 
-import caosdb.server.entity.Affiliation;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.xml.ParentToElementStrategy;
+import org.caosdb.server.entity.Affiliation;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.xml.ParentToElementStrategy;
 import org.jdom2.Element;
 
 public class Parent extends EntityWrapper {
diff --git a/src/main/java/caosdb/server/entity/wrapper/Property.java b/src/main/java/org/caosdb/server/entity/wrapper/Property.java
similarity index 91%
rename from src/main/java/caosdb/server/entity/wrapper/Property.java
rename to src/main/java/org/caosdb/server/entity/wrapper/Property.java
index 1d1cd2a8..305a9d83 100644
--- a/src/main/java/caosdb/server/entity/wrapper/Property.java
+++ b/src/main/java/org/caosdb/server/entity/wrapper/Property.java
@@ -20,16 +20,16 @@
  *
  * ** end header
  */
-package caosdb.server.entity.wrapper;
+package org.caosdb.server.entity.wrapper;
 
-import caosdb.server.database.proto.FlatProperty;
-import caosdb.server.datatype.AbstractCollectionDatatype;
-import caosdb.server.datatype.GenericValue;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
 import org.apache.shiro.authz.AuthorizationException;
 import org.apache.shiro.authz.Permission;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.database.proto.FlatProperty;
+import org.caosdb.server.datatype.AbstractCollectionDatatype;
+import org.caosdb.server.datatype.GenericValue;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
 import org.jdom2.Element;
 
 public class Property extends EntityWrapper {
diff --git a/src/main/java/caosdb/server/entity/xml/DomainToElementStrategy.java b/src/main/java/org/caosdb/server/entity/xml/DomainToElementStrategy.java
similarity index 95%
rename from src/main/java/caosdb/server/entity/xml/DomainToElementStrategy.java
rename to src/main/java/org/caosdb/server/entity/xml/DomainToElementStrategy.java
index 099b5104..a8b60079 100644
--- a/src/main/java/caosdb/server/entity/xml/DomainToElementStrategy.java
+++ b/src/main/java/org/caosdb/server/entity/xml/DomainToElementStrategy.java
@@ -22,9 +22,9 @@
  *
  * ** end header
  */
-package caosdb.server.entity.xml;
+package org.caosdb.server.entity.xml;
 
-import caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.EntityInterface;
 import org.jdom2.Element;
 
 /**
diff --git a/src/main/java/caosdb/server/entity/xml/EntityToElementStrategy.java b/src/main/java/org/caosdb/server/entity/xml/EntityToElementStrategy.java
similarity index 96%
rename from src/main/java/caosdb/server/entity/xml/EntityToElementStrategy.java
rename to src/main/java/org/caosdb/server/entity/xml/EntityToElementStrategy.java
index 6cfe8fa9..e6dc2b21 100644
--- a/src/main/java/caosdb/server/entity/xml/EntityToElementStrategy.java
+++ b/src/main/java/org/caosdb/server/entity/xml/EntityToElementStrategy.java
@@ -22,14 +22,14 @@
  *
  * ** end header
  */
-package caosdb.server.entity.xml;
+package org.caosdb.server.entity.xml;
 
-import caosdb.server.datatype.ReferenceValue;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.TransactionLogMessage;
 import org.apache.shiro.SecurityUtils;
+import org.caosdb.server.datatype.ReferenceValue;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.TransactionLogMessage;
 import org.jdom2.Attribute;
 import org.jdom2.Element;
 
diff --git a/src/main/java/caosdb/server/entity/xml/FileToElementStrategy.java b/src/main/java/org/caosdb/server/entity/xml/FileToElementStrategy.java
similarity index 95%
rename from src/main/java/caosdb/server/entity/xml/FileToElementStrategy.java
rename to src/main/java/org/caosdb/server/entity/xml/FileToElementStrategy.java
index 82fb0521..7ac394a2 100644
--- a/src/main/java/caosdb/server/entity/xml/FileToElementStrategy.java
+++ b/src/main/java/org/caosdb/server/entity/xml/FileToElementStrategy.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.entity.xml;
+package org.caosdb.server.entity.xml;
 
-import caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.EntityInterface;
 import org.jdom2.Attribute;
 import org.jdom2.Element;
 
diff --git a/src/main/java/caosdb/server/entity/xml/ParentToElementStrategy.java b/src/main/java/org/caosdb/server/entity/xml/ParentToElementStrategy.java
similarity index 91%
rename from src/main/java/caosdb/server/entity/xml/ParentToElementStrategy.java
rename to src/main/java/org/caosdb/server/entity/xml/ParentToElementStrategy.java
index 2498e00b..29c163dc 100644
--- a/src/main/java/caosdb/server/entity/xml/ParentToElementStrategy.java
+++ b/src/main/java/org/caosdb/server/entity/xml/ParentToElementStrategy.java
@@ -22,11 +22,11 @@
  *
  * ** end header
  */
-package caosdb.server.entity.xml;
+package org.caosdb.server.entity.xml;
 
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.wrapper.Parent;
-import caosdb.server.utils.EntityStatus;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.wrapper.Parent;
+import org.caosdb.server.utils.EntityStatus;
 import org.jdom2.Element;
 
 /**
diff --git a/src/main/java/caosdb/server/entity/xml/PropertyToElementStrategy.java b/src/main/java/org/caosdb/server/entity/xml/PropertyToElementStrategy.java
similarity index 89%
rename from src/main/java/caosdb/server/entity/xml/PropertyToElementStrategy.java
rename to src/main/java/org/caosdb/server/entity/xml/PropertyToElementStrategy.java
index a88b47cb..60014d82 100644
--- a/src/main/java/caosdb/server/entity/xml/PropertyToElementStrategy.java
+++ b/src/main/java/org/caosdb/server/entity/xml/PropertyToElementStrategy.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.entity.xml;
+package org.caosdb.server.entity.xml;
 
-import caosdb.server.datatype.SingleValue;
-import caosdb.server.datatype.Value;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.MagicTypes;
+import org.caosdb.server.datatype.SingleValue;
+import org.caosdb.server.datatype.Value;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.MagicTypes;
 import org.jdom2.Attribute;
 import org.jdom2.Element;
 
diff --git a/src/main/java/caosdb/server/entity/xml/SetFieldStrategy.java b/src/main/java/org/caosdb/server/entity/xml/SetFieldStrategy.java
similarity index 96%
rename from src/main/java/caosdb/server/entity/xml/SetFieldStrategy.java
rename to src/main/java/org/caosdb/server/entity/xml/SetFieldStrategy.java
index 7a4a29a1..1d9f2190 100644
--- a/src/main/java/caosdb/server/entity/xml/SetFieldStrategy.java
+++ b/src/main/java/org/caosdb/server/entity/xml/SetFieldStrategy.java
@@ -22,14 +22,14 @@
  *
  * ** end header
  */
-package caosdb.server.entity.xml;
+package org.caosdb.server.entity.xml;
 
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.query.Query;
-import caosdb.server.query.Query.Selection;
 import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.query.Query;
+import org.caosdb.server.query.Query.Selection;
 
 /**
  * A class which decides whether the properties, parents, name, etc. of an entity are to be included
diff --git a/src/main/java/caosdb/server/entity/xml/ToElementStrategy.java b/src/main/java/org/caosdb/server/entity/xml/ToElementStrategy.java
similarity index 93%
rename from src/main/java/caosdb/server/entity/xml/ToElementStrategy.java
rename to src/main/java/org/caosdb/server/entity/xml/ToElementStrategy.java
index 29ddc78c..81a7074c 100644
--- a/src/main/java/caosdb/server/entity/xml/ToElementStrategy.java
+++ b/src/main/java/org/caosdb/server/entity/xml/ToElementStrategy.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.entity.xml;
+package org.caosdb.server.entity.xml;
 
-import caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.EntityInterface;
 import org.jdom2.Element;
 
 public interface ToElementStrategy {
diff --git a/src/main/java/caosdb/server/entity/xml/ToElementable.java b/src/main/java/org/caosdb/server/entity/xml/ToElementable.java
similarity index 96%
rename from src/main/java/caosdb/server/entity/xml/ToElementable.java
rename to src/main/java/org/caosdb/server/entity/xml/ToElementable.java
index 4e7b3696..4202111b 100644
--- a/src/main/java/caosdb/server/entity/xml/ToElementable.java
+++ b/src/main/java/org/caosdb/server/entity/xml/ToElementable.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.entity.xml;
+package org.caosdb.server.entity.xml;
 
 import org.jdom2.Element;
 
diff --git a/src/main/java/caosdb/server/entity/xml/VersionXMLSerializer.java b/src/main/java/org/caosdb/server/entity/xml/VersionXMLSerializer.java
similarity index 96%
rename from src/main/java/caosdb/server/entity/xml/VersionXMLSerializer.java
rename to src/main/java/org/caosdb/server/entity/xml/VersionXMLSerializer.java
index badd1a95..65ec9880 100644
--- a/src/main/java/caosdb/server/entity/xml/VersionXMLSerializer.java
+++ b/src/main/java/org/caosdb/server/entity/xml/VersionXMLSerializer.java
@@ -18,10 +18,10 @@
  * along with this program. If not, see <https://www.gnu.org/licenses/>.
  */
 
-package caosdb.server.entity.xml;
+package org.caosdb.server.entity.xml;
 
-import caosdb.server.entity.Version;
 import java.util.TimeZone;
+import org.caosdb.server.entity.Version;
 import org.jdom2.Element;
 
 /**
diff --git a/src/main/java/caosdb/server/jobs/ContainerJob.java b/src/main/java/org/caosdb/server/jobs/ContainerJob.java
similarity index 87%
rename from src/main/java/caosdb/server/jobs/ContainerJob.java
rename to src/main/java/org/caosdb/server/jobs/ContainerJob.java
index 26588b68..205b28f6 100644
--- a/src/main/java/caosdb/server/jobs/ContainerJob.java
+++ b/src/main/java/org/caosdb/server/jobs/ContainerJob.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.jobs;
+package org.caosdb.server.jobs;
 
-import caosdb.server.entity.Message;
-import caosdb.server.entity.container.TransactionContainer;
-import caosdb.server.utils.EntityStatus;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.utils.EntityStatus;
 
 public abstract class ContainerJob extends Job {
 
diff --git a/src/main/java/caosdb/server/jobs/EntityJob.java b/src/main/java/org/caosdb/server/jobs/EntityJob.java
similarity index 93%
rename from src/main/java/caosdb/server/jobs/EntityJob.java
rename to src/main/java/org/caosdb/server/jobs/EntityJob.java
index 8644724e..b0dd8ecc 100644
--- a/src/main/java/caosdb/server/jobs/EntityJob.java
+++ b/src/main/java/org/caosdb/server/jobs/EntityJob.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.jobs;
+package org.caosdb.server.jobs;
 
-import caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.EntityInterface;
 
 public abstract class EntityJob extends Job {
 
diff --git a/src/main/java/caosdb/server/jobs/FilesJob.java b/src/main/java/org/caosdb/server/jobs/FilesJob.java
similarity index 93%
rename from src/main/java/caosdb/server/jobs/FilesJob.java
rename to src/main/java/org/caosdb/server/jobs/FilesJob.java
index e9a02a35..43c89be9 100644
--- a/src/main/java/caosdb/server/jobs/FilesJob.java
+++ b/src/main/java/org/caosdb/server/jobs/FilesJob.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.jobs;
+package org.caosdb.server.jobs;
 
-import caosdb.server.entity.FileProperties;
+import org.caosdb.server.entity.FileProperties;
 
 public abstract class FilesJob extends EntityJob {
 
diff --git a/src/main/java/caosdb/server/jobs/FlagJob.java b/src/main/java/org/caosdb/server/jobs/FlagJob.java
similarity index 97%
rename from src/main/java/caosdb/server/jobs/FlagJob.java
rename to src/main/java/org/caosdb/server/jobs/FlagJob.java
index 94ce2189..5c039bb3 100644
--- a/src/main/java/caosdb/server/jobs/FlagJob.java
+++ b/src/main/java/org/caosdb/server/jobs/FlagJob.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.jobs;
+package org.caosdb.server.jobs;
 
 public abstract class FlagJob extends ContainerJob {
 
diff --git a/src/main/java/caosdb/server/jobs/Job.java b/src/main/java/org/caosdb/server/jobs/Job.java
similarity index 92%
rename from src/main/java/caosdb/server/jobs/Job.java
rename to src/main/java/org/caosdb/server/jobs/Job.java
index ff214b97..1e566552 100644
--- a/src/main/java/caosdb/server/jobs/Job.java
+++ b/src/main/java/org/caosdb/server/jobs/Job.java
@@ -22,30 +22,8 @@
  *
  * ** end header
  */
-package caosdb.server.jobs;
-
-import caosdb.server.CaosDBException;
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.transaction.GetIDByName;
-import caosdb.server.database.backend.transaction.IsSubType;
-import caosdb.server.database.backend.transaction.RetrieveFullEntity;
-import caosdb.server.database.backend.transaction.RetrieveParents;
-import caosdb.server.database.backend.transaction.RetrieveSparseEntity;
-import caosdb.server.database.backend.transaction.RuleLoader;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.datatype.AbstractCollectionDatatype;
-import caosdb.server.datatype.AbstractDatatype;
-import caosdb.server.datatype.ReferenceDatatype2;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.container.TransactionContainer;
-import caosdb.server.jobs.core.Mode;
-import caosdb.server.transaction.Transaction;
-import caosdb.server.utils.AbstractObservable;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.Observable;
-import caosdb.server.utils.Observer;
-import caosdb.server.utils.ServerMessages;
+package org.caosdb.server.jobs;
+
 import java.lang.reflect.InvocationTargetException;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -55,6 +33,28 @@ import java.util.Set;
 import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.authz.Permission;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.transaction.GetIDByName;
+import org.caosdb.server.database.backend.transaction.IsSubType;
+import org.caosdb.server.database.backend.transaction.RetrieveFullEntity;
+import org.caosdb.server.database.backend.transaction.RetrieveParents;
+import org.caosdb.server.database.backend.transaction.RetrieveSparseEntity;
+import org.caosdb.server.database.backend.transaction.RuleLoader;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.datatype.AbstractCollectionDatatype;
+import org.caosdb.server.datatype.AbstractDatatype;
+import org.caosdb.server.datatype.ReferenceDatatype2;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.jobs.core.Mode;
+import org.caosdb.server.transaction.Transaction;
+import org.caosdb.server.utils.AbstractObservable;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.Observable;
+import org.caosdb.server.utils.Observer;
+import org.caosdb.server.utils.ServerMessages;
 import org.reflections.Reflections;
 
 public abstract class Job extends AbstractObservable implements Observer {
diff --git a/src/main/java/caosdb/server/jobs/JobAnnotation.java b/src/main/java/org/caosdb/server/jobs/JobAnnotation.java
similarity index 94%
rename from src/main/java/caosdb/server/jobs/JobAnnotation.java
rename to src/main/java/org/caosdb/server/jobs/JobAnnotation.java
index 96f4afcd..15193dcd 100644
--- a/src/main/java/caosdb/server/jobs/JobAnnotation.java
+++ b/src/main/java/org/caosdb/server/jobs/JobAnnotation.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.jobs;
+package org.caosdb.server.jobs;
 
-import caosdb.server.transaction.TransactionInterface;
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
+import org.caosdb.server.transaction.TransactionInterface;
 
 @Retention(RetentionPolicy.RUNTIME)
 public @interface JobAnnotation {
diff --git a/src/main/java/caosdb/server/jobs/JobExecutionTime.java b/src/main/java/org/caosdb/server/jobs/JobExecutionTime.java
similarity index 97%
rename from src/main/java/caosdb/server/jobs/JobExecutionTime.java
rename to src/main/java/org/caosdb/server/jobs/JobExecutionTime.java
index 81bb0d98..9374ab9b 100644
--- a/src/main/java/caosdb/server/jobs/JobExecutionTime.java
+++ b/src/main/java/org/caosdb/server/jobs/JobExecutionTime.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.jobs;
+package org.caosdb.server.jobs;
 
 public enum JobExecutionTime {
   INIT,
diff --git a/src/main/java/caosdb/server/jobs/JobTarget.java b/src/main/java/org/caosdb/server/jobs/JobTarget.java
similarity index 96%
rename from src/main/java/caosdb/server/jobs/JobTarget.java
rename to src/main/java/org/caosdb/server/jobs/JobTarget.java
index ec31a333..764c7025 100644
--- a/src/main/java/caosdb/server/jobs/JobTarget.java
+++ b/src/main/java/org/caosdb/server/jobs/JobTarget.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.jobs;
+package org.caosdb.server.jobs;
 
 public interface JobTarget {
 
diff --git a/src/main/java/caosdb/server/jobs/Schedule.java b/src/main/java/org/caosdb/server/jobs/Schedule.java
similarity index 97%
rename from src/main/java/caosdb/server/jobs/Schedule.java
rename to src/main/java/org/caosdb/server/jobs/Schedule.java
index 4e7f005f..7f35106b 100644
--- a/src/main/java/caosdb/server/jobs/Schedule.java
+++ b/src/main/java/org/caosdb/server/jobs/Schedule.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.jobs;
+package org.caosdb.server.jobs;
 
-import caosdb.server.entity.EntityInterface;
 import java.util.Collection;
 import java.util.concurrent.CopyOnWriteArrayList;
+import org.caosdb.server.entity.EntityInterface;
 
 class ScheduledJob {
 
diff --git a/src/main/java/caosdb/server/jobs/core/AccessControl.java b/src/main/java/org/caosdb/server/jobs/core/AccessControl.java
similarity index 82%
rename from src/main/java/caosdb/server/jobs/core/AccessControl.java
rename to src/main/java/org/caosdb/server/jobs/core/AccessControl.java
index 0dd2ef47..d1a2113a 100644
--- a/src/main/java/caosdb/server/jobs/core/AccessControl.java
+++ b/src/main/java/org/caosdb/server/jobs/core/AccessControl.java
@@ -20,19 +20,19 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.database.backend.transaction.RetrieveSparseEntity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.wrapper.Parent;
-import caosdb.server.jobs.ContainerJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.jobs.JobExecutionTime;
-import caosdb.server.transaction.Retrieve;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
 import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.database.backend.transaction.RetrieveSparseEntity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.wrapper.Parent;
+import org.caosdb.server.jobs.ContainerJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.server.transaction.Retrieve;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 @JobAnnotation(time = JobExecutionTime.INIT)
 public class AccessControl extends ContainerJob {
diff --git a/src/main/java/caosdb/server/jobs/core/Atomic.java b/src/main/java/org/caosdb/server/jobs/core/Atomic.java
similarity index 81%
rename from src/main/java/caosdb/server/jobs/core/Atomic.java
rename to src/main/java/org/caosdb/server/jobs/core/Atomic.java
index cdc9f25d..509f87fc 100644
--- a/src/main/java/caosdb/server/jobs/core/Atomic.java
+++ b/src/main/java/org/caosdb/server/jobs/core/Atomic.java
@@ -20,17 +20,17 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.jobs.ContainerJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.jobs.JobExecutionTime;
-import caosdb.server.transaction.WriteTransaction;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.Observable;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.jobs.ContainerJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.server.transaction.WriteTransaction;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.Observable;
+import org.caosdb.server.utils.ServerMessages;
 
 @JobAnnotation(
     time = JobExecutionTime.POST_CHECK,
diff --git a/src/main/java/caosdb/server/jobs/core/CheckChildDependencyExistent.java b/src/main/java/org/caosdb/server/jobs/core/CheckChildDependencyExistent.java
similarity index 92%
rename from src/main/java/caosdb/server/jobs/core/CheckChildDependencyExistent.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckChildDependencyExistent.java
index a3d9f4e4..01d5a2de 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckChildDependencyExistent.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckChildDependencyExistent.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.database.backend.transaction.GetChildren;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
 import java.util.List;
+import org.caosdb.server.database.backend.transaction.GetChildren;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 /**
  * Check whether any children of this entity do exist. There must not be any children left when an
diff --git a/src/main/java/caosdb/server/jobs/core/CheckDatatypePresent.java b/src/main/java/org/caosdb/server/jobs/core/CheckDatatypePresent.java
similarity index 92%
rename from src/main/java/caosdb/server/jobs/core/CheckDatatypePresent.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckDatatypePresent.java
index faf481db..ce9943ec 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckDatatypePresent.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckDatatypePresent.java
@@ -20,22 +20,22 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
-
-import caosdb.server.database.exceptions.EntityDoesNotExistException;
-import caosdb.server.database.exceptions.EntityWasNotUniqueException;
-import caosdb.server.datatype.AbstractCollectionDatatype;
-import caosdb.server.datatype.AbstractDatatype;
-import caosdb.server.datatype.ReferenceDatatype2;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.Role;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.jobs.Job;
-import caosdb.server.permissions.EntityPermission;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+package org.caosdb.server.jobs.core;
+
 import java.util.List;
+import org.caosdb.server.database.exceptions.EntityDoesNotExistException;
+import org.caosdb.server.database.exceptions.EntityWasNotUniqueException;
+import org.caosdb.server.datatype.AbstractCollectionDatatype;
+import org.caosdb.server.datatype.AbstractDatatype;
+import org.caosdb.server.datatype.ReferenceDatatype2;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.Role;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.jobs.Job;
+import org.caosdb.server.permissions.EntityPermission;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 /**
  * Check whether the entity has a data type. Assign the data type of the abstract property if
diff --git a/src/main/java/caosdb/server/jobs/core/CheckDescPresent.java b/src/main/java/org/caosdb/server/jobs/core/CheckDescPresent.java
similarity index 89%
rename from src/main/java/caosdb/server/jobs/core/CheckDescPresent.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckDescPresent.java
index b055e8fa..fc3a5114 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckDescPresent.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckDescPresent.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 /**
  * Check whether an entity has a description.
diff --git a/src/main/java/caosdb/server/jobs/core/CheckEntityACLRoles.java b/src/main/java/org/caosdb/server/jobs/core/CheckEntityACLRoles.java
similarity index 79%
rename from src/main/java/caosdb/server/jobs/core/CheckEntityACLRoles.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckEntityACLRoles.java
index 1106a469..e2dd63b1 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckEntityACLRoles.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckEntityACLRoles.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
-import caosdb.server.accessControl.AuthenticationUtils;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.jobs.ContainerJob;
-import caosdb.server.permissions.EntityACI;
-import caosdb.server.transaction.Insert;
-import caosdb.server.transaction.Update;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.accessControl.AuthenticationUtils;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.jobs.ContainerJob;
+import org.caosdb.server.permissions.EntityACI;
+import org.caosdb.server.transaction.Insert;
+import org.caosdb.server.transaction.Update;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 public class CheckEntityACLRoles extends ContainerJob {
 
diff --git a/src/main/java/caosdb/server/jobs/core/CheckFileStorageConsistency.java b/src/main/java/org/caosdb/server/jobs/core/CheckFileStorageConsistency.java
similarity index 91%
rename from src/main/java/caosdb/server/jobs/core/CheckFileStorageConsistency.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckFileStorageConsistency.java
index 5af12ad7..8dc6fc0c 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckFileStorageConsistency.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckFileStorageConsistency.java
@@ -20,27 +20,27 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
-
-import caosdb.server.CaosDBServer;
-import caosdb.server.FileSystem;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.Message;
-import caosdb.server.jobs.FlagJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.transaction.FileStorageConsistencyCheck;
-import caosdb.server.transaction.Retrieve;
-import caosdb.server.transaction.Transaction;
-import caosdb.server.utils.FileUtils;
-import caosdb.server.utils.Observable;
-import caosdb.server.utils.Observer;
-import caosdb.server.utils.Undoable;
+package org.caosdb.server.jobs.core;
+
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.PrintStream;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.FileSystem;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.jobs.FlagJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.transaction.FileStorageConsistencyCheck;
+import org.caosdb.server.transaction.Retrieve;
+import org.caosdb.server.transaction.Transaction;
+import org.caosdb.server.utils.FileUtils;
+import org.caosdb.server.utils.Observable;
+import org.caosdb.server.utils.Observer;
+import org.caosdb.server.utils.Undoable;
 import org.jdom2.Document;
 import org.jdom2.output.Format;
 import org.jdom2.output.XMLOutputter;
@@ -210,7 +210,7 @@ public class CheckFileStorageConsistency extends FlagJob {
                     + "test_file_storage_consistecy"
                     + Integer.toString(hashCode()));
 
-        final Undoable undo2 = caosdb.server.utils.FileUtils.rename(f2, tmp2);
+        final Undoable undo2 = org.caosdb.server.utils.FileUtils.rename(f2, tmp2);
 
         final File overridden = new File(oldPath2);
         overridden.createNewFile();
diff --git a/src/main/java/caosdb/server/jobs/core/CheckNamePresent.java b/src/main/java/org/caosdb/server/jobs/core/CheckNamePresent.java
similarity index 89%
rename from src/main/java/caosdb/server/jobs/core/CheckNamePresent.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckNamePresent.java
index d63a9cc5..f1600ce4 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckNamePresent.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckNamePresent.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 /**
  * Check whether an entity has a name.
diff --git a/src/main/java/caosdb/server/jobs/core/CheckNoAdditionalPropertiesPresent.java b/src/main/java/org/caosdb/server/jobs/core/CheckNoAdditionalPropertiesPresent.java
similarity index 83%
rename from src/main/java/caosdb/server/jobs/core/CheckNoAdditionalPropertiesPresent.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckNoAdditionalPropertiesPresent.java
index 1eb4941d..b04a9151 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckNoAdditionalPropertiesPresent.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckNoAdditionalPropertiesPresent.java
@@ -1,14 +1,14 @@
-package caosdb.server.jobs.core;
-
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+package org.caosdb.server.jobs.core;
+
 import java.util.HashSet;
 import java.util.Objects;
 import java.util.Set;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 @JobAnnotation(
     flag = "noAdditionalProperties",
diff --git a/src/main/java/caosdb/server/jobs/core/CheckNoOverridesPresent.java b/src/main/java/org/caosdb/server/jobs/core/CheckNoOverridesPresent.java
similarity index 76%
rename from src/main/java/caosdb/server/jobs/core/CheckNoOverridesPresent.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckNoOverridesPresent.java
index c6b16210..e439354e 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckNoOverridesPresent.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckNoOverridesPresent.java
@@ -1,10 +1,10 @@
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.entity.Message;
-import caosdb.server.entity.wrapper.Property;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.wrapper.Property;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.utils.ServerMessages;
 
 @JobAnnotation(
     flag = "noOverrides",
diff --git a/src/main/java/caosdb/server/jobs/core/CheckParOblPropPresent.java b/src/main/java/org/caosdb/server/jobs/core/CheckParOblPropPresent.java
similarity index 92%
rename from src/main/java/caosdb/server/jobs/core/CheckParOblPropPresent.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckParOblPropPresent.java
index bee056c5..c592eca8 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckParOblPropPresent.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckParOblPropPresent.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.database.backend.transaction.RetrieveFullEntity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.StatementStatus;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.database.backend.transaction.RetrieveFullEntity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.StatementStatus;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 /**
  * Check whether an entity implements all obligatory properties of all parents.
diff --git a/src/main/java/caosdb/server/jobs/core/CheckParPresent.java b/src/main/java/org/caosdb/server/jobs/core/CheckParPresent.java
similarity index 89%
rename from src/main/java/caosdb/server/jobs/core/CheckParPresent.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckParPresent.java
index 7318e45f..8851456c 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckParPresent.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckParPresent.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 /**
  * Check whether an entity has at least one parent.
diff --git a/src/main/java/caosdb/server/jobs/core/CheckParValid.java b/src/main/java/org/caosdb/server/jobs/core/CheckParValid.java
similarity index 91%
rename from src/main/java/caosdb/server/jobs/core/CheckParValid.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckParValid.java
index 560558dc..c6d10a8f 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckParValid.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckParValid.java
@@ -20,21 +20,21 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
-
-import caosdb.server.database.exceptions.EntityDoesNotExistException;
-import caosdb.server.database.exceptions.EntityWasNotUniqueException;
-import caosdb.server.entity.Affiliation;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.Role;
-import caosdb.server.entity.wrapper.Parent;
-import caosdb.server.entity.wrapper.Property;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.permissions.EntityPermission;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+package org.caosdb.server.jobs.core;
+
 import com.google.common.base.Objects;
+import org.caosdb.server.database.exceptions.EntityDoesNotExistException;
+import org.caosdb.server.database.exceptions.EntityWasNotUniqueException;
+import org.caosdb.server.entity.Affiliation;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.Role;
+import org.caosdb.server.entity.wrapper.Parent;
+import org.caosdb.server.entity.wrapper.Property;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.permissions.EntityPermission;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 /**
  * Check whether all parents of an entity are valid/qualified.
diff --git a/src/main/java/caosdb/server/jobs/core/CheckPropPresent.java b/src/main/java/org/caosdb/server/jobs/core/CheckPropPresent.java
similarity index 89%
rename from src/main/java/caosdb/server/jobs/core/CheckPropPresent.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckPropPresent.java
index 3d8c44fd..31a46097 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckPropPresent.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckPropPresent.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 /**
  * Check whether at least one property is present.
diff --git a/src/main/java/caosdb/server/jobs/core/CheckPropValid.java b/src/main/java/org/caosdb/server/jobs/core/CheckPropValid.java
similarity index 90%
rename from src/main/java/caosdb/server/jobs/core/CheckPropValid.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckPropValid.java
index 5e199e84..10ce6295 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckPropValid.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckPropValid.java
@@ -20,20 +20,20 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
-
-import static caosdb.server.utils.ServerMessages.ENTITY_DOES_NOT_EXIST;
-
-import caosdb.server.database.exceptions.EntityDoesNotExistException;
-import caosdb.server.database.exceptions.EntityWasNotUniqueException;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.wrapper.Property;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.permissions.EntityPermission;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+package org.caosdb.server.jobs.core;
+
+import static org.caosdb.server.utils.ServerMessages.ENTITY_DOES_NOT_EXIST;
+
 import com.google.common.base.Objects;
+import org.caosdb.server.database.exceptions.EntityDoesNotExistException;
+import org.caosdb.server.database.exceptions.EntityWasNotUniqueException;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.wrapper.Property;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.permissions.EntityPermission;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 /**
  * Check whether all properties of an entity are valid or qualified.
diff --git a/src/main/java/caosdb/server/jobs/core/CheckQueryTemplate.java b/src/main/java/org/caosdb/server/jobs/core/CheckQueryTemplate.java
similarity index 85%
rename from src/main/java/caosdb/server/jobs/core/CheckQueryTemplate.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckQueryTemplate.java
index e675accb..1b5ccb41 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckQueryTemplate.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckQueryTemplate.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.entity.Role;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.query.Query;
-import caosdb.server.query.Query.ParsingException;
-import caosdb.server.query.Query.Type;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.entity.Role;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.query.Query;
+import org.caosdb.server.query.Query.ParsingException;
+import org.caosdb.server.query.Query.Type;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 public class CheckQueryTemplate extends EntityJob {
 
diff --git a/src/main/java/caosdb/server/jobs/core/CheckReferenceDependencyExistent.java b/src/main/java/org/caosdb/server/jobs/core/CheckReferenceDependencyExistent.java
similarity index 92%
rename from src/main/java/caosdb/server/jobs/core/CheckReferenceDependencyExistent.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckReferenceDependencyExistent.java
index fd5eaab0..c59eeded 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckReferenceDependencyExistent.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckReferenceDependencyExistent.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.database.backend.transaction.GetDependentEntities;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
 import java.util.List;
+import org.caosdb.server.database.backend.transaction.GetDependentEntities;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 /**
  * Check whether an entity is referenced by other entities. In the event that someone wants to
diff --git a/src/main/java/caosdb/server/jobs/core/CheckRefidIsaParRefid.java b/src/main/java/org/caosdb/server/jobs/core/CheckRefidIsaParRefid.java
similarity index 87%
rename from src/main/java/caosdb/server/jobs/core/CheckRefidIsaParRefid.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckRefidIsaParRefid.java
index 04a1ac8c..59fcfe1d 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckRefidIsaParRefid.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckRefidIsaParRefid.java
@@ -20,24 +20,24 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.datatype.AbstractCollectionDatatype;
-import caosdb.server.datatype.CollectionValue;
-import caosdb.server.datatype.FileDatatype;
-import caosdb.server.datatype.IndexedSingleValue;
-import caosdb.server.datatype.ReferenceDatatype2;
-import caosdb.server.datatype.ReferenceValue;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.Message.MessageType;
-import caosdb.server.entity.Role;
-import caosdb.server.entity.wrapper.Parent;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.Observable;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.datatype.AbstractCollectionDatatype;
+import org.caosdb.server.datatype.CollectionValue;
+import org.caosdb.server.datatype.FileDatatype;
+import org.caosdb.server.datatype.IndexedSingleValue;
+import org.caosdb.server.datatype.ReferenceDatatype2;
+import org.caosdb.server.datatype.ReferenceValue;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.Message.MessageType;
+import org.caosdb.server.entity.Role;
+import org.caosdb.server.entity.wrapper.Parent;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.Observable;
+import org.caosdb.server.utils.ServerMessages;
 
 /**
  * Check if the referenced entity is in the scope of the data type. E.g. if the data type is
diff --git a/src/main/java/caosdb/server/jobs/core/CheckRefidPresent.java b/src/main/java/org/caosdb/server/jobs/core/CheckRefidPresent.java
similarity index 93%
rename from src/main/java/caosdb/server/jobs/core/CheckRefidPresent.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckRefidPresent.java
index 7af03b31..17d9bc7c 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckRefidPresent.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckRefidPresent.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.jobs.EntityJob;
+import org.caosdb.server.jobs.EntityJob;
 
 public class CheckRefidPresent extends EntityJob {
   @Override
diff --git a/src/main/java/caosdb/server/jobs/core/CheckRefidValid.java b/src/main/java/org/caosdb/server/jobs/core/CheckRefidValid.java
similarity index 88%
rename from src/main/java/caosdb/server/jobs/core/CheckRefidValid.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckRefidValid.java
index 36591070..42476f87 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckRefidValid.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckRefidValid.java
@@ -22,23 +22,23 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
-
-import caosdb.server.database.exceptions.EntityDoesNotExistException;
-import caosdb.server.database.exceptions.EntityWasNotUniqueException;
-import caosdb.server.datatype.AbstractCollectionDatatype;
-import caosdb.server.datatype.CollectionValue;
-import caosdb.server.datatype.IndexedSingleValue;
-import caosdb.server.datatype.ReferenceDatatype;
-import caosdb.server.datatype.ReferenceValue;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.permissions.EntityPermission;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.Observable;
-import caosdb.server.utils.ServerMessages;
+package org.caosdb.server.jobs.core;
+
+import org.caosdb.server.database.exceptions.EntityDoesNotExistException;
+import org.caosdb.server.database.exceptions.EntityWasNotUniqueException;
+import org.caosdb.server.datatype.AbstractCollectionDatatype;
+import org.caosdb.server.datatype.CollectionValue;
+import org.caosdb.server.datatype.IndexedSingleValue;
+import org.caosdb.server.datatype.ReferenceDatatype;
+import org.caosdb.server.datatype.ReferenceValue;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.permissions.EntityPermission;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.Observable;
+import org.caosdb.server.utils.ServerMessages;
 
 /**
  * Check whether a reference property is pointing to a valid entity.
diff --git a/src/main/java/caosdb/server/jobs/core/CheckTargetPathValid.java b/src/main/java/org/caosdb/server/jobs/core/CheckTargetPathValid.java
similarity index 87%
rename from src/main/java/caosdb/server/jobs/core/CheckTargetPathValid.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckTargetPathValid.java
index 404e6b3a..7d06498f 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckTargetPathValid.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckTargetPathValid.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.FileSystem;
-import caosdb.server.entity.FileProperties;
-import caosdb.server.entity.Message;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.FileSystem;
+import org.caosdb.server.entity.FileProperties;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 /**
  * Check whether the target path of a file entity is valid. That is, the target path is in the file
diff --git a/src/main/java/caosdb/server/jobs/core/CheckUnitPresent.java b/src/main/java/org/caosdb/server/jobs/core/CheckUnitPresent.java
similarity index 86%
rename from src/main/java/caosdb/server/jobs/core/CheckUnitPresent.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckUnitPresent.java
index 5b923769..aa87ecff 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckUnitPresent.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckUnitPresent.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.MagicTypes;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.MagicTypes;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 /**
  * Check whether this entity has a unit property.
diff --git a/src/main/java/caosdb/server/jobs/core/CheckValueParsable.java b/src/main/java/org/caosdb/server/jobs/core/CheckValueParsable.java
similarity index 91%
rename from src/main/java/caosdb/server/jobs/core/CheckValueParsable.java
rename to src/main/java/org/caosdb/server/jobs/core/CheckValueParsable.java
index 3140952d..34e19609 100644
--- a/src/main/java/caosdb/server/jobs/core/CheckValueParsable.java
+++ b/src/main/java/org/caosdb/server/jobs/core/CheckValueParsable.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.Observable;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.Observable;
 
 /**
  * Check whether the value of an entity is parsable according to the entity's data type. This job
diff --git a/src/main/java/caosdb/server/jobs/core/DebugCalls.java b/src/main/java/org/caosdb/server/jobs/core/DebugCalls.java
similarity index 88%
rename from src/main/java/caosdb/server/jobs/core/DebugCalls.java
rename to src/main/java/org/caosdb/server/jobs/core/DebugCalls.java
index b56fb6fb..8527560d 100644
--- a/src/main/java/caosdb/server/jobs/core/DebugCalls.java
+++ b/src/main/java/org/caosdb/server/jobs/core/DebugCalls.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.jobs.FlagJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.jobs.FlagJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.jobs.JobExecutionTime;
 
 @JobAnnotation(
     flag = "debug",
diff --git a/src/main/java/caosdb/server/jobs/core/ExecuteQuery.java b/src/main/java/org/caosdb/server/jobs/core/ExecuteQuery.java
similarity index 81%
rename from src/main/java/caosdb/server/jobs/core/ExecuteQuery.java
rename to src/main/java/org/caosdb/server/jobs/core/ExecuteQuery.java
index 6de19d60..b6583f02 100644
--- a/src/main/java/caosdb/server/jobs/core/ExecuteQuery.java
+++ b/src/main/java/org/caosdb/server/jobs/core/ExecuteQuery.java
@@ -20,16 +20,16 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.entity.Message;
-import caosdb.server.jobs.FlagJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.jobs.JobExecutionTime;
-import caosdb.server.query.Query;
-import caosdb.server.query.Query.ParsingException;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.jobs.FlagJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.server.query.Query;
+import org.caosdb.server.query.Query.ParsingException;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 @JobAnnotation(flag = "query", time = JobExecutionTime.INIT)
 public class ExecuteQuery extends FlagJob {
diff --git a/src/main/java/caosdb/server/jobs/core/History.java b/src/main/java/org/caosdb/server/jobs/core/History.java
similarity index 79%
rename from src/main/java/caosdb/server/jobs/core/History.java
rename to src/main/java/org/caosdb/server/jobs/core/History.java
index ee72413a..a7c58979 100644
--- a/src/main/java/caosdb/server/jobs/core/History.java
+++ b/src/main/java/org/caosdb/server/jobs/core/History.java
@@ -20,17 +20,17 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.database.backend.transaction.RetrieveTransactionHistory;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.jobs.FlagJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.jobs.JobExecutionTime;
-import caosdb.server.permissions.EntityPermission;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
 import org.apache.shiro.authz.AuthorizationException;
+import org.caosdb.server.database.backend.transaction.RetrieveTransactionHistory;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.jobs.FlagJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.server.permissions.EntityPermission;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 @JobAnnotation(time = JobExecutionTime.POST_TRANSACTION, flag = "H")
 public class History extends FlagJob {
diff --git a/src/main/java/caosdb/server/jobs/core/Inheritance.java b/src/main/java/org/caosdb/server/jobs/core/Inheritance.java
similarity index 94%
rename from src/main/java/caosdb/server/jobs/core/Inheritance.java
rename to src/main/java/org/caosdb/server/jobs/core/Inheritance.java
index f7149eb3..3c08f9f2 100644
--- a/src/main/java/caosdb/server/jobs/core/Inheritance.java
+++ b/src/main/java/org/caosdb/server/jobs/core/Inheritance.java
@@ -20,19 +20,19 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.database.backend.transaction.RetrieveFullEntity;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.Message.MessageType;
-import caosdb.server.entity.wrapper.Property;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.transaction.Insert;
-import caosdb.server.transaction.Update;
-import caosdb.server.utils.EntityStatus;
 import java.util.ArrayList;
+import org.caosdb.server.database.backend.transaction.RetrieveFullEntity;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.Message.MessageType;
+import org.caosdb.server.entity.wrapper.Property;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.transaction.Insert;
+import org.caosdb.server.transaction.Update;
+import org.caosdb.server.utils.EntityStatus;
 
 public class Inheritance extends EntityJob {
 
diff --git a/src/main/java/caosdb/server/jobs/core/InsertFilesInDir.java b/src/main/java/org/caosdb/server/jobs/core/InsertFilesInDir.java
similarity index 93%
rename from src/main/java/caosdb/server/jobs/core/InsertFilesInDir.java
rename to src/main/java/org/caosdb/server/jobs/core/InsertFilesInDir.java
index 6b3144eb..73d7ee3f 100644
--- a/src/main/java/caosdb/server/jobs/core/InsertFilesInDir.java
+++ b/src/main/java/org/caosdb/server/jobs/core/InsertFilesInDir.java
@@ -20,34 +20,34 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
-
-import caosdb.server.CaosDBException;
-import caosdb.server.CaosDBServer;
-import caosdb.server.FileSystem;
-import caosdb.server.ServerProperties;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.misc.RollBackHandler;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.FileProperties;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.Message.MessageType;
-import caosdb.server.entity.Role;
-import caosdb.server.jobs.FlagJob;
-import caosdb.server.jobs.Job;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.jobs.JobExecutionTime;
-import caosdb.server.transaction.Retrieve;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.FileUtils;
-import caosdb.server.utils.Undoable;
-import caosdb.server.utils.Utils;
+package org.caosdb.server.jobs.core;
+
 import java.io.File;
 import java.io.IOException;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.FileSystem;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.misc.RollBackHandler;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.FileProperties;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.Message.MessageType;
+import org.caosdb.server.entity.Role;
+import org.caosdb.server.jobs.FlagJob;
+import org.caosdb.server.jobs.Job;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.server.transaction.Retrieve;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.FileUtils;
+import org.caosdb.server.utils.Undoable;
+import org.caosdb.server.utils.Utils;
 
 @JobAnnotation(
     flag = "InsertFilesInDir",
diff --git a/src/main/java/caosdb/server/jobs/core/LoadContainerFlagJobs.java b/src/main/java/org/caosdb/server/jobs/core/LoadContainerFlagJobs.java
similarity index 85%
rename from src/main/java/caosdb/server/jobs/core/LoadContainerFlagJobs.java
rename to src/main/java/org/caosdb/server/jobs/core/LoadContainerFlagJobs.java
index 9df5e601..89f381d6 100644
--- a/src/main/java/caosdb/server/jobs/core/LoadContainerFlagJobs.java
+++ b/src/main/java/org/caosdb/server/jobs/core/LoadContainerFlagJobs.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.jobs.ContainerJob;
-import caosdb.server.jobs.FlagJob;
-import caosdb.server.jobs.Job;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.jobs.JobExecutionTime;
 import java.util.Map.Entry;
+import org.caosdb.server.jobs.ContainerJob;
+import org.caosdb.server.jobs.FlagJob;
+import org.caosdb.server.jobs.Job;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.jobs.JobExecutionTime;
 
 @JobAnnotation(time = JobExecutionTime.INIT)
 public class LoadContainerFlagJobs extends ContainerJob {
diff --git a/src/main/java/caosdb/server/jobs/core/MatchFileProp.java b/src/main/java/org/caosdb/server/jobs/core/MatchFileProp.java
similarity index 92%
rename from src/main/java/caosdb/server/jobs/core/MatchFileProp.java
rename to src/main/java/org/caosdb/server/jobs/core/MatchFileProp.java
index 7d193ebc..cef8b2b8 100644
--- a/src/main/java/caosdb/server/jobs/core/MatchFileProp.java
+++ b/src/main/java/org/caosdb/server/jobs/core/MatchFileProp.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.entity.FileProperties;
-import caosdb.server.jobs.FilesJob;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.FileUtils;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.entity.FileProperties;
+import org.caosdb.server.jobs.FilesJob;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.FileUtils;
+import org.caosdb.server.utils.ServerMessages;
 
 /**
  * Match the checksum and the size of a file record to the uploaded file's checksum and size.
diff --git a/src/main/java/caosdb/server/jobs/core/Mode.java b/src/main/java/org/caosdb/server/jobs/core/Mode.java
similarity index 96%
rename from src/main/java/caosdb/server/jobs/core/Mode.java
rename to src/main/java/org/caosdb/server/jobs/core/Mode.java
index 9814caed..561a4b0c 100644
--- a/src/main/java/caosdb/server/jobs/core/Mode.java
+++ b/src/main/java/org/caosdb/server/jobs/core/Mode.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
 public enum Mode {
   MUST,
diff --git a/src/main/java/caosdb/server/jobs/core/NoCache.java b/src/main/java/org/caosdb/server/jobs/core/NoCache.java
similarity index 90%
rename from src/main/java/caosdb/server/jobs/core/NoCache.java
rename to src/main/java/org/caosdb/server/jobs/core/NoCache.java
index f301e9b9..a4f63939 100644
--- a/src/main/java/caosdb/server/jobs/core/NoCache.java
+++ b/src/main/java/org/caosdb/server/jobs/core/NoCache.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.jobs.FlagJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.server.jobs.FlagJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.jobs.JobExecutionTime;
 
 @JobAnnotation(
     flag = "cache",
diff --git a/src/main/java/caosdb/server/jobs/core/Paging.java b/src/main/java/org/caosdb/server/jobs/core/Paging.java
similarity index 86%
rename from src/main/java/caosdb/server/jobs/core/Paging.java
rename to src/main/java/org/caosdb/server/jobs/core/Paging.java
index f0d0d6a6..43683639 100644
--- a/src/main/java/caosdb/server/jobs/core/Paging.java
+++ b/src/main/java/org/caosdb/server/jobs/core/Paging.java
@@ -20,16 +20,16 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.jobs.FlagJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.jobs.JobExecutionTime;
-import caosdb.server.transaction.Retrieve;
-import caosdb.server.utils.EntityStatus;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.jobs.FlagJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.server.transaction.Retrieve;
+import org.caosdb.server.utils.EntityStatus;
 
 @JobAnnotation(flag = "P", time = JobExecutionTime.PRE_TRANSACTION)
 public class Paging extends FlagJob {
diff --git a/src/main/java/caosdb/server/jobs/core/ParseUnit.java b/src/main/java/org/caosdb/server/jobs/core/ParseUnit.java
similarity index 80%
rename from src/main/java/caosdb/server/jobs/core/ParseUnit.java
rename to src/main/java/org/caosdb/server/jobs/core/ParseUnit.java
index 2dbde311..8e0a7818 100644
--- a/src/main/java/caosdb/server/jobs/core/ParseUnit.java
+++ b/src/main/java/org/caosdb/server/jobs/core/ParseUnit.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.datatype.SingleValue;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.MagicTypes;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
-import caosdb.unit.CaosDBSystemOfUnits;
-import caosdb.unit.Unit;
-import caosdb.unit.UnknownUnit;
 import de.timmfitschen.easyunits.parser.ParserException;
+import org.caosdb.server.datatype.SingleValue;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.MagicTypes;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
+import org.caosdb.unit.CaosDBSystemOfUnits;
+import org.caosdb.unit.Unit;
+import org.caosdb.unit.UnknownUnit;
 
 public class ParseUnit extends EntityJob {
 
diff --git a/src/main/java/caosdb/server/jobs/core/PickUp.java b/src/main/java/org/caosdb/server/jobs/core/PickUp.java
similarity index 85%
rename from src/main/java/caosdb/server/jobs/core/PickUp.java
rename to src/main/java/org/caosdb/server/jobs/core/PickUp.java
index 542e7ee5..dff574a4 100644
--- a/src/main/java/caosdb/server/jobs/core/PickUp.java
+++ b/src/main/java/org/caosdb/server/jobs/core/PickUp.java
@@ -20,19 +20,19 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.FileSystem;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.FileProperties;
-import caosdb.server.entity.Message;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.jobs.JobExecutionTime;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.Observable;
 import java.io.File;
+import org.caosdb.server.FileSystem;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.FileProperties;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.Observable;
 
 @JobAnnotation(time = JobExecutionTime.INIT)
 public class PickUp extends EntityJob {
diff --git a/src/main/java/caosdb/server/jobs/core/ProcessNameProperties.java b/src/main/java/org/caosdb/server/jobs/core/ProcessNameProperties.java
similarity index 90%
rename from src/main/java/caosdb/server/jobs/core/ProcessNameProperties.java
rename to src/main/java/org/caosdb/server/jobs/core/ProcessNameProperties.java
index 0a82c101..950c61d3 100644
--- a/src/main/java/caosdb/server/jobs/core/ProcessNameProperties.java
+++ b/src/main/java/org/caosdb/server/jobs/core/ProcessNameProperties.java
@@ -20,22 +20,22 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import static caosdb.server.entity.MagicTypes.NAME;
+import static org.caosdb.server.entity.MagicTypes.NAME;
 
-import caosdb.server.datatype.AbstractDatatype;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.wrapper.Parent;
-import caosdb.server.entity.wrapper.Property;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashSet;
 import java.util.Set;
+import org.caosdb.server.datatype.AbstractDatatype;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.wrapper.Parent;
+import org.caosdb.server.entity.wrapper.Property;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 /**
  * To be called after CheckPropValid.
diff --git a/src/main/java/caosdb/server/jobs/core/RemoveDuplicates.java b/src/main/java/org/caosdb/server/jobs/core/RemoveDuplicates.java
similarity index 92%
rename from src/main/java/caosdb/server/jobs/core/RemoveDuplicates.java
rename to src/main/java/org/caosdb/server/jobs/core/RemoveDuplicates.java
index a09f6653..3d3adcc1 100644
--- a/src/main/java/caosdb/server/jobs/core/RemoveDuplicates.java
+++ b/src/main/java/org/caosdb/server/jobs/core/RemoveDuplicates.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.jobs.ContainerJob;
 import java.util.HashSet;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.jobs.ContainerJob;
 
 public class RemoveDuplicates extends ContainerJob {
 
diff --git a/src/main/java/caosdb/server/jobs/core/ResolveNames.java b/src/main/java/org/caosdb/server/jobs/core/ResolveNames.java
similarity index 80%
rename from src/main/java/caosdb/server/jobs/core/ResolveNames.java
rename to src/main/java/org/caosdb/server/jobs/core/ResolveNames.java
index a7781fb4..d0a1f076 100644
--- a/src/main/java/caosdb/server/jobs/core/ResolveNames.java
+++ b/src/main/java/org/caosdb/server/jobs/core/ResolveNames.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.database.backend.transaction.GetIDByName;
-import caosdb.server.database.exceptions.EntityDoesNotExistException;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.container.TransactionContainer;
-import caosdb.server.jobs.ContainerJob;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
 import java.util.ArrayList;
 import java.util.List;
+import org.caosdb.server.database.backend.transaction.GetIDByName;
+import org.caosdb.server.database.exceptions.EntityDoesNotExistException;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.jobs.ContainerJob;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 public class ResolveNames extends ContainerJob {
 
diff --git a/src/main/java/caosdb/server/jobs/core/RetrieveACL.java b/src/main/java/org/caosdb/server/jobs/core/RetrieveACL.java
similarity index 81%
rename from src/main/java/caosdb/server/jobs/core/RetrieveACL.java
rename to src/main/java/org/caosdb/server/jobs/core/RetrieveACL.java
index 8446d586..f59b2c1e 100644
--- a/src/main/java/caosdb/server/jobs/core/RetrieveACL.java
+++ b/src/main/java/org/caosdb/server/jobs/core/RetrieveACL.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.xml.ToElementable;
-import caosdb.server.jobs.FlagJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.jobs.JobExecutionTime;
-import caosdb.server.permissions.EntityPermission;
-import caosdb.server.transaction.Retrieve;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
 import org.apache.shiro.authz.AuthorizationException;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.xml.ToElementable;
+import org.caosdb.server.jobs.FlagJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.server.permissions.EntityPermission;
+import org.caosdb.server.transaction.Retrieve;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Element;
 
 @JobAnnotation(
diff --git a/src/main/java/caosdb/server/jobs/core/RetrieveAllJob.java b/src/main/java/org/caosdb/server/jobs/core/RetrieveAllJob.java
similarity index 83%
rename from src/main/java/caosdb/server/jobs/core/RetrieveAllJob.java
rename to src/main/java/org/caosdb/server/jobs/core/RetrieveAllJob.java
index 0fba1223..1ca43cec 100644
--- a/src/main/java/caosdb/server/jobs/core/RetrieveAllJob.java
+++ b/src/main/java/org/caosdb/server/jobs/core/RetrieveAllJob.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.database.backend.transaction.RetrieveAll;
-import caosdb.server.jobs.FlagJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.server.database.backend.transaction.RetrieveAll;
+import org.caosdb.server.jobs.FlagJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.jobs.JobExecutionTime;
 
 @JobAnnotation(flag = "all", time = JobExecutionTime.INIT)
 public class RetrieveAllJob extends FlagJob {
diff --git a/src/main/java/caosdb/server/jobs/core/RetrieveIdOnlyFlag.java b/src/main/java/org/caosdb/server/jobs/core/RetrieveIdOnlyFlag.java
similarity index 83%
rename from src/main/java/caosdb/server/jobs/core/RetrieveIdOnlyFlag.java
rename to src/main/java/org/caosdb/server/jobs/core/RetrieveIdOnlyFlag.java
index 04dbf363..1712950d 100644
--- a/src/main/java/caosdb/server/jobs/core/RetrieveIdOnlyFlag.java
+++ b/src/main/java/org/caosdb/server/jobs/core/RetrieveIdOnlyFlag.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.jobs.FlagJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.jobs.JobExecutionTime;
-import caosdb.server.utils.EntityStatus;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.jobs.FlagJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.server.utils.EntityStatus;
 
 @JobAnnotation(flag = "IdOnly", time = JobExecutionTime.PRE_TRANSACTION)
 public class RetrieveIdOnlyFlag extends FlagJob {
diff --git a/src/main/java/caosdb/server/jobs/core/RetrieveOwner.java b/src/main/java/org/caosdb/server/jobs/core/RetrieveOwner.java
similarity index 82%
rename from src/main/java/caosdb/server/jobs/core/RetrieveOwner.java
rename to src/main/java/org/caosdb/server/jobs/core/RetrieveOwner.java
index 3c7fae64..73778058 100644
--- a/src/main/java/caosdb/server/jobs/core/RetrieveOwner.java
+++ b/src/main/java/org/caosdb/server/jobs/core/RetrieveOwner.java
@@ -20,20 +20,20 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.xml.ToElementable;
-import caosdb.server.jobs.FlagJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.jobs.JobExecutionTime;
-import caosdb.server.permissions.EntityPermission;
-import caosdb.server.permissions.ResponsibleAgent;
-import caosdb.server.transaction.Retrieve;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
 import java.util.List;
 import org.apache.shiro.authz.AuthorizationException;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.xml.ToElementable;
+import org.caosdb.server.jobs.FlagJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.server.permissions.EntityPermission;
+import org.caosdb.server.permissions.ResponsibleAgent;
+import org.caosdb.server.transaction.Retrieve;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Element;
 
 @JobAnnotation(
diff --git a/src/main/java/caosdb/server/jobs/core/RetriveAllNames.java b/src/main/java/org/caosdb/server/jobs/core/RetriveAllNames.java
similarity index 63%
rename from src/main/java/caosdb/server/jobs/core/RetriveAllNames.java
rename to src/main/java/org/caosdb/server/jobs/core/RetriveAllNames.java
index d7f58e00..dfd69a5c 100644
--- a/src/main/java/caosdb/server/jobs/core/RetriveAllNames.java
+++ b/src/main/java/org/caosdb/server/jobs/core/RetriveAllNames.java
@@ -1,12 +1,12 @@
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.database.backend.transaction.GetAllNames;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.jobs.FlagJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.jobs.JobExecutionTime;
-import caosdb.server.permissions.EntityPermission;
-import caosdb.server.utils.EntityStatus;
+import org.caosdb.server.database.backend.transaction.GetAllNames;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.jobs.FlagJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.server.permissions.EntityPermission;
+import org.caosdb.server.utils.EntityStatus;
 
 /**
  * A jobs which retrieves all known names for which the requesting user has the RETRIEVE_ENTITY
diff --git a/src/main/java/caosdb/server/jobs/core/SetImpToFix.java b/src/main/java/org/caosdb/server/jobs/core/SetImpToFix.java
similarity index 89%
rename from src/main/java/caosdb/server/jobs/core/SetImpToFix.java
rename to src/main/java/org/caosdb/server/jobs/core/SetImpToFix.java
index 09566b33..f0047d02 100644
--- a/src/main/java/caosdb/server/jobs/core/SetImpToFix.java
+++ b/src/main/java/org/caosdb/server/jobs/core/SetImpToFix.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.StatementStatus;
-import caosdb.server.jobs.EntityJob;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.StatementStatus;
+import org.caosdb.server.jobs.EntityJob;
 
 /**
  * Set the statement status of all properties of an entity to the value "FIX".
diff --git a/src/main/java/caosdb/server/jobs/core/SetImpToRecByDefault.java b/src/main/java/org/caosdb/server/jobs/core/SetImpToRecByDefault.java
similarity index 91%
rename from src/main/java/caosdb/server/jobs/core/SetImpToRecByDefault.java
rename to src/main/java/org/caosdb/server/jobs/core/SetImpToRecByDefault.java
index dbce7d87..dd6cfc08 100644
--- a/src/main/java/caosdb/server/jobs/core/SetImpToRecByDefault.java
+++ b/src/main/java/org/caosdb/server/jobs/core/SetImpToRecByDefault.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.StatementStatus;
-import caosdb.server.jobs.EntityJob;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.StatementStatus;
+import org.caosdb.server.jobs.EntityJob;
 
 /**
  * Set the statement status of all properties of an entity which do not have a statement status to
diff --git a/src/main/java/caosdb/server/jobs/core/Strict.java b/src/main/java/org/caosdb/server/jobs/core/Strict.java
similarity index 79%
rename from src/main/java/caosdb/server/jobs/core/Strict.java
rename to src/main/java/org/caosdb/server/jobs/core/Strict.java
index bb8d9af2..aebbecf8 100644
--- a/src/main/java/caosdb/server/jobs/core/Strict.java
+++ b/src/main/java/org/caosdb/server/jobs/core/Strict.java
@@ -20,16 +20,16 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.xml.ToElementable;
-import caosdb.server.jobs.ContainerJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.jobs.JobExecutionTime;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.xml.ToElementable;
+import org.caosdb.server.jobs.ContainerJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 @JobAnnotation(time = JobExecutionTime.POST_CHECK)
 public class Strict extends ContainerJob {
diff --git a/src/main/java/caosdb/server/jobs/core/TestMail.java b/src/main/java/org/caosdb/server/jobs/core/TestMail.java
similarity index 81%
rename from src/main/java/caosdb/server/jobs/core/TestMail.java
rename to src/main/java/org/caosdb/server/jobs/core/TestMail.java
index e529265a..fb3e8709 100644
--- a/src/main/java/caosdb/server/jobs/core/TestMail.java
+++ b/src/main/java/org/caosdb/server/jobs/core/TestMail.java
@@ -20,17 +20,17 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.Message.MessageType;
-import caosdb.server.jobs.FlagJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.utils.ServerMessages;
-import caosdb.server.utils.Utils;
-import caosdb.server.utils.mail.Mail;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.Message.MessageType;
+import org.caosdb.server.jobs.FlagJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.utils.ServerMessages;
+import org.caosdb.server.utils.Utils;
+import org.caosdb.server.utils.mail.Mail;
 
 @JobAnnotation(
     flag = "testMail",
diff --git a/src/main/java/caosdb/server/jobs/core/UniqueName.java b/src/main/java/org/caosdb/server/jobs/core/UniqueName.java
similarity index 83%
rename from src/main/java/caosdb/server/jobs/core/UniqueName.java
rename to src/main/java/org/caosdb/server/jobs/core/UniqueName.java
index 65b41253..300e32bf 100644
--- a/src/main/java/caosdb/server/jobs/core/UniqueName.java
+++ b/src/main/java/org/caosdb/server/jobs/core/UniqueName.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.database.exceptions.EntityDoesNotExistException;
-import caosdb.server.database.exceptions.EntityWasNotUniqueException;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.jobs.FlagJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.database.exceptions.EntityDoesNotExistException;
+import org.caosdb.server.database.exceptions.EntityWasNotUniqueException;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.jobs.FlagJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 @JobAnnotation(flag = "uniquename")
 public class UniqueName extends FlagJob {
diff --git a/src/main/java/caosdb/server/jobs/core/UpdateUnitConverters.java b/src/main/java/org/caosdb/server/jobs/core/UpdateUnitConverters.java
similarity index 87%
rename from src/main/java/caosdb/server/jobs/core/UpdateUnitConverters.java
rename to src/main/java/org/caosdb/server/jobs/core/UpdateUnitConverters.java
index 8d0118b8..b3ef80ad 100644
--- a/src/main/java/caosdb/server/jobs/core/UpdateUnitConverters.java
+++ b/src/main/java/org/caosdb/server/jobs/core/UpdateUnitConverters.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
-import caosdb.server.database.backend.transaction.InsertLinCon;
-import caosdb.server.jobs.EntityJob;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.jobs.JobExecutionTime;
-import caosdb.unit.Converter;
-import caosdb.unit.LinearConverter;
-import caosdb.unit.Unit;
+import org.caosdb.server.database.backend.transaction.InsertLinCon;
+import org.caosdb.server.jobs.EntityJob;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.unit.Converter;
+import org.caosdb.unit.LinearConverter;
+import org.caosdb.unit.Unit;
 
 @JobAnnotation(time = JobExecutionTime.PRE_TRANSACTION)
 public class UpdateUnitConverters extends EntityJob {
diff --git a/src/main/java/caosdb/server/logging/RequestErrorLogMessage.java b/src/main/java/org/caosdb/server/logging/RequestErrorLogMessage.java
similarity index 97%
rename from src/main/java/caosdb/server/logging/RequestErrorLogMessage.java
rename to src/main/java/org/caosdb/server/logging/RequestErrorLogMessage.java
index ddffe7d5..58217ca1 100644
--- a/src/main/java/caosdb/server/logging/RequestErrorLogMessage.java
+++ b/src/main/java/org/caosdb/server/logging/RequestErrorLogMessage.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.logging;
+package org.caosdb.server.logging;
 
-import caosdb.server.resource.ReReadableRepresentation;
 import java.io.IOException;
 import java.io.Serializable;
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
+import org.caosdb.server.resource.ReReadableRepresentation;
 import org.restlet.Message;
 import org.restlet.Request;
 import org.restlet.Response;
diff --git a/src/main/java/caosdb/server/logging/log4j/CustomConfigurationFactory.java b/src/main/java/org/caosdb/server/logging/log4j/CustomConfigurationFactory.java
similarity index 98%
rename from src/main/java/caosdb/server/logging/log4j/CustomConfigurationFactory.java
rename to src/main/java/org/caosdb/server/logging/log4j/CustomConfigurationFactory.java
index 6b7a4569..62722317 100644
--- a/src/main/java/caosdb/server/logging/log4j/CustomConfigurationFactory.java
+++ b/src/main/java/org/caosdb/server/logging/log4j/CustomConfigurationFactory.java
@@ -1,4 +1,4 @@
-package caosdb.server.logging.log4j;
+package org.caosdb.server.logging.log4j;
 
 import java.io.File;
 import java.net.URI;
diff --git a/src/main/java/caosdb/server/permissions/AbstractEntityACLFactory.java b/src/main/java/org/caosdb/server/permissions/AbstractEntityACLFactory.java
similarity index 99%
rename from src/main/java/caosdb/server/permissions/AbstractEntityACLFactory.java
rename to src/main/java/org/caosdb/server/permissions/AbstractEntityACLFactory.java
index 5d817471..3a3d03d1 100644
--- a/src/main/java/caosdb/server/permissions/AbstractEntityACLFactory.java
+++ b/src/main/java/org/caosdb/server/permissions/AbstractEntityACLFactory.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.permissions;
+package org.caosdb.server.permissions;
 
 import java.util.ArrayList;
 import java.util.Collection;
diff --git a/src/main/java/caosdb/server/permissions/CaosPermission.java b/src/main/java/org/caosdb/server/permissions/CaosPermission.java
similarity index 98%
rename from src/main/java/caosdb/server/permissions/CaosPermission.java
rename to src/main/java/org/caosdb/server/permissions/CaosPermission.java
index 71d54038..73bc4d78 100644
--- a/src/main/java/caosdb/server/permissions/CaosPermission.java
+++ b/src/main/java/org/caosdb/server/permissions/CaosPermission.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.permissions;
+package org.caosdb.server.permissions;
 
 import java.util.HashSet;
 import java.util.Map;
diff --git a/src/main/java/caosdb/server/permissions/EntityACI.java b/src/main/java/org/caosdb/server/permissions/EntityACI.java
similarity index 98%
rename from src/main/java/caosdb/server/permissions/EntityACI.java
rename to src/main/java/org/caosdb/server/permissions/EntityACI.java
index 4b960f49..ccc889de 100644
--- a/src/main/java/caosdb/server/permissions/EntityACI.java
+++ b/src/main/java/org/caosdb/server/permissions/EntityACI.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.permissions;
+package org.caosdb.server.permissions;
 
 import java.util.HashMap;
 
diff --git a/src/main/java/caosdb/server/permissions/EntityACL.java b/src/main/java/org/caosdb/server/permissions/EntityACL.java
similarity index 96%
rename from src/main/java/caosdb/server/permissions/EntityACL.java
rename to src/main/java/org/caosdb/server/permissions/EntityACL.java
index e0bfcf92..df1915bd 100644
--- a/src/main/java/caosdb/server/permissions/EntityACL.java
+++ b/src/main/java/org/caosdb/server/permissions/EntityACL.java
@@ -20,16 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.permissions;
+package org.caosdb.server.permissions;
 
-import static caosdb.server.permissions.Role.OTHER_ROLE;
-import static caosdb.server.permissions.Role.OWNER_ROLE;
+import static org.caosdb.server.permissions.Role.OTHER_ROLE;
+import static org.caosdb.server.permissions.Role.OWNER_ROLE;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
-import caosdb.server.accessControl.AuthenticationUtils;
-import caosdb.server.accessControl.Principal;
-import caosdb.server.database.exceptions.TransactionException;
 import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
@@ -41,6 +36,11 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.accessControl.AuthenticationUtils;
+import org.caosdb.server.accessControl.Principal;
+import org.caosdb.server.database.exceptions.TransactionException;
 import org.eclipse.jetty.util.ajax.JSON;
 import org.jdom2.DataConversionException;
 import org.jdom2.Document;
diff --git a/src/main/java/caosdb/server/permissions/EntityACLFactory.java b/src/main/java/org/caosdb/server/permissions/EntityACLFactory.java
similarity index 85%
rename from src/main/java/caosdb/server/permissions/EntityACLFactory.java
rename to src/main/java/org/caosdb/server/permissions/EntityACLFactory.java
index eeacb126..08e4ae45 100644
--- a/src/main/java/caosdb/server/permissions/EntityACLFactory.java
+++ b/src/main/java/org/caosdb/server/permissions/EntityACLFactory.java
@@ -1,4 +1,4 @@
-package caosdb.server.permissions;
+package org.caosdb.server.permissions;
 
 import java.util.Collection;
 
diff --git a/src/main/java/caosdb/server/permissions/EntityPermission.java b/src/main/java/org/caosdb/server/permissions/EntityPermission.java
similarity index 98%
rename from src/main/java/caosdb/server/permissions/EntityPermission.java
rename to src/main/java/org/caosdb/server/permissions/EntityPermission.java
index 1747a558..3a17db98 100644
--- a/src/main/java/caosdb/server/permissions/EntityPermission.java
+++ b/src/main/java/org/caosdb/server/permissions/EntityPermission.java
@@ -20,16 +20,16 @@
  *
  * ** end header
  */
-package caosdb.server.permissions;
+package org.caosdb.server.permissions;
 
-import caosdb.server.CaosDBException;
-import caosdb.server.entity.xml.ToElementable;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.entity.xml.ToElementable;
 import org.jdom2.Element;
 
 public class EntityPermission extends Permission {
diff --git a/src/main/java/caosdb/server/permissions/Permission.java b/src/main/java/org/caosdb/server/permissions/Permission.java
similarity index 97%
rename from src/main/java/caosdb/server/permissions/Permission.java
rename to src/main/java/org/caosdb/server/permissions/Permission.java
index e58329ee..02c30419 100644
--- a/src/main/java/caosdb/server/permissions/Permission.java
+++ b/src/main/java/org/caosdb/server/permissions/Permission.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.permissions;
+package org.caosdb.server.permissions;
 
 import org.apache.shiro.authz.permission.WildcardPermission;
 
diff --git a/src/main/java/caosdb/server/permissions/PermissionRule.java b/src/main/java/org/caosdb/server/permissions/PermissionRule.java
similarity index 98%
rename from src/main/java/caosdb/server/permissions/PermissionRule.java
rename to src/main/java/org/caosdb/server/permissions/PermissionRule.java
index bcbd3a27..b6ee9151 100644
--- a/src/main/java/caosdb/server/permissions/PermissionRule.java
+++ b/src/main/java/org/caosdb/server/permissions/PermissionRule.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.permissions;
+package org.caosdb.server.permissions;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/src/main/java/caosdb/server/permissions/ResponsibleAgent.java b/src/main/java/org/caosdb/server/permissions/ResponsibleAgent.java
similarity index 96%
rename from src/main/java/caosdb/server/permissions/ResponsibleAgent.java
rename to src/main/java/org/caosdb/server/permissions/ResponsibleAgent.java
index b29675ec..3f8fd3bb 100644
--- a/src/main/java/caosdb/server/permissions/ResponsibleAgent.java
+++ b/src/main/java/org/caosdb/server/permissions/ResponsibleAgent.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.permissions;
+package org.caosdb.server.permissions;
 
 import java.util.HashMap;
 import org.jdom2.Element;
diff --git a/src/main/java/caosdb/server/permissions/Role.java b/src/main/java/org/caosdb/server/permissions/Role.java
similarity index 98%
rename from src/main/java/caosdb/server/permissions/Role.java
rename to src/main/java/org/caosdb/server/permissions/Role.java
index 87b5d247..54afefc6 100644
--- a/src/main/java/caosdb/server/permissions/Role.java
+++ b/src/main/java/org/caosdb/server/permissions/Role.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.permissions;
+package org.caosdb.server.permissions;
 
 import java.util.HashMap;
 import org.jdom2.Attribute;
diff --git a/src/main/java/caosdb/server/query/Backreference.java b/src/main/java/org/caosdb/server/query/Backreference.java
similarity index 96%
rename from src/main/java/caosdb/server/query/Backreference.java
rename to src/main/java/org/caosdb/server/query/Backreference.java
index c39ce439..5f8105c8 100644
--- a/src/main/java/caosdb/server/query/Backreference.java
+++ b/src/main/java/org/caosdb/server/query/Backreference.java
@@ -20,15 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.query;
+package org.caosdb.server.query;
 
-import static caosdb.server.database.DatabaseUtils.bytes2UTF8;
 import static java.sql.Types.VARCHAR;
+import static org.caosdb.server.database.DatabaseUtils.bytes2UTF8;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.query.Query.Pattern;
-import caosdb.server.query.Query.QueryException;
 import java.sql.CallableStatement;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
@@ -38,6 +34,10 @@ import java.sql.Types;
 import java.util.HashMap;
 import java.util.Map.Entry;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.query.Query.Pattern;
+import org.caosdb.server.query.Query.QueryException;
 import org.jdom2.Element;
 
 public class Backreference implements EntityFilterInterface, QueryInterface {
diff --git a/src/main/java/caosdb/server/query/CQLLexer.g4 b/src/main/java/org/caosdb/server/query/CQLLexer.g4
similarity index 100%
rename from src/main/java/caosdb/server/query/CQLLexer.g4
rename to src/main/java/org/caosdb/server/query/CQLLexer.g4
diff --git a/src/main/java/caosdb/server/query/CQLParser.g4 b/src/main/java/org/caosdb/server/query/CQLParser.g4
similarity index 100%
rename from src/main/java/caosdb/server/query/CQLParser.g4
rename to src/main/java/org/caosdb/server/query/CQLParser.g4
diff --git a/src/main/java/caosdb/server/query/CQLParsingErrorListener.java b/src/main/java/org/caosdb/server/query/CQLParsingErrorListener.java
similarity index 99%
rename from src/main/java/caosdb/server/query/CQLParsingErrorListener.java
rename to src/main/java/org/caosdb/server/query/CQLParsingErrorListener.java
index 5dcec8eb..c2b453e5 100644
--- a/src/main/java/caosdb/server/query/CQLParsingErrorListener.java
+++ b/src/main/java/org/caosdb/server/query/CQLParsingErrorListener.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.query;
+package org.caosdb.server.query;
 
 import java.util.ArrayList;
 import java.util.BitSet;
diff --git a/src/main/java/caosdb/server/query/Conjunction.java b/src/main/java/org/caosdb/server/query/Conjunction.java
similarity index 95%
rename from src/main/java/caosdb/server/query/Conjunction.java
rename to src/main/java/org/caosdb/server/query/Conjunction.java
index 297f781b..a8fd9cd1 100644
--- a/src/main/java/caosdb/server/query/Conjunction.java
+++ b/src/main/java/org/caosdb/server/query/Conjunction.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.query;
+package org.caosdb.server.query;
 
-import static caosdb.server.database.DatabaseUtils.bytes2UTF8;
+import static org.caosdb.server.database.DatabaseUtils.bytes2UTF8;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.query.Query.QueryException;
 import java.sql.CallableStatement;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.query.Query.QueryException;
 import org.jdom2.Element;
 
 public class Conjunction extends EntityFilterContainer implements QueryInterface {
diff --git a/src/main/java/caosdb/server/query/Disjunction.java b/src/main/java/org/caosdb/server/query/Disjunction.java
similarity index 95%
rename from src/main/java/caosdb/server/query/Disjunction.java
rename to src/main/java/org/caosdb/server/query/Disjunction.java
index b9515c6b..3bd2f32f 100644
--- a/src/main/java/caosdb/server/query/Disjunction.java
+++ b/src/main/java/org/caosdb/server/query/Disjunction.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.query;
+package org.caosdb.server.query;
 
-import static caosdb.server.database.DatabaseUtils.bytes2UTF8;
+import static org.caosdb.server.database.DatabaseUtils.bytes2UTF8;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.query.Query.QueryException;
 import java.sql.CallableStatement;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.query.Query.QueryException;
 import org.jdom2.Element;
 
 public class Disjunction extends EntityFilterContainer implements QueryInterface {
diff --git a/src/main/java/caosdb/server/query/EntityFilterContainer.java b/src/main/java/org/caosdb/server/query/EntityFilterContainer.java
similarity index 97%
rename from src/main/java/caosdb/server/query/EntityFilterContainer.java
rename to src/main/java/org/caosdb/server/query/EntityFilterContainer.java
index 712ed718..c2409f90 100644
--- a/src/main/java/caosdb/server/query/EntityFilterContainer.java
+++ b/src/main/java/org/caosdb/server/query/EntityFilterContainer.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.query;
+package org.caosdb.server.query;
 
 import java.util.LinkedList;
 
diff --git a/src/main/java/caosdb/server/query/EntityFilterInterface.java b/src/main/java/org/caosdb/server/query/EntityFilterInterface.java
similarity index 92%
rename from src/main/java/caosdb/server/query/EntityFilterInterface.java
rename to src/main/java/org/caosdb/server/query/EntityFilterInterface.java
index 813f3ef0..3bf113ed 100644
--- a/src/main/java/caosdb/server/query/EntityFilterInterface.java
+++ b/src/main/java/org/caosdb/server/query/EntityFilterInterface.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.query;
+package org.caosdb.server.query;
 
-import caosdb.server.query.Query.QueryException;
+import org.caosdb.server.query.Query.QueryException;
 import org.jdom2.Element;
 
 public interface EntityFilterInterface {
diff --git a/src/main/java/caosdb/server/query/IDFilter.java b/src/main/java/org/caosdb/server/query/IDFilter.java
similarity index 97%
rename from src/main/java/caosdb/server/query/IDFilter.java
rename to src/main/java/org/caosdb/server/query/IDFilter.java
index 556ba1c0..26054bb1 100644
--- a/src/main/java/caosdb/server/query/IDFilter.java
+++ b/src/main/java/org/caosdb/server/query/IDFilter.java
@@ -20,16 +20,16 @@
  *
  * ** end header
  */
-package caosdb.server.query;
+package org.caosdb.server.query;
 
 import static java.sql.Types.CHAR;
 import static java.sql.Types.INTEGER;
 import static java.sql.Types.VARCHAR;
 
-import caosdb.server.query.Query.QueryException;
 import java.sql.CallableStatement;
 import java.sql.Connection;
 import java.sql.SQLException;
+import org.caosdb.server.query.Query.QueryException;
 import org.jdom2.Element;
 
 public class IDFilter implements EntityFilterInterface {
diff --git a/src/main/java/caosdb/server/query/Negation.java b/src/main/java/org/caosdb/server/query/Negation.java
similarity index 96%
rename from src/main/java/caosdb/server/query/Negation.java
rename to src/main/java/org/caosdb/server/query/Negation.java
index c54d4b8f..d4243580 100644
--- a/src/main/java/caosdb/server/query/Negation.java
+++ b/src/main/java/org/caosdb/server/query/Negation.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.query;
+package org.caosdb.server.query;
 
-import static caosdb.server.database.DatabaseUtils.bytes2UTF8;
+import static org.caosdb.server.database.DatabaseUtils.bytes2UTF8;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.query.Query.QueryException;
 import java.sql.CallableStatement;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.query.Query.QueryException;
 import org.jdom2.Element;
 
 public class Negation implements EntityFilterInterface, QueryInterface {
diff --git a/src/main/java/caosdb/server/query/POV.java b/src/main/java/org/caosdb/server/query/POV.java
similarity index 97%
rename from src/main/java/caosdb/server/query/POV.java
rename to src/main/java/org/caosdb/server/query/POV.java
index 924c1293..03b603d0 100644
--- a/src/main/java/caosdb/server/query/POV.java
+++ b/src/main/java/org/caosdb/server/query/POV.java
@@ -20,20 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.query;
+package org.caosdb.server.query;
 
-import static caosdb.server.database.DatabaseUtils.bytes2UTF8;
 import static java.sql.Types.DOUBLE;
 import static java.sql.Types.INTEGER;
 import static java.sql.Types.VARCHAR;
+import static org.caosdb.server.database.DatabaseUtils.bytes2UTF8;
 
-import caosdb.datetime.DateTimeFactory2;
-import caosdb.datetime.DateTimeInterface;
-import caosdb.datetime.Interval;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.query.Query.QueryException;
-import caosdb.unit.CaosDBSystemOfUnits;
-import caosdb.unit.Unit;
 import de.timmfitschen.easyunits.parser.ParserException;
 import java.sql.CallableStatement;
 import java.sql.Connection;
@@ -46,6 +39,13 @@ import java.util.Map.Entry;
 import java.util.Stack;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
+import org.caosdb.datetime.DateTimeFactory2;
+import org.caosdb.datetime.DateTimeInterface;
+import org.caosdb.datetime.Interval;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.query.Query.QueryException;
+import org.caosdb.unit.CaosDBSystemOfUnits;
+import org.caosdb.unit.Unit;
 import org.jdom2.Element;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/src/main/java/caosdb/server/query/Query.java b/src/main/java/org/caosdb/server/query/Query.java
similarity index 94%
rename from src/main/java/caosdb/server/query/Query.java
rename to src/main/java/org/caosdb/server/query/Query.java
index a2d6e487..c111a3a9 100644
--- a/src/main/java/caosdb/server/query/Query.java
+++ b/src/main/java/org/caosdb/server/query/Query.java
@@ -20,31 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.query;
-
-import static caosdb.server.database.DatabaseUtils.bytes2UTF8;
-
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.database.backend.implementation.MySQL.MySQLHelper;
-import caosdb.server.database.backend.transaction.RetrieveSparseEntity;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.misc.DBHelper;
-import caosdb.server.database.misc.TransactionBenchmark;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.Message.MessageType;
-import caosdb.server.entity.RetrieveEntity;
-import caosdb.server.entity.container.TransactionContainer;
-import caosdb.server.entity.xml.ToElementable;
-import caosdb.server.permissions.EntityACL;
-import caosdb.server.permissions.EntityPermission;
-import caosdb.server.query.CQLParser.CqContext;
-import caosdb.server.query.CQLParsingErrorListener.ParsingError;
-import caosdb.server.transaction.TransactionInterface;
+package org.caosdb.server.query;
+
+import static org.caosdb.server.database.DatabaseUtils.bytes2UTF8;
+
 import java.sql.CallableStatement;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
@@ -62,6 +41,27 @@ import java.util.Map.Entry;
 import org.antlr.v4.runtime.CharStreams;
 import org.antlr.v4.runtime.CommonTokenStream;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import org.caosdb.server.database.backend.implementation.MySQL.MySQLHelper;
+import org.caosdb.server.database.backend.transaction.RetrieveSparseEntity;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.misc.DBHelper;
+import org.caosdb.server.database.misc.TransactionBenchmark;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.Message.MessageType;
+import org.caosdb.server.entity.RetrieveEntity;
+import org.caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.entity.xml.ToElementable;
+import org.caosdb.server.permissions.EntityACL;
+import org.caosdb.server.permissions.EntityPermission;
+import org.caosdb.server.query.CQLParser.CqContext;
+import org.caosdb.server.query.CQLParsingErrorListener.ParsingError;
+import org.caosdb.server.transaction.TransactionInterface;
 import org.jdom2.Element;
 
 public class Query implements QueryInterface, ToElementable, TransactionInterface {
diff --git a/src/main/java/caosdb/server/query/QueryInterface.java b/src/main/java/org/caosdb/server/query/QueryInterface.java
similarity index 94%
rename from src/main/java/caosdb/server/query/QueryInterface.java
rename to src/main/java/org/caosdb/server/query/QueryInterface.java
index d42243ba..32cc1c7d 100644
--- a/src/main/java/caosdb/server/query/QueryInterface.java
+++ b/src/main/java/org/caosdb/server/query/QueryInterface.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.query;
+package org.caosdb.server.query;
 
-import caosdb.server.database.access.Access;
 import java.sql.Connection;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.database.access.Access;
 
 public interface QueryInterface {
 
diff --git a/src/main/java/caosdb/server/query/RoleFilter.java b/src/main/java/org/caosdb/server/query/RoleFilter.java
similarity index 97%
rename from src/main/java/caosdb/server/query/RoleFilter.java
rename to src/main/java/org/caosdb/server/query/RoleFilter.java
index 97f73114..9055dccb 100644
--- a/src/main/java/caosdb/server/query/RoleFilter.java
+++ b/src/main/java/org/caosdb/server/query/RoleFilter.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.query;
+package org.caosdb.server.query;
 
-import caosdb.server.query.Query.QueryException;
-import caosdb.server.query.Query.Role;
 import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
+import org.caosdb.server.query.Query.QueryException;
+import org.caosdb.server.query.Query.Role;
 import org.jdom2.Element;
 
 public class RoleFilter implements EntityFilterInterface {
diff --git a/src/main/java/caosdb/server/query/StoredAt.java b/src/main/java/org/caosdb/server/query/StoredAt.java
similarity index 98%
rename from src/main/java/caosdb/server/query/StoredAt.java
rename to src/main/java/org/caosdb/server/query/StoredAt.java
index b16bb83f..84a12d2c 100644
--- a/src/main/java/caosdb/server/query/StoredAt.java
+++ b/src/main/java/org/caosdb/server/query/StoredAt.java
@@ -20,17 +20,17 @@
  *
  * ** end header
  */
-package caosdb.server.query;
+package org.caosdb.server.query;
 
 import static java.sql.Types.VARCHAR;
 
-import caosdb.server.query.Query.QueryException;
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.sql.CallableStatement;
 import java.sql.SQLException;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
+import org.caosdb.server.query.Query.QueryException;
 import org.jdom2.Element;
 
 public class StoredAt implements EntityFilterInterface {
diff --git a/src/main/java/caosdb/server/query/SubProperty.java b/src/main/java/org/caosdb/server/query/SubProperty.java
similarity index 95%
rename from src/main/java/caosdb/server/query/SubProperty.java
rename to src/main/java/org/caosdb/server/query/SubProperty.java
index 12629640..f8c22367 100644
--- a/src/main/java/caosdb/server/query/SubProperty.java
+++ b/src/main/java/org/caosdb/server/query/SubProperty.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.query;
+package org.caosdb.server.query;
 
-import static caosdb.server.database.DatabaseUtils.bytes2UTF8;
 import static java.sql.Types.VARCHAR;
+import static org.caosdb.server.database.DatabaseUtils.bytes2UTF8;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.query.Query.QueryException;
 import java.sql.CallableStatement;
 import java.sql.Connection;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.query.Query.QueryException;
 import org.jdom2.Element;
 
 public class SubProperty implements QueryInterface, EntityFilterInterface {
diff --git a/src/main/java/caosdb/server/query/TransactionFilter.java b/src/main/java/org/caosdb/server/query/TransactionFilter.java
similarity index 95%
rename from src/main/java/caosdb/server/query/TransactionFilter.java
rename to src/main/java/org/caosdb/server/query/TransactionFilter.java
index 3f4af80e..55176594 100644
--- a/src/main/java/caosdb/server/query/TransactionFilter.java
+++ b/src/main/java/org/caosdb/server/query/TransactionFilter.java
@@ -20,20 +20,20 @@
  *
  * ** end header
  */
-package caosdb.server.query;
-
-import caosdb.datetime.Date;
-import caosdb.datetime.DateTimeFactory2;
-import caosdb.datetime.Interval;
-import caosdb.datetime.SemiCompleteDateTime;
-import caosdb.datetime.UTCDateTime;
-import caosdb.server.accessControl.Principal;
-import caosdb.server.accessControl.UserSources;
-import caosdb.server.query.Query.QueryException;
+package org.caosdb.server.query;
+
 import java.sql.CallableStatement;
 import java.sql.Connection;
 import java.sql.SQLException;
 import java.sql.Types;
+import org.caosdb.datetime.Date;
+import org.caosdb.datetime.DateTimeFactory2;
+import org.caosdb.datetime.Interval;
+import org.caosdb.datetime.SemiCompleteDateTime;
+import org.caosdb.datetime.UTCDateTime;
+import org.caosdb.server.accessControl.Principal;
+import org.caosdb.server.accessControl.UserSources;
+import org.caosdb.server.query.Query.QueryException;
 import org.jdom2.Element;
 
 public class TransactionFilter implements EntityFilterInterface {
diff --git a/src/main/java/caosdb/server/query/Utils.java b/src/main/java/org/caosdb/server/query/Utils.java
similarity index 98%
rename from src/main/java/caosdb/server/query/Utils.java
rename to src/main/java/org/caosdb/server/query/Utils.java
index 5c1c7434..661cee12 100644
--- a/src/main/java/caosdb/server/query/Utils.java
+++ b/src/main/java/org/caosdb/server/query/Utils.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.query;
+package org.caosdb.server.query;
 
 import java.io.PrintStream;
 import java.sql.Connection;
diff --git a/src/main/java/caosdb/server/resource/AbstractCaosDBServerResource.java b/src/main/java/org/caosdb/server/resource/AbstractCaosDBServerResource.java
similarity index 97%
rename from src/main/java/caosdb/server/resource/AbstractCaosDBServerResource.java
rename to src/main/java/org/caosdb/server/resource/AbstractCaosDBServerResource.java
index 97488a6b..1460eecd 100644
--- a/src/main/java/caosdb/server/resource/AbstractCaosDBServerResource.java
+++ b/src/main/java/org/caosdb/server/resource/AbstractCaosDBServerResource.java
@@ -22,17 +22,10 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
 import static java.net.URLDecoder.decode;
 
-import caosdb.server.CaosDBException;
-import caosdb.server.accessControl.AuthenticationUtils;
-import caosdb.server.accessControl.Principal;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.entity.Message;
-import caosdb.server.utils.ServerMessages;
-import caosdb.server.utils.WebinterfaceUtils;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.UnsupportedEncodingException;
@@ -48,6 +41,13 @@ import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.authc.AuthenticationException;
 import org.apache.shiro.authz.AuthorizationException;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.accessControl.AuthenticationUtils;
+import org.caosdb.server.accessControl.Principal;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.utils.ServerMessages;
+import org.caosdb.server.utils.WebinterfaceUtils;
 import org.jdom2.Document;
 import org.jdom2.Element;
 import org.jdom2.JDOMException;
diff --git a/src/main/java/caosdb/server/resource/AuthenticationResource.java b/src/main/java/org/caosdb/server/resource/AuthenticationResource.java
similarity index 90%
rename from src/main/java/caosdb/server/resource/AuthenticationResource.java
rename to src/main/java/org/caosdb/server/resource/AuthenticationResource.java
index d3b49580..ed60d790 100644
--- a/src/main/java/caosdb/server/resource/AuthenticationResource.java
+++ b/src/main/java/org/caosdb/server/resource/AuthenticationResource.java
@@ -20,16 +20,8 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
-
-import caosdb.server.CaosDBException;
-import caosdb.server.CaosDBServer;
-import caosdb.server.accessControl.AuthenticationUtils;
-import caosdb.server.accessControl.RealmUsernamePasswordToken;
-import caosdb.server.accessControl.UserSources;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.entity.xml.ToElementable;
-import caosdb.server.utils.ServerMessages;
+package org.caosdb.server.resource;
+
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
 import java.sql.SQLException;
@@ -39,6 +31,14 @@ import org.apache.shiro.authc.AccountException;
 import org.apache.shiro.authc.AuthenticationException;
 import org.apache.shiro.authc.CredentialsException;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.accessControl.AuthenticationUtils;
+import org.caosdb.server.accessControl.RealmUsernamePasswordToken;
+import org.caosdb.server.accessControl.UserSources;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import org.caosdb.server.entity.xml.ToElementable;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Document;
 import org.jdom2.Element;
 import org.jdom2.JDOMException;
diff --git a/src/main/java/caosdb/server/resource/DefaultResource.java b/src/main/java/org/caosdb/server/resource/DefaultResource.java
similarity index 91%
rename from src/main/java/caosdb/server/resource/DefaultResource.java
rename to src/main/java/org/caosdb/server/resource/DefaultResource.java
index e26171f0..488cd667 100644
--- a/src/main/java/caosdb/server/resource/DefaultResource.java
+++ b/src/main/java/org/caosdb/server/resource/DefaultResource.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
-import caosdb.server.CaosDBException;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
 import java.sql.SQLException;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
 import org.jdom2.Document;
 import org.jdom2.Element;
 import org.restlet.representation.Representation;
diff --git a/src/main/java/caosdb/server/resource/EntityOwnerResource.java b/src/main/java/org/caosdb/server/resource/EntityOwnerResource.java
similarity index 79%
rename from src/main/java/caosdb/server/resource/EntityOwnerResource.java
rename to src/main/java/org/caosdb/server/resource/EntityOwnerResource.java
index 5841eeb5..f20a4ab0 100644
--- a/src/main/java/caosdb/server/resource/EntityOwnerResource.java
+++ b/src/main/java/org/caosdb/server/resource/EntityOwnerResource.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
-import caosdb.server.entity.container.RetrieveContainer;
-import caosdb.server.resource.transaction.EntityResource;
-import caosdb.server.resource.transaction.handlers.RequestHandler;
-import caosdb.server.resource.transaction.handlers.RetriveOwnerRequestHandler;
+import org.caosdb.server.entity.container.RetrieveContainer;
+import org.caosdb.server.resource.transaction.EntityResource;
+import org.caosdb.server.resource.transaction.handlers.RequestHandler;
+import org.caosdb.server.resource.transaction.handlers.RetriveOwnerRequestHandler;
 
 public class EntityOwnerResource extends EntityResource {
 
diff --git a/src/main/java/caosdb/server/resource/EntityPermissionsResource.java b/src/main/java/org/caosdb/server/resource/EntityPermissionsResource.java
similarity index 78%
rename from src/main/java/caosdb/server/resource/EntityPermissionsResource.java
rename to src/main/java/org/caosdb/server/resource/EntityPermissionsResource.java
index b29d6c5e..ffce6fe1 100644
--- a/src/main/java/caosdb/server/resource/EntityPermissionsResource.java
+++ b/src/main/java/org/caosdb/server/resource/EntityPermissionsResource.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
-import caosdb.server.entity.container.RetrieveContainer;
-import caosdb.server.resource.transaction.EntityResource;
-import caosdb.server.resource.transaction.handlers.RequestHandler;
-import caosdb.server.resource.transaction.handlers.RetrieveGlobalEntityPermissionsHandler;
+import org.caosdb.server.entity.container.RetrieveContainer;
+import org.caosdb.server.resource.transaction.EntityResource;
+import org.caosdb.server.resource.transaction.handlers.RequestHandler;
+import org.caosdb.server.resource.transaction.handlers.RetrieveGlobalEntityPermissionsHandler;
 
 public class EntityPermissionsResource extends EntityResource {
 
diff --git a/src/main/java/caosdb/server/resource/FileSystemResource.java b/src/main/java/org/caosdb/server/resource/FileSystemResource.java
similarity index 89%
rename from src/main/java/caosdb/server/resource/FileSystemResource.java
rename to src/main/java/org/caosdb/server/resource/FileSystemResource.java
index ef352e19..f09f97ea 100644
--- a/src/main/java/caosdb/server/resource/FileSystemResource.java
+++ b/src/main/java/org/caosdb/server/resource/FileSystemResource.java
@@ -20,27 +20,27 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
-import static caosdb.server.FileSystem.getFromFileSystem;
 import static java.net.URLDecoder.decode;
+import static org.caosdb.server.FileSystem.getFromFileSystem;
 
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.database.exceptions.EntityDoesNotExistException;
-import caosdb.server.database.misc.TransactionBenchmark;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.FileProperties;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.Message.MessageType;
-import caosdb.server.entity.RetrieveEntity;
-import caosdb.server.entity.container.TransactionContainer;
-import caosdb.server.permissions.EntityPermission;
-import caosdb.server.transaction.RetrieveSparseEntityByPath;
-import caosdb.server.transaction.Transaction;
-import caosdb.server.utils.FileUtils;
-import caosdb.server.utils.ServerMessages;
 import java.io.File;
 import java.io.IOException;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import org.caosdb.server.database.exceptions.EntityDoesNotExistException;
+import org.caosdb.server.database.misc.TransactionBenchmark;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.FileProperties;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.Message.MessageType;
+import org.caosdb.server.entity.RetrieveEntity;
+import org.caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.permissions.EntityPermission;
+import org.caosdb.server.transaction.RetrieveSparseEntityByPath;
+import org.caosdb.server.transaction.Transaction;
+import org.caosdb.server.utils.FileUtils;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Attribute;
 import org.jdom2.Document;
 import org.jdom2.Element;
diff --git a/src/main/java/caosdb/server/resource/InfoResource.java b/src/main/java/org/caosdb/server/resource/InfoResource.java
similarity index 88%
rename from src/main/java/caosdb/server/resource/InfoResource.java
rename to src/main/java/org/caosdb/server/resource/InfoResource.java
index 4beb9757..25e8842b 100644
--- a/src/main/java/caosdb/server/resource/InfoResource.java
+++ b/src/main/java/org/caosdb/server/resource/InfoResource.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
-import caosdb.datetime.UTCTimeZoneShift;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.database.misc.TransactionBenchmark;
-import caosdb.server.utils.FlagInfo;
-import caosdb.server.utils.Info;
 import java.util.TimeZone;
+import org.caosdb.datetime.UTCTimeZoneShift;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import org.caosdb.server.database.misc.TransactionBenchmark;
+import org.caosdb.server.utils.FlagInfo;
+import org.caosdb.server.utils.Info;
 import org.jdom2.Document;
 import org.jdom2.Element;
 import org.jdom2.JDOMException;
diff --git a/src/main/java/caosdb/server/resource/JdomRepresentation.java b/src/main/java/org/caosdb/server/resource/JdomRepresentation.java
similarity index 97%
rename from src/main/java/caosdb/server/resource/JdomRepresentation.java
rename to src/main/java/org/caosdb/server/resource/JdomRepresentation.java
index 04fbdac3..1af634b0 100644
--- a/src/main/java/caosdb/server/resource/JdomRepresentation.java
+++ b/src/main/java/org/caosdb/server/resource/JdomRepresentation.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.io.Writer;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
 import org.jdom2.Document;
 import org.jdom2.ProcessingInstruction;
 import org.jdom2.output.Format;
diff --git a/src/main/java/caosdb/server/resource/LogoutResource.java b/src/main/java/org/caosdb/server/resource/LogoutResource.java
similarity index 89%
rename from src/main/java/caosdb/server/resource/LogoutResource.java
rename to src/main/java/org/caosdb/server/resource/LogoutResource.java
index 79489413..1659f751 100644
--- a/src/main/java/caosdb/server/resource/LogoutResource.java
+++ b/src/main/java/org/caosdb/server/resource/LogoutResource.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
-import caosdb.server.CaosDBException;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
 import java.sql.SQLException;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
 import org.restlet.representation.Representation;
 
 public class LogoutResource extends AuthenticationResource {
diff --git a/src/main/java/caosdb/server/resource/PermissionRulesResource.java b/src/main/java/org/caosdb/server/resource/PermissionRulesResource.java
similarity index 86%
rename from src/main/java/caosdb/server/resource/PermissionRulesResource.java
rename to src/main/java/org/caosdb/server/resource/PermissionRulesResource.java
index dba1797a..8d2aa172 100644
--- a/src/main/java/caosdb/server/resource/PermissionRulesResource.java
+++ b/src/main/java/org/caosdb/server/resource/PermissionRulesResource.java
@@ -20,20 +20,20 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
-import caosdb.server.CaosDBException;
-import caosdb.server.accessControl.ACMPermissions;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.entity.Message;
-import caosdb.server.permissions.PermissionRule;
-import caosdb.server.transaction.RetrievePermissionRulesTransaction;
-import caosdb.server.transaction.UpdatePermissionRulesTransaction;
-import caosdb.server.utils.ServerMessages;
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
 import java.sql.SQLException;
 import java.util.HashSet;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.accessControl.ACMPermissions;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.permissions.PermissionRule;
+import org.caosdb.server.transaction.RetrievePermissionRulesTransaction;
+import org.caosdb.server.transaction.UpdatePermissionRulesTransaction;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Document;
 import org.jdom2.Element;
 import org.restlet.data.Status;
diff --git a/src/main/java/caosdb/server/resource/ReReadableRepresentation.java b/src/main/java/org/caosdb/server/resource/ReReadableRepresentation.java
similarity index 99%
rename from src/main/java/caosdb/server/resource/ReReadableRepresentation.java
rename to src/main/java/org/caosdb/server/resource/ReReadableRepresentation.java
index df5f7e55..3620eef2 100644
--- a/src/main/java/caosdb/server/resource/ReReadableRepresentation.java
+++ b/src/main/java/org/caosdb/server/resource/ReReadableRepresentation.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
 import com.google.common.base.Charsets;
 import java.io.IOException;
diff --git a/src/main/java/caosdb/server/resource/RolesResource.java b/src/main/java/org/caosdb/server/resource/RolesResource.java
similarity index 89%
rename from src/main/java/caosdb/server/resource/RolesResource.java
rename to src/main/java/org/caosdb/server/resource/RolesResource.java
index 0f1b01e3..a89a7319 100644
--- a/src/main/java/caosdb/server/resource/RolesResource.java
+++ b/src/main/java/org/caosdb/server/resource/RolesResource.java
@@ -20,21 +20,21 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
-
-import caosdb.server.CaosDBException;
-import caosdb.server.accessControl.ACMPermissions;
-import caosdb.server.accessControl.Role;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.entity.Message;
-import caosdb.server.transaction.DeleteRoleTransaction;
-import caosdb.server.transaction.InsertRoleTransaction;
-import caosdb.server.transaction.RetrieveRoleTransaction;
-import caosdb.server.transaction.UpdateRoleTransaction;
-import caosdb.server.utils.ServerMessages;
+package org.caosdb.server.resource;
+
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
 import java.sql.SQLException;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.accessControl.ACMPermissions;
+import org.caosdb.server.accessControl.Role;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.transaction.DeleteRoleTransaction;
+import org.caosdb.server.transaction.InsertRoleTransaction;
+import org.caosdb.server.transaction.RetrieveRoleTransaction;
+import org.caosdb.server.transaction.UpdateRoleTransaction;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Document;
 import org.jdom2.Element;
 import org.jdom2.JDOMException;
diff --git a/src/main/java/caosdb/server/resource/ScriptingResource.java b/src/main/java/org/caosdb/server/resource/ScriptingResource.java
similarity index 92%
rename from src/main/java/caosdb/server/resource/ScriptingResource.java
rename to src/main/java/org/caosdb/server/resource/ScriptingResource.java
index cb652b86..35885bb4 100644
--- a/src/main/java/caosdb/server/resource/ScriptingResource.java
+++ b/src/main/java/org/caosdb/server/resource/ScriptingResource.java
@@ -22,20 +22,8 @@
  * ** end header
  */
 
-package caosdb.server.resource;
-
-import caosdb.server.FileSystem;
-import caosdb.server.accessControl.AuthenticationUtils;
-import caosdb.server.accessControl.OneTimeAuthenticationToken;
-import caosdb.server.accessControl.SessionToken;
-import caosdb.server.entity.FileProperties;
-import caosdb.server.entity.Message;
-import caosdb.server.scripting.CallerSerializer;
-import caosdb.server.scripting.ScriptingPermissions;
-import caosdb.server.scripting.ServerSideScriptingCaller;
-import caosdb.server.utils.Serializer;
-import caosdb.server.utils.ServerMessages;
-import caosdb.server.utils.Utils;
+package org.caosdb.server.resource;
+
 import com.ibm.icu.text.Collator;
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
@@ -50,6 +38,18 @@ import org.apache.commons.fileupload.FileItemStream;
 import org.apache.commons.fileupload.FileUploadException;
 import org.apache.commons.fileupload.disk.DiskFileItemFactory;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.FileSystem;
+import org.caosdb.server.accessControl.AuthenticationUtils;
+import org.caosdb.server.accessControl.OneTimeAuthenticationToken;
+import org.caosdb.server.accessControl.SessionToken;
+import org.caosdb.server.entity.FileProperties;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.scripting.CallerSerializer;
+import org.caosdb.server.scripting.ScriptingPermissions;
+import org.caosdb.server.scripting.ServerSideScriptingCaller;
+import org.caosdb.server.utils.Serializer;
+import org.caosdb.server.utils.ServerMessages;
+import org.caosdb.server.utils.Utils;
 import org.jdom2.Element;
 import org.restlet.data.CharacterSet;
 import org.restlet.data.Form;
diff --git a/src/main/java/caosdb/server/resource/ServerLogsResource.java b/src/main/java/org/caosdb/server/resource/ServerLogsResource.java
similarity index 91%
rename from src/main/java/caosdb/server/resource/ServerLogsResource.java
rename to src/main/java/org/caosdb/server/resource/ServerLogsResource.java
index b63de6e0..f304f100 100644
--- a/src/main/java/caosdb/server/resource/ServerLogsResource.java
+++ b/src/main/java/org/caosdb/server/resource/ServerLogsResource.java
@@ -20,11 +20,8 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
-import caosdb.server.CaosDBException;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.transaction.RetrieveLogRecordTransaction;
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
 import java.sql.SQLException;
@@ -32,6 +29,9 @@ import java.util.List;
 import java.util.logging.Level;
 import java.util.logging.LogRecord;
 import java.util.logging.XMLFormatter;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import org.caosdb.server.transaction.RetrieveLogRecordTransaction;
 import org.restlet.data.Form;
 import org.restlet.data.MediaType;
 import org.restlet.representation.Representation;
diff --git a/src/main/java/caosdb/server/resource/ServerPropertiesResource.java b/src/main/java/org/caosdb/server/resource/ServerPropertiesResource.java
similarity index 87%
rename from src/main/java/caosdb/server/resource/ServerPropertiesResource.java
rename to src/main/java/org/caosdb/server/resource/ServerPropertiesResource.java
index 347919d9..5b4e8316 100644
--- a/src/main/java/caosdb/server/resource/ServerPropertiesResource.java
+++ b/src/main/java/org/caosdb/server/resource/ServerPropertiesResource.java
@@ -1,8 +1,8 @@
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerPropertiesSerializer;
-import caosdb.server.accessControl.ACMPermissions;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerPropertiesSerializer;
+import org.caosdb.server.accessControl.ACMPermissions;
 import org.restlet.data.Form;
 import org.restlet.data.Parameter;
 import org.restlet.data.Status;
diff --git a/src/main/java/caosdb/server/resource/SharedFileResource.java b/src/main/java/org/caosdb/server/resource/SharedFileResource.java
similarity index 92%
rename from src/main/java/caosdb/server/resource/SharedFileResource.java
rename to src/main/java/org/caosdb/server/resource/SharedFileResource.java
index 71cf089d..971dff69 100644
--- a/src/main/java/caosdb/server/resource/SharedFileResource.java
+++ b/src/main/java/org/caosdb/server/resource/SharedFileResource.java
@@ -22,16 +22,16 @@
  * ** end header
  */
 
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
 import static java.net.URLDecoder.decode;
 
-import caosdb.server.FileSystem;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.utils.FileUtils;
-import caosdb.server.utils.ServerMessages;
 import java.io.File;
 import java.io.IOException;
+import org.caosdb.server.FileSystem;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import org.caosdb.server.utils.FileUtils;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.JDOMException;
 import org.restlet.data.Disposition;
 import org.restlet.data.MediaType;
diff --git a/src/main/java/caosdb/server/resource/ThumbnailsResource.java b/src/main/java/org/caosdb/server/resource/ThumbnailsResource.java
similarity index 93%
rename from src/main/java/caosdb/server/resource/ThumbnailsResource.java
rename to src/main/java/org/caosdb/server/resource/ThumbnailsResource.java
index e08378c5..c74251a1 100644
--- a/src/main/java/caosdb/server/resource/ThumbnailsResource.java
+++ b/src/main/java/org/caosdb/server/resource/ThumbnailsResource.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
-import static caosdb.server.FileSystem.getFromFileSystem;
+import static org.caosdb.server.FileSystem.getFromFileSystem;
 
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.utils.ServerMessages;
 import java.io.File;
 import java.io.IOException;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.JDOMException;
 import org.restlet.data.Disposition;
 import org.restlet.data.MediaType;
diff --git a/src/main/java/caosdb/server/resource/UserResource.java b/src/main/java/org/caosdb/server/resource/UserResource.java
similarity index 90%
rename from src/main/java/caosdb/server/resource/UserResource.java
rename to src/main/java/org/caosdb/server/resource/UserResource.java
index 7dc9111e..8ac0df1d 100644
--- a/src/main/java/caosdb/server/resource/UserResource.java
+++ b/src/main/java/org/caosdb/server/resource/UserResource.java
@@ -20,24 +20,24 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
-
-import caosdb.server.CaosDBException;
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
-import caosdb.server.accessControl.ACMPermissions;
-import caosdb.server.accessControl.UserSources;
-import caosdb.server.accessControl.UserStatus;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.entity.Message;
-import caosdb.server.transaction.DeleteUserTransaction;
-import caosdb.server.transaction.InsertUserTransaction;
-import caosdb.server.transaction.RetrieveUserTransaction;
-import caosdb.server.transaction.UpdateUserTransaction;
-import caosdb.server.utils.ServerMessages;
+package org.caosdb.server.resource;
+
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
 import java.sql.SQLException;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.accessControl.ACMPermissions;
+import org.caosdb.server.accessControl.UserSources;
+import org.caosdb.server.accessControl.UserStatus;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.transaction.DeleteUserTransaction;
+import org.caosdb.server.transaction.InsertUserTransaction;
+import org.caosdb.server.transaction.RetrieveUserTransaction;
+import org.caosdb.server.transaction.UpdateUserTransaction;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Document;
 import org.jdom2.Element;
 import org.jdom2.JDOMException;
diff --git a/src/main/java/caosdb/server/resource/UserRolesResource.java b/src/main/java/org/caosdb/server/resource/UserRolesResource.java
similarity index 88%
rename from src/main/java/caosdb/server/resource/UserRolesResource.java
rename to src/main/java/org/caosdb/server/resource/UserRolesResource.java
index 46d51ca4..4eb7f614 100644
--- a/src/main/java/caosdb/server/resource/UserRolesResource.java
+++ b/src/main/java/org/caosdb/server/resource/UserRolesResource.java
@@ -20,21 +20,21 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
-import caosdb.server.CaosDBException;
-import caosdb.server.accessControl.ACMPermissions;
-import caosdb.server.accessControl.UserSources;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.entity.Message;
-import caosdb.server.transaction.RetrieveUserRolesTransaction;
-import caosdb.server.transaction.UpdateUserRolesTransaction;
-import caosdb.server.utils.ServerMessages;
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
 import java.sql.SQLException;
 import java.util.HashSet;
 import java.util.List;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.accessControl.ACMPermissions;
+import org.caosdb.server.accessControl.UserSources;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.transaction.RetrieveUserRolesTransaction;
+import org.caosdb.server.transaction.UpdateUserRolesTransaction;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Document;
 import org.jdom2.Element;
 import org.jdom2.JDOMException;
diff --git a/src/main/java/caosdb/server/resource/Webinterface.java b/src/main/java/org/caosdb/server/resource/Webinterface.java
similarity index 95%
rename from src/main/java/caosdb/server/resource/Webinterface.java
rename to src/main/java/org/caosdb/server/resource/Webinterface.java
index f05ae4e6..bba1fb09 100644
--- a/src/main/java/caosdb/server/resource/Webinterface.java
+++ b/src/main/java/org/caosdb/server/resource/Webinterface.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
-import caosdb.server.utils.WebinterfaceUtils;
 import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.utils.WebinterfaceUtils;
 import org.restlet.data.CacheDirective;
 import org.restlet.data.Header;
 import org.restlet.data.MediaType;
diff --git a/src/main/java/caosdb/server/resource/WebinterfaceBuildNumber.java b/src/main/java/org/caosdb/server/resource/WebinterfaceBuildNumber.java
similarity index 96%
rename from src/main/java/caosdb/server/resource/WebinterfaceBuildNumber.java
rename to src/main/java/org/caosdb/server/resource/WebinterfaceBuildNumber.java
index bb0e47f4..0fe186a0 100644
--- a/src/main/java/caosdb/server/resource/WebinterfaceBuildNumber.java
+++ b/src/main/java/org/caosdb/server/resource/WebinterfaceBuildNumber.java
@@ -16,9 +16,9 @@
  *
  * <p>** end header
  */
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
-import caosdb.server.utils.WebinterfaceUtils;
+import org.caosdb.server.utils.WebinterfaceUtils;
 import org.restlet.data.Status;
 import org.restlet.resource.Get;
 import org.restlet.resource.ResourceException;
diff --git a/src/main/java/caosdb/server/resource/transaction/EntityNamesResource.java b/src/main/java/org/caosdb/server/resource/transaction/EntityNamesResource.java
similarity index 53%
rename from src/main/java/caosdb/server/resource/transaction/EntityNamesResource.java
rename to src/main/java/org/caosdb/server/resource/transaction/EntityNamesResource.java
index 2bfca90b..0b3f8b7a 100644
--- a/src/main/java/caosdb/server/resource/transaction/EntityNamesResource.java
+++ b/src/main/java/org/caosdb/server/resource/transaction/EntityNamesResource.java
@@ -1,8 +1,8 @@
-package caosdb.server.resource.transaction;
+package org.caosdb.server.resource.transaction;
 
-import caosdb.server.entity.container.RetrieveContainer;
-import caosdb.server.resource.transaction.handlers.GetNamesRequestHandler;
-import caosdb.server.resource.transaction.handlers.RequestHandler;
+import org.caosdb.server.entity.container.RetrieveContainer;
+import org.caosdb.server.resource.transaction.handlers.GetNamesRequestHandler;
+import org.caosdb.server.resource.transaction.handlers.RequestHandler;
 
 public class EntityNamesResource extends EntityResource {
 
diff --git a/src/main/java/caosdb/server/resource/transaction/EntityResource.java b/src/main/java/org/caosdb/server/resource/transaction/EntityResource.java
similarity index 85%
rename from src/main/java/caosdb/server/resource/transaction/EntityResource.java
rename to src/main/java/org/caosdb/server/resource/transaction/EntityResource.java
index 70e7bdf7..12659362 100644
--- a/src/main/java/caosdb/server/resource/transaction/EntityResource.java
+++ b/src/main/java/org/caosdb/server/resource/transaction/EntityResource.java
@@ -20,27 +20,27 @@
  *
  * ** end header
  */
-package caosdb.server.resource.transaction;
-
-import caosdb.server.CaosDBException;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.entity.container.DeleteContainer;
-import caosdb.server.entity.container.InsertContainer;
-import caosdb.server.entity.container.RetrieveContainer;
-import caosdb.server.entity.container.UpdateContainer;
-import caosdb.server.resource.AbstractCaosDBServerResource;
-import caosdb.server.resource.transaction.handlers.FileUploadHandler;
-import caosdb.server.resource.transaction.handlers.RequestHandler;
-import caosdb.server.resource.transaction.handlers.SimpleDeleteRequestHandler;
-import caosdb.server.resource.transaction.handlers.SimpleGetRequestHandler;
-import caosdb.server.resource.transaction.handlers.SimpleWriteHandler;
-import caosdb.server.transaction.Delete;
-import caosdb.server.transaction.Insert;
-import caosdb.server.transaction.Retrieve;
-import caosdb.server.transaction.Update;
+package org.caosdb.server.resource.transaction;
+
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
 import java.sql.SQLException;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import org.caosdb.server.entity.container.DeleteContainer;
+import org.caosdb.server.entity.container.InsertContainer;
+import org.caosdb.server.entity.container.RetrieveContainer;
+import org.caosdb.server.entity.container.UpdateContainer;
+import org.caosdb.server.resource.AbstractCaosDBServerResource;
+import org.caosdb.server.resource.transaction.handlers.FileUploadHandler;
+import org.caosdb.server.resource.transaction.handlers.RequestHandler;
+import org.caosdb.server.resource.transaction.handlers.SimpleDeleteRequestHandler;
+import org.caosdb.server.resource.transaction.handlers.SimpleGetRequestHandler;
+import org.caosdb.server.resource.transaction.handlers.SimpleWriteHandler;
+import org.caosdb.server.transaction.Delete;
+import org.caosdb.server.transaction.Insert;
+import org.caosdb.server.transaction.Retrieve;
+import org.caosdb.server.transaction.Update;
 import org.jdom2.Document;
 import org.jdom2.Element;
 import org.jdom2.JDOMException;
diff --git a/src/main/java/caosdb/server/resource/transaction/handlers/FileUploadHandler.java b/src/main/java/org/caosdb/server/resource/transaction/handlers/FileUploadHandler.java
similarity index 90%
rename from src/main/java/caosdb/server/resource/transaction/handlers/FileUploadHandler.java
rename to src/main/java/org/caosdb/server/resource/transaction/handlers/FileUploadHandler.java
index 48003f15..ec5c5bc4 100644
--- a/src/main/java/caosdb/server/resource/transaction/handlers/FileUploadHandler.java
+++ b/src/main/java/org/caosdb/server/resource/transaction/handlers/FileUploadHandler.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.resource.transaction.handlers;
+package org.caosdb.server.resource.transaction.handlers;
 
-import caosdb.server.FileSystem;
-import caosdb.server.entity.FileProperties;
-import caosdb.server.entity.container.WritableContainer;
-import caosdb.server.resource.transaction.EntityResource;
-import caosdb.server.utils.ServerMessages;
 import java.io.IOException;
 import org.apache.commons.fileupload.FileItemIterator;
 import org.apache.commons.fileupload.FileItemStream;
 import org.apache.commons.fileupload.FileUploadException;
 import org.apache.commons.fileupload.disk.DiskFileItemFactory;
+import org.caosdb.server.FileSystem;
+import org.caosdb.server.entity.FileProperties;
+import org.caosdb.server.entity.container.WritableContainer;
+import org.caosdb.server.resource.transaction.EntityResource;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Element;
 import org.restlet.data.MediaType;
 import org.restlet.ext.fileupload.RestletFileUpload;
diff --git a/src/main/java/caosdb/server/resource/transaction/handlers/GetNamesRequestHandler.java b/src/main/java/org/caosdb/server/resource/transaction/handlers/GetNamesRequestHandler.java
similarity index 64%
rename from src/main/java/caosdb/server/resource/transaction/handlers/GetNamesRequestHandler.java
rename to src/main/java/org/caosdb/server/resource/transaction/handlers/GetNamesRequestHandler.java
index f69c1128..c327c683 100644
--- a/src/main/java/caosdb/server/resource/transaction/handlers/GetNamesRequestHandler.java
+++ b/src/main/java/org/caosdb/server/resource/transaction/handlers/GetNamesRequestHandler.java
@@ -1,7 +1,7 @@
-package caosdb.server.resource.transaction.handlers;
+package org.caosdb.server.resource.transaction.handlers;
 
-import caosdb.server.entity.container.RetrieveContainer;
-import caosdb.server.resource.transaction.EntityResource;
+import org.caosdb.server.entity.container.RetrieveContainer;
+import org.caosdb.server.resource.transaction.EntityResource;
 
 public class GetNamesRequestHandler extends RequestHandler<RetrieveContainer> {
 
diff --git a/src/main/java/caosdb/server/resource/transaction/handlers/RequestHandler.java b/src/main/java/org/caosdb/server/resource/transaction/handlers/RequestHandler.java
similarity index 85%
rename from src/main/java/caosdb/server/resource/transaction/handlers/RequestHandler.java
rename to src/main/java/org/caosdb/server/resource/transaction/handlers/RequestHandler.java
index e1390fe8..fc49cc51 100644
--- a/src/main/java/caosdb/server/resource/transaction/handlers/RequestHandler.java
+++ b/src/main/java/org/caosdb/server/resource/transaction/handlers/RequestHandler.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.resource.transaction.handlers;
+package org.caosdb.server.resource.transaction.handlers;
 
-import caosdb.server.entity.container.TransactionContainer;
-import caosdb.server.resource.transaction.EntityResource;
+import org.caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.resource.transaction.EntityResource;
 
 public abstract class RequestHandler<T extends TransactionContainer> {
 
diff --git a/src/main/java/caosdb/server/resource/transaction/handlers/RetrieveGlobalEntityPermissionsHandler.java b/src/main/java/org/caosdb/server/resource/transaction/handlers/RetrieveGlobalEntityPermissionsHandler.java
similarity index 83%
rename from src/main/java/caosdb/server/resource/transaction/handlers/RetrieveGlobalEntityPermissionsHandler.java
rename to src/main/java/org/caosdb/server/resource/transaction/handlers/RetrieveGlobalEntityPermissionsHandler.java
index a1882857..6801e804 100644
--- a/src/main/java/caosdb/server/resource/transaction/handlers/RetrieveGlobalEntityPermissionsHandler.java
+++ b/src/main/java/org/caosdb/server/resource/transaction/handlers/RetrieveGlobalEntityPermissionsHandler.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.resource.transaction.handlers;
+package org.caosdb.server.resource.transaction.handlers;
 
-import caosdb.server.entity.container.RetrieveContainer;
-import caosdb.server.permissions.EntityPermission;
-import caosdb.server.resource.transaction.EntityResource;
+import org.caosdb.server.entity.container.RetrieveContainer;
+import org.caosdb.server.permissions.EntityPermission;
+import org.caosdb.server.resource.transaction.EntityResource;
 
 public class RetrieveGlobalEntityPermissionsHandler extends SimpleGetRequestHandler {
 
diff --git a/src/main/java/caosdb/server/resource/transaction/handlers/RetriveOwnerRequestHandler.java b/src/main/java/org/caosdb/server/resource/transaction/handlers/RetriveOwnerRequestHandler.java
similarity index 84%
rename from src/main/java/caosdb/server/resource/transaction/handlers/RetriveOwnerRequestHandler.java
rename to src/main/java/org/caosdb/server/resource/transaction/handlers/RetriveOwnerRequestHandler.java
index d942389a..7b2d698c 100644
--- a/src/main/java/caosdb/server/resource/transaction/handlers/RetriveOwnerRequestHandler.java
+++ b/src/main/java/org/caosdb/server/resource/transaction/handlers/RetriveOwnerRequestHandler.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.resource.transaction.handlers;
+package org.caosdb.server.resource.transaction.handlers;
 
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.container.RetrieveContainer;
-import caosdb.server.resource.transaction.EntityResource;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.container.RetrieveContainer;
+import org.caosdb.server.resource.transaction.EntityResource;
 
 public class RetriveOwnerRequestHandler extends SimpleGetRequestHandler {
 
diff --git a/src/main/java/caosdb/server/resource/transaction/handlers/SimpleDeleteRequestHandler.java b/src/main/java/org/caosdb/server/resource/transaction/handlers/SimpleDeleteRequestHandler.java
similarity index 91%
rename from src/main/java/caosdb/server/resource/transaction/handlers/SimpleDeleteRequestHandler.java
rename to src/main/java/org/caosdb/server/resource/transaction/handlers/SimpleDeleteRequestHandler.java
index 7fb41645..34c1a383 100644
--- a/src/main/java/caosdb/server/resource/transaction/handlers/SimpleDeleteRequestHandler.java
+++ b/src/main/java/org/caosdb/server/resource/transaction/handlers/SimpleDeleteRequestHandler.java
@@ -22,10 +22,10 @@
  *
  * ** end header
  */
-package caosdb.server.resource.transaction.handlers;
+package org.caosdb.server.resource.transaction.handlers;
 
-import caosdb.server.entity.container.DeleteContainer;
-import caosdb.server.resource.transaction.EntityResource;
+import org.caosdb.server.entity.container.DeleteContainer;
+import org.caosdb.server.resource.transaction.EntityResource;
 
 public class SimpleDeleteRequestHandler extends RequestHandler<DeleteContainer> {
 
diff --git a/src/main/java/caosdb/server/resource/transaction/handlers/SimpleGetRequestHandler.java b/src/main/java/org/caosdb/server/resource/transaction/handlers/SimpleGetRequestHandler.java
similarity index 89%
rename from src/main/java/caosdb/server/resource/transaction/handlers/SimpleGetRequestHandler.java
rename to src/main/java/org/caosdb/server/resource/transaction/handlers/SimpleGetRequestHandler.java
index 18c89d46..b80d9c21 100644
--- a/src/main/java/caosdb/server/resource/transaction/handlers/SimpleGetRequestHandler.java
+++ b/src/main/java/org/caosdb/server/resource/transaction/handlers/SimpleGetRequestHandler.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.resource.transaction.handlers;
+package org.caosdb.server.resource.transaction.handlers;
 
-import caosdb.server.entity.container.RetrieveContainer;
-import caosdb.server.resource.transaction.EntityResource;
+import org.caosdb.server.entity.container.RetrieveContainer;
+import org.caosdb.server.resource.transaction.EntityResource;
 
 public class SimpleGetRequestHandler extends RequestHandler<RetrieveContainer> {
 
diff --git a/src/main/java/caosdb/server/resource/transaction/handlers/SimpleWriteHandler.java b/src/main/java/org/caosdb/server/resource/transaction/handlers/SimpleWriteHandler.java
similarity index 91%
rename from src/main/java/caosdb/server/resource/transaction/handlers/SimpleWriteHandler.java
rename to src/main/java/org/caosdb/server/resource/transaction/handlers/SimpleWriteHandler.java
index 71afcc91..feb784da 100644
--- a/src/main/java/caosdb/server/resource/transaction/handlers/SimpleWriteHandler.java
+++ b/src/main/java/org/caosdb/server/resource/transaction/handlers/SimpleWriteHandler.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.resource.transaction.handlers;
+package org.caosdb.server.resource.transaction.handlers;
 
-import caosdb.server.entity.container.WritableContainer;
-import caosdb.server.resource.transaction.EntityResource;
 import java.util.List;
+import org.caosdb.server.entity.container.WritableContainer;
+import org.caosdb.server.resource.transaction.EntityResource;
 import org.jdom2.Element;
 
 public class SimpleWriteHandler<T extends WritableContainer> extends RequestHandler<T> {
diff --git a/src/main/java/caosdb/server/scripting/CallerSerializer.java b/src/main/java/org/caosdb/server/scripting/CallerSerializer.java
similarity index 95%
rename from src/main/java/caosdb/server/scripting/CallerSerializer.java
rename to src/main/java/org/caosdb/server/scripting/CallerSerializer.java
index 3ffb941d..b133ad5c 100644
--- a/src/main/java/caosdb/server/scripting/CallerSerializer.java
+++ b/src/main/java/org/caosdb/server/scripting/CallerSerializer.java
@@ -21,11 +21,11 @@
  *
  * ** end header
  */
-package caosdb.server.scripting;
+package org.caosdb.server.scripting;
 
-import caosdb.server.CaosDBException;
-import caosdb.server.utils.Serializer;
 import java.io.IOException;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.utils.Serializer;
 import org.jdom2.Element;
 
 /**
diff --git a/src/main/java/caosdb/server/scripting/ScriptingPermissions.java b/src/main/java/org/caosdb/server/scripting/ScriptingPermissions.java
similarity index 88%
rename from src/main/java/caosdb/server/scripting/ScriptingPermissions.java
rename to src/main/java/org/caosdb/server/scripting/ScriptingPermissions.java
index 9165f133..78ad99d7 100644
--- a/src/main/java/caosdb/server/scripting/ScriptingPermissions.java
+++ b/src/main/java/org/caosdb/server/scripting/ScriptingPermissions.java
@@ -1,4 +1,4 @@
-package caosdb.server.scripting;
+package org.caosdb.server.scripting;
 
 public class ScriptingPermissions {
 
diff --git a/src/main/java/caosdb/server/scripting/ScriptingUtils.java b/src/main/java/org/caosdb/server/scripting/ScriptingUtils.java
similarity index 90%
rename from src/main/java/caosdb/server/scripting/ScriptingUtils.java
rename to src/main/java/org/caosdb/server/scripting/ScriptingUtils.java
index cee65faf..5bb94989 100644
--- a/src/main/java/caosdb/server/scripting/ScriptingUtils.java
+++ b/src/main/java/org/caosdb/server/scripting/ScriptingUtils.java
@@ -20,16 +20,16 @@
  *
  * ** end header
  */
-package caosdb.server.scripting;
+package org.caosdb.server.scripting;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
-import caosdb.server.entity.Message;
-import caosdb.server.utils.ConfigurationException;
-import caosdb.server.utils.ServerMessages;
-import caosdb.server.utils.Utils;
 import java.io.File;
 import java.nio.file.Path;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.utils.ConfigurationException;
+import org.caosdb.server.utils.ServerMessages;
+import org.caosdb.server.utils.Utils;
 
 public class ScriptingUtils {
 
diff --git a/src/main/java/caosdb/server/scripting/ServerSideScriptingCaller.java b/src/main/java/org/caosdb/server/scripting/ServerSideScriptingCaller.java
similarity index 95%
rename from src/main/java/caosdb/server/scripting/ServerSideScriptingCaller.java
rename to src/main/java/org/caosdb/server/scripting/ServerSideScriptingCaller.java
index faeb96e0..2ec19a42 100644
--- a/src/main/java/caosdb/server/scripting/ServerSideScriptingCaller.java
+++ b/src/main/java/org/caosdb/server/scripting/ServerSideScriptingCaller.java
@@ -22,15 +22,8 @@
  * ** end header
  */
 
-package caosdb.server.scripting;
-
-import caosdb.server.CaosDBException;
-import caosdb.server.CaosDBServer;
-import caosdb.server.FileSystem;
-import caosdb.server.ServerProperties;
-import caosdb.server.entity.FileProperties;
-import caosdb.server.entity.Message;
-import caosdb.server.utils.ServerMessages;
+package org.caosdb.server.scripting;
+
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.IOException;
@@ -41,6 +34,13 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import org.apache.commons.io.FileUtils;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.FileSystem;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.entity.FileProperties;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.utils.ServerMessages;
 
 /**
  * Calls server-side scripting scripts.
@@ -170,7 +170,7 @@ public class ServerSideScriptingCaller {
       if (!link.getParentFile().exists()) {
         link.getParentFile().mkdirs();
       }
-      caosdb.server.utils.FileUtils.createSymlink(link, f.getFile());
+      org.caosdb.server.utils.FileUtils.createSymlink(link, f.getFile());
     }
   }
 
diff --git a/src/main/java/caosdb/server/scripting/TimeoutException.java b/src/main/java/org/caosdb/server/scripting/TimeoutException.java
similarity index 96%
rename from src/main/java/caosdb/server/scripting/TimeoutException.java
rename to src/main/java/org/caosdb/server/scripting/TimeoutException.java
index 655cb6a7..3eaa3708 100644
--- a/src/main/java/caosdb/server/scripting/TimeoutException.java
+++ b/src/main/java/org/caosdb/server/scripting/TimeoutException.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.scripting;
+package org.caosdb.server.scripting;
 
 public class TimeoutException extends Exception {
 
diff --git a/src/main/java/caosdb/server/scripting/TimeoutProcess.java b/src/main/java/org/caosdb/server/scripting/TimeoutProcess.java
similarity index 98%
rename from src/main/java/caosdb/server/scripting/TimeoutProcess.java
rename to src/main/java/org/caosdb/server/scripting/TimeoutProcess.java
index f41a2663..c867ca3b 100644
--- a/src/main/java/caosdb/server/scripting/TimeoutProcess.java
+++ b/src/main/java/org/caosdb/server/scripting/TimeoutProcess.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.scripting;
+package org.caosdb.server.scripting;
 
 import java.io.InputStream;
 
diff --git a/src/main/java/caosdb/server/terminal/CaosDBTerminal.java b/src/main/java/org/caosdb/server/terminal/CaosDBTerminal.java
similarity index 98%
rename from src/main/java/caosdb/server/terminal/CaosDBTerminal.java
rename to src/main/java/org/caosdb/server/terminal/CaosDBTerminal.java
index c8549553..96bd6315 100644
--- a/src/main/java/caosdb/server/terminal/CaosDBTerminal.java
+++ b/src/main/java/org/caosdb/server/terminal/CaosDBTerminal.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.terminal;
+package org.caosdb.server.terminal;
 
 import com.googlecode.lanterna.TerminalFacade;
 import com.googlecode.lanterna.gui.GUIScreen;
diff --git a/src/main/java/caosdb/server/terminal/DatabaseAccessPanel.java b/src/main/java/org/caosdb/server/terminal/DatabaseAccessPanel.java
similarity index 94%
rename from src/main/java/caosdb/server/terminal/DatabaseAccessPanel.java
rename to src/main/java/org/caosdb/server/terminal/DatabaseAccessPanel.java
index 49a6e35d..68770496 100644
--- a/src/main/java/caosdb/server/terminal/DatabaseAccessPanel.java
+++ b/src/main/java/org/caosdb/server/terminal/DatabaseAccessPanel.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.terminal;
+package org.caosdb.server.terminal;
 
-import caosdb.server.database.DatabaseMonitor;
-import caosdb.server.utils.Observable;
-import caosdb.server.utils.Observer;
 import com.googlecode.lanterna.gui.component.Label;
 import com.googlecode.lanterna.gui.component.Panel;
 import com.googlecode.lanterna.gui.component.Table;
+import org.caosdb.server.database.DatabaseMonitor;
+import org.caosdb.server.utils.Observable;
+import org.caosdb.server.utils.Observer;
 
 public final class DatabaseAccessPanel extends Panel implements Observer {
 
diff --git a/src/main/java/caosdb/server/terminal/EntitiesPanel.java b/src/main/java/org/caosdb/server/terminal/EntitiesPanel.java
similarity index 97%
rename from src/main/java/caosdb/server/terminal/EntitiesPanel.java
rename to src/main/java/org/caosdb/server/terminal/EntitiesPanel.java
index 10c5296e..b2f7489d 100644
--- a/src/main/java/caosdb/server/terminal/EntitiesPanel.java
+++ b/src/main/java/org/caosdb/server/terminal/EntitiesPanel.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.terminal;
+package org.caosdb.server.terminal;
 
-import caosdb.server.utils.Info;
 import com.googlecode.lanterna.gui.component.Label;
 import com.googlecode.lanterna.gui.component.Panel;
 import com.googlecode.lanterna.gui.component.Table;
+import org.caosdb.server.utils.Info;
 
 public final class EntitiesPanel extends Panel implements StatComponent {
 
diff --git a/src/main/java/caosdb/server/terminal/MainWindow.java b/src/main/java/org/caosdb/server/terminal/MainWindow.java
similarity index 98%
rename from src/main/java/caosdb/server/terminal/MainWindow.java
rename to src/main/java/org/caosdb/server/terminal/MainWindow.java
index 7bdfefc2..aa22f12b 100644
--- a/src/main/java/caosdb/server/terminal/MainWindow.java
+++ b/src/main/java/org/caosdb/server/terminal/MainWindow.java
@@ -20,9 +20,8 @@
  *
  * ** end header
  */
-package caosdb.server.terminal;
+package org.caosdb.server.terminal;
 
-import caosdb.server.utils.Observer;
 import com.googlecode.lanterna.gui.Action;
 import com.googlecode.lanterna.gui.Border;
 import com.googlecode.lanterna.gui.Window;
@@ -35,6 +34,7 @@ import com.googlecode.lanterna.gui.dialog.MessageBox;
 import com.googlecode.lanterna.gui.layout.LinearLayout;
 import com.googlecode.lanterna.input.Key;
 import com.googlecode.lanterna.input.Key.Kind;
+import org.caosdb.server.utils.Observer;
 
 public class MainWindow extends Window {
 
diff --git a/src/main/java/caosdb/server/terminal/OutputStreamPanel.java b/src/main/java/org/caosdb/server/terminal/OutputStreamPanel.java
similarity index 99%
rename from src/main/java/caosdb/server/terminal/OutputStreamPanel.java
rename to src/main/java/org/caosdb/server/terminal/OutputStreamPanel.java
index 235a927c..50284f8a 100644
--- a/src/main/java/caosdb/server/terminal/OutputStreamPanel.java
+++ b/src/main/java/org/caosdb/server/terminal/OutputStreamPanel.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.terminal;
+package org.caosdb.server.terminal;
 
 import com.googlecode.lanterna.gui.Action;
 import com.googlecode.lanterna.gui.component.Button;
diff --git a/src/main/java/caosdb/server/terminal/StatComponent.java b/src/main/java/org/caosdb/server/terminal/StatComponent.java
similarity index 96%
rename from src/main/java/caosdb/server/terminal/StatComponent.java
rename to src/main/java/org/caosdb/server/terminal/StatComponent.java
index 24f9fa57..90a9ac11 100644
--- a/src/main/java/caosdb/server/terminal/StatComponent.java
+++ b/src/main/java/org/caosdb/server/terminal/StatComponent.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.terminal;
+package org.caosdb.server.terminal;
 
 import com.googlecode.lanterna.gui.Component;
 
diff --git a/src/main/java/caosdb/server/terminal/StatLabel.java b/src/main/java/org/caosdb/server/terminal/StatLabel.java
similarity index 93%
rename from src/main/java/caosdb/server/terminal/StatLabel.java
rename to src/main/java/org/caosdb/server/terminal/StatLabel.java
index 70568a92..73a03ac3 100644
--- a/src/main/java/caosdb/server/terminal/StatLabel.java
+++ b/src/main/java/org/caosdb/server/terminal/StatLabel.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.terminal;
+package org.caosdb.server.terminal;
 
-import caosdb.server.utils.Observable;
-import caosdb.server.utils.Observer;
 import com.googlecode.lanterna.gui.component.Label;
+import org.caosdb.server.utils.Observable;
+import org.caosdb.server.utils.Observer;
 
 public class StatLabel extends Label implements Observer, StatComponent {
 
diff --git a/src/main/java/caosdb/server/terminal/StatTable.java b/src/main/java/org/caosdb/server/terminal/StatTable.java
similarity index 97%
rename from src/main/java/caosdb/server/terminal/StatTable.java
rename to src/main/java/org/caosdb/server/terminal/StatTable.java
index 5d2ecb29..e7234cdb 100644
--- a/src/main/java/caosdb/server/terminal/StatTable.java
+++ b/src/main/java/org/caosdb/server/terminal/StatTable.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.terminal;
+package org.caosdb.server.terminal;
 
 import com.googlecode.lanterna.gui.Component;
 import com.googlecode.lanterna.gui.component.Panel;
diff --git a/src/main/java/caosdb/server/terminal/StatsPanel.java b/src/main/java/org/caosdb/server/terminal/StatsPanel.java
similarity index 98%
rename from src/main/java/caosdb/server/terminal/StatsPanel.java
rename to src/main/java/org/caosdb/server/terminal/StatsPanel.java
index aa0f4a64..3b41ac6a 100644
--- a/src/main/java/caosdb/server/terminal/StatsPanel.java
+++ b/src/main/java/org/caosdb/server/terminal/StatsPanel.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.terminal;
+package org.caosdb.server.terminal;
 
 import com.googlecode.lanterna.gui.Action;
 import com.googlecode.lanterna.gui.Border;
diff --git a/src/main/java/caosdb/server/terminal/SystemErrPanel.java b/src/main/java/org/caosdb/server/terminal/SystemErrPanel.java
similarity index 97%
rename from src/main/java/caosdb/server/terminal/SystemErrPanel.java
rename to src/main/java/org/caosdb/server/terminal/SystemErrPanel.java
index 75e4291a..9bf800fd 100644
--- a/src/main/java/caosdb/server/terminal/SystemErrPanel.java
+++ b/src/main/java/org/caosdb/server/terminal/SystemErrPanel.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.terminal;
+package org.caosdb.server.terminal;
 
 import com.googlecode.lanterna.gui.component.Label;
 import java.io.IOException;
diff --git a/src/main/java/caosdb/server/terminal/SystemOutPanel.java b/src/main/java/org/caosdb/server/terminal/SystemOutPanel.java
similarity index 97%
rename from src/main/java/caosdb/server/terminal/SystemOutPanel.java
rename to src/main/java/org/caosdb/server/terminal/SystemOutPanel.java
index 48e16cc5..b34cdaf9 100644
--- a/src/main/java/caosdb/server/terminal/SystemOutPanel.java
+++ b/src/main/java/org/caosdb/server/terminal/SystemOutPanel.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.terminal;
+package org.caosdb.server.terminal;
 
 import com.googlecode.lanterna.gui.component.Label;
 import java.io.IOException;
diff --git a/src/main/java/caosdb/server/transaction/AccessControlTransaction.java b/src/main/java/org/caosdb/server/transaction/AccessControlTransaction.java
similarity index 87%
rename from src/main/java/caosdb/server/transaction/AccessControlTransaction.java
rename to src/main/java/org/caosdb/server/transaction/AccessControlTransaction.java
index ac5e3030..0a2d1363 100644
--- a/src/main/java/caosdb/server/transaction/AccessControlTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/AccessControlTransaction.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.database.DatabaseMonitor;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.misc.RollBackHandler;
-import caosdb.server.entity.Message;
+import org.caosdb.server.database.DatabaseMonitor;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.misc.RollBackHandler;
+import org.caosdb.server.entity.Message;
 
 public abstract class AccessControlTransaction implements TransactionInterface {
 
diff --git a/src/main/java/caosdb/server/transaction/ChecksumUpdater.java b/src/main/java/org/caosdb/server/transaction/ChecksumUpdater.java
similarity index 88%
rename from src/main/java/caosdb/server/transaction/ChecksumUpdater.java
rename to src/main/java/org/caosdb/server/transaction/ChecksumUpdater.java
index 29603fc5..1d8bb44c 100644
--- a/src/main/java/caosdb/server/transaction/ChecksumUpdater.java
+++ b/src/main/java/org/caosdb/server/transaction/ChecksumUpdater.java
@@ -20,22 +20,22 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
-
-import caosdb.server.CaosDBException;
-import caosdb.server.database.DatabaseMonitor;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.transaction.GetUpdateableChecksums;
-import caosdb.server.database.backend.transaction.RetrieveSparseEntity;
-import caosdb.server.database.backend.transaction.UpdateSparseEntity;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.FileProperties;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.container.TransactionContainer;
-import caosdb.server.utils.FileUtils;
+package org.caosdb.server.transaction;
+
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.database.DatabaseMonitor;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.transaction.GetUpdateableChecksums;
+import org.caosdb.server.database.backend.transaction.RetrieveSparseEntity;
+import org.caosdb.server.database.backend.transaction.UpdateSparseEntity;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.FileProperties;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.utils.FileUtils;
 
 /**
  * Retrieves all file without a checksum, calculates one and stores it to the database (method
diff --git a/src/main/java/caosdb/server/transaction/Delete.java b/src/main/java/org/caosdb/server/transaction/Delete.java
similarity index 85%
rename from src/main/java/caosdb/server/transaction/Delete.java
rename to src/main/java/org/caosdb/server/transaction/Delete.java
index 1d3aacbc..44e68b3a 100644
--- a/src/main/java/caosdb/server/transaction/Delete.java
+++ b/src/main/java/org/caosdb/server/transaction/Delete.java
@@ -20,19 +20,19 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.transaction.DeleteEntity;
-import caosdb.server.database.backend.transaction.RetrieveFullEntity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.container.DeleteContainer;
-import caosdb.server.entity.container.TransactionContainer;
-import caosdb.server.jobs.JobExecutionTime;
-import caosdb.server.permissions.EntityPermission;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
 import org.apache.shiro.authz.AuthorizationException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.transaction.DeleteEntity;
+import org.caosdb.server.database.backend.transaction.RetrieveFullEntity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.container.DeleteContainer;
+import org.caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.server.permissions.EntityPermission;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 public class Delete extends WriteTransaction<DeleteContainer> {
 
diff --git a/src/main/java/caosdb/server/transaction/DeleteRoleTransaction.java b/src/main/java/org/caosdb/server/transaction/DeleteRoleTransaction.java
similarity index 81%
rename from src/main/java/caosdb/server/transaction/DeleteRoleTransaction.java
rename to src/main/java/org/caosdb/server/transaction/DeleteRoleTransaction.java
index e1ba3bec..ad9a9925 100644
--- a/src/main/java/caosdb/server/transaction/DeleteRoleTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/DeleteRoleTransaction.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.accessControl.ACMPermissions;
-import caosdb.server.database.backend.transaction.DeleteRole;
-import caosdb.server.database.backend.transaction.RetrieveRole;
-import caosdb.server.database.backend.transaction.SetPermissionRules;
-import caosdb.server.utils.ServerMessages;
 import org.apache.shiro.SecurityUtils;
+import org.caosdb.server.accessControl.ACMPermissions;
+import org.caosdb.server.database.backend.transaction.DeleteRole;
+import org.caosdb.server.database.backend.transaction.RetrieveRole;
+import org.caosdb.server.database.backend.transaction.SetPermissionRules;
+import org.caosdb.server.utils.ServerMessages;
 
 public class DeleteRoleTransaction extends AccessControlTransaction {
 
diff --git a/src/main/java/caosdb/server/transaction/DeleteUserTransaction.java b/src/main/java/org/caosdb/server/transaction/DeleteUserTransaction.java
similarity index 78%
rename from src/main/java/caosdb/server/transaction/DeleteUserTransaction.java
rename to src/main/java/org/caosdb/server/transaction/DeleteUserTransaction.java
index cdedce31..0f2f5b7f 100644
--- a/src/main/java/caosdb/server/transaction/DeleteUserTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/DeleteUserTransaction.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.accessControl.ACMPermissions;
-import caosdb.server.accessControl.CredentialsValidator;
-import caosdb.server.accessControl.UserSources;
-import caosdb.server.database.backend.transaction.DeletePassword;
-import caosdb.server.database.backend.transaction.DeleteUser;
-import caosdb.server.database.backend.transaction.RetrievePasswordValidator;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.Message.MessageType;
-import caosdb.server.utils.ServerMessages;
 import org.apache.shiro.SecurityUtils;
+import org.caosdb.server.accessControl.ACMPermissions;
+import org.caosdb.server.accessControl.CredentialsValidator;
+import org.caosdb.server.accessControl.UserSources;
+import org.caosdb.server.database.backend.transaction.DeletePassword;
+import org.caosdb.server.database.backend.transaction.DeleteUser;
+import org.caosdb.server.database.backend.transaction.RetrievePasswordValidator;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.Message.MessageType;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Element;
 
 public class DeleteUserTransaction extends AccessControlTransaction {
diff --git a/src/main/java/caosdb/server/transaction/FileStorageConsistencyCheck.java b/src/main/java/org/caosdb/server/transaction/FileStorageConsistencyCheck.java
similarity index 89%
rename from src/main/java/caosdb/server/transaction/FileStorageConsistencyCheck.java
rename to src/main/java/org/caosdb/server/transaction/FileStorageConsistencyCheck.java
index 26cab30e..5d2a04b1 100644
--- a/src/main/java/caosdb/server/transaction/FileStorageConsistencyCheck.java
+++ b/src/main/java/org/caosdb/server/transaction/FileStorageConsistencyCheck.java
@@ -20,27 +20,27 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
-
-import caosdb.datetime.UTCDateTime;
-import caosdb.server.database.DatabaseMonitor;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.transaction.FileConsistencyCheck;
-import caosdb.server.database.backend.transaction.GetFileIterator;
-import caosdb.server.database.backend.transaction.GetFileRecordByPath;
-import caosdb.server.database.backend.transaction.RetrieveAllUncheckedFiles;
-import caosdb.server.database.backend.transaction.SetFileCheckedTimestamp;
-import caosdb.server.database.exceptions.EntityDoesNotExistException;
-import caosdb.server.database.proto.SparseEntity;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.xml.ToElementable;
-import caosdb.server.utils.SHA512;
+package org.caosdb.server.transaction;
+
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map.Entry;
 import java.util.TimeZone;
+import org.caosdb.datetime.UTCDateTime;
+import org.caosdb.server.database.DatabaseMonitor;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.transaction.FileConsistencyCheck;
+import org.caosdb.server.database.backend.transaction.GetFileIterator;
+import org.caosdb.server.database.backend.transaction.GetFileRecordByPath;
+import org.caosdb.server.database.backend.transaction.RetrieveAllUncheckedFiles;
+import org.caosdb.server.database.backend.transaction.SetFileCheckedTimestamp;
+import org.caosdb.server.database.exceptions.EntityDoesNotExistException;
+import org.caosdb.server.database.proto.SparseEntity;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.xml.ToElementable;
+import org.caosdb.server.utils.SHA512;
 import org.jdom2.Element;
 
 public class FileStorageConsistencyCheck extends Thread
diff --git a/src/main/java/caosdb/server/transaction/Insert.java b/src/main/java/org/caosdb/server/transaction/Insert.java
similarity index 86%
rename from src/main/java/caosdb/server/transaction/Insert.java
rename to src/main/java/org/caosdb/server/transaction/Insert.java
index c1d53f30..f60fc128 100644
--- a/src/main/java/caosdb/server/transaction/Insert.java
+++ b/src/main/java/org/caosdb/server/transaction/Insert.java
@@ -20,19 +20,19 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.transaction.InsertEntity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.FileProperties;
-import caosdb.server.entity.Version;
-import caosdb.server.entity.container.InsertContainer;
-import caosdb.server.entity.container.TransactionContainer;
-import caosdb.server.permissions.EntityACL;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
 import org.apache.shiro.SecurityUtils;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.transaction.InsertEntity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.FileProperties;
+import org.caosdb.server.entity.Version;
+import org.caosdb.server.entity.container.InsertContainer;
+import org.caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.permissions.EntityACL;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 public class Insert extends WriteTransaction<InsertContainer> {
 
diff --git a/src/main/java/caosdb/server/transaction/InsertLogRecordTransaction.java b/src/main/java/org/caosdb/server/transaction/InsertLogRecordTransaction.java
similarity index 87%
rename from src/main/java/caosdb/server/transaction/InsertLogRecordTransaction.java
rename to src/main/java/org/caosdb/server/transaction/InsertLogRecordTransaction.java
index 3762b0be..be01d930 100644
--- a/src/main/java/caosdb/server/transaction/InsertLogRecordTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/InsertLogRecordTransaction.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.database.DatabaseMonitor;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.transaction.InsertLogRecord;
 import java.util.List;
 import java.util.logging.LogRecord;
+import org.caosdb.server.database.DatabaseMonitor;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.transaction.InsertLogRecord;
 
 public class InsertLogRecordTransaction implements TransactionInterface {
 
diff --git a/src/main/java/caosdb/server/transaction/InsertRoleTransaction.java b/src/main/java/org/caosdb/server/transaction/InsertRoleTransaction.java
similarity index 82%
rename from src/main/java/caosdb/server/transaction/InsertRoleTransaction.java
rename to src/main/java/org/caosdb/server/transaction/InsertRoleTransaction.java
index 83772106..b70e2bd7 100644
--- a/src/main/java/caosdb/server/transaction/InsertRoleTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/InsertRoleTransaction.java
@@ -20,14 +20,14 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.accessControl.ACMPermissions;
-import caosdb.server.accessControl.Role;
-import caosdb.server.database.backend.transaction.InsertRole;
-import caosdb.server.database.backend.transaction.RetrieveRole;
-import caosdb.server.utils.ServerMessages;
 import org.apache.shiro.SecurityUtils;
+import org.caosdb.server.accessControl.ACMPermissions;
+import org.caosdb.server.accessControl.Role;
+import org.caosdb.server.database.backend.transaction.InsertRole;
+import org.caosdb.server.database.backend.transaction.RetrieveRole;
+import org.caosdb.server.utils.ServerMessages;
 
 public class InsertRoleTransaction extends AccessControlTransaction {
 
diff --git a/src/main/java/caosdb/server/transaction/InsertUserTransaction.java b/src/main/java/org/caosdb/server/transaction/InsertUserTransaction.java
similarity index 81%
rename from src/main/java/caosdb/server/transaction/InsertUserTransaction.java
rename to src/main/java/org/caosdb/server/transaction/InsertUserTransaction.java
index 75b876b8..b91b1aa6 100644
--- a/src/main/java/caosdb/server/transaction/InsertUserTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/InsertUserTransaction.java
@@ -20,18 +20,18 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.accessControl.ACMPermissions;
-import caosdb.server.accessControl.UserSources;
-import caosdb.server.accessControl.UserStatus;
-import caosdb.server.database.backend.transaction.RetrievePasswordValidator;
-import caosdb.server.database.backend.transaction.SetPassword;
-import caosdb.server.database.backend.transaction.UpdateUser;
-import caosdb.server.database.proto.ProtoUser;
-import caosdb.server.utils.ServerMessages;
-import caosdb.server.utils.Utils;
 import org.apache.shiro.SecurityUtils;
+import org.caosdb.server.accessControl.ACMPermissions;
+import org.caosdb.server.accessControl.UserSources;
+import org.caosdb.server.accessControl.UserStatus;
+import org.caosdb.server.database.backend.transaction.RetrievePasswordValidator;
+import org.caosdb.server.database.backend.transaction.SetPassword;
+import org.caosdb.server.database.backend.transaction.UpdateUser;
+import org.caosdb.server.database.proto.ProtoUser;
+import org.caosdb.server.utils.ServerMessages;
+import org.caosdb.server.utils.Utils;
 import org.jdom2.Element;
 
 public class InsertUserTransaction extends AccessControlTransaction {
diff --git a/src/main/java/caosdb/server/transaction/Retrieve.java b/src/main/java/org/caosdb/server/transaction/Retrieve.java
similarity index 85%
rename from src/main/java/caosdb/server/transaction/Retrieve.java
rename to src/main/java/org/caosdb/server/transaction/Retrieve.java
index 0de1b8e0..5b01657a 100644
--- a/src/main/java/caosdb/server/transaction/Retrieve.java
+++ b/src/main/java/org/caosdb/server/transaction/Retrieve.java
@@ -20,22 +20,22 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
-
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.transaction.RetrieveFullEntity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.container.RetrieveContainer;
-import caosdb.server.entity.xml.SetFieldStrategy;
-import caosdb.server.entity.xml.ToElementStrategy;
-import caosdb.server.entity.xml.ToElementable;
-import caosdb.server.jobs.core.Mode;
-import caosdb.server.jobs.core.RemoveDuplicates;
-import caosdb.server.jobs.core.ResolveNames;
-import caosdb.server.permissions.EntityPermission;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+package org.caosdb.server.transaction;
+
 import org.apache.shiro.authz.AuthorizationException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.transaction.RetrieveFullEntity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.container.RetrieveContainer;
+import org.caosdb.server.entity.xml.SetFieldStrategy;
+import org.caosdb.server.entity.xml.ToElementStrategy;
+import org.caosdb.server.entity.xml.ToElementable;
+import org.caosdb.server.jobs.core.Mode;
+import org.caosdb.server.jobs.core.RemoveDuplicates;
+import org.caosdb.server.jobs.core.ResolveNames;
+import org.caosdb.server.permissions.EntityPermission;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Element;
 
 public class Retrieve extends Transaction<RetrieveContainer> {
diff --git a/src/main/java/caosdb/server/transaction/RetrieveLogRecordTransaction.java b/src/main/java/org/caosdb/server/transaction/RetrieveLogRecordTransaction.java
similarity index 89%
rename from src/main/java/caosdb/server/transaction/RetrieveLogRecordTransaction.java
rename to src/main/java/org/caosdb/server/transaction/RetrieveLogRecordTransaction.java
index bbe2e1f1..49d850db 100644
--- a/src/main/java/caosdb/server/transaction/RetrieveLogRecordTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/RetrieveLogRecordTransaction.java
@@ -20,16 +20,16 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.accessControl.ACMPermissions;
-import caosdb.server.database.DatabaseMonitor;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.transaction.RetrieveLogRecord;
 import java.util.List;
 import java.util.logging.Level;
 import java.util.logging.LogRecord;
 import org.apache.shiro.SecurityUtils;
+import org.caosdb.server.accessControl.ACMPermissions;
+import org.caosdb.server.database.DatabaseMonitor;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.transaction.RetrieveLogRecord;
 
 public class RetrieveLogRecordTransaction implements TransactionInterface {
 
diff --git a/src/main/java/caosdb/server/transaction/RetrievePasswordValidatorTransaction.java b/src/main/java/org/caosdb/server/transaction/RetrievePasswordValidatorTransaction.java
similarity index 86%
rename from src/main/java/caosdb/server/transaction/RetrievePasswordValidatorTransaction.java
rename to src/main/java/org/caosdb/server/transaction/RetrievePasswordValidatorTransaction.java
index d18b5c30..bb1e136b 100644
--- a/src/main/java/caosdb/server/transaction/RetrievePasswordValidatorTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/RetrievePasswordValidatorTransaction.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.accessControl.CredentialsValidator;
-import caosdb.server.database.backend.transaction.RetrievePasswordValidator;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.accessControl.CredentialsValidator;
+import org.caosdb.server.database.backend.transaction.RetrievePasswordValidator;
+import org.caosdb.server.utils.ServerMessages;
 
 public class RetrievePasswordValidatorTransaction extends AccessControlTransaction {
 
diff --git a/src/main/java/caosdb/server/transaction/RetrievePermissionRulesTransaction.java b/src/main/java/org/caosdb/server/transaction/RetrievePermissionRulesTransaction.java
similarity index 84%
rename from src/main/java/caosdb/server/transaction/RetrievePermissionRulesTransaction.java
rename to src/main/java/org/caosdb/server/transaction/RetrievePermissionRulesTransaction.java
index d02722fd..225d0688 100644
--- a/src/main/java/caosdb/server/transaction/RetrievePermissionRulesTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/RetrievePermissionRulesTransaction.java
@@ -20,13 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.database.backend.transaction.RetrievePermissionRules;
-import caosdb.server.database.backend.transaction.RetrieveRole;
-import caosdb.server.permissions.PermissionRule;
-import caosdb.server.utils.ServerMessages;
 import java.util.HashSet;
+import org.caosdb.server.database.backend.transaction.RetrievePermissionRules;
+import org.caosdb.server.database.backend.transaction.RetrieveRole;
+import org.caosdb.server.permissions.PermissionRule;
+import org.caosdb.server.utils.ServerMessages;
 
 public class RetrievePermissionRulesTransaction extends AccessControlTransaction {
 
diff --git a/src/main/java/caosdb/server/transaction/RetrieveRoleTransaction.java b/src/main/java/org/caosdb/server/transaction/RetrieveRoleTransaction.java
similarity index 87%
rename from src/main/java/caosdb/server/transaction/RetrieveRoleTransaction.java
rename to src/main/java/org/caosdb/server/transaction/RetrieveRoleTransaction.java
index 4d019f87..c7c251ba 100644
--- a/src/main/java/caosdb/server/transaction/RetrieveRoleTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/RetrieveRoleTransaction.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.accessControl.Role;
-import caosdb.server.database.backend.transaction.RetrieveRole;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.accessControl.Role;
+import org.caosdb.server.database.backend.transaction.RetrieveRole;
+import org.caosdb.server.utils.ServerMessages;
 
 public class RetrieveRoleTransaction extends AccessControlTransaction {
 
diff --git a/src/main/java/caosdb/server/transaction/RetrieveSparseEntityByPath.java b/src/main/java/org/caosdb/server/transaction/RetrieveSparseEntityByPath.java
similarity index 86%
rename from src/main/java/caosdb/server/transaction/RetrieveSparseEntityByPath.java
rename to src/main/java/org/caosdb/server/transaction/RetrieveSparseEntityByPath.java
index 2b936247..d82985fe 100644
--- a/src/main/java/caosdb/server/transaction/RetrieveSparseEntityByPath.java
+++ b/src/main/java/org/caosdb/server/transaction/RetrieveSparseEntityByPath.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.database.backend.transaction.GetFileRecordByPath;
-import caosdb.server.database.backend.transaction.RetrieveSparseEntity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.database.backend.transaction.GetFileRecordByPath;
+import org.caosdb.server.database.backend.transaction.RetrieveSparseEntity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.container.TransactionContainer;
 
 public class RetrieveSparseEntityByPath extends Transaction<TransactionContainer> {
 
diff --git a/src/main/java/caosdb/server/transaction/RetrieveUserRolesTransaction.java b/src/main/java/org/caosdb/server/transaction/RetrieveUserRolesTransaction.java
similarity index 91%
rename from src/main/java/caosdb/server/transaction/RetrieveUserRolesTransaction.java
rename to src/main/java/org/caosdb/server/transaction/RetrieveUserRolesTransaction.java
index e864c20b..97e518d0 100644
--- a/src/main/java/caosdb/server/transaction/RetrieveUserRolesTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/RetrieveUserRolesTransaction.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.accessControl.Principal;
-import caosdb.server.accessControl.UserSources;
-import caosdb.server.utils.ServerMessages;
 import java.util.Set;
+import org.caosdb.server.accessControl.Principal;
+import org.caosdb.server.accessControl.UserSources;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Element;
 
 public class RetrieveUserRolesTransaction implements TransactionInterface {
diff --git a/src/main/java/caosdb/server/transaction/RetrieveUserTransaction.java b/src/main/java/org/caosdb/server/transaction/RetrieveUserTransaction.java
similarity index 88%
rename from src/main/java/caosdb/server/transaction/RetrieveUserTransaction.java
rename to src/main/java/org/caosdb/server/transaction/RetrieveUserTransaction.java
index f2728a64..228b1585 100644
--- a/src/main/java/caosdb/server/transaction/RetrieveUserTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/RetrieveUserTransaction.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.accessControl.Principal;
-import caosdb.server.accessControl.UserSources;
-import caosdb.server.accessControl.UserStatus;
-import caosdb.server.database.backend.transaction.RetrieveUser;
-import caosdb.server.database.proto.ProtoUser;
-import caosdb.server.utils.ServerMessages;
 import java.util.Set;
+import org.caosdb.server.accessControl.Principal;
+import org.caosdb.server.accessControl.UserSources;
+import org.caosdb.server.accessControl.UserStatus;
+import org.caosdb.server.database.backend.transaction.RetrieveUser;
+import org.caosdb.server.database.proto.ProtoUser;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Element;
 
 public class RetrieveUserTransaction extends AccessControlTransaction {
diff --git a/src/main/java/caosdb/server/transaction/Transaction.java b/src/main/java/org/caosdb/server/transaction/Transaction.java
similarity index 88%
rename from src/main/java/caosdb/server/transaction/Transaction.java
rename to src/main/java/org/caosdb/server/transaction/Transaction.java
index d2c16438..0235b8a2 100644
--- a/src/main/java/caosdb/server/transaction/Transaction.java
+++ b/src/main/java/org/caosdb/server/transaction/Transaction.java
@@ -22,33 +22,33 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
-
-import caosdb.datetime.UTCDateTime;
-import caosdb.server.accessControl.Principal;
-import caosdb.server.database.DatabaseMonitor;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.transaction.InsertTransactionHistory;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.misc.TransactionBenchmark;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.Message.MessageType;
-import caosdb.server.entity.container.TransactionContainer;
-import caosdb.server.jobs.Job;
-import caosdb.server.jobs.JobExecutionTime;
-import caosdb.server.jobs.Schedule;
-import caosdb.server.jobs.core.AccessControl;
-import caosdb.server.jobs.core.CheckDatatypePresent;
-import caosdb.server.jobs.core.CheckEntityACLRoles;
-import caosdb.server.jobs.core.Mode;
-import caosdb.server.jobs.core.PickUp;
-import caosdb.server.utils.AbstractObservable;
-import caosdb.server.utils.Info;
-import caosdb.server.utils.Observer;
+package org.caosdb.server.transaction;
+
 import java.util.HashMap;
 import java.util.List;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.datetime.UTCDateTime;
+import org.caosdb.server.accessControl.Principal;
+import org.caosdb.server.database.DatabaseMonitor;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.transaction.InsertTransactionHistory;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.misc.TransactionBenchmark;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.Message.MessageType;
+import org.caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.jobs.Job;
+import org.caosdb.server.jobs.JobExecutionTime;
+import org.caosdb.server.jobs.Schedule;
+import org.caosdb.server.jobs.core.AccessControl;
+import org.caosdb.server.jobs.core.CheckDatatypePresent;
+import org.caosdb.server.jobs.core.CheckEntityACLRoles;
+import org.caosdb.server.jobs.core.Mode;
+import org.caosdb.server.jobs.core.PickUp;
+import org.caosdb.server.utils.AbstractObservable;
+import org.caosdb.server.utils.Info;
+import org.caosdb.server.utils.Observer;
 
 public abstract class Transaction<C extends TransactionContainer> extends AbstractObservable
     implements TransactionInterface {
diff --git a/src/main/java/caosdb/server/transaction/TransactionInterface.java b/src/main/java/org/caosdb/server/transaction/TransactionInterface.java
similarity index 85%
rename from src/main/java/caosdb/server/transaction/TransactionInterface.java
rename to src/main/java/org/caosdb/server/transaction/TransactionInterface.java
index 1aaf2786..1aa41b2b 100644
--- a/src/main/java/caosdb/server/transaction/TransactionInterface.java
+++ b/src/main/java/org/caosdb/server/transaction/TransactionInterface.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.misc.RollBackHandler;
-import caosdb.server.database.misc.TransactionBenchmark;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.misc.RollBackHandler;
+import org.caosdb.server.database.misc.TransactionBenchmark;
 
 public interface TransactionInterface {
 
diff --git a/src/main/java/caosdb/server/transaction/Update.java b/src/main/java/org/caosdb/server/transaction/Update.java
similarity index 94%
rename from src/main/java/caosdb/server/transaction/Update.java
rename to src/main/java/org/caosdb/server/transaction/Update.java
index b9e6e8de..f5a9a7ff 100644
--- a/src/main/java/caosdb/server/transaction/Update.java
+++ b/src/main/java/org/caosdb/server/transaction/Update.java
@@ -20,30 +20,30 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
-
-import caosdb.server.CaosDBException;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.transaction.RetrieveFullEntity;
-import caosdb.server.database.backend.transaction.UpdateEntity;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.FileProperties;
-import caosdb.server.entity.RetrieveEntity;
-import caosdb.server.entity.container.TransactionContainer;
-import caosdb.server.entity.container.UpdateContainer;
-import caosdb.server.entity.wrapper.Parent;
-import caosdb.server.entity.wrapper.Property;
-import caosdb.server.permissions.EntityPermission;
-import caosdb.server.permissions.Permission;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
+package org.caosdb.server.transaction;
+
 import com.google.common.base.Objects;
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
 import java.util.HashSet;
 import java.util.Set;
 import org.apache.shiro.authz.AuthorizationException;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.transaction.RetrieveFullEntity;
+import org.caosdb.server.database.backend.transaction.UpdateEntity;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.FileProperties;
+import org.caosdb.server.entity.RetrieveEntity;
+import org.caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.entity.container.UpdateContainer;
+import org.caosdb.server.entity.wrapper.Parent;
+import org.caosdb.server.entity.wrapper.Property;
+import org.caosdb.server.permissions.EntityPermission;
+import org.caosdb.server.permissions.Permission;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
 
 public class Update extends WriteTransaction<UpdateContainer> {
 
diff --git a/src/main/java/caosdb/server/transaction/UpdatePermissionRulesTransaction.java b/src/main/java/org/caosdb/server/transaction/UpdatePermissionRulesTransaction.java
similarity index 83%
rename from src/main/java/caosdb/server/transaction/UpdatePermissionRulesTransaction.java
rename to src/main/java/org/caosdb/server/transaction/UpdatePermissionRulesTransaction.java
index e537b001..4f8c9369 100644
--- a/src/main/java/caosdb/server/transaction/UpdatePermissionRulesTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/UpdatePermissionRulesTransaction.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.accessControl.ACMPermissions;
-import caosdb.server.database.backend.transaction.RetrieveRole;
-import caosdb.server.database.backend.transaction.SetPermissionRules;
-import caosdb.server.permissions.PermissionRule;
-import caosdb.server.utils.ServerMessages;
 import java.util.Set;
 import org.apache.shiro.SecurityUtils;
+import org.caosdb.server.accessControl.ACMPermissions;
+import org.caosdb.server.database.backend.transaction.RetrieveRole;
+import org.caosdb.server.database.backend.transaction.SetPermissionRules;
+import org.caosdb.server.permissions.PermissionRule;
+import org.caosdb.server.utils.ServerMessages;
 
 public class UpdatePermissionRulesTransaction extends AccessControlTransaction {
 
diff --git a/src/main/java/caosdb/server/transaction/UpdateRoleTransaction.java b/src/main/java/org/caosdb/server/transaction/UpdateRoleTransaction.java
similarity index 80%
rename from src/main/java/caosdb/server/transaction/UpdateRoleTransaction.java
rename to src/main/java/org/caosdb/server/transaction/UpdateRoleTransaction.java
index dfec7760..7e1632f8 100644
--- a/src/main/java/caosdb/server/transaction/UpdateRoleTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/UpdateRoleTransaction.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.accessControl.ACMPermissions;
-import caosdb.server.accessControl.Role;
-import caosdb.server.accessControl.UserSources;
-import caosdb.server.database.backend.transaction.InsertRole;
-import caosdb.server.database.backend.transaction.RetrieveRole;
-import caosdb.server.utils.ServerMessages;
 import org.apache.shiro.SecurityUtils;
+import org.caosdb.server.accessControl.ACMPermissions;
+import org.caosdb.server.accessControl.Role;
+import org.caosdb.server.accessControl.UserSources;
+import org.caosdb.server.database.backend.transaction.InsertRole;
+import org.caosdb.server.database.backend.transaction.RetrieveRole;
+import org.caosdb.server.utils.ServerMessages;
 
 public class UpdateRoleTransaction extends AccessControlTransaction {
 
diff --git a/src/main/java/caosdb/server/transaction/UpdateUserRolesTransaction.java b/src/main/java/org/caosdb/server/transaction/UpdateUserRolesTransaction.java
similarity index 87%
rename from src/main/java/caosdb/server/transaction/UpdateUserRolesTransaction.java
rename to src/main/java/org/caosdb/server/transaction/UpdateUserRolesTransaction.java
index f11400c3..a74d875f 100644
--- a/src/main/java/caosdb/server/transaction/UpdateUserRolesTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/UpdateUserRolesTransaction.java
@@ -20,17 +20,17 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.accessControl.ACMPermissions;
-import caosdb.server.accessControl.Principal;
-import caosdb.server.accessControl.UserSources;
-import caosdb.server.database.backend.transaction.RetrieveRole;
-import caosdb.server.database.backend.transaction.UpdateUserRoles;
-import caosdb.server.utils.ServerMessages;
 import java.util.HashSet;
 import java.util.Set;
 import org.apache.shiro.SecurityUtils;
+import org.caosdb.server.accessControl.ACMPermissions;
+import org.caosdb.server.accessControl.Principal;
+import org.caosdb.server.accessControl.UserSources;
+import org.caosdb.server.database.backend.transaction.RetrieveRole;
+import org.caosdb.server.database.backend.transaction.UpdateUserRoles;
+import org.caosdb.server.utils.ServerMessages;
 import org.jdom2.Element;
 
 public class UpdateUserRolesTransaction extends AccessControlTransaction {
diff --git a/src/main/java/caosdb/server/transaction/UpdateUserTransaction.java b/src/main/java/org/caosdb/server/transaction/UpdateUserTransaction.java
similarity index 85%
rename from src/main/java/caosdb/server/transaction/UpdateUserTransaction.java
rename to src/main/java/org/caosdb/server/transaction/UpdateUserTransaction.java
index ca29bb79..dc93549a 100644
--- a/src/main/java/caosdb/server/transaction/UpdateUserTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/UpdateUserTransaction.java
@@ -20,24 +20,24 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.accessControl.ACMPermissions;
-import caosdb.server.accessControl.Principal;
-import caosdb.server.accessControl.UserSources;
-import caosdb.server.accessControl.UserStatus;
-import caosdb.server.database.backend.transaction.RetrieveUser;
-import caosdb.server.database.backend.transaction.SetPassword;
-import caosdb.server.database.backend.transaction.UpdateUser;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.ProtoUser;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.RetrieveEntity;
-import caosdb.server.entity.container.RetrieveContainer;
-import caosdb.server.utils.EntityStatus;
-import caosdb.server.utils.ServerMessages;
-import caosdb.server.utils.Utils;
 import org.apache.shiro.SecurityUtils;
+import org.caosdb.server.accessControl.ACMPermissions;
+import org.caosdb.server.accessControl.Principal;
+import org.caosdb.server.accessControl.UserSources;
+import org.caosdb.server.accessControl.UserStatus;
+import org.caosdb.server.database.backend.transaction.RetrieveUser;
+import org.caosdb.server.database.backend.transaction.SetPassword;
+import org.caosdb.server.database.backend.transaction.UpdateUser;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.ProtoUser;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.RetrieveEntity;
+import org.caosdb.server.entity.container.RetrieveContainer;
+import org.caosdb.server.utils.EntityStatus;
+import org.caosdb.server.utils.ServerMessages;
+import org.caosdb.server.utils.Utils;
 import org.jdom2.Element;
 
 public class UpdateUserTransaction extends AccessControlTransaction {
diff --git a/src/main/java/caosdb/server/transaction/WriteTransaction.java b/src/main/java/org/caosdb/server/transaction/WriteTransaction.java
similarity index 90%
rename from src/main/java/caosdb/server/transaction/WriteTransaction.java
rename to src/main/java/org/caosdb/server/transaction/WriteTransaction.java
index ec37d19d..04c3834c 100644
--- a/src/main/java/caosdb/server/transaction/WriteTransaction.java
+++ b/src/main/java/org/caosdb/server/transaction/WriteTransaction.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import caosdb.server.database.misc.RollBackHandler;
-import caosdb.server.entity.FileProperties;
-import caosdb.server.entity.container.TransactionContainer;
+import org.caosdb.server.database.misc.RollBackHandler;
+import org.caosdb.server.entity.FileProperties;
+import org.caosdb.server.entity.container.TransactionContainer;
 
 public abstract class WriteTransaction<C extends TransactionContainer> extends Transaction<C> {
 
diff --git a/src/main/java/caosdb/server/utils/AbstractObservable.java b/src/main/java/org/caosdb/server/utils/AbstractObservable.java
similarity index 98%
rename from src/main/java/caosdb/server/utils/AbstractObservable.java
rename to src/main/java/org/caosdb/server/utils/AbstractObservable.java
index d52a51bf..a19fff9d 100644
--- a/src/main/java/caosdb/server/utils/AbstractObservable.java
+++ b/src/main/java/org/caosdb/server/utils/AbstractObservable.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 import java.util.Iterator;
 import org.eclipse.jetty.util.ConcurrentHashSet;
diff --git a/src/main/java/caosdb/server/utils/AsynchronousHasher.java b/src/main/java/org/caosdb/server/utils/AsynchronousHasher.java
similarity index 98%
rename from src/main/java/caosdb/server/utils/AsynchronousHasher.java
rename to src/main/java/org/caosdb/server/utils/AsynchronousHasher.java
index 3c504c3f..b7f89f84 100644
--- a/src/main/java/caosdb/server/utils/AsynchronousHasher.java
+++ b/src/main/java/org/caosdb/server/utils/AsynchronousHasher.java
@@ -1,3 +1,4 @@
+package org.caosdb.server.utils;
 /*
  * ** header v3.0
  * This file is a part of the CaosDB Project.
diff --git a/src/main/java/caosdb/server/utils/ConfigurationException.java b/src/main/java/org/caosdb/server/utils/ConfigurationException.java
similarity index 97%
rename from src/main/java/caosdb/server/utils/ConfigurationException.java
rename to src/main/java/org/caosdb/server/utils/ConfigurationException.java
index 74a74187..3c9e7714 100644
--- a/src/main/java/caosdb/server/utils/ConfigurationException.java
+++ b/src/main/java/org/caosdb/server/utils/ConfigurationException.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 public class ConfigurationException extends RuntimeException {
 
diff --git a/src/main/java/caosdb/server/utils/CronJob.java b/src/main/java/org/caosdb/server/utils/CronJob.java
similarity index 97%
rename from src/main/java/caosdb/server/utils/CronJob.java
rename to src/main/java/org/caosdb/server/utils/CronJob.java
index a6608b10..8110a517 100644
--- a/src/main/java/caosdb/server/utils/CronJob.java
+++ b/src/main/java/org/caosdb/server/utils/CronJob.java
@@ -20,10 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
-import caosdb.server.CaosDBServer;
 import java.util.HashMap;
+import org.caosdb.server.CaosDBServer;
 
 public class CronJob {
 
diff --git a/src/main/java/caosdb/server/utils/EntityStatus.java b/src/main/java/org/caosdb/server/utils/EntityStatus.java
similarity index 98%
rename from src/main/java/caosdb/server/utils/EntityStatus.java
rename to src/main/java/org/caosdb/server/utils/EntityStatus.java
index 3e906302..ef8bdc10 100644
--- a/src/main/java/caosdb/server/utils/EntityStatus.java
+++ b/src/main/java/org/caosdb/server/utils/EntityStatus.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 /**
  * IGNORE - This instance must be ignored during further processing. <br>
diff --git a/src/main/java/caosdb/server/utils/FileUtils.java b/src/main/java/org/caosdb/server/utils/FileUtils.java
similarity index 98%
rename from src/main/java/caosdb/server/utils/FileUtils.java
rename to src/main/java/org/caosdb/server/utils/FileUtils.java
index 2357b721..70ba0030 100644
--- a/src/main/java/caosdb/server/utils/FileUtils.java
+++ b/src/main/java/org/caosdb/server/utils/FileUtils.java
@@ -20,18 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 import static java.nio.file.Files.isSameFile;
 import static java.nio.file.Files.isSymbolicLink;
 import static java.nio.file.Files.readSymbolicLink;
 
-import caosdb.server.CaosDBException;
-import caosdb.server.CaosDBServer;
-import caosdb.server.FileSystem;
-import caosdb.server.ServerProperties;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.Message;
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileInputStream;
@@ -43,6 +37,12 @@ import java.nio.file.LinkOption;
 import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
 import java.util.Arrays;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.FileSystem;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.Message;
 import org.eclipse.jetty.io.RuntimeIOException;
 
 public class FileUtils {
diff --git a/src/main/java/caosdb/server/utils/FlagInfo.java b/src/main/java/org/caosdb/server/utils/FlagInfo.java
similarity index 92%
rename from src/main/java/caosdb/server/utils/FlagInfo.java
rename to src/main/java/org/caosdb/server/utils/FlagInfo.java
index 6a94194b..9ddd131f 100644
--- a/src/main/java/caosdb/server/utils/FlagInfo.java
+++ b/src/main/java/org/caosdb/server/utils/FlagInfo.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
-import caosdb.server.jobs.FlagJob;
-import caosdb.server.jobs.Job;
-import caosdb.server.jobs.JobAnnotation;
-import caosdb.server.transaction.TransactionInterface;
 import java.lang.annotation.Annotation;
 import java.util.ArrayList;
 import java.util.Set;
+import org.caosdb.server.jobs.FlagJob;
+import org.caosdb.server.jobs.Job;
+import org.caosdb.server.jobs.JobAnnotation;
+import org.caosdb.server.transaction.TransactionInterface;
 import org.jdom2.Element;
 import org.reflections.Reflections;
 
diff --git a/src/main/java/caosdb/server/utils/HashAlgorithm.java b/src/main/java/org/caosdb/server/utils/HashAlgorithm.java
similarity index 96%
rename from src/main/java/caosdb/server/utils/HashAlgorithm.java
rename to src/main/java/org/caosdb/server/utils/HashAlgorithm.java
index d6155a85..6bf517fc 100644
--- a/src/main/java/caosdb/server/utils/HashAlgorithm.java
+++ b/src/main/java/org/caosdb/server/utils/HashAlgorithm.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 import java.io.File;
 
diff --git a/src/main/java/caosdb/server/utils/HashException.java b/src/main/java/org/caosdb/server/utils/HashException.java
similarity index 93%
rename from src/main/java/caosdb/server/utils/HashException.java
rename to src/main/java/org/caosdb/server/utils/HashException.java
index 6df49b0a..2140f6d4 100644
--- a/src/main/java/caosdb/server/utils/HashException.java
+++ b/src/main/java/org/caosdb/server/utils/HashException.java
@@ -20,9 +20,9 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
-import caosdb.server.CaosDBException;
+import org.caosdb.server.CaosDBException;
 
 public class HashException extends CaosDBException {
 
diff --git a/src/main/java/caosdb/server/utils/HashNotReadyException.java b/src/main/java/org/caosdb/server/utils/HashNotReadyException.java
similarity index 97%
rename from src/main/java/caosdb/server/utils/HashNotReadyException.java
rename to src/main/java/org/caosdb/server/utils/HashNotReadyException.java
index 2638f612..c3c7ccfd 100644
--- a/src/main/java/caosdb/server/utils/HashNotReadyException.java
+++ b/src/main/java/org/caosdb/server/utils/HashNotReadyException.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 public class HashNotReadyException extends HashException {
 
diff --git a/src/main/java/caosdb/server/utils/HashTimeoutException.java b/src/main/java/org/caosdb/server/utils/HashTimeoutException.java
similarity index 97%
rename from src/main/java/caosdb/server/utils/HashTimeoutException.java
rename to src/main/java/org/caosdb/server/utils/HashTimeoutException.java
index 03423c5e..92e105a2 100644
--- a/src/main/java/caosdb/server/utils/HashTimeoutException.java
+++ b/src/main/java/org/caosdb/server/utils/HashTimeoutException.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 public class HashTimeoutException extends HashException {
 
diff --git a/src/main/java/caosdb/server/utils/Hasher.java b/src/main/java/org/caosdb/server/utils/Hasher.java
similarity index 97%
rename from src/main/java/caosdb/server/utils/Hasher.java
rename to src/main/java/org/caosdb/server/utils/Hasher.java
index 0d01e3f7..9eb009cd 100644
--- a/src/main/java/caosdb/server/utils/Hasher.java
+++ b/src/main/java/org/caosdb/server/utils/Hasher.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 import java.io.File;
 import java.io.IOException;
diff --git a/src/main/java/caosdb/server/utils/Info.java b/src/main/java/org/caosdb/server/utils/Info.java
similarity index 93%
rename from src/main/java/caosdb/server/utils/Info.java
rename to src/main/java/org/caosdb/server/utils/Info.java
index bf85546d..19f792cf 100644
--- a/src/main/java/caosdb/server/utils/Info.java
+++ b/src/main/java/org/caosdb/server/utils/Info.java
@@ -20,24 +20,24 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
-
-import caosdb.server.CaosDBServer;
-import caosdb.server.FileSystem;
-import caosdb.server.database.DatabaseMonitor;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.transaction.GetInfo;
-import caosdb.server.database.backend.transaction.SyncStats;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.proto.ProtoInfo;
-import caosdb.server.entity.Message;
-import caosdb.server.transaction.TransactionInterface;
+package org.caosdb.server.utils;
+
 import java.io.File;
 import java.io.IOException;
 import java.sql.SQLException;
 import java.util.LinkedList;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.FileSystem;
+import org.caosdb.server.database.DatabaseMonitor;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.transaction.GetInfo;
+import org.caosdb.server.database.backend.transaction.SyncStats;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.proto.ProtoInfo;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.transaction.TransactionInterface;
 import org.jdom2.Element;
 
 public class Info extends AbstractObservable implements Observer, TransactionInterface {
diff --git a/src/main/java/caosdb/server/utils/Initialization.java b/src/main/java/org/caosdb/server/utils/Initialization.java
similarity index 89%
rename from src/main/java/caosdb/server/utils/Initialization.java
rename to src/main/java/org/caosdb/server/utils/Initialization.java
index 9f77fcf2..baae5380 100644
--- a/src/main/java/caosdb/server/utils/Initialization.java
+++ b/src/main/java/org/caosdb/server/utils/Initialization.java
@@ -22,11 +22,11 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
-import caosdb.server.database.DatabaseMonitor;
-import caosdb.server.database.access.Access;
-import caosdb.server.transaction.TransactionInterface;
+import org.caosdb.server.database.DatabaseMonitor;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.transaction.TransactionInterface;
 
 public final class Initialization implements TransactionInterface, AutoCloseable {
 
diff --git a/src/main/java/caosdb/server/utils/NullPrintStream.java b/src/main/java/org/caosdb/server/utils/NullPrintStream.java
similarity index 97%
rename from src/main/java/caosdb/server/utils/NullPrintStream.java
rename to src/main/java/org/caosdb/server/utils/NullPrintStream.java
index b6b7211b..9256bdee 100644
--- a/src/main/java/caosdb/server/utils/NullPrintStream.java
+++ b/src/main/java/org/caosdb/server/utils/NullPrintStream.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 import java.io.PrintStream;
 import org.apache.commons.io.output.NullOutputStream;
diff --git a/src/main/java/caosdb/server/utils/Observable.java b/src/main/java/org/caosdb/server/utils/Observable.java
similarity index 96%
rename from src/main/java/caosdb/server/utils/Observable.java
rename to src/main/java/org/caosdb/server/utils/Observable.java
index f75e0401..a43822eb 100644
--- a/src/main/java/caosdb/server/utils/Observable.java
+++ b/src/main/java/org/caosdb/server/utils/Observable.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 public interface Observable {
   public boolean acceptObserver(Observer o);
diff --git a/src/main/java/caosdb/server/utils/ObservableWrapper.java b/src/main/java/org/caosdb/server/utils/ObservableWrapper.java
similarity index 97%
rename from src/main/java/caosdb/server/utils/ObservableWrapper.java
rename to src/main/java/org/caosdb/server/utils/ObservableWrapper.java
index a7bdede9..fa44bce9 100644
--- a/src/main/java/caosdb/server/utils/ObservableWrapper.java
+++ b/src/main/java/org/caosdb/server/utils/ObservableWrapper.java
@@ -1,3 +1,4 @@
+package org.caosdb.server.utils;
 /*
  * ** header v3.0
  * This file is a part of the CaosDB Project.
diff --git a/src/main/java/caosdb/server/utils/Observer.java b/src/main/java/org/caosdb/server/utils/Observer.java
similarity index 97%
rename from src/main/java/caosdb/server/utils/Observer.java
rename to src/main/java/org/caosdb/server/utils/Observer.java
index bb1599d5..be89dff4 100644
--- a/src/main/java/caosdb/server/utils/Observer.java
+++ b/src/main/java/org/caosdb/server/utils/Observer.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 public interface Observer {
 
diff --git a/src/main/java/caosdb/server/utils/Releasable.java b/src/main/java/org/caosdb/server/utils/Releasable.java
similarity index 96%
rename from src/main/java/caosdb/server/utils/Releasable.java
rename to src/main/java/org/caosdb/server/utils/Releasable.java
index 36b293e0..f81a029a 100644
--- a/src/main/java/caosdb/server/utils/Releasable.java
+++ b/src/main/java/org/caosdb/server/utils/Releasable.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 public interface Releasable {
 
diff --git a/src/main/java/caosdb/server/utils/SHA512.java b/src/main/java/org/caosdb/server/utils/SHA512.java
similarity index 97%
rename from src/main/java/caosdb/server/utils/SHA512.java
rename to src/main/java/org/caosdb/server/utils/SHA512.java
index 07d56bd8..a461d95e 100644
--- a/src/main/java/caosdb/server/utils/SHA512.java
+++ b/src/main/java/org/caosdb/server/utils/SHA512.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 import java.io.File;
 import java.io.IOException;
diff --git a/src/main/java/caosdb/server/utils/Serializer.java b/src/main/java/org/caosdb/server/utils/Serializer.java
similarity index 96%
rename from src/main/java/caosdb/server/utils/Serializer.java
rename to src/main/java/org/caosdb/server/utils/Serializer.java
index 26cd970c..c58ca23e 100644
--- a/src/main/java/caosdb/server/utils/Serializer.java
+++ b/src/main/java/org/caosdb/server/utils/Serializer.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 public interface Serializer<T, S> {
 
diff --git a/src/main/java/caosdb/server/utils/ServerMessages.java b/src/main/java/org/caosdb/server/utils/ServerMessages.java
similarity index 98%
rename from src/main/java/caosdb/server/utils/ServerMessages.java
rename to src/main/java/org/caosdb/server/utils/ServerMessages.java
index 29983924..2801218a 100644
--- a/src/main/java/caosdb/server/utils/ServerMessages.java
+++ b/src/main/java/org/caosdb/server/utils/ServerMessages.java
@@ -17,12 +17,12 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
-import caosdb.server.entity.Message;
-import caosdb.server.entity.Message.MessageType;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.entity.Message.MessageType;
 
 public class ServerMessages {
 
diff --git a/src/main/java/caosdb/server/utils/ServerStat.java b/src/main/java/org/caosdb/server/utils/ServerStat.java
similarity index 96%
rename from src/main/java/caosdb/server/utils/ServerStat.java
rename to src/main/java/org/caosdb/server/utils/ServerStat.java
index c0b95d79..8b552633 100644
--- a/src/main/java/caosdb/server/utils/ServerStat.java
+++ b/src/main/java/org/caosdb/server/utils/ServerStat.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 import java.io.Serializable;
 
diff --git a/src/main/java/caosdb/server/utils/TransactionLogMessage.java b/src/main/java/org/caosdb/server/utils/TransactionLogMessage.java
similarity index 94%
rename from src/main/java/caosdb/server/utils/TransactionLogMessage.java
rename to src/main/java/org/caosdb/server/utils/TransactionLogMessage.java
index fbc5e7c0..368e0908 100644
--- a/src/main/java/caosdb/server/utils/TransactionLogMessage.java
+++ b/src/main/java/org/caosdb/server/utils/TransactionLogMessage.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
-import caosdb.datetime.UTCDateTime;
-import caosdb.server.entity.EntityInterface;
 import java.util.TimeZone;
+import org.caosdb.datetime.UTCDateTime;
+import org.caosdb.server.entity.EntityInterface;
 import org.jdom2.Element;
 
 public class TransactionLogMessage {
diff --git a/src/main/java/caosdb/server/utils/UncloseableOutputStream.java b/src/main/java/org/caosdb/server/utils/UncloseableOutputStream.java
similarity index 97%
rename from src/main/java/caosdb/server/utils/UncloseableOutputStream.java
rename to src/main/java/org/caosdb/server/utils/UncloseableOutputStream.java
index 1918c9c8..3f70f282 100644
--- a/src/main/java/caosdb/server/utils/UncloseableOutputStream.java
+++ b/src/main/java/org/caosdb/server/utils/UncloseableOutputStream.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 import java.io.IOException;
 import java.io.OutputStream;
diff --git a/src/main/java/caosdb/server/utils/UndoHandler.java b/src/main/java/org/caosdb/server/utils/UndoHandler.java
similarity index 98%
rename from src/main/java/caosdb/server/utils/UndoHandler.java
rename to src/main/java/org/caosdb/server/utils/UndoHandler.java
index d5c2806f..21027847 100644
--- a/src/main/java/caosdb/server/utils/UndoHandler.java
+++ b/src/main/java/org/caosdb/server/utils/UndoHandler.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 import java.util.ArrayDeque;
 import java.util.Deque;
diff --git a/src/main/java/caosdb/server/utils/Undoable.java b/src/main/java/org/caosdb/server/utils/Undoable.java
similarity index 96%
rename from src/main/java/caosdb/server/utils/Undoable.java
rename to src/main/java/org/caosdb/server/utils/Undoable.java
index 2a1d3c1c..2bbbcb17 100644
--- a/src/main/java/caosdb/server/utils/Undoable.java
+++ b/src/main/java/org/caosdb/server/utils/Undoable.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 public interface Undoable {
 
diff --git a/src/main/java/caosdb/server/utils/Utils.java b/src/main/java/org/caosdb/server/utils/Utils.java
similarity index 99%
rename from src/main/java/caosdb/server/utils/Utils.java
rename to src/main/java/org/caosdb/server/utils/Utils.java
index 752d828d..b21ba0f5 100644
--- a/src/main/java/caosdb/server/utils/Utils.java
+++ b/src/main/java/org/caosdb/server/utils/Utils.java
@@ -20,12 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 import static java.net.URLDecoder.decode;
 import static java.net.URLEncoder.encode;
 
-import caosdb.server.entity.Message;
 import java.io.ByteArrayInputStream;
 import java.io.InputStream;
 import java.io.UnsupportedEncodingException;
@@ -36,6 +35,7 @@ import java.text.DecimalFormat;
 import java.util.Scanner;
 import java.util.regex.Pattern;
 import org.apache.commons.codec.binary.Base32;
+import org.caosdb.server.entity.Message;
 import org.jdom2.Document;
 import org.jdom2.Element;
 import org.jdom2.output.Format;
diff --git a/src/main/java/caosdb/server/utils/WebinterfaceUtils.java b/src/main/java/org/caosdb/server/utils/WebinterfaceUtils.java
similarity index 97%
rename from src/main/java/caosdb/server/utils/WebinterfaceUtils.java
rename to src/main/java/org/caosdb/server/utils/WebinterfaceUtils.java
index 2fef9eca..1aff4de3 100644
--- a/src/main/java/caosdb/server/utils/WebinterfaceUtils.java
+++ b/src/main/java/org/caosdb/server/utils/WebinterfaceUtils.java
@@ -16,12 +16,8 @@
  *
  * <p>** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
-import caosdb.server.resource.AbstractCaosDBServerResource;
-import caosdb.server.resource.Webinterface;
 import java.io.File;
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;
@@ -33,6 +29,10 @@ import java.util.Map;
 import java.util.stream.Stream;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.resource.AbstractCaosDBServerResource;
+import org.caosdb.server.resource.Webinterface;
 import org.restlet.data.Reference;
 
 /**
diff --git a/src/main/java/caosdb/server/utils/fsm/ActionNotAllowedException.java b/src/main/java/org/caosdb/server/utils/fsm/ActionNotAllowedException.java
similarity index 97%
rename from src/main/java/caosdb/server/utils/fsm/ActionNotAllowedException.java
rename to src/main/java/org/caosdb/server/utils/fsm/ActionNotAllowedException.java
index eedd272c..950136aa 100644
--- a/src/main/java/caosdb/server/utils/fsm/ActionNotAllowedException.java
+++ b/src/main/java/org/caosdb/server/utils/fsm/ActionNotAllowedException.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils.fsm;
+package org.caosdb.server.utils.fsm;
 
 public class ActionNotAllowedException extends RuntimeException {
 
diff --git a/src/main/java/caosdb/server/utils/fsm/FiniteStateMachine.java b/src/main/java/org/caosdb/server/utils/fsm/FiniteStateMachine.java
similarity index 98%
rename from src/main/java/caosdb/server/utils/fsm/FiniteStateMachine.java
rename to src/main/java/org/caosdb/server/utils/fsm/FiniteStateMachine.java
index 7439d95a..f8bdccac 100644
--- a/src/main/java/caosdb/server/utils/fsm/FiniteStateMachine.java
+++ b/src/main/java/org/caosdb/server/utils/fsm/FiniteStateMachine.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils.fsm;
+package org.caosdb.server.utils.fsm;
 
 import java.util.List;
 import java.util.Map;
diff --git a/src/main/java/caosdb/server/utils/fsm/MissingImplementationException.java b/src/main/java/org/caosdb/server/utils/fsm/MissingImplementationException.java
similarity index 96%
rename from src/main/java/caosdb/server/utils/fsm/MissingImplementationException.java
rename to src/main/java/org/caosdb/server/utils/fsm/MissingImplementationException.java
index 761abf2f..5984283d 100644
--- a/src/main/java/caosdb/server/utils/fsm/MissingImplementationException.java
+++ b/src/main/java/org/caosdb/server/utils/fsm/MissingImplementationException.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils.fsm;
+package org.caosdb.server.utils.fsm;
 
 public class MissingImplementationException extends Exception {
 
diff --git a/src/main/java/caosdb/server/utils/fsm/State.java b/src/main/java/org/caosdb/server/utils/fsm/State.java
similarity index 96%
rename from src/main/java/caosdb/server/utils/fsm/State.java
rename to src/main/java/org/caosdb/server/utils/fsm/State.java
index 66073d4d..81b76aa5 100644
--- a/src/main/java/caosdb/server/utils/fsm/State.java
+++ b/src/main/java/org/caosdb/server/utils/fsm/State.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils.fsm;
+package org.caosdb.server.utils.fsm;
 
 import java.util.List;
 
diff --git a/src/main/java/caosdb/server/utils/fsm/StateNotReachableException.java b/src/main/java/org/caosdb/server/utils/fsm/StateNotReachableException.java
similarity index 96%
rename from src/main/java/caosdb/server/utils/fsm/StateNotReachableException.java
rename to src/main/java/org/caosdb/server/utils/fsm/StateNotReachableException.java
index 9dbafcd9..db057678 100644
--- a/src/main/java/caosdb/server/utils/fsm/StateNotReachableException.java
+++ b/src/main/java/org/caosdb/server/utils/fsm/StateNotReachableException.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils.fsm;
+package org.caosdb.server.utils.fsm;
 
 public class StateNotReachableException extends Exception {
 
diff --git a/src/main/java/caosdb/server/utils/fsm/StrategyFiniteStateMachine.java b/src/main/java/org/caosdb/server/utils/fsm/StrategyFiniteStateMachine.java
similarity index 98%
rename from src/main/java/caosdb/server/utils/fsm/StrategyFiniteStateMachine.java
rename to src/main/java/org/caosdb/server/utils/fsm/StrategyFiniteStateMachine.java
index ad5d50dc..d37d8378 100644
--- a/src/main/java/caosdb/server/utils/fsm/StrategyFiniteStateMachine.java
+++ b/src/main/java/org/caosdb/server/utils/fsm/StrategyFiniteStateMachine.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils.fsm;
+package org.caosdb.server.utils.fsm;
 
 import java.util.Map;
 
diff --git a/src/main/java/caosdb/server/utils/fsm/Transition.java b/src/main/java/org/caosdb/server/utils/fsm/Transition.java
similarity index 96%
rename from src/main/java/caosdb/server/utils/fsm/Transition.java
rename to src/main/java/org/caosdb/server/utils/fsm/Transition.java
index 432adc17..41921b76 100644
--- a/src/main/java/caosdb/server/utils/fsm/Transition.java
+++ b/src/main/java/org/caosdb/server/utils/fsm/Transition.java
@@ -20,6 +20,6 @@
  *
  * ** end header
  */
-package caosdb.server.utils.fsm;
+package org.caosdb.server.utils.fsm;
 
 public interface Transition {}
diff --git a/src/main/java/caosdb/server/utils/fsm/TransitionNotAllowedException.java b/src/main/java/org/caosdb/server/utils/fsm/TransitionNotAllowedException.java
similarity index 97%
rename from src/main/java/caosdb/server/utils/fsm/TransitionNotAllowedException.java
rename to src/main/java/org/caosdb/server/utils/fsm/TransitionNotAllowedException.java
index e5b56f7f..0b831dfb 100644
--- a/src/main/java/caosdb/server/utils/fsm/TransitionNotAllowedException.java
+++ b/src/main/java/org/caosdb/server/utils/fsm/TransitionNotAllowedException.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils.fsm;
+package org.caosdb.server.utils.fsm;
 
 public class TransitionNotAllowedException extends Exception {
 
diff --git a/src/main/java/caosdb/server/utils/mail/Mail.java b/src/main/java/org/caosdb/server/utils/mail/Mail.java
similarity index 96%
rename from src/main/java/caosdb/server/utils/mail/Mail.java
rename to src/main/java/org/caosdb/server/utils/mail/Mail.java
index c2036f90..36588fc1 100644
--- a/src/main/java/caosdb/server/utils/mail/Mail.java
+++ b/src/main/java/org/caosdb/server/utils/mail/Mail.java
@@ -20,11 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.utils.mail;
+package org.caosdb.server.utils.mail;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
 import java.util.Date;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
 
 public class Mail {
 
diff --git a/src/main/java/caosdb/server/utils/mail/MailFormatter.java b/src/main/java/org/caosdb/server/utils/mail/MailFormatter.java
similarity index 96%
rename from src/main/java/caosdb/server/utils/mail/MailFormatter.java
rename to src/main/java/org/caosdb/server/utils/mail/MailFormatter.java
index 31ff4777..2e31724d 100644
--- a/src/main/java/caosdb/server/utils/mail/MailFormatter.java
+++ b/src/main/java/org/caosdb/server/utils/mail/MailFormatter.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils.mail;
+package org.caosdb.server.utils.mail;
 
 public interface MailFormatter {
 
diff --git a/src/main/java/caosdb/server/utils/mail/MailHandler.java b/src/main/java/org/caosdb/server/utils/mail/MailHandler.java
similarity index 96%
rename from src/main/java/caosdb/server/utils/mail/MailHandler.java
rename to src/main/java/org/caosdb/server/utils/mail/MailHandler.java
index 24395e59..ebdf88da 100644
--- a/src/main/java/caosdb/server/utils/mail/MailHandler.java
+++ b/src/main/java/org/caosdb/server/utils/mail/MailHandler.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils.mail;
+package org.caosdb.server.utils.mail;
 
 public interface MailHandler {
 
diff --git a/src/main/java/caosdb/server/utils/mail/Mailable.java b/src/main/java/org/caosdb/server/utils/mail/Mailable.java
similarity index 96%
rename from src/main/java/caosdb/server/utils/mail/Mailable.java
rename to src/main/java/org/caosdb/server/utils/mail/Mailable.java
index 6a2362c7..fc679aac 100644
--- a/src/main/java/caosdb/server/utils/mail/Mailable.java
+++ b/src/main/java/org/caosdb/server/utils/mail/Mailable.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils.mail;
+package org.caosdb.server.utils.mail;
 
 public interface Mailable {
 
diff --git a/src/main/java/caosdb/server/utils/mail/SendMailHandler.java b/src/main/java/org/caosdb/server/utils/mail/SendMailHandler.java
similarity index 97%
rename from src/main/java/caosdb/server/utils/mail/SendMailHandler.java
rename to src/main/java/org/caosdb/server/utils/mail/SendMailHandler.java
index fdf060e6..88a487c5 100644
--- a/src/main/java/caosdb/server/utils/mail/SendMailHandler.java
+++ b/src/main/java/org/caosdb/server/utils/mail/SendMailHandler.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils.mail;
+package org.caosdb.server.utils.mail;
 
 import java.io.BufferedWriter;
 import java.io.IOException;
diff --git a/src/main/java/caosdb/server/utils/mail/SimpleMailFormatter.java b/src/main/java/org/caosdb/server/utils/mail/SimpleMailFormatter.java
similarity index 98%
rename from src/main/java/caosdb/server/utils/mail/SimpleMailFormatter.java
rename to src/main/java/org/caosdb/server/utils/mail/SimpleMailFormatter.java
index 0241c133..c1d5ce6b 100644
--- a/src/main/java/caosdb/server/utils/mail/SimpleMailFormatter.java
+++ b/src/main/java/org/caosdb/server/utils/mail/SimpleMailFormatter.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils.mail;
+package org.caosdb.server.utils.mail;
 
 import javax.mail.internet.MailDateFormat;
 
diff --git a/src/main/java/caosdb/server/utils/mail/ToFileHandler.java b/src/main/java/org/caosdb/server/utils/mail/ToFileHandler.java
similarity index 94%
rename from src/main/java/caosdb/server/utils/mail/ToFileHandler.java
rename to src/main/java/org/caosdb/server/utils/mail/ToFileHandler.java
index 8a7a012b..24a6da78 100644
--- a/src/main/java/caosdb/server/utils/mail/ToFileHandler.java
+++ b/src/main/java/org/caosdb/server/utils/mail/ToFileHandler.java
@@ -20,15 +20,15 @@
  *
  * ** end header
  */
-package caosdb.server.utils.mail;
+package org.caosdb.server.utils.mail;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.PrintWriter;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
 
 public class ToFileHandler implements MailHandler {
 
diff --git a/src/main/java/caosdb/unit/CaosDBSystemOfUnits.java b/src/main/java/org/caosdb/unit/CaosDBSystemOfUnits.java
similarity index 99%
rename from src/main/java/caosdb/unit/CaosDBSystemOfUnits.java
rename to src/main/java/org/caosdb/unit/CaosDBSystemOfUnits.java
index be7d5a0e..ed78c5cf 100644
--- a/src/main/java/caosdb/unit/CaosDBSystemOfUnits.java
+++ b/src/main/java/org/caosdb/unit/CaosDBSystemOfUnits.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.unit;
+package org.caosdb.unit;
 
 import de.timmfitschen.easyunits.BaseUnit;
 import de.timmfitschen.easyunits.DefaultSystemOfUnitsFactory;
diff --git a/src/main/java/caosdb/unit/Converter.java b/src/main/java/org/caosdb/unit/Converter.java
similarity index 97%
rename from src/main/java/caosdb/unit/Converter.java
rename to src/main/java/org/caosdb/unit/Converter.java
index db42c12e..dfe63477 100644
--- a/src/main/java/caosdb/unit/Converter.java
+++ b/src/main/java/org/caosdb/unit/Converter.java
@@ -20,6 +20,6 @@
  *
  * ** end header
  */
-package caosdb.unit;
+package org.caosdb.unit;
 
 public interface Converter {}
diff --git a/src/main/java/caosdb/unit/LinearConverter.java b/src/main/java/org/caosdb/unit/LinearConverter.java
similarity index 97%
rename from src/main/java/caosdb/unit/LinearConverter.java
rename to src/main/java/org/caosdb/unit/LinearConverter.java
index 7d792d22..8eac2d7e 100644
--- a/src/main/java/caosdb/unit/LinearConverter.java
+++ b/src/main/java/org/caosdb/unit/LinearConverter.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.unit;
+package org.caosdb.unit;
 
 public interface LinearConverter extends Converter {
 
diff --git a/src/main/java/caosdb/unit/Unit.java b/src/main/java/org/caosdb/unit/Unit.java
similarity index 97%
rename from src/main/java/caosdb/unit/Unit.java
rename to src/main/java/org/caosdb/unit/Unit.java
index d816369b..9e676773 100644
--- a/src/main/java/caosdb/unit/Unit.java
+++ b/src/main/java/org/caosdb/unit/Unit.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.unit;
+package org.caosdb.unit;
 
 public interface Unit {
 
diff --git a/src/main/java/caosdb/unit/UnknownUnit.java b/src/main/java/org/caosdb/unit/UnknownUnit.java
similarity index 97%
rename from src/main/java/caosdb/unit/UnknownUnit.java
rename to src/main/java/org/caosdb/unit/UnknownUnit.java
index 592b78a2..70ad3546 100644
--- a/src/main/java/caosdb/unit/UnknownUnit.java
+++ b/src/main/java/org/caosdb/unit/UnknownUnit.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.unit;
+package org.caosdb.unit;
 
 public class UnknownUnit extends WrappedUnit implements Unit {
 
diff --git a/src/main/java/caosdb/unit/WrappedConverter.java b/src/main/java/org/caosdb/unit/WrappedConverter.java
similarity index 97%
rename from src/main/java/caosdb/unit/WrappedConverter.java
rename to src/main/java/org/caosdb/unit/WrappedConverter.java
index 91868cc3..f23be039 100644
--- a/src/main/java/caosdb/unit/WrappedConverter.java
+++ b/src/main/java/org/caosdb/unit/WrappedConverter.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.unit;
+package org.caosdb.unit;
 
 public class WrappedConverter implements Converter {
 
diff --git a/src/main/java/caosdb/unit/WrappedLinearConverter.java b/src/main/java/org/caosdb/unit/WrappedLinearConverter.java
similarity index 99%
rename from src/main/java/caosdb/unit/WrappedLinearConverter.java
rename to src/main/java/org/caosdb/unit/WrappedLinearConverter.java
index de9590c3..b90b32cc 100644
--- a/src/main/java/caosdb/unit/WrappedLinearConverter.java
+++ b/src/main/java/org/caosdb/unit/WrappedLinearConverter.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.unit;
+package org.caosdb.unit;
 
 import java.text.DecimalFormat;
 import java.text.DecimalFormatSymbols;
diff --git a/src/main/java/caosdb/unit/WrappedUnit.java b/src/main/java/org/caosdb/unit/WrappedUnit.java
similarity index 98%
rename from src/main/java/caosdb/unit/WrappedUnit.java
rename to src/main/java/org/caosdb/unit/WrappedUnit.java
index b5f5eb8b..c29ee5b5 100644
--- a/src/main/java/caosdb/unit/WrappedUnit.java
+++ b/src/main/java/org/caosdb/unit/WrappedUnit.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.unit;
+package org.caosdb.unit;
 
 import de.timmfitschen.easyunits.conversion.LinearConverter;
 
diff --git a/src/test/java/caosdb/CaosDBTestClass.java b/src/test/java/org/caosdb/CaosDBTestClass.java
similarity index 98%
rename from src/test/java/caosdb/CaosDBTestClass.java
rename to src/test/java/org/caosdb/CaosDBTestClass.java
index 6b894c75..d22f9ade 100644
--- a/src/test/java/caosdb/CaosDBTestClass.java
+++ b/src/test/java/org/caosdb/CaosDBTestClass.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb;
+package org.caosdb;
 
 import java.io.File;
 import java.io.IOException;
diff --git a/src/test/java/caosdb/datetime/DateTimeTest.java b/src/test/java/org/caosdb/datetime/DateTimeTest.java
similarity index 99%
rename from src/test/java/caosdb/datetime/DateTimeTest.java
rename to src/test/java/org/caosdb/datetime/DateTimeTest.java
index 032ab240..81e0edf7 100644
--- a/src/test/java/caosdb/datetime/DateTimeTest.java
+++ b/src/test/java/org/caosdb/datetime/DateTimeTest.java
@@ -20,20 +20,20 @@
  *
  * ** end header
  */
-package caosdb.datetime;
+package org.caosdb.datetime;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
 import java.io.IOException;
 import java.sql.SQLException;
 import java.sql.Timestamp;
 import java.time.ZoneId;
 import java.util.GregorianCalendar;
 import java.util.TimeZone;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
 import org.junit.Assert;
 import org.junit.BeforeClass;
 import org.junit.Test;
diff --git a/src/test/java/caosdb/server/Misc.java b/src/test/java/org/caosdb/server/Misc.java
similarity index 97%
rename from src/test/java/caosdb/server/Misc.java
rename to src/test/java/org/caosdb/server/Misc.java
index 2988bae6..f6d13646 100644
--- a/src/test/java/caosdb/server/Misc.java
+++ b/src/test/java/org/caosdb/server/Misc.java
@@ -20,16 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server;
+package org.caosdb.server;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
-import caosdb.server.database.misc.TransactionBenchmark;
-import caosdb.server.jobs.core.CheckFileStorageConsistency;
-import caosdb.server.utils.CronJob;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
@@ -40,6 +37,9 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.database.misc.TransactionBenchmark;
+import org.caosdb.server.jobs.core.CheckFileStorageConsistency;
+import org.caosdb.server.utils.CronJob;
 import org.junit.Assert;
 import org.junit.BeforeClass;
 import org.junit.Test;
diff --git a/src/test/java/caosdb/server/accessControl/TestDefaultPamScriptCaller.java b/src/test/java/org/caosdb/server/accessControl/TestDefaultPamScriptCaller.java
similarity index 98%
rename from src/test/java/caosdb/server/accessControl/TestDefaultPamScriptCaller.java
rename to src/test/java/org/caosdb/server/accessControl/TestDefaultPamScriptCaller.java
index bb207aad..21197f4f 100644
--- a/src/test/java/caosdb/server/accessControl/TestDefaultPamScriptCaller.java
+++ b/src/test/java/org/caosdb/server/accessControl/TestDefaultPamScriptCaller.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.accessControl;
+package org.caosdb.server.accessControl;
 
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
diff --git a/src/test/java/caosdb/server/authentication/AuthTokenTest.java b/src/test/java/org/caosdb/server/authentication/AuthTokenTest.java
similarity index 92%
rename from src/test/java/caosdb/server/authentication/AuthTokenTest.java
rename to src/test/java/org/caosdb/server/authentication/AuthTokenTest.java
index 9f344889..ca196032 100644
--- a/src/test/java/caosdb/server/authentication/AuthTokenTest.java
+++ b/src/test/java/org/caosdb/server/authentication/AuthTokenTest.java
@@ -20,30 +20,11 @@
  *
  * ** end header
  */
-package caosdb.server.authentication;
+package org.caosdb.server.authentication;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
-import caosdb.server.accessControl.AnonymousAuthenticationToken;
-import caosdb.server.accessControl.AuthenticationUtils;
-import caosdb.server.accessControl.Config;
-import caosdb.server.accessControl.OneTimeAuthenticationToken;
-import caosdb.server.accessControl.Principal;
-import caosdb.server.accessControl.SelfValidatingAuthenticationToken;
-import caosdb.server.accessControl.SessionToken;
-import caosdb.server.accessControl.SessionTokenRealm;
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.backend.interfaces.RetrievePasswordValidatorImpl;
-import caosdb.server.database.backend.interfaces.RetrievePermissionRulesImpl;
-import caosdb.server.database.backend.interfaces.RetrieveRoleImpl;
-import caosdb.server.database.backend.interfaces.RetrieveUserImpl;
-import caosdb.server.resource.TestScriptingResource.RetrievePasswordValidator;
-import caosdb.server.resource.TestScriptingResource.RetrievePermissionRules;
-import caosdb.server.resource.TestScriptingResource.RetrieveRole;
-import caosdb.server.resource.TestScriptingResource.RetrieveUser;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.ObjectReader;
 import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
@@ -57,6 +38,25 @@ import org.apache.commons.io.input.CharSequenceInputStream;
 import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.authc.AuthenticationException;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.accessControl.AnonymousAuthenticationToken;
+import org.caosdb.server.accessControl.AuthenticationUtils;
+import org.caosdb.server.accessControl.Config;
+import org.caosdb.server.accessControl.OneTimeAuthenticationToken;
+import org.caosdb.server.accessControl.Principal;
+import org.caosdb.server.accessControl.SelfValidatingAuthenticationToken;
+import org.caosdb.server.accessControl.SessionToken;
+import org.caosdb.server.accessControl.SessionTokenRealm;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.backend.interfaces.RetrievePasswordValidatorImpl;
+import org.caosdb.server.database.backend.interfaces.RetrievePermissionRulesImpl;
+import org.caosdb.server.database.backend.interfaces.RetrieveRoleImpl;
+import org.caosdb.server.database.backend.interfaces.RetrieveUserImpl;
+import org.caosdb.server.resource.TestScriptingResource.RetrievePasswordValidator;
+import org.caosdb.server.resource.TestScriptingResource.RetrievePermissionRules;
+import org.caosdb.server.resource.TestScriptingResource.RetrieveRole;
+import org.caosdb.server.resource.TestScriptingResource.RetrieveUser;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.BeforeClass;
diff --git a/src/test/java/caosdb/server/caching/TestCaching.java b/src/test/java/org/caosdb/server/caching/TestCaching.java
similarity index 89%
rename from src/test/java/caosdb/server/caching/TestCaching.java
rename to src/test/java/org/caosdb/server/caching/TestCaching.java
index 56d8e750..40387790 100644
--- a/src/test/java/caosdb/server/caching/TestCaching.java
+++ b/src/test/java/org/caosdb/server/caching/TestCaching.java
@@ -1,14 +1,14 @@
-package caosdb.server.caching;
+package org.caosdb.server.caching;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertSame;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.accessControl.Pam;
-import caosdb.server.database.backend.transaction.RetrieveProperties;
 import java.io.IOException;
 import org.apache.commons.jcs.JCS;
 import org.apache.commons.jcs.access.CacheAccess;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.accessControl.Pam;
+import org.caosdb.server.database.backend.transaction.RetrieveProperties;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
diff --git a/src/test/java/caosdb/server/caching/TestNoCaching.java b/src/test/java/org/caosdb/server/caching/TestNoCaching.java
similarity index 78%
rename from src/test/java/caosdb/server/caching/TestNoCaching.java
rename to src/test/java/org/caosdb/server/caching/TestNoCaching.java
index dfab9de6..bcd2f08f 100644
--- a/src/test/java/caosdb/server/caching/TestNoCaching.java
+++ b/src/test/java/org/caosdb/server/caching/TestNoCaching.java
@@ -1,13 +1,13 @@
-package caosdb.server.caching;
+package org.caosdb.server.caching;
 
 import static org.junit.Assert.assertEquals;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
-import caosdb.server.database.backend.transaction.RetrieveProperties;
 import java.io.IOException;
 import org.apache.commons.jcs.JCS;
 import org.apache.commons.jcs.access.CacheAccess;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.database.backend.transaction.RetrieveProperties;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
diff --git a/src/test/java/caosdb/server/database/DatabaseMonitorTest.java b/src/test/java/org/caosdb/server/database/DatabaseMonitorTest.java
similarity index 99%
rename from src/test/java/caosdb/server/database/DatabaseMonitorTest.java
rename to src/test/java/org/caosdb/server/database/DatabaseMonitorTest.java
index 20f2cdf6..554baec0 100644
--- a/src/test/java/caosdb/server/database/DatabaseMonitorTest.java
+++ b/src/test/java/org/caosdb/server/database/DatabaseMonitorTest.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.database;
+package org.caosdb.server.database;
 
 import org.junit.Assert;
 import org.junit.Test;
diff --git a/src/test/java/caosdb/server/database/InsertTest.java b/src/test/java/org/caosdb/server/database/InsertTest.java
similarity index 96%
rename from src/test/java/caosdb/server/database/InsertTest.java
rename to src/test/java/org/caosdb/server/database/InsertTest.java
index 70fef365..7b00cacf 100644
--- a/src/test/java/caosdb/server/database/InsertTest.java
+++ b/src/test/java/org/caosdb/server/database/InsertTest.java
@@ -20,23 +20,23 @@
  *
  * ** end header
  */
-package caosdb.server.database;
+package org.caosdb.server.database;
 
-import static caosdb.server.database.DatabaseUtils.deriveStage1Inserts;
-import static caosdb.server.database.DatabaseUtils.deriveStage2Inserts;
+import static org.caosdb.server.database.DatabaseUtils.deriveStage1Inserts;
+import static org.caosdb.server.database.DatabaseUtils.deriveStage2Inserts;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-import caosdb.server.datatype.CollectionValue;
-import caosdb.server.datatype.GenericValue;
-import caosdb.server.datatype.SingleValue;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Role;
-import caosdb.server.entity.StatementStatus;
-import caosdb.server.entity.wrapper.Property;
 import java.util.LinkedList;
+import org.caosdb.server.datatype.CollectionValue;
+import org.caosdb.server.datatype.GenericValue;
+import org.caosdb.server.datatype.SingleValue;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Role;
+import org.caosdb.server.entity.StatementStatus;
+import org.caosdb.server.entity.wrapper.Property;
 import org.junit.Test;
 
 public class InsertTest {
diff --git a/src/test/java/caosdb/server/database/backend/transaction/RetrieveFullEntityTest.java b/src/test/java/org/caosdb/server/database/backend/transaction/RetrieveFullEntityTest.java
similarity index 87%
rename from src/test/java/caosdb/server/database/backend/transaction/RetrieveFullEntityTest.java
rename to src/test/java/org/caosdb/server/database/backend/transaction/RetrieveFullEntityTest.java
index 78c2ae82..52b4c951 100644
--- a/src/test/java/caosdb/server/database/backend/transaction/RetrieveFullEntityTest.java
+++ b/src/test/java/org/caosdb/server/database/backend/transaction/RetrieveFullEntityTest.java
@@ -20,20 +20,20 @@
  *
  * ** end header
  */
-package caosdb.server.database.backend.transaction;
+package org.caosdb.server.database.backend.transaction;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 
-import caosdb.server.datatype.ReferenceValue;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.wrapper.Property;
-import caosdb.server.entity.xml.PropertyToElementStrategyTest;
-import caosdb.server.query.Query.Selection;
 import java.util.ArrayList;
 import java.util.List;
+import org.caosdb.server.datatype.ReferenceValue;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.wrapper.Property;
+import org.caosdb.server.entity.xml.PropertyToElementStrategyTest;
+import org.caosdb.server.query.Query.Selection;
 import org.junit.Test;
 
 public class RetrieveFullEntityTest {
diff --git a/src/test/java/caosdb/server/database/backend/transactions/TestGetAllNames.java b/src/test/java/org/caosdb/server/database/backend/transactions/TestGetAllNames.java
similarity index 73%
rename from src/test/java/caosdb/server/database/backend/transactions/TestGetAllNames.java
rename to src/test/java/org/caosdb/server/database/backend/transactions/TestGetAllNames.java
index 1c67d5cb..73d43421 100644
--- a/src/test/java/caosdb/server/database/backend/transactions/TestGetAllNames.java
+++ b/src/test/java/org/caosdb/server/database/backend/transactions/TestGetAllNames.java
@@ -1,18 +1,18 @@
-package caosdb.server.database.backend.transactions;
+package org.caosdb.server.database.backend.transactions;
 
 import static org.junit.Assert.assertEquals;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.GetAllNamesImpl;
-import caosdb.server.database.backend.transaction.GetAllNames;
-import caosdb.server.database.misc.TransactionBenchmark;
-import caosdb.server.database.proto.SparseEntity;
-import caosdb.server.entity.EntityInterface;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.GetAllNamesImpl;
+import org.caosdb.server.database.backend.transaction.GetAllNames;
+import org.caosdb.server.database.misc.TransactionBenchmark;
+import org.caosdb.server.database.proto.SparseEntity;
+import org.caosdb.server.entity.EntityInterface;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
diff --git a/src/test/java/caosdb/server/datatype/testBoolean.java b/src/test/java/org/caosdb/server/datatype/testBoolean.java
similarity index 95%
rename from src/test/java/caosdb/server/datatype/testBoolean.java
rename to src/test/java/org/caosdb/server/datatype/testBoolean.java
index 3e20830e..acf0578a 100644
--- a/src/test/java/caosdb/server/datatype/testBoolean.java
+++ b/src/test/java/org/caosdb/server/datatype/testBoolean.java
@@ -20,16 +20,16 @@
  *
  * ** end header
  */
-package caosdb.server.datatype;
+package org.caosdb.server.datatype;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
-import caosdb.server.datatype.AbstractDatatype.Table;
-import caosdb.server.entity.Message;
-import caosdb.server.utils.ServerMessages;
+import org.caosdb.server.datatype.AbstractDatatype.Table;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.utils.ServerMessages;
 import org.junit.Test;
 
 public class testBoolean {
diff --git a/src/test/java/caosdb/server/entity/SelectionTest.java b/src/test/java/org/caosdb/server/entity/SelectionTest.java
similarity index 98%
rename from src/test/java/caosdb/server/entity/SelectionTest.java
rename to src/test/java/org/caosdb/server/entity/SelectionTest.java
index 068a87c4..0ede3a97 100644
--- a/src/test/java/caosdb/server/entity/SelectionTest.java
+++ b/src/test/java/org/caosdb/server/entity/SelectionTest.java
@@ -22,17 +22,17 @@
  *
  * ** end header
  */
-package caosdb.server.entity;
+package org.caosdb.server.entity;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.entity.xml.SetFieldStrategy;
-import caosdb.server.query.Query;
-import caosdb.server.query.Query.Selection;
 import java.io.IOException;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.entity.xml.SetFieldStrategy;
+import org.caosdb.server.query.Query;
+import org.caosdb.server.query.Query.Selection;
 import org.junit.Assert;
 import org.junit.BeforeClass;
 import org.junit.Test;
diff --git a/src/test/java/caosdb/server/entity/container/PropertyContainerTest.java b/src/test/java/org/caosdb/server/entity/container/PropertyContainerTest.java
similarity index 86%
rename from src/test/java/caosdb/server/entity/container/PropertyContainerTest.java
rename to src/test/java/org/caosdb/server/entity/container/PropertyContainerTest.java
index 0678e830..0428af14 100644
--- a/src/test/java/caosdb/server/entity/container/PropertyContainerTest.java
+++ b/src/test/java/org/caosdb/server/entity/container/PropertyContainerTest.java
@@ -20,17 +20,17 @@
  *
  * ** end header
  */
-package caosdb.server.entity.container;
+package org.caosdb.server.entity.container;
 
 import static org.junit.Assert.assertEquals;
 
-import caosdb.server.datatype.GenericValue;
-import caosdb.server.datatype.ReferenceValue;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.Role;
-import caosdb.server.entity.wrapper.Property;
-import caosdb.server.entity.xml.PropertyToElementStrategyTest;
-import caosdb.server.entity.xml.SetFieldStrategy;
+import org.caosdb.server.datatype.GenericValue;
+import org.caosdb.server.datatype.ReferenceValue;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.Role;
+import org.caosdb.server.entity.wrapper.Property;
+import org.caosdb.server.entity.xml.PropertyToElementStrategyTest;
+import org.caosdb.server.entity.xml.SetFieldStrategy;
 import org.jdom2.Element;
 import org.junit.BeforeClass;
 import org.junit.Test;
diff --git a/src/test/java/caosdb/server/entity/xml/PropertyToElementStrategyTest.java b/src/test/java/org/caosdb/server/entity/xml/PropertyToElementStrategyTest.java
similarity index 91%
rename from src/test/java/caosdb/server/entity/xml/PropertyToElementStrategyTest.java
rename to src/test/java/org/caosdb/server/entity/xml/PropertyToElementStrategyTest.java
index 0d60ebd7..99cf2706 100644
--- a/src/test/java/caosdb/server/entity/xml/PropertyToElementStrategyTest.java
+++ b/src/test/java/org/caosdb/server/entity/xml/PropertyToElementStrategyTest.java
@@ -20,17 +20,17 @@
  *
  * ** end header
  */
-package caosdb.server.entity.xml;
+package org.caosdb.server.entity.xml;
 
 import static org.junit.Assert.assertEquals;
 
-import caosdb.server.datatype.GenericValue;
-import caosdb.server.datatype.ReferenceValue;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.Role;
-import caosdb.server.entity.wrapper.Property;
-import caosdb.server.query.Query.Selection;
+import org.caosdb.server.datatype.GenericValue;
+import org.caosdb.server.datatype.ReferenceValue;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.Role;
+import org.caosdb.server.entity.wrapper.Property;
+import org.caosdb.server.query.Query.Selection;
 import org.jdom2.Element;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/src/test/java/caosdb/server/jobs/ScheduleTest.java b/src/test/java/org/caosdb/server/jobs/ScheduleTest.java
similarity index 97%
rename from src/test/java/caosdb/server/jobs/ScheduleTest.java
rename to src/test/java/org/caosdb/server/jobs/ScheduleTest.java
index 73c27d95..7ad1d611 100644
--- a/src/test/java/caosdb/server/jobs/ScheduleTest.java
+++ b/src/test/java/org/caosdb/server/jobs/ScheduleTest.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.jobs;
+package org.caosdb.server.jobs;
 
 import static org.junit.Assert.fail;
 
diff --git a/src/test/java/caosdb/server/jobs/core/TestInsertFilesInDir.java b/src/test/java/org/caosdb/server/jobs/core/TestInsertFilesInDir.java
similarity index 92%
rename from src/test/java/caosdb/server/jobs/core/TestInsertFilesInDir.java
rename to src/test/java/org/caosdb/server/jobs/core/TestInsertFilesInDir.java
index 37cad0ec..ae5df853 100644
--- a/src/test/java/caosdb/server/jobs/core/TestInsertFilesInDir.java
+++ b/src/test/java/org/caosdb/server/jobs/core/TestInsertFilesInDir.java
@@ -1,4 +1,4 @@
-package caosdb.server.jobs.core;
+package org.caosdb.server.jobs.core;
 
 import static org.junit.Assert.assertTrue;
 
diff --git a/src/test/java/caosdb/server/logging/TestLogging.java b/src/test/java/org/caosdb/server/logging/TestLogging.java
similarity index 95%
rename from src/test/java/caosdb/server/logging/TestLogging.java
rename to src/test/java/org/caosdb/server/logging/TestLogging.java
index 6e35d965..577222de 100644
--- a/src/test/java/caosdb/server/logging/TestLogging.java
+++ b/src/test/java/org/caosdb/server/logging/TestLogging.java
@@ -1,9 +1,9 @@
-package caosdb.server.logging;
+package org.caosdb.server.logging;
 
-import caosdb.server.CaosDBServer;
 import java.io.File;
 import java.io.IOException;
 import org.apache.commons.io.FileUtils;
+import org.caosdb.server.CaosDBServer;
 import org.junit.Assert;
 import org.junit.BeforeClass;
 import org.junit.Test;
diff --git a/src/test/java/caosdb/server/permissions/EntityACLTest.java b/src/test/java/org/caosdb/server/permissions/EntityACLTest.java
similarity index 92%
rename from src/test/java/caosdb/server/permissions/EntityACLTest.java
rename to src/test/java/org/caosdb/server/permissions/EntityACLTest.java
index 6aae2257..0e0e3ee1 100644
--- a/src/test/java/caosdb/server/permissions/EntityACLTest.java
+++ b/src/test/java/org/caosdb/server/permissions/EntityACLTest.java
@@ -20,32 +20,32 @@
  *
  * ** end header
  */
-package caosdb.server.permissions;
+package org.caosdb.server.permissions;
 
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.accessControl.AnonymousAuthenticationToken;
-import caosdb.server.accessControl.AuthenticationUtils;
-import caosdb.server.accessControl.Config;
-import caosdb.server.accessControl.OneTimeAuthenticationToken;
-import caosdb.server.accessControl.Role;
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RetrievePermissionRulesImpl;
-import caosdb.server.database.backend.interfaces.RetrieveRoleImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.misc.TransactionBenchmark;
-import caosdb.server.resource.AbstractCaosDBServerResource;
-import caosdb.server.resource.AbstractCaosDBServerResource.XMLParser;
-import caosdb.server.utils.Utils;
 import java.io.IOException;
 import java.util.BitSet;
 import java.util.HashSet;
 import java.util.LinkedList;
 import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.accessControl.AnonymousAuthenticationToken;
+import org.caosdb.server.accessControl.AuthenticationUtils;
+import org.caosdb.server.accessControl.Config;
+import org.caosdb.server.accessControl.OneTimeAuthenticationToken;
+import org.caosdb.server.accessControl.Role;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RetrievePermissionRulesImpl;
+import org.caosdb.server.database.backend.interfaces.RetrieveRoleImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.misc.TransactionBenchmark;
+import org.caosdb.server.resource.AbstractCaosDBServerResource;
+import org.caosdb.server.resource.AbstractCaosDBServerResource.XMLParser;
+import org.caosdb.server.utils.Utils;
 import org.jdom2.Element;
 import org.jdom2.JDOMException;
 import org.junit.Assert;
@@ -309,14 +309,14 @@ public class EntityACLTest {
   public void testFactory() {
     final EntityACLFactory f = new EntityACLFactory();
 
-    caosdb.server.permissions.Role role1 = caosdb.server.permissions.Role.create("role1");
+    org.caosdb.server.permissions.Role role1 = org.caosdb.server.permissions.Role.create("role1");
     Config config1 = new Config();
     config1.setRoles(new String[] {role1.toString()});
     OneTimeAuthenticationToken token1 = OneTimeAuthenticationToken.generate(config1);
     Subject user1 = SecurityUtils.getSecurityManager().createSubject(null);
     user1.login(token1);
 
-    caosdb.server.permissions.Role role2 = caosdb.server.permissions.Role.create("role2");
+    org.caosdb.server.permissions.Role role2 = org.caosdb.server.permissions.Role.create("role2");
     Config config2 = new Config();
     config2.setRoles(new String[] {role2.toString()});
     OneTimeAuthenticationToken token2 = OneTimeAuthenticationToken.generate(config2);
diff --git a/src/test/java/caosdb/server/query/TestCQL.java b/src/test/java/org/caosdb/server/query/TestCQL.java
similarity index 99%
rename from src/test/java/caosdb/server/query/TestCQL.java
rename to src/test/java/org/caosdb/server/query/TestCQL.java
index 402cddd2..2264c9f0 100644
--- a/src/test/java/caosdb/server/query/TestCQL.java
+++ b/src/test/java/org/caosdb/server/query/TestCQL.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.query;
+package org.caosdb.server.query;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -29,14 +29,6 @@ import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.query.CQLParser.CqContext;
-import caosdb.server.query.Query.Pattern;
-import caosdb.server.query.Query.QueryException;
-import caosdb.server.utils.Initialization;
 import java.io.IOException;
 import java.sql.SQLException;
 import java.util.LinkedList;
@@ -45,6 +37,14 @@ import org.antlr.v4.runtime.CharStreams;
 import org.antlr.v4.runtime.CommonTokenStream;
 import org.antlr.v4.runtime.Token;
 import org.antlr.v4.runtime.tree.ParseTree;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.query.CQLParser.CqContext;
+import org.caosdb.server.query.Query.Pattern;
+import org.caosdb.server.query.Query.QueryException;
+import org.caosdb.server.utils.Initialization;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
diff --git a/src/test/java/caosdb/server/resource/FileSystemResourceTest.java b/src/test/java/org/caosdb/server/resource/FileSystemResourceTest.java
similarity index 97%
rename from src/test/java/caosdb/server/resource/FileSystemResourceTest.java
rename to src/test/java/org/caosdb/server/resource/FileSystemResourceTest.java
index 31d6c6a6..ed89c68a 100644
--- a/src/test/java/caosdb/server/resource/FileSystemResourceTest.java
+++ b/src/test/java/org/caosdb/server/resource/FileSystemResourceTest.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
 import java.io.File;
 import org.junit.Test;
diff --git a/src/test/java/caosdb/server/resource/TestAbstractCaosDBServerResource.java b/src/test/java/org/caosdb/server/resource/TestAbstractCaosDBServerResource.java
similarity index 85%
rename from src/test/java/caosdb/server/resource/TestAbstractCaosDBServerResource.java
rename to src/test/java/org/caosdb/server/resource/TestAbstractCaosDBServerResource.java
index 59f0a1d5..a2f6646b 100644
--- a/src/test/java/caosdb/server/resource/TestAbstractCaosDBServerResource.java
+++ b/src/test/java/org/caosdb/server/resource/TestAbstractCaosDBServerResource.java
@@ -1,22 +1,8 @@
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 
-import caosdb.server.CaosDBException;
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
-import caosdb.server.accessControl.AnonymousAuthenticationToken;
-import caosdb.server.accessControl.AnonymousRealm;
-import caosdb.server.accessControl.Role;
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.implementation.MySQL.ConnectionException;
-import caosdb.server.database.backend.interfaces.RetrievePermissionRulesImpl;
-import caosdb.server.database.backend.interfaces.RetrieveRoleImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.misc.TransactionBenchmark;
-import caosdb.server.permissions.PermissionRule;
 import java.io.IOException;
 import java.nio.file.Files;
 import java.nio.file.Paths;
@@ -26,6 +12,20 @@ import java.util.HashSet;
 import org.apache.shiro.mgt.DefaultSecurityManager;
 import org.apache.shiro.subject.Subject;
 import org.apache.shiro.subject.support.DelegatingSubject;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.accessControl.AnonymousAuthenticationToken;
+import org.caosdb.server.accessControl.AnonymousRealm;
+import org.caosdb.server.accessControl.Role;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.implementation.MySQL.ConnectionException;
+import org.caosdb.server.database.backend.interfaces.RetrievePermissionRulesImpl;
+import org.caosdb.server.database.backend.interfaces.RetrieveRoleImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.misc.TransactionBenchmark;
+import org.caosdb.server.permissions.PermissionRule;
 import org.jdom2.Element;
 import org.junit.BeforeClass;
 import org.junit.Rule;
diff --git a/src/test/java/caosdb/server/resource/TestScriptingResource.java b/src/test/java/org/caosdb/server/resource/TestScriptingResource.java
similarity index 86%
rename from src/test/java/caosdb/server/resource/TestScriptingResource.java
rename to src/test/java/org/caosdb/server/resource/TestScriptingResource.java
index 3280ae3a..845f589a 100644
--- a/src/test/java/caosdb/server/resource/TestScriptingResource.java
+++ b/src/test/java/org/caosdb/server/resource/TestScriptingResource.java
@@ -20,29 +20,10 @@
  *
  * ** end header
  */
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
 import static org.junit.Assert.assertEquals;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.accessControl.AnonymousAuthenticationToken;
-import caosdb.server.accessControl.CredentialsValidator;
-import caosdb.server.accessControl.Principal;
-import caosdb.server.accessControl.Role;
-import caosdb.server.accessControl.UserSources;
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.interfaces.RetrievePasswordValidatorImpl;
-import caosdb.server.database.backend.interfaces.RetrievePermissionRulesImpl;
-import caosdb.server.database.backend.interfaces.RetrieveRoleImpl;
-import caosdb.server.database.backend.interfaces.RetrieveUserImpl;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.database.misc.TransactionBenchmark;
-import caosdb.server.database.proto.ProtoUser;
-import caosdb.server.entity.Message;
-import caosdb.server.permissions.PermissionRule;
-import caosdb.server.scripting.ScriptingPermissions;
-import caosdb.server.scripting.ServerSideScriptingCaller;
 import java.io.IOException;
 import java.util.Date;
 import java.util.HashSet;
@@ -50,6 +31,25 @@ import java.util.List;
 import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.authz.permission.WildcardPermission;
 import org.apache.shiro.subject.Subject;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.accessControl.AnonymousAuthenticationToken;
+import org.caosdb.server.accessControl.CredentialsValidator;
+import org.caosdb.server.accessControl.Principal;
+import org.caosdb.server.accessControl.Role;
+import org.caosdb.server.accessControl.UserSources;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.interfaces.RetrievePasswordValidatorImpl;
+import org.caosdb.server.database.backend.interfaces.RetrievePermissionRulesImpl;
+import org.caosdb.server.database.backend.interfaces.RetrieveRoleImpl;
+import org.caosdb.server.database.backend.interfaces.RetrieveUserImpl;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.database.misc.TransactionBenchmark;
+import org.caosdb.server.database.proto.ProtoUser;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.permissions.PermissionRule;
+import org.caosdb.server.scripting.ScriptingPermissions;
+import org.caosdb.server.scripting.ServerSideScriptingCaller;
 import org.jdom2.Element;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -172,7 +172,7 @@ public class TestScriptingResource {
         public int callScript(
             java.util.List<String> invokation,
             Integer timeout_ms,
-            java.util.List<caosdb.server.entity.FileProperties> files,
+            java.util.List<org.caosdb.server.entity.FileProperties> files,
             Object authToken)
             throws Message {
           if (invokation.get(0).equals("anonymous_ok")) {
diff --git a/src/test/java/caosdb/server/resource/TestSharedFileResource.java b/src/test/java/org/caosdb/server/resource/TestSharedFileResource.java
similarity index 96%
rename from src/test/java/caosdb/server/resource/TestSharedFileResource.java
rename to src/test/java/org/caosdb/server/resource/TestSharedFileResource.java
index 41e134d2..f016f591 100644
--- a/src/test/java/caosdb/server/resource/TestSharedFileResource.java
+++ b/src/test/java/org/caosdb/server/resource/TestSharedFileResource.java
@@ -20,7 +20,7 @@
  * ** end header
  */
 
-package caosdb.server.resource;
+package org.caosdb.server.resource;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
@@ -28,11 +28,6 @@ import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.FileSystem;
-import caosdb.server.ServerProperties;
-import caosdb.server.accessControl.AnonymousAuthenticationToken;
-import caosdb.server.accessControl.AnonymousRealm;
 import java.io.File;
 import java.io.IOException;
 import java.nio.file.Files;
@@ -42,6 +37,11 @@ import net.jcip.annotations.NotThreadSafe;
 import org.apache.shiro.mgt.DefaultSecurityManager;
 import org.apache.shiro.subject.Subject;
 import org.apache.shiro.subject.support.DelegatingSubject;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.FileSystem;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.accessControl.AnonymousAuthenticationToken;
+import org.caosdb.server.accessControl.AnonymousRealm;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Rule;
diff --git a/src/test/java/caosdb/server/scripting/TestServerSideScriptingCaller.java b/src/test/java/org/caosdb/server/scripting/TestServerSideScriptingCaller.java
similarity index 98%
rename from src/test/java/caosdb/server/scripting/TestServerSideScriptingCaller.java
rename to src/test/java/org/caosdb/server/scripting/TestServerSideScriptingCaller.java
index f752c29c..28fdd55e 100644
--- a/src/test/java/caosdb/server/scripting/TestServerSideScriptingCaller.java
+++ b/src/test/java/org/caosdb/server/scripting/TestServerSideScriptingCaller.java
@@ -20,19 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.scripting;
+package org.caosdb.server.scripting;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-import caosdb.CaosDBTestClass;
-import caosdb.server.CaosDBException;
-import caosdb.server.CaosDBServer;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.FileProperties;
-import caosdb.server.entity.Message;
-import caosdb.server.utils.ServerMessages;
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.IOException;
@@ -43,6 +36,13 @@ import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
 import org.apache.commons.io.FileUtils;
+import org.caosdb.CaosDBTestClass;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.FileProperties;
+import org.caosdb.server.entity.Message;
+import org.caosdb.server.utils.ServerMessages;
 import org.hamcrest.BaseMatcher;
 import org.hamcrest.Description;
 import org.junit.After;
diff --git a/src/test/java/caosdb/server/transaction/UpdateTest.java b/src/test/java/org/caosdb/server/transaction/UpdateTest.java
similarity index 92%
rename from src/test/java/caosdb/server/transaction/UpdateTest.java
rename to src/test/java/org/caosdb/server/transaction/UpdateTest.java
index d9072474..6b0e7b3f 100644
--- a/src/test/java/caosdb/server/transaction/UpdateTest.java
+++ b/src/test/java/org/caosdb/server/transaction/UpdateTest.java
@@ -20,21 +20,21 @@
  *
  * ** end header
  */
-package caosdb.server.transaction;
+package org.caosdb.server.transaction;
 
-import static caosdb.server.utils.EntityStatus.QUALIFIED;
-import static caosdb.server.utils.EntityStatus.VALID;
+import static org.caosdb.server.utils.EntityStatus.QUALIFIED;
+import static org.caosdb.server.utils.EntityStatus.VALID;
 import static org.junit.Assert.assertEquals;
 
-import caosdb.server.CaosDBException;
-import caosdb.server.datatype.GenericValue;
-import caosdb.server.entity.Entity;
-import caosdb.server.entity.EntityInterface;
-import caosdb.server.entity.StatementStatus;
-import caosdb.server.entity.wrapper.Property;
-import caosdb.server.utils.EntityStatus;
 import java.io.IOException;
 import java.security.NoSuchAlgorithmException;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.datatype.GenericValue;
+import org.caosdb.server.entity.Entity;
+import org.caosdb.server.entity.EntityInterface;
+import org.caosdb.server.entity.StatementStatus;
+import org.caosdb.server.entity.wrapper.Property;
+import org.caosdb.server.utils.EntityStatus;
 import org.junit.Test;
 
 public class UpdateTest {
diff --git a/src/test/java/caosdb/server/utils/FileUtilsTest.java b/src/test/java/org/caosdb/server/utils/FileUtilsTest.java
similarity index 96%
rename from src/test/java/caosdb/server/utils/FileUtilsTest.java
rename to src/test/java/org/caosdb/server/utils/FileUtilsTest.java
index e4b2411d..7e0664f3 100644
--- a/src/test/java/caosdb/server/utils/FileUtilsTest.java
+++ b/src/test/java/org/caosdb/server/utils/FileUtilsTest.java
@@ -20,25 +20,13 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import caosdb.server.CaosDBException;
-import caosdb.server.CaosDBServer;
-import caosdb.server.FileSystem;
-import caosdb.server.ServerProperties;
-import caosdb.server.database.BackendTransaction;
-import caosdb.server.database.access.Access;
-import caosdb.server.database.backend.implementation.UnixFileSystem.UnixFileSystemGetFileIterator.FileNameIterator;
-import caosdb.server.database.backend.implementation.UnixFileSystem.UnixFileSystemHelper;
-import caosdb.server.database.backend.transaction.FileConsistencyCheck;
-import caosdb.server.database.backend.transaction.GetFileIterator;
-import caosdb.server.database.exceptions.TransactionException;
-import caosdb.server.entity.Message;
 import java.io.File;
 import java.io.IOException;
 import java.io.PrintStream;
@@ -47,6 +35,18 @@ import java.security.NoSuchAlgorithmException;
 import java.util.Iterator;
 import java.util.regex.Pattern;
 import net.jcip.annotations.NotThreadSafe;
+import org.caosdb.server.CaosDBException;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.FileSystem;
+import org.caosdb.server.ServerProperties;
+import org.caosdb.server.database.BackendTransaction;
+import org.caosdb.server.database.access.Access;
+import org.caosdb.server.database.backend.implementation.UnixFileSystem.UnixFileSystemGetFileIterator.FileNameIterator;
+import org.caosdb.server.database.backend.implementation.UnixFileSystem.UnixFileSystemHelper;
+import org.caosdb.server.database.backend.transaction.FileConsistencyCheck;
+import org.caosdb.server.database.backend.transaction.GetFileIterator;
+import org.caosdb.server.database.exceptions.TransactionException;
+import org.caosdb.server.entity.Message;
 import org.eclipse.jetty.io.RuntimeIOException;
 import org.junit.After;
 import org.junit.AfterClass;
diff --git a/src/test/java/caosdb/server/utils/UtilsTest.java b/src/test/java/org/caosdb/server/utils/UtilsTest.java
similarity index 98%
rename from src/test/java/caosdb/server/utils/UtilsTest.java
rename to src/test/java/org/caosdb/server/utils/UtilsTest.java
index c75d5a3a..3b92a11d 100644
--- a/src/test/java/caosdb/server/utils/UtilsTest.java
+++ b/src/test/java/org/caosdb/server/utils/UtilsTest.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 import static org.junit.Assert.assertEquals;
 
diff --git a/src/test/java/caosdb/server/utils/WebinterfaceUtilsTest.java b/src/test/java/org/caosdb/server/utils/WebinterfaceUtilsTest.java
similarity index 93%
rename from src/test/java/caosdb/server/utils/WebinterfaceUtilsTest.java
rename to src/test/java/org/caosdb/server/utils/WebinterfaceUtilsTest.java
index 075c8d99..9231dd77 100644
--- a/src/test/java/caosdb/server/utils/WebinterfaceUtilsTest.java
+++ b/src/test/java/org/caosdb/server/utils/WebinterfaceUtilsTest.java
@@ -1,12 +1,12 @@
-package caosdb.server.utils;
+package org.caosdb.server.utils;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
 import java.io.IOException;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
 import org.junit.BeforeClass;
 import org.junit.Rule;
 import org.junit.Test;
diff --git a/src/test/java/caosdb/server/utils/fsm/TestFiniteStateMachine.java b/src/test/java/org/caosdb/server/utils/fsm/TestFiniteStateMachine.java
similarity index 98%
rename from src/test/java/caosdb/server/utils/fsm/TestFiniteStateMachine.java
rename to src/test/java/org/caosdb/server/utils/fsm/TestFiniteStateMachine.java
index 3849df7d..2a7b726b 100644
--- a/src/test/java/caosdb/server/utils/fsm/TestFiniteStateMachine.java
+++ b/src/test/java/org/caosdb/server/utils/fsm/TestFiniteStateMachine.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils.fsm;
+package org.caosdb.server.utils.fsm;
 
 import static org.junit.Assert.assertEquals;
 
diff --git a/src/test/java/caosdb/server/utils/fsm/TestStrategyFiniteStateMachine.java b/src/test/java/org/caosdb/server/utils/fsm/TestStrategyFiniteStateMachine.java
similarity index 97%
rename from src/test/java/caosdb/server/utils/fsm/TestStrategyFiniteStateMachine.java
rename to src/test/java/org/caosdb/server/utils/fsm/TestStrategyFiniteStateMachine.java
index 8d383383..ebf719b1 100644
--- a/src/test/java/caosdb/server/utils/fsm/TestStrategyFiniteStateMachine.java
+++ b/src/test/java/org/caosdb/server/utils/fsm/TestStrategyFiniteStateMachine.java
@@ -20,7 +20,7 @@
  *
  * ** end header
  */
-package caosdb.server.utils.fsm;
+package org.caosdb.server.utils.fsm;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/src/test/java/caosdb/server/utils/mail/TestMail.java b/src/test/java/org/caosdb/server/utils/mail/TestMail.java
similarity index 90%
rename from src/test/java/caosdb/server/utils/mail/TestMail.java
rename to src/test/java/org/caosdb/server/utils/mail/TestMail.java
index 2bdc90de..5d7ba410 100644
--- a/src/test/java/caosdb/server/utils/mail/TestMail.java
+++ b/src/test/java/org/caosdb/server/utils/mail/TestMail.java
@@ -20,12 +20,12 @@
  *
  * ** end header
  */
-package caosdb.server.utils.mail;
+package org.caosdb.server.utils.mail;
 
-import caosdb.CaosDBTestClass;
-import caosdb.server.CaosDBServer;
-import caosdb.server.ServerProperties;
 import java.io.IOException;
+import org.caosdb.CaosDBTestClass;
+import org.caosdb.server.CaosDBServer;
+import org.caosdb.server.ServerProperties;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
-- 
GitLab