diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.allure/.classpath b/common/plugins/eu.esdihumboldt.hale.common.test.allure/.classpath
deleted file mode 100644
index 81fe078c20..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.allure/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.allure/.project b/common/plugins/eu.esdihumboldt.hale.common.test.allure/.project
deleted file mode 100644
index 38885d3b76..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.allure/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
- eu.esdihumboldt.hale.common.test.allure
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- org.eclipse.pde.ManifestBuilder
-
-
-
-
- org.eclipse.pde.SchemaBuilder
-
-
-
-
-
- org.eclipse.pde.PluginNature
- org.eclipse.jdt.core.javanature
-
-
diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.allure/.settings/edu.umd.cs.findbugs.core.prefs b/common/plugins/eu.esdihumboldt.hale.common.test.allure/.settings/edu.umd.cs.findbugs.core.prefs
deleted file mode 100644
index 2f946af3e3..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.allure/.settings/edu.umd.cs.findbugs.core.prefs
+++ /dev/null
@@ -1,132 +0,0 @@
-#Created from default preferences Jan 5, 2017 12:21:09 PM
-#Thu Jan 05 12:21:09 CET 2017
-cloud_id=edu.umd.cs.findbugs.cloud.doNothingCloud
-detectorAppendingToAnObjectOutputStream=AppendingToAnObjectOutputStream|true
-detectorAtomicityProblem=AtomicityProblem|true
-detectorBadAppletConstructor=BadAppletConstructor|false
-detectorBadResultSetAccess=BadResultSetAccess|true
-detectorBadSyntaxForRegularExpression=BadSyntaxForRegularExpression|true
-detectorBadUseOfReturnValue=BadUseOfReturnValue|true
-detectorBadlyOverriddenAdapter=BadlyOverriddenAdapter|true
-detectorBooleanReturnNull=BooleanReturnNull|true
-detectorCallToUnsupportedMethod=CallToUnsupportedMethod|true
-detectorCheckExpectedWarnings=CheckExpectedWarnings|false
-detectorCheckImmutableAnnotation=CheckImmutableAnnotation|true
-detectorCheckTypeQualifiers=CheckTypeQualifiers|true
-detectorCloneIdiom=CloneIdiom|true
-detectorComparatorIdiom=ComparatorIdiom|true
-detectorConfusedInheritance=ConfusedInheritance|true
-detectorConfusionBetweenInheritedAndOuterMethod=ConfusionBetweenInheritedAndOuterMethod|true
-detectorCrossSiteScripting=CrossSiteScripting|true
-detectorDefaultEncodingDetector=DefaultEncodingDetector|true
-detectorDoInsideDoPrivileged=DoInsideDoPrivileged|true
-detectorDontCatchIllegalMonitorStateException=DontCatchIllegalMonitorStateException|true
-detectorDontIgnoreResultOfPutIfAbsent=DontIgnoreResultOfPutIfAbsent|true
-detectorDontUseEnum=DontUseEnum|true
-detectorDroppedException=DroppedException|true
-detectorDumbMethodInvocations=DumbMethodInvocations|true
-detectorDumbMethods=DumbMethods|true
-detectorDuplicateBranches=DuplicateBranches|true
-detectorEmptyZipFileEntry=EmptyZipFileEntry|true
-detectorEqualsOperandShouldHaveClassCompatibleWithThis=EqualsOperandShouldHaveClassCompatibleWithThis|true
-detectorExplicitSerialization=ExplicitSerialization|true
-detectorFinalizerNullsFields=FinalizerNullsFields|true
-detectorFindBadCast2=FindBadCast2|true
-detectorFindBadForLoop=FindBadForLoop|true
-detectorFindCircularDependencies=FindCircularDependencies|false
-detectorFindDeadLocalStores=FindDeadLocalStores|true
-detectorFindDoubleCheck=FindDoubleCheck|true
-detectorFindEmptySynchronizedBlock=FindEmptySynchronizedBlock|true
-detectorFindFieldSelfAssignment=FindFieldSelfAssignment|true
-detectorFindFinalizeInvocations=FindFinalizeInvocations|true
-detectorFindFloatEquality=FindFloatEquality|true
-detectorFindHEmismatch=FindHEmismatch|true
-detectorFindInconsistentSync2=FindInconsistentSync2|true
-detectorFindJSR166LockMonitorenter=FindJSR166LockMonitorenter|true
-detectorFindLocalSelfAssignment2=FindLocalSelfAssignment2|true
-detectorFindMaskedFields=FindMaskedFields|true
-detectorFindMismatchedWaitOrNotify=FindMismatchedWaitOrNotify|true
-detectorFindNakedNotify=FindNakedNotify|true
-detectorFindNonShortCircuit=FindNonShortCircuit|true
-detectorFindNullDeref=FindNullDeref|true
-detectorFindNullDerefsInvolvingNonShortCircuitEvaluation=FindNullDerefsInvolvingNonShortCircuitEvaluation|true
-detectorFindOpenStream=FindOpenStream|true
-detectorFindPuzzlers=FindPuzzlers|true
-detectorFindRefComparison=FindRefComparison|true
-detectorFindReturnRef=FindReturnRef|true
-detectorFindRunInvocations=FindRunInvocations|true
-detectorFindSelfComparison=FindSelfComparison|true
-detectorFindSelfComparison2=FindSelfComparison2|true
-detectorFindSleepWithLockHeld=FindSleepWithLockHeld|true
-detectorFindSpinLoop=FindSpinLoop|true
-detectorFindSqlInjection=FindSqlInjection|true
-detectorFindTwoLockWait=FindTwoLockWait|true
-detectorFindUncalledPrivateMethods=FindUncalledPrivateMethods|true
-detectorFindUnconditionalWait=FindUnconditionalWait|true
-detectorFindUninitializedGet=FindUninitializedGet|true
-detectorFindUnrelatedTypesInGenericContainer=FindUnrelatedTypesInGenericContainer|true
-detectorFindUnreleasedLock=FindUnreleasedLock|true
-detectorFindUnsatisfiedObligation=FindUnsatisfiedObligation|true
-detectorFindUnsyncGet=FindUnsyncGet|true
-detectorFindUseOfNonSerializableValue=FindUseOfNonSerializableValue|true
-detectorFindUselessControlFlow=FindUselessControlFlow|true
-detectorFormatStringChecker=FormatStringChecker|true
-detectorHugeSharedStringConstants=HugeSharedStringConstants|true
-detectorIDivResultCastToDouble=IDivResultCastToDouble|true
-detectorIncompatMask=IncompatMask|true
-detectorInconsistentAnnotations=InconsistentAnnotations|true
-detectorInefficientMemberAccess=InefficientMemberAccess|false
-detectorInefficientToArray=InefficientToArray|true
-detectorInfiniteLoop=InfiniteLoop|true
-detectorInfiniteRecursiveLoop=InfiniteRecursiveLoop|true
-detectorInheritanceUnsafeGetResource=InheritanceUnsafeGetResource|true
-detectorInitializationChain=InitializationChain|true
-detectorInitializeNonnullFieldsInConstructor=InitializeNonnullFieldsInConstructor|true
-detectorInstantiateStaticClass=InstantiateStaticClass|true
-detectorIntCast2LongAsInstant=IntCast2LongAsInstant|true
-detectorInvalidJUnitTest=InvalidJUnitTest|true
-detectorIteratorIdioms=IteratorIdioms|true
-detectorLazyInit=LazyInit|true
-detectorLoadOfKnownNullValue=LoadOfKnownNullValue|true
-detectorLostLoggerDueToWeakReference=LostLoggerDueToWeakReference|true
-detectorMethodReturnCheck=MethodReturnCheck|true
-detectorMultithreadedInstanceAccess=MultithreadedInstanceAccess|true
-detectorMutableLock=MutableLock|true
-detectorMutableStaticFields=MutableStaticFields|true
-detectorNaming=Naming|true
-detectorNoteUnconditionalParamDerefs=NoteUnconditionalParamDerefs|true
-detectorNumberConstructor=NumberConstructor|true
-detectorOverridingEqualsNotSymmetrical=OverridingEqualsNotSymmetrical|true
-detectorPreferZeroLengthArrays=PreferZeroLengthArrays|true
-detectorPublicSemaphores=PublicSemaphores|true
-detectorQuestionableBooleanAssignment=QuestionableBooleanAssignment|true
-detectorReadOfInstanceFieldInMethodInvokedByConstructorInSuperclass=ReadOfInstanceFieldInMethodInvokedByConstructorInSuperclass|true
-detectorReadReturnShouldBeChecked=ReadReturnShouldBeChecked|true
-detectorRedundantInterfaces=RedundantInterfaces|true
-detectorRepeatedConditionals=RepeatedConditionals|true
-detectorRuntimeExceptionCapture=RuntimeExceptionCapture|true
-detectorSerializableIdiom=SerializableIdiom|true
-detectorStartInConstructor=StartInConstructor|true
-detectorStaticCalendarDetector=StaticCalendarDetector|true
-detectorStringConcatenation=StringConcatenation|true
-detectorSuperfluousInstanceOf=SuperfluousInstanceOf|true
-detectorSuspiciousThreadInterrupted=SuspiciousThreadInterrupted|true
-detectorSwitchFallthrough=SwitchFallthrough|true
-detectorSynchronizeAndNullCheckField=SynchronizeAndNullCheckField|true
-detectorSynchronizeOnClassLiteralNotGetClass=SynchronizeOnClassLiteralNotGetClass|true
-detectorSynchronizingOnContentsOfFieldToProtectField=SynchronizingOnContentsOfFieldToProtectField|true
-detectorURLProblems=URLProblems|true
-detectorUncallableMethodOfAnonymousClass=UncallableMethodOfAnonymousClass|true
-detectorUnnecessaryMath=UnnecessaryMath|true
-detectorUnreadFields=UnreadFields|true
-detectorUselessSubclassMethod=UselessSubclassMethod|true
-detectorVarArgsProblems=VarArgsProblems|true
-detectorVolatileUsage=VolatileUsage|true
-detectorWaitInLoop=WaitInLoop|true
-detectorWrongMapIterator=WrongMapIterator|true
-detectorXMLFactoryBypass=XMLFactoryBypass|true
-detector_threshold=2
-effort=default
-filter_settings=Medium|BAD_PRACTICE,CORRECTNESS,I18N,MALICIOUS_CODE,MT_CORRECTNESS,PERFORMANCE,SECURITY,STYLE|false|15
-filter_settings_neg=NOISE,EXPERIMENTAL|
-run_at_full_build=false
diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.allure/.settings/org.eclipse.core.resources.prefs b/common/plugins/eu.esdihumboldt.hale.common.test.allure/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 86245ff504..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.allure/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Created from default preferences Jan 5, 2017 12:21:09 PM
-#Thu Jan 05 12:21:09 CET 2017
-eclipse.preferences.version=1
-encoding/=UTF-8
diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.allure/.settings/org.eclipse.jdt.core.prefs b/common/plugins/eu.esdihumboldt.hale.common.test.allure/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index bf62d79382..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.allure/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,424 +0,0 @@
-#Updated from default preferences 28 Oct 2022, 08:10:28
-#Fri Oct 28 08:10:28 CEST 2022
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch,.svn/
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=,_
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=17
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=17
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
-org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
-org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=100
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.allure/.settings/org.eclipse.jdt.groovy.core.prefs b/common/plugins/eu.esdihumboldt.hale.common.test.allure/.settings/org.eclipse.jdt.groovy.core.prefs
deleted file mode 100644
index 31772090f1..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.allure/.settings/org.eclipse.jdt.groovy.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Created from default preferences 28 Oct 2022, 08:10:28
-#Fri Oct 28 08:10:28 CEST 2022
-eclipse.preferences.version=1
-groovy.compiler.level=25
diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.allure/.settings/org.eclipse.jdt.launching.prefs b/common/plugins/eu.esdihumboldt.hale.common.test.allure/.settings/org.eclipse.jdt.launching.prefs
deleted file mode 100644
index c71b3f0b48..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.allure/.settings/org.eclipse.jdt.launching.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Created from default preferences Jan 5, 2017 12:21:09 PM
-#Thu Jan 05 12:21:09 CET 2017
-eclipse.preferences.version=1
-org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.allure/.settings/org.eclipse.jdt.ui.prefs b/common/plugins/eu.esdihumboldt.hale.common.test.allure/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index d99adad76e..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.allure/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,64 +0,0 @@
-#Created from default preferences Jan 5, 2017 12:21:09 PM
-#Thu Jan 05 12:21:09 CET 2017
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_HALE
-formatter_settings_version=12
-org.eclipse.jdt.ui.exception.name=e
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.keywordthis=false
-org.eclipse.jdt.ui.overrideannotation=true
-org.eclipse.jdt.ui.text.custom_code_templates=/**\n * @return the ${bare_field_name}\n *//**\n * @param ${param} the ${bare_field_name} to set\n *//**\n * ${tags}\n *//*\n * Copyright (c) ${year} wetransform GmbH\n * \n * All rights reserved. This program and the accompanying materials are made\n * available under the terms of the GNU Lesser General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n * \n * You should have received a copy of the GNU Lesser General Public License\n * along with this distribution. If not, see <http\://www.gnu.org/licenses/>.\n * \n * Contributors\:\n * wetransform GmbH <http\://www.wetransform.to>\n *//**\n * TODO Type description\n * @author ${user}\n *//**\n * \n *//**\n * ${tags}\n *//**\n * ${see_to_overridden}\n *//**\n * ${tags}\n * ${see_to_target}\n */${filecomment}\n\n${package_declaration}\n\n${typecomment}\n${type_declaration}\n\n\n\n// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();// ${todo} Auto-generated method stub\n${body_statement}${body_statement}\n// ${todo} Auto-generated constructor stubreturn ${field};${field} \= ${param};
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.allure/.settings/org.eclipse.pde.core.prefs b/common/plugins/eu.esdihumboldt.hale.common.test.allure/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 67d32a9772..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.allure/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Created from default preferences Jan 5, 2017 12:21:09 PM
-#Thu Jan 05 12:21:09 CET 2017
-eclipse.preferences.version=1
-resolve.requirebundle=false
diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.allure/.settings/org.eclipse.pde.prefs b/common/plugins/eu.esdihumboldt.hale.common.test.allure/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index a4af5f8aab..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.allure/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,36 +0,0 @@
-#Created from default preferences Jul 25, 2018 1:58:35 PM
-#Wed Jul 25 13:58:35 CEST 2018
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=2
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=2
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.no.automatic.module=1
-compilers.p.not-externalized-att=2
-compilers.p.service.component.without.lazyactivation=1
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.allure/META-INF/MANIFEST.MF b/common/plugins/eu.esdihumboldt.hale.common.test.allure/META-INF/MANIFEST.MF
deleted file mode 100644
index 8e4a83408f..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.allure/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Allure Test Integration
-Bundle-SymbolicName: eu.esdihumboldt.hale.common.test.allure;singleton:=true
-Bundle-Version: 5.4.0.qualifier
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Require-Bundle: ru.yandex.qatools.allure.junit-adaptor;bundle-version="1.5.0",
- de.fhg.igd.equinox.test.app,
- org.junit;bundle-version="4.13.0"
-Automatic-Module-Name: eu.esdihumboldt.hale.common.test.allure
diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.allure/build.properties b/common/plugins/eu.esdihumboldt.hale.common.test.allure/build.properties
deleted file mode 100644
index e9863e281e..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.allure/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.xml
diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.allure/plugin.xml b/common/plugins/eu.esdihumboldt.hale.common.test.allure/plugin.xml
deleted file mode 100644
index 92c8c356fd..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.allure/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.allure/src/eu/esdihumboldt/hale/common/test/allure/AllureTestListener.java b/common/plugins/eu.esdihumboldt.hale.common.test.allure/src/eu/esdihumboldt/hale/common/test/allure/AllureTestListener.java
deleted file mode 100644
index 947ee682df..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.allure/src/eu/esdihumboldt/hale/common/test/allure/AllureTestListener.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2017 wetransform GmbH
- *
- * All rights reserved. This program and the accompanying materials are made
- * available under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution. If not, see .
- *
- * Contributors:
- * wetransform GmbH
- */
-
-package eu.esdihumboldt.hale.common.test.allure;
-
-import java.io.File;
-
-import ru.yandex.qatools.allure.junit.AllureRunListener;
-
-/**
- * Run listener for Allure.
- *
- * @author Simon Templer
- */
-public class AllureTestListener extends AllureRunListener {
-
- /**
- * Default constructor.
- */
- public AllureTestListener() {
- super();
-
- // print working directory to easier find allure reports
- // which are probably put to working directory/target/allure-results
- System.out.println("Current working directory is " + new File(".").getAbsolutePath());
- }
-
-}
diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.docker/.classpath b/common/plugins/eu.esdihumboldt.hale.common.test.docker/.classpath
deleted file mode 100644
index 81fe078c20..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.docker/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.docker/.project b/common/plugins/eu.esdihumboldt.hale.common.test.docker/.project
deleted file mode 100644
index 8fee277032..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.docker/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
- eu.esdihumboldt.hale.common.test.docker
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- org.eclipse.pde.ManifestBuilder
-
-
-
-
- org.eclipse.pde.SchemaBuilder
-
-
-
-
-
- org.eclipse.pde.PluginNature
- org.eclipse.jdt.core.javanature
-
-
diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.docker/.settings/edu.umd.cs.findbugs.core.prefs b/common/plugins/eu.esdihumboldt.hale.common.test.docker/.settings/edu.umd.cs.findbugs.core.prefs
deleted file mode 100644
index 57566628af..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.docker/.settings/edu.umd.cs.findbugs.core.prefs
+++ /dev/null
@@ -1,132 +0,0 @@
-#Created from default preferences 10.08.2015 17:58:02
-#Mon Aug 10 17:58:02 CEST 2015
-cloud_id=edu.umd.cs.findbugs.cloud.doNothingCloud
-detectorAppendingToAnObjectOutputStream=AppendingToAnObjectOutputStream|true
-detectorAtomicityProblem=AtomicityProblem|true
-detectorBadAppletConstructor=BadAppletConstructor|false
-detectorBadResultSetAccess=BadResultSetAccess|true
-detectorBadSyntaxForRegularExpression=BadSyntaxForRegularExpression|true
-detectorBadUseOfReturnValue=BadUseOfReturnValue|true
-detectorBadlyOverriddenAdapter=BadlyOverriddenAdapter|true
-detectorBooleanReturnNull=BooleanReturnNull|true
-detectorCallToUnsupportedMethod=CallToUnsupportedMethod|true
-detectorCheckExpectedWarnings=CheckExpectedWarnings|false
-detectorCheckImmutableAnnotation=CheckImmutableAnnotation|true
-detectorCheckTypeQualifiers=CheckTypeQualifiers|true
-detectorCloneIdiom=CloneIdiom|true
-detectorComparatorIdiom=ComparatorIdiom|true
-detectorConfusedInheritance=ConfusedInheritance|true
-detectorConfusionBetweenInheritedAndOuterMethod=ConfusionBetweenInheritedAndOuterMethod|true
-detectorCrossSiteScripting=CrossSiteScripting|true
-detectorDefaultEncodingDetector=DefaultEncodingDetector|true
-detectorDoInsideDoPrivileged=DoInsideDoPrivileged|true
-detectorDontCatchIllegalMonitorStateException=DontCatchIllegalMonitorStateException|true
-detectorDontIgnoreResultOfPutIfAbsent=DontIgnoreResultOfPutIfAbsent|true
-detectorDontUseEnum=DontUseEnum|true
-detectorDroppedException=DroppedException|true
-detectorDumbMethodInvocations=DumbMethodInvocations|true
-detectorDumbMethods=DumbMethods|true
-detectorDuplicateBranches=DuplicateBranches|true
-detectorEmptyZipFileEntry=EmptyZipFileEntry|true
-detectorEqualsOperandShouldHaveClassCompatibleWithThis=EqualsOperandShouldHaveClassCompatibleWithThis|true
-detectorExplicitSerialization=ExplicitSerialization|true
-detectorFinalizerNullsFields=FinalizerNullsFields|true
-detectorFindBadCast2=FindBadCast2|true
-detectorFindBadForLoop=FindBadForLoop|true
-detectorFindCircularDependencies=FindCircularDependencies|false
-detectorFindDeadLocalStores=FindDeadLocalStores|true
-detectorFindDoubleCheck=FindDoubleCheck|true
-detectorFindEmptySynchronizedBlock=FindEmptySynchronizedBlock|true
-detectorFindFieldSelfAssignment=FindFieldSelfAssignment|true
-detectorFindFinalizeInvocations=FindFinalizeInvocations|true
-detectorFindFloatEquality=FindFloatEquality|true
-detectorFindHEmismatch=FindHEmismatch|true
-detectorFindInconsistentSync2=FindInconsistentSync2|true
-detectorFindJSR166LockMonitorenter=FindJSR166LockMonitorenter|true
-detectorFindLocalSelfAssignment2=FindLocalSelfAssignment2|true
-detectorFindMaskedFields=FindMaskedFields|true
-detectorFindMismatchedWaitOrNotify=FindMismatchedWaitOrNotify|true
-detectorFindNakedNotify=FindNakedNotify|true
-detectorFindNonShortCircuit=FindNonShortCircuit|true
-detectorFindNullDeref=FindNullDeref|true
-detectorFindNullDerefsInvolvingNonShortCircuitEvaluation=FindNullDerefsInvolvingNonShortCircuitEvaluation|true
-detectorFindOpenStream=FindOpenStream|true
-detectorFindPuzzlers=FindPuzzlers|true
-detectorFindRefComparison=FindRefComparison|true
-detectorFindReturnRef=FindReturnRef|true
-detectorFindRunInvocations=FindRunInvocations|true
-detectorFindSelfComparison=FindSelfComparison|true
-detectorFindSelfComparison2=FindSelfComparison2|true
-detectorFindSleepWithLockHeld=FindSleepWithLockHeld|true
-detectorFindSpinLoop=FindSpinLoop|true
-detectorFindSqlInjection=FindSqlInjection|true
-detectorFindTwoLockWait=FindTwoLockWait|true
-detectorFindUncalledPrivateMethods=FindUncalledPrivateMethods|true
-detectorFindUnconditionalWait=FindUnconditionalWait|true
-detectorFindUninitializedGet=FindUninitializedGet|true
-detectorFindUnrelatedTypesInGenericContainer=FindUnrelatedTypesInGenericContainer|true
-detectorFindUnreleasedLock=FindUnreleasedLock|true
-detectorFindUnsatisfiedObligation=FindUnsatisfiedObligation|true
-detectorFindUnsyncGet=FindUnsyncGet|true
-detectorFindUseOfNonSerializableValue=FindUseOfNonSerializableValue|true
-detectorFindUselessControlFlow=FindUselessControlFlow|true
-detectorFormatStringChecker=FormatStringChecker|true
-detectorHugeSharedStringConstants=HugeSharedStringConstants|true
-detectorIDivResultCastToDouble=IDivResultCastToDouble|true
-detectorIncompatMask=IncompatMask|true
-detectorInconsistentAnnotations=InconsistentAnnotations|true
-detectorInefficientMemberAccess=InefficientMemberAccess|false
-detectorInefficientToArray=InefficientToArray|true
-detectorInfiniteLoop=InfiniteLoop|true
-detectorInfiniteRecursiveLoop=InfiniteRecursiveLoop|true
-detectorInheritanceUnsafeGetResource=InheritanceUnsafeGetResource|true
-detectorInitializationChain=InitializationChain|true
-detectorInitializeNonnullFieldsInConstructor=InitializeNonnullFieldsInConstructor|true
-detectorInstantiateStaticClass=InstantiateStaticClass|true
-detectorIntCast2LongAsInstant=IntCast2LongAsInstant|true
-detectorInvalidJUnitTest=InvalidJUnitTest|true
-detectorIteratorIdioms=IteratorIdioms|true
-detectorLazyInit=LazyInit|true
-detectorLoadOfKnownNullValue=LoadOfKnownNullValue|true
-detectorLostLoggerDueToWeakReference=LostLoggerDueToWeakReference|true
-detectorMethodReturnCheck=MethodReturnCheck|true
-detectorMultithreadedInstanceAccess=MultithreadedInstanceAccess|true
-detectorMutableLock=MutableLock|true
-detectorMutableStaticFields=MutableStaticFields|true
-detectorNaming=Naming|true
-detectorNoteUnconditionalParamDerefs=NoteUnconditionalParamDerefs|true
-detectorNumberConstructor=NumberConstructor|true
-detectorOverridingEqualsNotSymmetrical=OverridingEqualsNotSymmetrical|true
-detectorPreferZeroLengthArrays=PreferZeroLengthArrays|true
-detectorPublicSemaphores=PublicSemaphores|true
-detectorQuestionableBooleanAssignment=QuestionableBooleanAssignment|true
-detectorReadOfInstanceFieldInMethodInvokedByConstructorInSuperclass=ReadOfInstanceFieldInMethodInvokedByConstructorInSuperclass|true
-detectorReadReturnShouldBeChecked=ReadReturnShouldBeChecked|true
-detectorRedundantInterfaces=RedundantInterfaces|true
-detectorRepeatedConditionals=RepeatedConditionals|true
-detectorRuntimeExceptionCapture=RuntimeExceptionCapture|true
-detectorSerializableIdiom=SerializableIdiom|true
-detectorStartInConstructor=StartInConstructor|true
-detectorStaticCalendarDetector=StaticCalendarDetector|true
-detectorStringConcatenation=StringConcatenation|true
-detectorSuperfluousInstanceOf=SuperfluousInstanceOf|true
-detectorSuspiciousThreadInterrupted=SuspiciousThreadInterrupted|true
-detectorSwitchFallthrough=SwitchFallthrough|true
-detectorSynchronizeAndNullCheckField=SynchronizeAndNullCheckField|true
-detectorSynchronizeOnClassLiteralNotGetClass=SynchronizeOnClassLiteralNotGetClass|true
-detectorSynchronizingOnContentsOfFieldToProtectField=SynchronizingOnContentsOfFieldToProtectField|true
-detectorURLProblems=URLProblems|true
-detectorUncallableMethodOfAnonymousClass=UncallableMethodOfAnonymousClass|true
-detectorUnnecessaryMath=UnnecessaryMath|true
-detectorUnreadFields=UnreadFields|true
-detectorUselessSubclassMethod=UselessSubclassMethod|true
-detectorVarArgsProblems=VarArgsProblems|true
-detectorVolatileUsage=VolatileUsage|true
-detectorWaitInLoop=WaitInLoop|true
-detectorWrongMapIterator=WrongMapIterator|true
-detectorXMLFactoryBypass=XMLFactoryBypass|true
-detector_threshold=2
-effort=default
-filter_settings=Medium|BAD_PRACTICE,CORRECTNESS,I18N,MALICIOUS_CODE,MT_CORRECTNESS,PERFORMANCE,SECURITY,STYLE|false|15
-filter_settings_neg=NOISE,EXPERIMENTAL|
-run_at_full_build=false
diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.docker/.settings/org.eclipse.core.resources.prefs b/common/plugins/eu.esdihumboldt.hale.common.test.docker/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index f506f7c7cc..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.docker/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Created from default preferences 10.08.2015 17:58:02
-#Mon Aug 10 17:58:02 CEST 2015
-eclipse.preferences.version=1
-encoding/=UTF-8
diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.docker/.settings/org.eclipse.jdt.core.prefs b/common/plugins/eu.esdihumboldt.hale.common.test.docker/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index bf62d79382..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.docker/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,424 +0,0 @@
-#Updated from default preferences 28 Oct 2022, 08:10:28
-#Fri Oct 28 08:10:28 CEST 2022
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch,.svn/
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=,_
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=17
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=17
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
-org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
-org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=100
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.docker/.settings/org.eclipse.jdt.groovy.core.prefs b/common/plugins/eu.esdihumboldt.hale.common.test.docker/.settings/org.eclipse.jdt.groovy.core.prefs
deleted file mode 100644
index 31772090f1..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.docker/.settings/org.eclipse.jdt.groovy.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Created from default preferences 28 Oct 2022, 08:10:28
-#Fri Oct 28 08:10:28 CEST 2022
-eclipse.preferences.version=1
-groovy.compiler.level=25
diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.docker/.settings/org.eclipse.jdt.launching.prefs b/common/plugins/eu.esdihumboldt.hale.common.test.docker/.settings/org.eclipse.jdt.launching.prefs
deleted file mode 100644
index f90d03368a..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.docker/.settings/org.eclipse.jdt.launching.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Created from default preferences 10.08.2015 17:58:02
-#Mon Aug 10 17:58:02 CEST 2015
-eclipse.preferences.version=1
-org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.docker/.settings/org.eclipse.jdt.ui.prefs b/common/plugins/eu.esdihumboldt.hale.common.test.docker/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 46646fbb60..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.docker/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,64 +0,0 @@
-#Updated from default preferences Jul 9, 2016 10:07:16 AM
-#Sat Jul 09 10:07:16 CEST 2016
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_HALE
-formatter_settings_version=12
-org.eclipse.jdt.ui.exception.name=e
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.keywordthis=false
-org.eclipse.jdt.ui.overrideannotation=true
-org.eclipse.jdt.ui.text.custom_code_templates=/**\n * @return the ${bare_field_name}\n *//**\n * @param ${param} the ${bare_field_name} to set\n *//**\n * ${tags}\n *//*\n * Copyright (c) ${year} wetransform GmbH\n * \n * All rights reserved. This program and the accompanying materials are made\n * available under the terms of the GNU Lesser General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n * \n * You should have received a copy of the GNU Lesser General Public License\n * along with this distribution. If not, see <http\://www.gnu.org/licenses/>.\n * \n * Contributors\:\n * wetransform GmbH <http\://www.wetransform.to>\n *//**\n * TODO Type description\n * @author ${user}\n *//**\n * \n *//**\n * ${tags}\n *//**\n * ${see_to_overridden}\n *//**\n * ${tags}\n * ${see_to_target}\n */${filecomment}\n\n${package_declaration}\n\n${typecomment}\n${type_declaration}\n\n\n\n// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();// ${todo} Auto-generated method stub\n${body_statement}${body_statement}\n// ${todo} Auto-generated constructor stubreturn ${field};${field} \= ${param};
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.docker/.settings/org.eclipse.pde.core.prefs b/common/plugins/eu.esdihumboldt.hale.common.test.docker/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index f29e940a00..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.docker/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.docker/.settings/org.eclipse.pde.prefs b/common/plugins/eu.esdihumboldt.hale.common.test.docker/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index a4af5f8aab..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.docker/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,36 +0,0 @@
-#Created from default preferences Jul 25, 2018 1:58:35 PM
-#Wed Jul 25 13:58:35 CEST 2018
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=2
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=2
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.no.automatic.module=1
-compilers.p.not-externalized-att=2
-compilers.p.service.component.without.lazyactivation=1
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.docker/META-INF/MANIFEST.MF b/common/plugins/eu.esdihumboldt.hale.common.test.docker/META-INF/MANIFEST.MF
deleted file mode 100644
index bb7138c5a2..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.docker/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,19 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Docker
-Bundle-SymbolicName: eu.esdihumboldt.hale.common.test.docker
-Bundle-Version: 5.4.0.qualifier
-Bundle-Activator: eu.esdihumboldt.hale.common.test.docker.Activator
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Import-Package: com.fasterxml.jackson.annotation;version="2.3.2",
- com.spotify.docker.client;version="2.7.7",
- com.spotify.docker.client.messages;version="2.7.7",
- de.fhg.igd.slf4jplus,
- org.osgi.framework;version="1.3.0",
- org.slf4j;version="1.7.10"
-Bundle-ActivationPolicy: lazy
-Require-Bundle: com.typesafe.config;bundle-version="1.2.1"
-Export-Package: eu.esdihumboldt.hale.common.test.docker,
- eu.esdihumboldt.hale.common.test.docker.config,
- eu.esdihumboldt.hale.common.test.docker.helper
-Automatic-Module-Name: eu.esdihumboldt.hale.common.test.docker
diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.docker/build.properties b/common/plugins/eu.esdihumboldt.hale.common.test.docker/build.properties
deleted file mode 100644
index 34d2e4d2da..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.docker/build.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .
diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.docker/src/eu/esdihumboldt/hale/common/test/docker/AbstractDockerTest.java b/common/plugins/eu.esdihumboldt.hale.common.test.docker/src/eu/esdihumboldt/hale/common/test/docker/AbstractDockerTest.java
deleted file mode 100644
index 37fe67eb5b..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.docker/src/eu/esdihumboldt/hale/common/test/docker/AbstractDockerTest.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package eu.esdihumboldt.hale.common.test.docker;
-
-import eu.esdihumboldt.hale.common.test.docker.config.RunWithContainer;
-import eu.esdihumboldt.hale.common.test.docker.helper.DockerConfigHelper;
-
-/**
- * An abstract base class which new unit test will extend to delegate the docker
- * container creation, startup, and removal jobs to the helper class.
- *
- * @author Sameer Sheikh
- */
-public abstract class AbstractDockerTest {
-
- /**
- * a class loader
- */
- private ClassLoader cl;
-
- /**
- * default constructor
- */
- public AbstractDockerTest() {
-
- }
-
- /**
- * Parameterized constructor
- *
- * @param cl a class loader
- */
- public AbstractDockerTest(ClassLoader cl) {
- this.cl = cl;
- }
-
- /**
- * It gets the class loader of the unit test class which will be useful for
- * fetching the configuration from the classpath. It delegates the call with
- * the given class loader.
- *
- * @see DockerConfigHelper#withContainer(String, RunWithContainer,
- * ClassLoader)
- * @param configName a configuration name key
- * @param runInstance an anonymous class object
- * @throws Exception if it fails delegate the method call
- */
- protected void withContainer(String configName, RunWithContainer> runInstance)
- throws Exception {
-
- if (cl != null) {
- DockerConfigHelper.withContainer(configName, runInstance, cl);
- }
- else {
- DockerConfigHelper.withContainer(configName, runInstance, getClass().getClassLoader());
- }
- }
-}
diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.docker/src/eu/esdihumboldt/hale/common/test/docker/Activator.java b/common/plugins/eu.esdihumboldt.hale.common.test.docker/src/eu/esdihumboldt/hale/common/test/docker/Activator.java
deleted file mode 100644
index 289bf34acb..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.docker/src/eu/esdihumboldt/hale/common/test/docker/Activator.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package eu.esdihumboldt.hale.common.test.docker;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-@SuppressWarnings("javadoc")
-public class Activator implements BundleActivator {
-
- private static BundleContext context;
-
- static BundleContext getContext() {
- return context;
- }
-
- @Override
- public void start(BundleContext bundleContext) throws Exception {
- Activator.context = bundleContext;
- }
-
- @Override
- public void stop(BundleContext bundleContext) throws Exception {
- Activator.context = null;
- }
-
-}
diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.docker/src/eu/esdihumboldt/hale/common/test/docker/config/ContainerParameters.java b/common/plugins/eu.esdihumboldt.hale.common.test.docker/src/eu/esdihumboldt/hale/common/test/docker/config/ContainerParameters.java
deleted file mode 100644
index 0a64277a14..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.docker/src/eu/esdihumboldt/hale/common/test/docker/config/ContainerParameters.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright (c) 2015 Data Harmonisation Panel
- *
- * All rights reserved. This program and the accompanying materials are made
- * available under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution. If not, see .
- *
- * Contributors:
- * Data Harmonisation Panel
- */
-
-package eu.esdihumboldt.hale.common.test.docker.config;
-
-import java.util.List;
-
-import com.typesafe.config.Config;
-
-/**
- * Parameters related to docker
- *
- * @author Sameer Sheikh
- */
-public interface ContainerParameters {
-
- /**
- * a configuration key for exposed ports list attribute
- */
- String EXPOSED_PORTS_LIST = "exposedPorts";
-
- /**
- * a configuration key for docker image attribute
- */
- String DOCKER_IMAGE = "dockerImage";
-
- /**
- * a configuration key for command attribute
- */
- String DOCKER_COMMAND = "command";
-
- /**
- * a configuration key for exposeAllPorts attribute
- */
- String EXPOSE_ALL_PORTS = "exposeAllPorts";
-
- /**
- * A configuration key for docker host attribute
- */
- String DOCKER_HOST = "dockerHost";
-
- /**
- * A configuration key which has a boolean value whether to start a
- * container with privileged mode or not.
- */
- String IS_PRIVILEGED = "isPrivileged";
-
- /**
- * A global configuration key.
- */
- String GLOBAL = "global";
-
- /**
- * @return the image name configured in the configuration file
- */
- String getImageName();
-
- /**
- * @return exposed port list configured in the configuration file
- */
- List getExposedPortList();
-
- /**
- * @return commands configured in the configuration file
- */
- List getCommands();
-
- /**
- * @return exposed All ports flag value configured in the configuration file
- */
- boolean isExposeAllPorts();
-
- /**
- * @return docker host name configured in the configuration file
- */
- String getDockerHost();
-
- /**
- * This tells whether to start a container in privileged mode or not.
- *
- * @return is_Privileged flag value configured in the configuration file
- */
- boolean isPrivileged();
-
- /**
- * gets a string value from a config map which maps the config key with the
- * config value.
- *
- * @param key a configuration key
- * @return string value associated with the given key
- */
- public String getStringValue(String key);
-
- /**
- * gets a list values from a config map which maps the config key with the
- * config value.
- *
- * @param key a config key
- * @return list value associated with the given key
- */
- public List getListValues(String key);
-
- /**
- * gets a boolean value from a config map which maps the config key with the
- * config value.
- *
- * @param key a config key
- * @param defaultValue a default value when no configuration is configured
- * @return boolean value associated with the given key
- */
- public boolean getBooleanValue(String key, boolean defaultValue);
-
- /**
- * gets a int value from a config map which maps the config key with the
- * config value.
- *
- * @param key a config key
- * @param defaultValue a default value when no configuration is configured
- * @return int value associated with the given key
- */
- public int getIntValue(String key, int defaultValue);
-
- /**
- * returns a config which maps configuration key path to a configuration
- * value.
- *
- * @return a config
- */
- public Config getConfig();
-}
diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.docker/src/eu/esdihumboldt/hale/common/test/docker/config/DockerConfig.java b/common/plugins/eu.esdihumboldt.hale.common.test.docker/src/eu/esdihumboldt/hale/common/test/docker/config/DockerConfig.java
deleted file mode 100644
index 5d5e906b41..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.docker/src/eu/esdihumboldt/hale/common/test/docker/config/DockerConfig.java
+++ /dev/null
@@ -1,165 +0,0 @@
-package eu.esdihumboldt.hale.common.test.docker.config;
-
-import java.io.File;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-
-import com.typesafe.config.Config;
-import com.typesafe.config.ConfigFactory;
-
-/**
- * A docker config class which is responsible for getting the docker
- * configuration information. It searches for the configuration in System
- * properties, working directory, home directory and classpath.
- *
- * Example Mandatory configurations are:
- *
- *
dockerHost
- *
dockerImage>
- *
- * Optional configuration are:
- *
- *
exposedPorts (default: exposed ports in the image, if mentioned then it
- * will be added to the image's exposed port list )
- *
exposeAllPorts (default: true, while starting a container, if all ports
- * to be exposed for providing services outside the container.) This should be
- * true to start the communication with the container from HALE.>
- *
command (default: commands used in the image will be used)>
- *
isPrivileged (default: false)>
- *
- *
- * The docker configuration example is as below:
- *
- *
- * Hale looks for the docker configuration in the following files in the
- * following order:
- *
- *
System.getProperty("docker.conf.file")
- *
HOMEDIR/.hale/hale-docker.conf
- *
WORKDIR/hale-docker.conf
- *
CLASSPATH/hale-docker.conf
- *
- *
- * Configuration in home directory takes precedence over configuration in
- * working directory. That means, user can override the configuration with the
- * updated one without changing project setup.
- *
- * Global configuration Hale gives more precedence to the
- * global docker host configuration than the embedded one. Example
- * global{ dockerHost="http://192.168.59.103:2375"
- * } takes more precedence over postgis{
- * dockerHost="http://127.0.0.1:2375" }
- *
- *
- *
- * @author Sameer Sheikh
- *
- */
-public class DockerConfig {
-
- /**
- * Docker configuration file key
- */
- public static final String DOCKER_CONF = "hale-docker.conf";
- /**
- * docker configuration directory key
- */
- public static final String DOCKER_CONF_DIR = ".hale";
-
- /**
- * docker conf file (for configuration set on system property.
- */
- public static final String DOCKER_CONF_FILE = "docker.conf.file";
-
- /**
- * Looks for the configuration file in the home directory
- *
- * @return the absolute path of the configuration file in the home directory
- */
- private static String getHomeDirConf() {
-
- return new File(new File(System.getProperty("user.home"), DOCKER_CONF_DIR), DOCKER_CONF)
- .getAbsolutePath();
-
- }
-
- /**
- * Looks for the configuration file in the working directory
- *
- * @return the absolute path of the configuration file in the working
- * directory
- */
- private static String getWorkDirConf() {
-
- return new File(System.getProperty("user.dir"), DOCKER_CONF).getAbsolutePath();
- }
-
- /**
- * Checks for the configuration file in the system properties, home
- * directory, working directory and then class path.
- *
- * @param cl a class loader to fetch the configuration from class path
- *
- * @return A config object which maps configuration keys to configuration
- * values.
- */
-
- public static Config getDockerConfig(ClassLoader cl) {
- return ConfigFactory.systemProperties()
- .withFallback(loadConfigFromPath(System.getProperty(DOCKER_CONF_FILE)))
- .withFallback(loadConfigFromPath(getHomeDirConf()))
- .withFallback(loadConfigFromPath(getWorkDirConf()))
- .withFallback(loadConfigFromClassPath(cl)).resolve();
- }
-
- /**
- * gets the configuration file from the class path.
- *
- * @param cl a class loader to fetch the configuration from class path
- *
- * @return config object which maps config key to config value
- */
-
- private static Config loadConfigFromClassPath(ClassLoader cl) {
-
- InputStream is = cl.getResourceAsStream(DOCKER_CONF);
-
- if (is == null)
- return ConfigFactory.empty();
- else
- return ConfigFactory.parseReader(new InputStreamReader(is));
- }
-
- /**
- * loads the config from the given path
- *
- * @param path config path
- * @return config which maps config key to config value
- */
- private static Config loadConfigFromPath(String path) {
- if (path == null) {
- return ConfigFactory.empty();
- }
- File f = new File(path);
- if (!f.exists()) {
- return ConfigFactory.empty();
- }
-
- return ConfigFactory.parseFile(f);
-
- }
-
-}
diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.docker/src/eu/esdihumboldt/hale/common/test/docker/config/DockerConfigInstance.java b/common/plugins/eu.esdihumboldt.hale.common.test.docker/src/eu/esdihumboldt/hale/common/test/docker/config/DockerConfigInstance.java
deleted file mode 100644
index 48fea41736..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.docker/src/eu/esdihumboldt/hale/common/test/docker/config/DockerConfigInstance.java
+++ /dev/null
@@ -1,138 +0,0 @@
-package eu.esdihumboldt.hale.common.test.docker.config;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.typesafe.config.Config;
-
-/**
- * A general docker config instance
- *
- * @author Sameer Sheikh
- *
- */
-public class DockerConfigInstance implements ContainerParameters {
-
- private static final String DOT = ".";
- private final String configKey;
- private final Config conf;
-
- /**
- * Parameterized constructor
- *
- * @param confKey a key for the configuration group
- * @param cl a class loader to fetch the configuration from class path
- */
- public DockerConfigInstance(String confKey, ClassLoader cl) {
-
- this.configKey = confKey;
- conf = DockerConfig.getDockerConfig(cl);
-
- }
-
- @Override
- public String getImageName() {
- return getStringValue(DOCKER_IMAGE);
- }
-
- @Override
- public List getExposedPortList() {
- return getListValues(EXPOSED_PORTS_LIST);
- }
-
- @Override
- public List getCommands() {
- return getListValues(DOCKER_COMMAND);
- }
-
- @Override
- public boolean isExposeAllPorts() {
- return getBooleanValue(EXPOSE_ALL_PORTS, true);
- }
-
- /**
- * It checks if the global configuration for the docker host is available.
- * It overrides the local configuration for the docker host and takes the
- * global configuration.
- *
- * @see eu.esdihumboldt.hale.common.test.docker.config.ContainerParameters#getDockerHost()
- */
- @Override
- public String getDockerHost() {
-
- Config global = null;
- try {
- global = getConfig(GLOBAL);
- } catch (Exception e) {
- // do nothing
- }
-
- if (global != null && global.hasPath(DOCKER_HOST)) {
- return global.getString(DOCKER_HOST);
- }
- return getStringValue(DOCKER_HOST);
- }
-
- @Override
- public boolean isPrivileged() {
- return getBooleanValue(IS_PRIVILEGED, false);
- }
-
- @Override
- public String getStringValue(String key) {
- String valueKey = configKey + DOT + key;
-
- if (conf.hasPath(valueKey)) {
- return conf.getString(valueKey);
- }
- return null;
-
- }
-
- @Override
- public List getListValues(String key) {
- String valueKey = configKey + DOT + key;
-
- if (conf.hasPath(valueKey)) {
- return conf.getStringList(valueKey);
- }
- return new ArrayList();
-
- }
-
- @Override
- public boolean getBooleanValue(String key, boolean defaultValue) {
- String valueKey = configKey + DOT + key;
-
- if (conf.hasPath(valueKey)) {
- return conf.getBoolean(valueKey);
- }
- return defaultValue;
-
- }
-
- @Override
- public int getIntValue(String key, int defaultValue) {
- String valueKey = configKey + DOT + key;
-
- if (conf.hasPath(valueKey)) {
- return conf.getInt(valueKey);
- }
- return defaultValue;
- }
-
- @Override
- public Config getConfig() {
- return conf.getConfig(configKey);
- }
-
- /**
- * @param keyValue a key path to the config
- * @return a config object associated at the given key path
- * @throws Exception if it fails to find the config at given path
- */
- public Config getConfig(String keyValue) throws Exception {
- return conf.getConfig(keyValue);
- }
-
-}
diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.docker/src/eu/esdihumboldt/hale/common/test/docker/config/DockerContainer.java b/common/plugins/eu.esdihumboldt.hale.common.test.docker/src/eu/esdihumboldt/hale/common/test/docker/config/DockerContainer.java
deleted file mode 100644
index cc8b19ae46..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.docker/src/eu/esdihumboldt/hale/common/test/docker/config/DockerContainer.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package eu.esdihumboldt.hale.common.test.docker.config;
-
-/**
- * A generic docker client
- *
- * @author Sameer Sheikh
- *
- */
-public interface DockerContainer {
-
- /**
- * gets the host name for a docker client
- *
- * @return host name
- */
- String getHostName();
-
- /**
- * gets the host port of a docker client for a local port number
- *
- * @param port local port number
- * @return host port number
- */
- int getHostPort(int port);
-}
diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.docker/src/eu/esdihumboldt/hale/common/test/docker/config/HaleDockerClient.java b/common/plugins/eu.esdihumboldt.hale.common.test.docker/src/eu/esdihumboldt/hale/common/test/docker/config/HaleDockerClient.java
deleted file mode 100644
index 877813397c..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.docker/src/eu/esdihumboldt/hale/common/test/docker/config/HaleDockerClient.java
+++ /dev/null
@@ -1,221 +0,0 @@
-package eu.esdihumboldt.hale.common.test.docker.config;
-
-import java.net.URI;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import com.spotify.docker.client.DefaultDockerClient;
-import com.spotify.docker.client.DockerClient;
-import com.spotify.docker.client.DockerException;
-import com.spotify.docker.client.ImageNotFoundException;
-import com.spotify.docker.client.messages.ContainerConfig;
-import com.spotify.docker.client.messages.ContainerCreation;
-import com.spotify.docker.client.messages.ContainerInfo;
-import com.spotify.docker.client.messages.HostConfig;
-import com.spotify.docker.client.messages.PortBinding;
-
-import de.fhg.igd.slf4jplus.ALogger;
-import de.fhg.igd.slf4jplus.ALoggerFactory;
-
-/**
- * A Hale docker client
- *
- * @author Sameer Sheikh
- *
- */
-public class HaleDockerClient implements DockerContainer {
-
- private static final ALogger LOGGER = ALoggerFactory.getLogger(HaleDockerClient.class);
-
- private DockerClient dc;
- private ContainerConfig containerConf;
- private Map> portMapper;
- private String containerId;
- private URI uri;
- private final ContainerParameters dbc;
- private ContainerCreation creation;
-
- private String containerIp;
-
- /**
- * A parameterized constructor
- *
- * @param dbc parameters related to a general docker client
- */
- public HaleDockerClient(ContainerParameters dbc) {
- this.dbc = dbc;
-
- }
-
- /**
- * Checks the availability of the Docker server.
- *
- * @return true if the Docker server is available,
- * false otherwise
- */
- public boolean isServerAvailable() {
- if (dc == null) {
- throw new IllegalStateException(
- "Docker client not created yet: call createContainer() first");
- }
-
- int numAttempts = 3;
- for (int i = 0; i < numAttempts; i++) {
- try {
- String result = dc.ping();
- if ("OK".equals(result)) {
- return true;
- }
- } catch (Exception e) {
- int attemptsLeft = numAttempts - (i + 1);
- LOGGER.debug("Exception occurred connection to docker server: " + attemptsLeft
- + " attempts left", e);
-
- try {
- Thread.sleep(1000);
- } catch (InterruptedException e1) {
- // ignore
- }
- }
- }
-
- return false;
- }
-
- /**
- * creates a container using the parameters.
- *
- */
- public void createContainer() {
-
- Set exposedPorts = new HashSet(dbc.getExposedPortList());
- uri = URI.create(dbc.getDockerHost());
- dc = new DefaultDockerClient(uri);
-
- containerConf = ContainerConfig.builder().image(dbc.getImageName()).cmd(dbc.getCommands())
- .exposedPorts(exposedPorts).build();
-
- }
-
- /**
- * Gets the host name from the url configured in the docker configuration
- *
- * @return host name configured
- */
- @Override
- public String getHostName() {
- return uri.getHost();
- }
-
- /**
- * @return the container IP address
- */
- public String getContainerIp() {
- return containerIp;
- }
-
- /**
- * start a container. Container can be started in the privileged mode if the
- * 'isPrivileged' key in the configuration is set as true.
- *
- * @throws DockerException docker exception
- * @throws InterruptedException interrupted exception
- */
- public void startContainer() throws DockerException, InterruptedException {
- try {
- dc.inspectImage(containerConf.image());
- } catch (ImageNotFoundException e) {
- // pull image if it is not present
- LOGGER.info(
- MessageFormat.format("Docker image not found, attempting to pull image {0}...",
- containerConf.image()));
- dc.pull(containerConf.image());
- }
- // TODO also add a setting to pull the image always?
-
- LOGGER.info(MessageFormat.format("Preparing container for image {0}...",
- containerConf.image()));
- creation = dc.createContainer(containerConf);
- containerId = creation.id();
- LOGGER.info(MessageFormat.format("Created container with ID {0}, now starting...",
- containerId));
-
- final HostConfig hostConfig;
- if (getHostName() == null) {
- // don't publish ports (probably unix socket connection)
- hostConfig = HostConfig.builder().publishAllPorts(false).privileged(dbc.isPrivileged())
- .build();
- }
- else {
- // XXX publishing all ports can be very bad if the host is
- // accessible externally
- hostConfig = HostConfig.builder().publishAllPorts(dbc.isExposeAllPorts())
- .privileged(dbc.isPrivileged()).build();
- }
-
- dc.startContainer(containerId, hostConfig);
-
- final ContainerInfo info = dc.inspectContainer(containerId);
- portMapper = info.networkSettings().ports();
- containerIp = info.networkSettings().ipAddress();
- }
-
- /**
- * gets the binded docker host port
- *
- * @param port the configured port number
- * @return the binded docker host port number for the given port
- */
- @Override
- public int getHostPort(int port) {
-
- ArrayList bindings = (ArrayList) portMapper.get(port + "/tcp");
-
- if (bindings != null && bindings.size() > 0) {
-
- return Integer.parseInt(bindings.get(0).hostPort());
-
- }
- else {
-
- throw new IllegalArgumentException("Port not available");
-
- }
-
- }
-
- /**
- * kill and remove the container
- *
- * @throws Exception if fails to kill the container or remove it
- */
- public void killAndRemoveContainer() throws Exception {
- if (containerId == null) {
- return;
- }
- try {
- LOGGER.info(MessageFormat.format("Killing container {0}...", containerId));
- dc.killContainer(containerId);
- } finally {
- LOGGER.info(MessageFormat.format("Removing container {0}...", containerId));
- dc.removeContainer(containerId);
- }
- }
-
- /**
- * @return the container ID or null if no container was created
- * yet
- */
- public String getContainerId() {
- if (creation != null) {
- return creation.id();
- }
- else {
- return null;
- }
- }
-}
diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.docker/src/eu/esdihumboldt/hale/common/test/docker/config/RunWithContainer.java b/common/plugins/eu.esdihumboldt.hale.common.test.docker/src/eu/esdihumboldt/hale/common/test/docker/config/RunWithContainer.java
deleted file mode 100644
index 6a09494d54..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.docker/src/eu/esdihumboldt/hale/common/test/docker/config/RunWithContainer.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package eu.esdihumboldt.hale.common.test.docker.config;
-
-/**
- * It exposes functionality to run a unit test logic on a docker client.
- *
- * @author Sameer Sheikh
- *
- * @param type
- */
-public interface RunWithContainer {
-
- /**
- * responsible to run a unit test login on the docker image.
- *
- * @param client a docker client
- * @param config a docker configuration
- * @return a type
- * @throws Exception if fails while executing the run method
- */
- T run(DockerContainer client, ContainerParameters config) throws Exception;
-}
diff --git a/common/plugins/eu.esdihumboldt.hale.common.test.docker/src/eu/esdihumboldt/hale/common/test/docker/helper/DockerConfigHelper.java b/common/plugins/eu.esdihumboldt.hale.common.test.docker/src/eu/esdihumboldt/hale/common/test/docker/helper/DockerConfigHelper.java
deleted file mode 100644
index 5cdc36663b..0000000000
--- a/common/plugins/eu.esdihumboldt.hale.common.test.docker/src/eu/esdihumboldt/hale/common/test/docker/helper/DockerConfigHelper.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package eu.esdihumboldt.hale.common.test.docker.helper;
-
-import eu.esdihumboldt.hale.common.test.docker.config.DockerConfigInstance;
-import eu.esdihumboldt.hale.common.test.docker.config.HaleDockerClient;
-import eu.esdihumboldt.hale.common.test.docker.config.RunWithContainer;
-
-/**
- * The docker config helper which cretaes a docker container, starts a
- * container, executes the run method from a anonymous class, and then kills the
- * container.
- *
- * @author Sameer Sheikh
- *
- */
-public class DockerConfigHelper {
-
- /**
- * fetches the configuration parameters for the key configName
- * which is usefull in creating a docker container. It starts a container,
- * executes the logic and kills the container.
- *
- * @param configName a name for the configuration group
- * @param runInstance an anonymous class object
- * @param cl A class loader to fetch configuration from classpath
- * @return the result of run method execution of a RunWithContainer class
- * @throws Exception exception if it fails to kill the container
- */
- public static T withContainer(String configName, RunWithContainer runInstance,
- ClassLoader cl) throws Exception {
-
- DockerConfigInstance dci = new DockerConfigInstance(configName, cl);
- HaleDockerClient client = new HaleDockerClient(dci);
- client.createContainer();
- try {
- client.startContainer();
- return runInstance.run(client, dci);
-
- } finally {
- client.killAndRemoveContainer();
- }
- }
-}
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/.classpath b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/.classpath
deleted file mode 100644
index 8d3e2edc40..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/.project b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/.project
deleted file mode 100644
index 884a320adb..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
- eu.esdihumboldt.hale.app.bgis.ade
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- org.eclipse.pde.ManifestBuilder
-
-
-
-
- org.eclipse.pde.SchemaBuilder
-
-
-
-
- edu.umd.cs.findbugs.plugin.eclipse.findbugsBuilder
-
-
-
-
-
- org.eclipse.jdt.groovy.core.groovyNature
- org.eclipse.pde.PluginNature
- org.eclipse.jdt.core.javanature
-
-
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/.settings/edu.umd.cs.findbugs.core.prefs b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/.settings/edu.umd.cs.findbugs.core.prefs
deleted file mode 100644
index 756cfc6a80..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/.settings/edu.umd.cs.findbugs.core.prefs
+++ /dev/null
@@ -1,132 +0,0 @@
-#Updated from default preferences Sep 26, 2013 4:32:40 PM
-#Thu Sep 26 16:32:40 CEST 2013
-cloud_id=edu.umd.cs.findbugs.cloud.doNothingCloud
-detectorAppendingToAnObjectOutputStream=AppendingToAnObjectOutputStream|true
-detectorAtomicityProblem=AtomicityProblem|true
-detectorBadAppletConstructor=BadAppletConstructor|false
-detectorBadResultSetAccess=BadResultSetAccess|true
-detectorBadSyntaxForRegularExpression=BadSyntaxForRegularExpression|true
-detectorBadUseOfReturnValue=BadUseOfReturnValue|true
-detectorBadlyOverriddenAdapter=BadlyOverriddenAdapter|true
-detectorBooleanReturnNull=BooleanReturnNull|true
-detectorCallToUnsupportedMethod=CallToUnsupportedMethod|true
-detectorCheckExpectedWarnings=CheckExpectedWarnings|false
-detectorCheckImmutableAnnotation=CheckImmutableAnnotation|true
-detectorCheckTypeQualifiers=CheckTypeQualifiers|true
-detectorCloneIdiom=CloneIdiom|true
-detectorComparatorIdiom=ComparatorIdiom|true
-detectorConfusedInheritance=ConfusedInheritance|true
-detectorConfusionBetweenInheritedAndOuterMethod=ConfusionBetweenInheritedAndOuterMethod|true
-detectorCrossSiteScripting=CrossSiteScripting|true
-detectorDefaultEncodingDetector=DefaultEncodingDetector|true
-detectorDoInsideDoPrivileged=DoInsideDoPrivileged|true
-detectorDontCatchIllegalMonitorStateException=DontCatchIllegalMonitorStateException|true
-detectorDontIgnoreResultOfPutIfAbsent=DontIgnoreResultOfPutIfAbsent|true
-detectorDontUseEnum=DontUseEnum|true
-detectorDroppedException=DroppedException|true
-detectorDumbMethodInvocations=DumbMethodInvocations|true
-detectorDumbMethods=DumbMethods|true
-detectorDuplicateBranches=DuplicateBranches|true
-detectorEmptyZipFileEntry=EmptyZipFileEntry|true
-detectorEqualsOperandShouldHaveClassCompatibleWithThis=EqualsOperandShouldHaveClassCompatibleWithThis|true
-detectorExplicitSerialization=ExplicitSerialization|true
-detectorFinalizerNullsFields=FinalizerNullsFields|true
-detectorFindBadCast2=FindBadCast2|true
-detectorFindBadForLoop=FindBadForLoop|true
-detectorFindCircularDependencies=FindCircularDependencies|false
-detectorFindDeadLocalStores=FindDeadLocalStores|true
-detectorFindDoubleCheck=FindDoubleCheck|true
-detectorFindEmptySynchronizedBlock=FindEmptySynchronizedBlock|true
-detectorFindFieldSelfAssignment=FindFieldSelfAssignment|true
-detectorFindFinalizeInvocations=FindFinalizeInvocations|true
-detectorFindFloatEquality=FindFloatEquality|true
-detectorFindHEmismatch=FindHEmismatch|true
-detectorFindInconsistentSync2=FindInconsistentSync2|true
-detectorFindJSR166LockMonitorenter=FindJSR166LockMonitorenter|true
-detectorFindLocalSelfAssignment2=FindLocalSelfAssignment2|true
-detectorFindMaskedFields=FindMaskedFields|true
-detectorFindMismatchedWaitOrNotify=FindMismatchedWaitOrNotify|true
-detectorFindNakedNotify=FindNakedNotify|true
-detectorFindNonShortCircuit=FindNonShortCircuit|true
-detectorFindNullDeref=FindNullDeref|true
-detectorFindNullDerefsInvolvingNonShortCircuitEvaluation=FindNullDerefsInvolvingNonShortCircuitEvaluation|true
-detectorFindOpenStream=FindOpenStream|true
-detectorFindPuzzlers=FindPuzzlers|true
-detectorFindRefComparison=FindRefComparison|true
-detectorFindReturnRef=FindReturnRef|true
-detectorFindRunInvocations=FindRunInvocations|true
-detectorFindSelfComparison=FindSelfComparison|true
-detectorFindSelfComparison2=FindSelfComparison2|true
-detectorFindSleepWithLockHeld=FindSleepWithLockHeld|true
-detectorFindSpinLoop=FindSpinLoop|true
-detectorFindSqlInjection=FindSqlInjection|true
-detectorFindTwoLockWait=FindTwoLockWait|true
-detectorFindUncalledPrivateMethods=FindUncalledPrivateMethods|true
-detectorFindUnconditionalWait=FindUnconditionalWait|true
-detectorFindUninitializedGet=FindUninitializedGet|true
-detectorFindUnrelatedTypesInGenericContainer=FindUnrelatedTypesInGenericContainer|true
-detectorFindUnreleasedLock=FindUnreleasedLock|true
-detectorFindUnsatisfiedObligation=FindUnsatisfiedObligation|true
-detectorFindUnsyncGet=FindUnsyncGet|true
-detectorFindUseOfNonSerializableValue=FindUseOfNonSerializableValue|true
-detectorFindUselessControlFlow=FindUselessControlFlow|true
-detectorFormatStringChecker=FormatStringChecker|true
-detectorHugeSharedStringConstants=HugeSharedStringConstants|true
-detectorIDivResultCastToDouble=IDivResultCastToDouble|true
-detectorIncompatMask=IncompatMask|true
-detectorInconsistentAnnotations=InconsistentAnnotations|true
-detectorInefficientMemberAccess=InefficientMemberAccess|false
-detectorInefficientToArray=InefficientToArray|true
-detectorInfiniteLoop=InfiniteLoop|true
-detectorInfiniteRecursiveLoop=InfiniteRecursiveLoop|true
-detectorInheritanceUnsafeGetResource=InheritanceUnsafeGetResource|true
-detectorInitializationChain=InitializationChain|true
-detectorInitializeNonnullFieldsInConstructor=InitializeNonnullFieldsInConstructor|true
-detectorInstantiateStaticClass=InstantiateStaticClass|true
-detectorIntCast2LongAsInstant=IntCast2LongAsInstant|true
-detectorInvalidJUnitTest=InvalidJUnitTest|true
-detectorIteratorIdioms=IteratorIdioms|true
-detectorLazyInit=LazyInit|true
-detectorLoadOfKnownNullValue=LoadOfKnownNullValue|true
-detectorLostLoggerDueToWeakReference=LostLoggerDueToWeakReference|true
-detectorMethodReturnCheck=MethodReturnCheck|true
-detectorMultithreadedInstanceAccess=MultithreadedInstanceAccess|true
-detectorMutableLock=MutableLock|true
-detectorMutableStaticFields=MutableStaticFields|true
-detectorNaming=Naming|true
-detectorNoteUnconditionalParamDerefs=NoteUnconditionalParamDerefs|true
-detectorNumberConstructor=NumberConstructor|true
-detectorOverridingEqualsNotSymmetrical=OverridingEqualsNotSymmetrical|true
-detectorPreferZeroLengthArrays=PreferZeroLengthArrays|true
-detectorPublicSemaphores=PublicSemaphores|true
-detectorQuestionableBooleanAssignment=QuestionableBooleanAssignment|true
-detectorReadOfInstanceFieldInMethodInvokedByConstructorInSuperclass=ReadOfInstanceFieldInMethodInvokedByConstructorInSuperclass|true
-detectorReadReturnShouldBeChecked=ReadReturnShouldBeChecked|true
-detectorRedundantInterfaces=RedundantInterfaces|true
-detectorRepeatedConditionals=RepeatedConditionals|true
-detectorRuntimeExceptionCapture=RuntimeExceptionCapture|true
-detectorSerializableIdiom=SerializableIdiom|true
-detectorStartInConstructor=StartInConstructor|true
-detectorStaticCalendarDetector=StaticCalendarDetector|true
-detectorStringConcatenation=StringConcatenation|true
-detectorSuperfluousInstanceOf=SuperfluousInstanceOf|true
-detectorSuspiciousThreadInterrupted=SuspiciousThreadInterrupted|true
-detectorSwitchFallthrough=SwitchFallthrough|true
-detectorSynchronizeAndNullCheckField=SynchronizeAndNullCheckField|true
-detectorSynchronizeOnClassLiteralNotGetClass=SynchronizeOnClassLiteralNotGetClass|true
-detectorSynchronizingOnContentsOfFieldToProtectField=SynchronizingOnContentsOfFieldToProtectField|true
-detectorURLProblems=URLProblems|true
-detectorUncallableMethodOfAnonymousClass=UncallableMethodOfAnonymousClass|true
-detectorUnnecessaryMath=UnnecessaryMath|true
-detectorUnreadFields=UnreadFields|true
-detectorUselessSubclassMethod=UselessSubclassMethod|true
-detectorVarArgsProblems=VarArgsProblems|true
-detectorVolatileUsage=VolatileUsage|true
-detectorWaitInLoop=WaitInLoop|true
-detectorWrongMapIterator=WrongMapIterator|true
-detectorXMLFactoryBypass=XMLFactoryBypass|true
-detector_threshold=2
-effort=default
-filter_settings=Medium|BAD_PRACTICE,CORRECTNESS,I18N,MALICIOUS_CODE,MT_CORRECTNESS,PERFORMANCE,SECURITY,STYLE|false|15
-filter_settings_neg=NOISE,EXPERIMENTAL|
-run_at_full_build=true
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/.settings/org.eclipse.core.resources.prefs b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index c62f4d50ff..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Created from default preferences Apr 5, 2013 10:44:43 AM
-#Fri Apr 05 10:44:43 CEST 2013
-eclipse.preferences.version=1
-encoding/=UTF-8
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/.settings/org.eclipse.jdt.core.prefs b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index e3e46a012e..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,397 +0,0 @@
-#Updated from default preferences Jul 25, 2018 2:48:01 PM
-#Wed Jul 25 14:48:01 CEST 2018
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch,.svn/
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=,_
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.8
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=100
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/.settings/org.eclipse.jdt.groovy.core.prefs b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/.settings/org.eclipse.jdt.groovy.core.prefs
deleted file mode 100644
index 1e68ed69ff..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/.settings/org.eclipse.jdt.groovy.core.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-eclipse.preferences.version=1
-groovy.compiler.level=25
-groovy.script.filters=**/*.dsld,y,**/*.gradle,n
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/.settings/org.eclipse.jdt.launching.prefs b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/.settings/org.eclipse.jdt.launching.prefs
deleted file mode 100644
index 9649e3e055..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/.settings/org.eclipse.jdt.launching.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Created from default preferences Apr 5, 2013 10:44:43 AM
-#Fri Apr 05 10:44:43 CEST 2013
-eclipse.preferences.version=1
-org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/.settings/org.eclipse.jdt.ui.prefs b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index efd679c982..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,64 +0,0 @@
-#Created from default preferences Apr 5, 2013 10:44:43 AM
-#Fri Apr 05 10:44:43 CEST 2013
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_HALE
-formatter_settings_version=12
-org.eclipse.jdt.ui.exception.name=e
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.keywordthis=false
-org.eclipse.jdt.ui.overrideannotation=true
-org.eclipse.jdt.ui.text.custom_code_templates=/**\n * @return the ${bare_field_name}\n *//**\n * @param ${param} the ${bare_field_name} to set\n *//**\n * ${tags}\n *//*\n * Copyright (c) ${year} Fraunhofer IGD\n * \n * All rights reserved. This program and the accompanying materials are made\n * available under the terms of the GNU Lesser General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n * \n * You should have received a copy of the GNU Lesser General Public License\n * along with this distribution. If not, see <http\://www.gnu.org/licenses/>.\n * \n * Contributors\:\n * Fraunhofer IGD\n *//**\n * TODO Type description\n * @author ${user}\n *//**\n * \n *//**\n * ${tags}\n *//**\n * ${see_to_overridden}\n *//**\n * ${tags}\n * ${see_to_target}\n */${filecomment}\n\n${package_declaration}\n\n${typecomment}\n${type_declaration}\n\n\n\n// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();// ${todo} Auto-generated method stub\n${body_statement}${body_statement}\n// ${todo} Auto-generated constructor stubreturn ${field};${field} \= ${param};
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/.settings/org.eclipse.pde.core.prefs b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index 923c37fb8d..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-resolve.requirebundle=false
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/META-INF/MANIFEST.MF b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/META-INF/MANIFEST.MF
deleted file mode 100644
index 24d9e539f5..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,28 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: BGIS ADE applications
-Bundle-SymbolicName: eu.esdihumboldt.hale.app.bgis.ade;singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: eu.esdihumboldt.hale.app.bgis.ade.internal.Activator
-Bundle-Vendor: Fraunhofer IGD
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Import-Package: com.google.common.collect;version="1.0.0",
- de.fhg.igd.eclipse.util.extension,
- eu.esdihumboldt.hale.common.app,
- eu.esdihumboldt.hale.io.gml,
- eu.esdihumboldt.hale.io.gml.geometry,
- eu.esdihumboldt.hale.io.xls,
- eu.esdihumboldt.util.io,
- net.jcip.annotations,
- org.apache.poi.ss.usermodel;version="3.9.0",
- org.osgi.framework;version="1.3.0"
-Bundle-ActivationPolicy: lazy
-Require-Bundle: groovy;bundle-version="4.0.1",
- org.eclipse.core.runtime;bundle-version="3.7.0",
- eu.esdihumboldt.hale.common.schema;bundle-version="2.5.0",
- eu.esdihumboldt.hale.common.align;bundle-version="2.5.0",
- eu.esdihumboldt.hale.common.core;bundle-version="2.5.0",
- eu.esdihumboldt.hale.common.instance;bundle-version="2.5.0",
- eu.esdihumboldt.hale.functions.bgis;bundle-version="1.0.0",
- eu.esdihumboldt.hale.common.headless;bundle-version="2.5.0"
-Automatic-Module-Name: eu.esdihumboldt.hale.app.bgis.ade
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/bgis.ade.defaults-sample.launch b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/bgis.ade.defaults-sample.launch
deleted file mode 100644
index a09b0704ac..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/bgis.ade.defaults-sample.launch
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/bgis.ade.duplicate-sample.launch b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/bgis.ade.duplicate-sample.launch
deleted file mode 100644
index 8d02e78cb3..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/bgis.ade.duplicate-sample.launch
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/bgis.ade.propagate-sample1.launch b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/bgis.ade.propagate-sample1.launch
deleted file mode 100644
index 9f774b12b1..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/bgis.ade.propagate-sample1.launch
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/bgis.ade.propagate-sample2.launch b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/bgis.ade.propagate-sample2.launch
deleted file mode 100644
index f3ce9c01c3..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/bgis.ade.propagate-sample2.launch
+++ /dev/null
@@ -1,274 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/build.properties b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/build.properties
deleted file mode 100644
index ecbccf97bd..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/build.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.xml
-sourceFileExtensions=*.java, *.groovy
-compilerAdapter=org.codehaus.groovy.eclipse.ant.GroovyCompilerAdapter
-compilerAdapter.useLog=true
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/plugin.xml b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/plugin.xml
deleted file mode 100644
index 3d03599daf..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/plugin.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/common/BGISAppConstants.java b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/common/BGISAppConstants.java
deleted file mode 100644
index f1d0860af6..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/common/BGISAppConstants.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2013 Fraunhofer IGD
- *
- * All rights reserved. This program and the accompanying materials are made
- * available under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution. If not, see .
- *
- * Contributors:
- * Fraunhofer IGD
- */
-
-package eu.esdihumboldt.hale.app.bgis.ade.common;
-
-/**
- * BGIS CityGML ADE applications constants.
- *
- * @author Simon Templer
- */
-public interface BGISAppConstants {
-
- /**
- * ADE namespace.
- */
-// public static final String ADE_NS = "http://www.bund.de/AGeoBw";
- public static final String ADE_NS = "http://www.datenbasisDokumente.geoinfo.svc/schemata/";
-
- /**
- * Default value for enumerations.
- */
- public static final String ENUMERATION_DEFAULT = "noInformation";
-
- /**
- * Default value for numbers.
- */
- public static final String NUMBER_DEFAULT = "-999999";
-
- /**
- * Default value for strings and anything else (e.g. dates)
- */
- public static final String DEFAULT = "No Information";
-
- /**
- * Identifier of the alignment content type.
- */
- public static final String ALIGNMENT_CONTENT_TYPE = "eu.esdihumboldt.hale.io.align.26";
-
-}
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/common/BGISAppUtil.java b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/common/BGISAppUtil.java
deleted file mode 100644
index af8911843a..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/common/BGISAppUtil.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (c) 2013 Fraunhofer IGD
- *
- * All rights reserved. This program and the accompanying materials are made
- * available under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution. If not, see .
- *
- * Contributors:
- * Fraunhofer IGD
- */
-
-package eu.esdihumboldt.hale.app.bgis.ade.common;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.XMLConstants;
-import javax.xml.namespace.QName;
-
-import eu.esdihumboldt.hale.common.align.model.Cell;
-import eu.esdihumboldt.hale.common.align.model.CellUtil;
-import eu.esdihumboldt.hale.common.schema.model.TypeDefinition;
-import eu.esdihumboldt.hale.common.schema.model.TypeIndex;
-import eu.esdihumboldt.hale.io.gml.geometry.GMLConstants;
-
-/**
- * Common utility methods.
- *
- * @author Simon Templer
- */
-public class BGISAppUtil implements BGISAppConstants, GMLConstants {
-
- /**
- * Determine if a given type is a feature type.
- *
- * @param type the type definition
- * @return if the type represents a feature type
- */
- public static boolean isFeatureType(TypeDefinition type) {
- if ("AbstractFeatureType".equals(type.getName().getLocalPart())
- && type.getName().getNamespaceURI().startsWith(GML_NAMESPACE_CORE)) {
- return true;
- }
-
- if (type.getSuperType() != null) {
- return isFeatureType(type.getSuperType());
- }
-
- return false;
- }
-
- /**
- * Determines if the given type represents a XML ID.
- *
- * @param type the type definition
- * @return if the type represents an ID
- */
- public static boolean isID(TypeDefinition type) {
- if (type.getName().equals(new QName(XMLConstants.W3C_XML_SCHEMA_NS_URI, "ID"))) {
- return true;
- }
-
- if (type.getSuperType() != null) {
- return isID(type.getSuperType());
- }
-
- return false;
- }
-
- /**
- * Get all ADE feature types from a given schema.
- *
- * @param schema the schema
- * @return the list of ADE feature types
- */
- public static List getADEFeatureTypes(TypeIndex schema) {
- List featureTypes = new ArrayList();
- for (TypeDefinition type : schema.getTypes()) {
- if (ADE_NS.equals(type.getName().getNamespaceURI()) && BGISAppUtil.isFeatureType(type)) {
- featureTypes.add(type);
- }
- }
-
- return featureTypes;
- }
-
- /**
- * Append a note to the given cell.
- *
- * @param cell the cell
- * @param note the note
- */
- public static void appendNote(Cell cell, String note) {
- String org = CellUtil.getNotes(cell);
- if (org != null) {
- note = org + "\n\n--\n" + note;
- }
- CellUtil.setNotes(cell, note);
- }
-
-}
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/common/EntityVisitor.java b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/common/EntityVisitor.java
deleted file mode 100644
index c7a5b6523f..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/common/EntityVisitor.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Copyright (c) 2013 Fraunhofer IGD
- *
- * All rights reserved. This program and the accompanying materials are made
- * available under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution. If not, see .
- *
- * Contributors:
- * Fraunhofer IGD
- */
-
-package eu.esdihumboldt.hale.app.bgis.ade.common;
-
-import eu.esdihumboldt.hale.common.align.model.AlignmentUtil;
-import eu.esdihumboldt.hale.common.align.model.EntityDefinition;
-import eu.esdihumboldt.hale.common.align.model.impl.ChildEntityDefinition;
-import eu.esdihumboldt.hale.common.align.model.impl.PropertyEntityDefinition;
-import eu.esdihumboldt.hale.common.align.model.impl.TypeEntityDefinition;
-import eu.esdihumboldt.hale.common.schema.model.ChildDefinition;
-
-/**
- * Visitor for {@link EntityDefinition}s.
- *
- * @author Simon Templer
- */
-public class EntityVisitor {
-
- /**
- * Apply the visitor on an entity definition.
- *
- * @param ed the entity definition
- */
- public void accept(EntityDefinition ed) {
- if (ed instanceof TypeEntityDefinition) {
- accept((TypeEntityDefinition) ed);
- }
- else if (ed instanceof PropertyEntityDefinition) {
- accept((PropertyEntityDefinition) ed);
- }
- else if (ed instanceof ChildEntityDefinition) {
- accept((ChildEntityDefinition) ed);
- }
- }
-
- /**
- * Apply the visitor on a type entity definition.
- *
- * @param ted the type entity definition
- */
- public void accept(TypeEntityDefinition ted) {
- if (visit(ted)) {
- for (ChildDefinition> child : ted.getDefinition().getChildren()) {
- EntityDefinition ed = AlignmentUtil.getChild(ted, child.getName());
-
- accept(ed);
- }
- }
- }
-
- /**
- * Apply the visitor on a property entity definition.
- *
- * @param ped the property entity definition
- */
- public void accept(PropertyEntityDefinition ped) {
- if (visit(ped)) {
- for (ChildDefinition> child : ped.getDefinition().getPropertyType().getChildren()) {
- EntityDefinition ed = AlignmentUtil.getChild(ped, child.getName());
-
- accept(ed);
- }
- }
- }
-
- /**
- * Apply the visitor on a child entity definition.
- *
- * @param ced the child entity definition
- */
- public void accept(ChildEntityDefinition ced) {
- if (visit(ced)) {
- for (ChildDefinition> child : ced.getDefinition().asGroup().getDeclaredChildren()) {
- EntityDefinition ed = AlignmentUtil.getChild(ced, child.getName());
-
- accept(ed);
- }
- }
- }
-
- /**
- * Visit a property entity definition.
- *
- * @param ped the property entity definition
- * @return if traversal should be continued with the entity's children
- */
- protected boolean visit(PropertyEntityDefinition ped) {
- return true;
- }
-
- /**
- * Visit a child entity definition.
- *
- * @param ced the child entity definition
- * @return if traversal should be continued with the entity's children
- */
- protected boolean visit(ChildEntityDefinition ced) {
- return true;
- }
-
- /**
- * Visit a type entity definition.
- *
- * @param ted the type entity definition
- * @return if traversal should be continued with the entity's children
- */
- protected boolean visit(TypeEntityDefinition ted) {
- return true;
- }
-
-}
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/defaults/DefaultsVisitor.java b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/defaults/DefaultsVisitor.java
deleted file mode 100644
index 0206ef6f01..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/defaults/DefaultsVisitor.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
- * Copyright (c) 2013 Fraunhofer IGD
- *
- * All rights reserved. This program and the accompanying materials are made
- * available under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution. If not, see .
- *
- * Contributors:
- * Fraunhofer IGD
- */
-
-package eu.esdihumboldt.hale.app.bgis.ade.defaults;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.google.common.collect.ArrayListMultimap;
-import com.google.common.collect.ListMultimap;
-
-import eu.esdihumboldt.hale.app.bgis.ade.common.BGISAppConstants;
-import eu.esdihumboldt.hale.app.bgis.ade.common.BGISAppUtil;
-import eu.esdihumboldt.hale.app.bgis.ade.common.EntityVisitor;
-import eu.esdihumboldt.hale.app.bgis.ade.defaults.config.DefaultValues;
-import eu.esdihumboldt.hale.common.align.model.Entity;
-import eu.esdihumboldt.hale.common.align.model.MutableCell;
-import eu.esdihumboldt.hale.common.align.model.ParameterValue;
-import eu.esdihumboldt.hale.common.align.model.Priority;
-import eu.esdihumboldt.hale.common.align.model.functions.AssignFunction;
-import eu.esdihumboldt.hale.common.align.model.functions.GenerateUIDFunction;
-import eu.esdihumboldt.hale.common.align.model.impl.DefaultCell;
-import eu.esdihumboldt.hale.common.align.model.impl.DefaultProperty;
-import eu.esdihumboldt.hale.common.align.model.impl.PropertyEntityDefinition;
-import eu.esdihumboldt.hale.common.schema.model.TypeDefinition;
-import eu.esdihumboldt.hale.common.schema.model.constraint.property.Cardinality;
-import eu.esdihumboldt.hale.common.schema.model.constraint.type.Binding;
-import eu.esdihumboldt.hale.common.schema.model.constraint.type.Enumeration;
-import eu.esdihumboldt.hale.common.schema.model.constraint.type.HasValueFlag;
-import eu.esdihumboldt.hale.functions.bgis.capturespec.DataCaptureSpecFunction;
-import eu.esdihumboldt.hale.functions.bgis.sourcedesc.SourceDescriptionFunction;
-
-/**
- * Entity visitor that creates cells assigning default values.
- *
- * @author Simon Templer
- */
-public class DefaultsVisitor extends EntityVisitor implements BGISAppConstants {
-
- /**
- * The created cells.
- */
- private final List cells = new ArrayList();
-
- private final DefaultValues defaultValues;
-
- /**
- * Create a default value visitor creating assignment cells.
- *
- * @param defaultValues the custom default value configuration, may be
- * null
- */
- public DefaultsVisitor(DefaultValues defaultValues) {
- this.defaultValues = defaultValues;
- }
-
- @Override
- protected boolean visit(PropertyEntityDefinition ped) {
- if (ADE_NS.equals(ped.getDefinition().getName().getNamespaceURI())) {
- // property is from ADE
-
- if (ped.getDefinition().getPropertyType().getConstraint(HasValueFlag.class).isEnabled()) {
- /*
- * Property is represented by a simple type (only there it makes
- * sense to assign defaults)
- */
-
- // special handling allowing defaults
- if ("dataCaptureSpec".equals(ped.getDefinition().getName().getLocalPart())) {
- addAugmentationCell(ped, DataCaptureSpecFunction.ID, Priority.LOW);
- }
-
- // special handling allowing no defaults
- if ("sourceDescription".equals(ped.getDefinition().getName().getLocalPart())) {
- addAugmentationCell(ped, SourceDescriptionFunction.ID, Priority.LOWEST);
- }
- // default values
- else {
- String value = null;
- // check config for default value
- value = defaultValues.getDefaultValue(ped);
- /*
- * Assign custom default value for any property or generic
- * default value for mandatory property
- */
- if (value != null
- || ped.getDefinition().getConstraint(Cardinality.class).getMinOccurs() > 0) {
- addDefaultCell(ped, value);
- }
- }
- }
-
- return true;
- }
- else {
- // property not from ADE
-
- // handle mandatory XML IDs in complex properties
- if (ped.getPropertyPath().size() > 1 // ignore feature ID
- && ped.getDefinition().getConstraint(Cardinality.class).getMinOccurs() > 0
- && BGISAppUtil.isID(ped.getDefinition().getPropertyType())) {
- // TODO also check the wrapping property actually is mandatory?
- addAugmentationCell(ped, GenerateUIDFunction.ID, Priority.LOWEST);
- }
- }
-
- return false;
- }
-
- /**
- * Add a cell assigning a default value to the given entity.
- *
- * @param ped the property entity definition
- * @param value the value to assign or null if it should be
- * auto-detected
- */
- private void addDefaultCell(PropertyEntityDefinition ped, String value) {
- String note;
-
- // determine value to assign
- if (value == null) {
- value = determineDefaultValue(ped.getDefinition().getPropertyType());
- note = "Generated default value based on property type.";
- }
- else {
- note = "Generated cell with specified default value.";
- }
- if (value == null) {
- return;
- }
-
- // create cell template
- MutableCell cell = new DefaultCell();
- cell.setPriority(Priority.LOWEST);
- ListMultimap target = ArrayListMultimap.create();
- cell.setTarget(target);
- ListMultimap parameters = ArrayListMultimap.create();
- cell.setTransformationParameters(parameters);
-
- // set transformation identifier (Assign)
- cell.setTransformationIdentifier(AssignFunction.ID);
- // set cell target (Property)
- target.put(null, new DefaultProperty(ped));
- // set cell parameters (Value)
- parameters.put(AssignFunction.PARAMETER_VALUE, new ParameterValue(value));
-
- BGISAppUtil.appendNote(cell, note);
-
- cells.add(cell);
- }
-
- /**
- * Add a simple cell using an augmentation w/o parameters.
- *
- * @param ped the property entity definition
- * @param functionId the function identifier
- * @param priority the cell priority
- */
- private void addAugmentationCell(PropertyEntityDefinition ped, String functionId,
- Priority priority) {
- // create cell template
- MutableCell cell = new DefaultCell();
- cell.setPriority(priority);
- ListMultimap target = ArrayListMultimap.create();
- cell.setTarget(target);
-
- // set transformation identifier (Function ID)
- cell.setTransformationIdentifier(functionId);
- // set cell target (Property)
- target.put(null, new DefaultProperty(ped));
-
- BGISAppUtil.appendNote(cell, "Generated default mapping.");
-
- cells.add(cell);
- }
-
- /**
- * Determine the default value to use for the given property type.
- *
- * @param propertyType the type definition
- * @return the value or null
- */
- private String determineDefaultValue(TypeDefinition propertyType) {
- // check for enumeration
- Enumeration> vals = propertyType.getConstraint(Enumeration.class);
- if (vals.getValues() != null) {
- if (vals.getValues().contains(ENUMERATION_DEFAULT)) {
- return ENUMERATION_DEFAULT;
- }
- }
-
- // check for a number binding
- Class> binding = propertyType.getConstraint(Binding.class).getBinding();
- if (Number.class.isAssignableFrom(binding)) {
- return NUMBER_DEFAULT;
- }
-
- return DEFAULT;
-
- // TODO convert/validate the value to check?
- }
-
- /**
- * Get the created cells.
- *
- * @return the cells assigning default values
- */
- public List getCells() {
- return cells;
- }
-
-}
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/defaults/GenerateDefaults.java b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/defaults/GenerateDefaults.java
deleted file mode 100644
index 8abb8f56ba..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/defaults/GenerateDefaults.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Copyright (c) 2013 Fraunhofer IGD
- *
- * All rights reserved. This program and the accompanying materials are made
- * available under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution. If not, see .
- *
- * Contributors:
- * Fraunhofer IGD
- */
-
-package eu.esdihumboldt.hale.app.bgis.ade.defaults;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.List;
-
-import org.eclipse.core.runtime.content.IContentType;
-
-import eu.esdihumboldt.hale.app.bgis.ade.common.BGISAppConstants;
-import eu.esdihumboldt.hale.app.bgis.ade.common.BGISAppUtil;
-import eu.esdihumboldt.hale.app.bgis.ade.defaults.config.DefaultValues;
-import eu.esdihumboldt.hale.app.bgis.ade.defaults.config.ExcelDefaultValues;
-import eu.esdihumboldt.hale.common.align.io.AlignmentWriter;
-import eu.esdihumboldt.hale.common.align.model.Alignment;
-import eu.esdihumboldt.hale.common.align.model.MutableAlignment;
-import eu.esdihumboldt.hale.common.align.model.MutableCell;
-import eu.esdihumboldt.hale.common.align.model.impl.DefaultAlignment;
-import eu.esdihumboldt.hale.common.align.model.impl.TypeEntityDefinition;
-import eu.esdihumboldt.hale.common.core.HalePlatform;
-import eu.esdihumboldt.hale.common.core.io.HaleIO;
-import eu.esdihumboldt.hale.common.core.io.IOProviderConfigurationException;
-import eu.esdihumboldt.hale.common.core.io.extension.IOProviderDescriptor;
-import eu.esdihumboldt.hale.common.core.io.impl.NullProgressIndicator;
-import eu.esdihumboldt.hale.common.core.io.report.IOReport;
-import eu.esdihumboldt.hale.common.core.io.supplier.DefaultInputSupplier;
-import eu.esdihumboldt.hale.common.core.io.supplier.FileIOSupplier;
-import eu.esdihumboldt.hale.common.core.io.supplier.LocatableInputSupplier;
-import eu.esdihumboldt.hale.common.schema.SchemaSpaceID;
-import eu.esdihumboldt.hale.common.schema.io.SchemaReader;
-import eu.esdihumboldt.hale.common.schema.model.Schema;
-import eu.esdihumboldt.hale.common.schema.model.TypeDefinition;
-import eu.esdihumboldt.hale.common.schema.model.impl.ResourceSchemaSpace;
-
-/**
- * Generates default value mappings for BGIS CityGML ADE.
- *
- * @author Simon Templer
- */
-public class GenerateDefaults implements BGISAppConstants {
-
- private Schema schema;
-
- private String resourceId;
-
- private Alignment alignment;
-
- private DefaultValues defaultValues;
-
- private GenerateDefaultsContext context;
-
- /**
- * Generate the default value mapping based on the given configuration.
- *
- * @param context the configuration for the mapping generation
- * @throws Exception if an unrecoverable error occurs during the generation
- */
- public void generate(GenerateDefaultsContext context) throws Exception {
- this.context = context;
-
- // load schema
- loadSchema();
-
- // load configuration
- loadConfig();
-
- // generate mapping
- generateMapping();
-
- // write alignment
- writeAlignment();
- }
-
- private void loadSchema() throws IOProviderConfigurationException, IOException {
- System.out.println("Loading schema...");
-
- LocatableInputSupplier extends InputStream> schemaIn = new DefaultInputSupplier(
- context.getSchema());
- SchemaReader schemaReader = HaleIO.findIOProvider(SchemaReader.class, schemaIn, context
- .getSchema().getPath());
- schemaReader.setSource(schemaIn);
- IOReport report = schemaReader.execute(new NullProgressIndicator());
- if (!report.isSuccess() || !report.getErrors().isEmpty()) {
- throw new IllegalStateException("Failed to load schema");
- }
- schema = schemaReader.getSchema();
- resourceId = schemaReader.getResourceIdentifier();
- }
-
- private void loadConfig() {
- if (context.getConfig() != null) {
- System.out.println("Reading default value configuration...");
-
- try {
- defaultValues = new ExcelDefaultValues().loadDefaultValues(context.getConfig());
- } catch (Exception e) {
- throw new IllegalStateException("Loading the default value configuration failed.",
- e);
- }
- }
- else {
- System.out.println("WARNING: no custom configuration provided");
- }
- }
-
- private void generateMapping() {
- System.out.println("Generating default value mapping cells for");
-
- // collect all ADE feature types
- List featureTypes = BGISAppUtil.getADEFeatureTypes(schema);
-
- // visit ADE properties and create cells
- DefaultsVisitor defs = new DefaultsVisitor(defaultValues);
- for (TypeDefinition type : featureTypes) {
- System.out.println(type.getDisplayName() + "...");
- defs.accept(new TypeEntityDefinition(type, SchemaSpaceID.TARGET, null));
- }
-
- if (defs.getCells().isEmpty()) {
- System.out.println("WARNING: no cells were created");
- }
- else {
- System.out.println(defs.getCells().size() + " cells were created.");
- }
-
- // create alignment
- MutableAlignment align = new DefaultAlignment();
- for (MutableCell cell : defs.getCells()) {
- align.addCell(cell);
- }
-
- this.alignment = align;
- }
-
- private void writeAlignment() throws Exception {
- System.out.println("Writing alignment to " + context.getOut().getAbsolutePath());
-
- // create alignment writer
- IContentType contentType = HalePlatform.getContentTypeManager().getContentType(
- ALIGNMENT_CONTENT_TYPE);
- IOProviderDescriptor factory = HaleIO.findIOProviderFactory(AlignmentWriter.class,
- contentType, null);
- AlignmentWriter writer = (AlignmentWriter) factory.createExtensionObject();
-
- // configure alignment writer
- writer.setTargetSchema(
- new ResourceSchemaSpace().addSchema(resourceId, schema));
- writer.setTarget(new FileIOSupplier(context.getOut()));
- writer.setAlignment(alignment);
-
- IOReport report = writer.execute(new NullProgressIndicator());
- if (!report.isSuccess() || !report.getErrors().isEmpty()) {
- throw new IllegalStateException("Errors while writing the alignment.");
- }
- else {
- System.out.println("Completed successfully.");
- }
- }
-
-}
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/defaults/GenerateDefaultsApplication.groovy b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/defaults/GenerateDefaultsApplication.groovy
deleted file mode 100644
index a5ddbecdb2..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/defaults/GenerateDefaultsApplication.groovy
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (c) 2013 Fraunhofer IGD
- *
- * All rights reserved. This program and the accompanying materials are made
- * available under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution. If not, see .
- *
- * Contributors:
- * Fraunhofer IGD
- */
-
-package eu.esdihumboldt.hale.app.bgis.ade.defaults;
-
-import org.eclipse.equinox.app.IApplicationContext
-
-import eu.esdihumboldt.hale.common.app.AbstractApplication
-
-/**
- * Application that generates a mapping of default values.
- *
- * @author Simon Templer
- */
-class GenerateDefaultsApplication extends AbstractApplication {
-
- @Override
- protected Object run(GenerateDefaultsContext executionContext, IApplicationContext appContext) {
- new GenerateDefaults().generate(executionContext)
-
- EXIT_OK
- }
-
- @Override
- protected void processParameter(String param, String value,
- GenerateDefaultsContext executionContext) throws Exception {
- switch (param) {
- case '-schema':
- executionContext.schema = URI.create(value)
- break;
- case '-config':
- executionContext.config = URI.create(value)
- break;
- case '-out':
- executionContext.out = new File(value)
- break;
- }
- }
-
- @Override
- protected GenerateDefaultsContext createExecutionContext() {
- new GenerateDefaultsContext()
- }
-}
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/defaults/GenerateDefaultsContext.groovy b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/defaults/GenerateDefaultsContext.groovy
deleted file mode 100644
index d298f176ed..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/defaults/GenerateDefaultsContext.groovy
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2013 Fraunhofer IGD
- *
- * All rights reserved. This program and the accompanying materials are made
- * available under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution. If not, see .
- *
- * Contributors:
- * Fraunhofer IGD
- */
-
-package eu.esdihumboldt.hale.app.bgis.ade.defaults
-
-
-/**
- * Execution context for the {@link GenerateDefaultsApplication}.
- *
- * @author Simon Templer
- */
-class GenerateDefaultsContext {
-
- /**
- * URI pointing to the ADE schema.
- */
- URI schema
-
- /**
- * URI pointing to the defaults configuration file.
- */
- URI config
-
- /**
- * The target file to write the mapping to.
- */
- File out
-}
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/defaults/config/AttributeConfig.groovy b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/defaults/config/AttributeConfig.groovy
deleted file mode 100644
index 429f3eebaa..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/defaults/config/AttributeConfig.groovy
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 2013 Fraunhofer IGD
- *
- * All rights reserved. This program and the accompanying materials are made
- * available under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution. If not, see .
- *
- * Contributors:
- * Fraunhofer IGD
- */
-
-package eu.esdihumboldt.hale.app.bgis.ade.defaults.config
-
-import eu.esdihumboldt.hale.common.align.model.impl.PropertyEntityDefinition
-
-
-/**
- * Default value configuration for a specific attribute.
- *
- * @author Simon Templer
- */
-class AttributeConfig {
-
- private String attribute
-
- private ConfigEntry defConfig
-
- private def featureConfigs = [:]
-
- String getDefaultValue(PropertyEntityDefinition ped) {
- String typeName = ped.type.displayName
-
- ConfigEntry entry = featureConfigs[typeName]
- if (!entry) {
- entry = defConfig
- }
-
- if (entry) {
- entry.defaultValue
- }
- else {
- null
- }
- }
-
- void addEntry(ConfigEntry entry) {
- assert entry.attribute
-
- if (!attribute) {
- attribute = entry.attribute
- }
- else {
- assert attribute == entry.attribute
- }
-
- if (entry.featureType) {
- featureConfigs[entry.featureType] = entry
- }
- else {
- defConfig = entry
- }
- }
-}
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/defaults/config/ConfigEntry.groovy b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/defaults/config/ConfigEntry.groovy
deleted file mode 100644
index 65ed3300a9..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/defaults/config/ConfigEntry.groovy
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2013 Fraunhofer IGD
- *
- * All rights reserved. This program and the accompanying materials are made
- * available under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution. If not, see .
- *
- * Contributors:
- * Fraunhofer IGD
- */
-
-package eu.esdihumboldt.hale.app.bgis.ade.defaults.config
-
-
-/**
- * A configuration entry.
- *
- * @author Simon Templer
- */
-class ConfigEntry {
-
- /**
- * Name of the feature type the configuration is associated to, may be
- * null.
- */
- String featureType
-
- /**
- * Name of the attribute the configuration is associated to.
- */
- String attribute
-
- /**
- * The default value assigned to the attribute.
- */
- String defaultValue
-}
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/defaults/config/DefaultValues.groovy b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/defaults/config/DefaultValues.groovy
deleted file mode 100644
index b21dadf6a9..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/defaults/config/DefaultValues.groovy
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (c) 2013 Fraunhofer IGD
- *
- * All rights reserved. This program and the accompanying materials are made
- * available under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution. If not, see .
- *
- * Contributors:
- * Fraunhofer IGD
- */
-
-package eu.esdihumboldt.hale.app.bgis.ade.defaults.config
-
-import eu.esdihumboldt.hale.common.align.model.impl.PropertyEntityDefinition
-
-
-/**
- * Default value configuration.
- *
- * @author Simon Templer
- */
-class DefaultValues {
-
- private def attConfigs = [:]
-
- String getDefaultValue(PropertyEntityDefinition ped) {
- AttributeConfig cfg = attConfigs."${ped.definition.name.localPart}"
-
- if (cfg) {
- cfg.getDefaultValue(ped)
- }
- else {
- null
- }
- }
-
- void addEntry(ConfigEntry entry) {
- assert entry.attribute
-
- AttributeConfig cfg = attConfigs."${entry.attribute}"
-
- if (!cfg) {
- cfg = new AttributeConfig()
- attConfigs."${entry.attribute}" = cfg
- }
-
- cfg.addEntry(entry)
- }
-}
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/defaults/config/ExcelDefaultValues.java b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/defaults/config/ExcelDefaultValues.java
deleted file mode 100644
index 68ede20e32..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/defaults/config/ExcelDefaultValues.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright (c) 2013 Fraunhofer IGD
- *
- * All rights reserved. This program and the accompanying materials are made
- * available under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution. If not, see .
- *
- * Contributors:
- * Fraunhofer IGD
- */
-
-package eu.esdihumboldt.hale.app.bgis.ade.defaults.config;
-
-import java.net.URI;
-import java.text.MessageFormat;
-
-import org.apache.poi.ss.usermodel.Cell;
-import org.apache.poi.ss.usermodel.Row;
-
-import eu.esdihumboldt.hale.io.xls.AbstractAnalyseTable;
-
-/**
- * Reads default values configuration from an Excel file.
- *
- * @author Simon Templer
- */
-public class ExcelDefaultValues extends AbstractAnalyseTable {
-
- private static final String COLUMN_ATTRIBUTE = "AAlpha";
-
- private static final String COLUMN_DEF_VALUE = "VAlpha";
-
- private static final String COLUMN_DEF_VALUE_2 = "Wert";
-
- private int attColIndex = -1, valColIndex = -1, valColIndex2 = -1;
-
- private DefaultValues result;
-
- /**
- * Load default values configuration from an Excel file.
- *
- * @param location the file location
- * @return the default values configuration
- * @throws Exception if an error occurs loading the configuration
- */
- public DefaultValues loadDefaultValues(URI location) throws Exception {
- result = new DefaultValues();
- analyse(location);
- return result;
- }
-
- @Override
- protected void headerCell(int num, String text) {
- // identify columns
- if (attColIndex < 0 && COLUMN_ATTRIBUTE.equalsIgnoreCase(text)) {
- attColIndex = num;
- }
- if (valColIndex < 0 && COLUMN_DEF_VALUE.equalsIgnoreCase(text)) {
- valColIndex = num;
- }
- if (valColIndex2 < 0 && COLUMN_DEF_VALUE_2.equalsIgnoreCase(text)) {
- valColIndex2 = num;
- }
- }
-
- @Override
- protected void analyseRow(int num, Row row) {
- if (attColIndex < 0 || (valColIndex < 0 && valColIndex2 < 0)) {
- throw new IllegalArgumentException("Configuration table has the wrong format.");
- }
-
- Cell attCell = row.getCell(attColIndex);
- String attribute = extractText(attCell);
-
- if (attribute != null && !attribute.isEmpty()) {
- String value = null;
- if (valColIndex > 0) {
- value = extractText(row.getCell(valColIndex));
- }
- if (value == null && valColIndex2 > 0) {
- value = extractText(row.getCell(valColIndex2));
- }
-
- if (value != null) {
- ConfigEntry entry = new ConfigEntry();
- entry.setAttribute(attribute);
- entry.setDefaultValue(value);
- result.addEntry(entry);
-
- System.out.println(MessageFormat.format("Default value for attribute ''{0}'': {1}",
- attribute, value));
- }
- }
- }
-
-}
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/duplicate/DuplicateVisitor.java b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/duplicate/DuplicateVisitor.java
deleted file mode 100644
index cddfd1d051..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/duplicate/DuplicateVisitor.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright (c) 2013 Fraunhofer IGD
- *
- * All rights reserved. This program and the accompanying materials are made
- * available under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution. If not, see .
- *
- * Contributors:
- * Fraunhofer IGD
- */
-
-package eu.esdihumboldt.hale.app.bgis.ade.duplicate;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.google.common.collect.ArrayListMultimap;
-import com.google.common.collect.ListMultimap;
-import com.google.common.collect.Multimap;
-
-import eu.esdihumboldt.hale.app.bgis.ade.common.BGISAppConstants;
-import eu.esdihumboldt.hale.app.bgis.ade.common.BGISAppUtil;
-import eu.esdihumboldt.hale.app.bgis.ade.common.EntityVisitor;
-import eu.esdihumboldt.hale.common.align.model.Cell;
-import eu.esdihumboldt.hale.common.align.model.Entity;
-import eu.esdihumboldt.hale.common.align.model.MutableCell;
-import eu.esdihumboldt.hale.common.align.model.impl.DefaultCell;
-import eu.esdihumboldt.hale.common.align.model.impl.DefaultProperty;
-import eu.esdihumboldt.hale.common.align.model.impl.PropertyEntityDefinition;
-
-/**
- * Entity visitor that creates cells from example cells.
- *
- * @author Simon Templer
- */
-public class DuplicateVisitor extends EntityVisitor implements BGISAppConstants {
-
- /**
- * The created cells.
- */
- private final List cells = new ArrayList();
-
- private final Multimap exampleCells;
-
- private final String cellNote;
-
- /**
- * Create an example cell visitor creating derived cells.
- *
- * @param exampleCells the example cells, with the target ADE property name
- * as key
- * @param cellNote note to append to generated cell's notes
- */
- public DuplicateVisitor(Multimap exampleCells, String cellNote) {
- this.exampleCells = exampleCells;
- this.cellNote = cellNote;
- }
-
- @Override
- protected boolean visit(PropertyEntityDefinition ped) {
- if (ADE_NS.equals(ped.getDefinition().getName().getNamespaceURI())) {
- // property is from ADE
-
- for (Cell exampleCell : exampleCells.get(ped.getDefinition().getName().getLocalPart())) {
- // handle each example cell
-
- // copy cell
- DefaultCell cell = new DefaultCell(exampleCell);
- // reset ID
- cell.setId(null);
- // assign new target
- ListMultimap target = ArrayListMultimap.create();
- target.put(cell.getTarget().keys().iterator().next(), new DefaultProperty(ped));
- cell.setTarget(target);
-
- BGISAppUtil.appendNote(cell, cellNote);
-
- cells.add(cell);
- }
-
- return true;
- }
-
- return false;
- }
-
- /**
- * Get the created cells.
- *
- * @return the cells assigning default values
- */
- public List getCells() {
- return cells;
- }
-
-}
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/duplicate/GenerateDuplicates.java b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/duplicate/GenerateDuplicates.java
deleted file mode 100644
index e3a3b54693..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/duplicate/GenerateDuplicates.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * Copyright (c) 2013 Fraunhofer IGD
- *
- * All rights reserved. This program and the accompanying materials are made
- * available under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution. If not, see .
- *
- * Contributors:
- * Fraunhofer IGD
- */
-
-package eu.esdihumboldt.hale.app.bgis.ade.duplicate;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.text.MessageFormat;
-import java.util.Date;
-import java.util.List;
-import java.util.concurrent.atomic.AtomicBoolean;
-
-import org.eclipse.core.runtime.content.IContentType;
-
-import com.google.common.collect.HashMultimap;
-import com.google.common.collect.SetMultimap;
-
-import eu.esdihumboldt.hale.app.bgis.ade.common.BGISAppConstants;
-import eu.esdihumboldt.hale.app.bgis.ade.common.BGISAppUtil;
-import eu.esdihumboldt.hale.common.align.io.AlignmentWriter;
-import eu.esdihumboldt.hale.common.align.model.Alignment;
-import eu.esdihumboldt.hale.common.align.model.Cell;
-import eu.esdihumboldt.hale.common.align.model.CellUtil;
-import eu.esdihumboldt.hale.common.align.model.EntityDefinition;
-import eu.esdihumboldt.hale.common.align.model.MutableAlignment;
-import eu.esdihumboldt.hale.common.align.model.MutableCell;
-import eu.esdihumboldt.hale.common.align.model.impl.DefaultAlignment;
-import eu.esdihumboldt.hale.common.align.model.impl.TypeEntityDefinition;
-import eu.esdihumboldt.hale.common.core.HalePlatform;
-import eu.esdihumboldt.hale.common.core.io.HaleIO;
-import eu.esdihumboldt.hale.common.core.io.extension.IOProviderDescriptor;
-import eu.esdihumboldt.hale.common.core.io.impl.NullProgressIndicator;
-import eu.esdihumboldt.hale.common.core.io.report.IOReport;
-import eu.esdihumboldt.hale.common.core.io.supplier.DefaultInputSupplier;
-import eu.esdihumboldt.hale.common.core.io.supplier.FileIOSupplier;
-import eu.esdihumboldt.hale.common.core.io.supplier.LocatableInputSupplier;
-import eu.esdihumboldt.hale.common.core.report.Report;
-import eu.esdihumboldt.hale.common.core.report.ReportHandler;
-import eu.esdihumboldt.hale.common.headless.impl.ProjectTransformationEnvironment;
-import eu.esdihumboldt.hale.common.schema.SchemaSpaceID;
-import eu.esdihumboldt.hale.common.schema.model.PropertyDefinition;
-import eu.esdihumboldt.hale.common.schema.model.SchemaSpace;
-import eu.esdihumboldt.hale.common.schema.model.TypeDefinition;
-
-/**
- * Generates an extended mappings for BGIS CityGML ADE based on an example
- * mapping.
- *
- * @author Simon Templer
- */
-public class GenerateDuplicates implements BGISAppConstants {
-
- private SchemaSpace sourceSchema;
-
- private SchemaSpace targetSchema;
-
- private Alignment examples;
-
- private Alignment alignment;
-
- private GenerateDuplicatesContext context;
-
- /**
- * Generate the default value mapping based on the given configuration.
- *
- * @param context the configuration for the mapping generation
- * @throws Exception if an unrecoverable error occurs during the generation
- */
- public void generate(GenerateDuplicatesContext context) throws Exception {
- this.context = context;
-
- // load project
- if (loadProject()) {
- // generate mapping
- generateMapping();
-
- // write alignment
- writeAlignment();
- }
- }
-
- private boolean loadProject() throws IOException {
- final AtomicBoolean success = new AtomicBoolean(true);
-
- LocatableInputSupplier extends InputStream> projectIn = new DefaultInputSupplier(
- context.getProject());
- ProjectTransformationEnvironment env = new ProjectTransformationEnvironment("sample",
- projectIn, new ReportHandler() {
-
- @Override
- public void publishReport(Report> report) {
- if (report.isSuccess() && report.getErrors().isEmpty()) {
- System.out.println(report.getSummary());
- }
- else {
- System.err.println("Error loading project: " + report.getSummary());
- success.set(false);
- }
- }
- });
-
- if (success.get()) {
- this.sourceSchema = env.getSourceSchema();
- this.targetSchema = env.getTargetSchema();
- this.examples = env.getAlignment();
-
- return true;
- }
-
- return false;
- }
-
- private void generateMapping() {
- System.out.println("Indexing example cells...");
-
- // index all cells based on the target property name
- SetMultimap exampleCells = HashMultimap.create();
- for (Cell cell : examples.getCells()) {
- if (cell.getTarget().size() == 1) {
- // only supports cells with one target
- EntityDefinition entityDef = CellUtil.getFirstEntity(cell.getTarget())
- .getDefinition();
- if (entityDef.getDefinition() instanceof PropertyDefinition) {
- if (ADE_NS.equals(entityDef.getDefinition().getName().getNamespaceURI())) {
- exampleCells.put(entityDef.getDefinition().getName().getLocalPart(), cell);
- }
- else
- System.out.println("WARNING: ignoring cell with non-ADE target property");
- }
- else
- System.out.println("WARNING: ignoring type cell");
- }
- else
- System.out.println("WARNING: ignoring cell with multiple or no targets");
- }
-
- // collect all ADE feature types
- List featureTypes = BGISAppUtil.getADEFeatureTypes(targetSchema);
-
- // visit ADE properties and create cells
- System.out.println("Generating mapping from example cells for");
- String cellNote = MessageFormat.format(
- "Generated through duplication of example cells on BGIS ADE feature types.\n"
- + "{0,date,medium}", new Date());
- DuplicateVisitor visitor = new DuplicateVisitor(exampleCells, cellNote);
- for (TypeDefinition type : featureTypes) {
- System.out.println(type.getDisplayName() + "...");
- visitor.accept(new TypeEntityDefinition(type, SchemaSpaceID.TARGET, null));
- }
-
- if (visitor.getCells().isEmpty()) {
- System.out.println("WARNING: no cells were created");
- }
- else {
- System.out.println(visitor.getCells().size() + " cells were created.");
- }
-
- // create alignment
- MutableAlignment align = new DefaultAlignment();
- for (MutableCell cell : visitor.getCells()) {
- align.addCell(cell);
- }
-
- this.alignment = align;
- }
-
- private void writeAlignment() throws Exception {
- System.out.println("Writing alignment to " + context.getOut().getAbsolutePath());
-
- // create alignment writer
- IContentType contentType = HalePlatform.getContentTypeManager().getContentType(
- ALIGNMENT_CONTENT_TYPE);
- IOProviderDescriptor factory = HaleIO.findIOProviderFactory(AlignmentWriter.class,
- contentType, null);
- AlignmentWriter writer = (AlignmentWriter) factory.createExtensionObject();
-
- // configure alignment writer
- writer.setSourceSchema(sourceSchema);
- writer.setTargetSchema(targetSchema);
- writer.setTarget(new FileIOSupplier(context.getOut()));
- writer.setAlignment(alignment);
-
- IOReport report = writer.execute(new NullProgressIndicator());
- if (!report.isSuccess() || !report.getErrors().isEmpty()) {
- throw new IllegalStateException("Errors while writing the alignment.");
- }
- else {
- System.out.println("Completed successfully.");
- }
- }
-
-}
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/duplicate/GenerateDuplicatesApplication.groovy b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/duplicate/GenerateDuplicatesApplication.groovy
deleted file mode 100644
index 18e7d4dbbb..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/duplicate/GenerateDuplicatesApplication.groovy
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2013 Fraunhofer IGD
- *
- * All rights reserved. This program and the accompanying materials are made
- * available under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution. If not, see .
- *
- * Contributors:
- * Fraunhofer IGD
- */
-
-package eu.esdihumboldt.hale.app.bgis.ade.duplicate;
-
-import org.eclipse.equinox.app.IApplicationContext
-
-import eu.esdihumboldt.hale.common.app.AbstractApplication
-
-/**
- * Application that generates an extended mapping from a mapping project with
- * example mappings.
- *
- * @author Simon Templer
- */
-class GenerateDuplicatesApplication extends AbstractApplication {
-
- @Override
- protected Object run(GenerateDuplicatesContext executionContext, IApplicationContext appContext) {
- new GenerateDuplicates().generate(executionContext)
-
- EXIT_OK
- }
-
- @Override
- protected void processParameter(String param, String value,
- GenerateDuplicatesContext executionContext) throws Exception {
- switch (param) {
- case '-project':
- executionContext.project = URI.create(value)
- break;
- case '-out':
- executionContext.out = new File(value)
- break;
- }
- }
-
- @Override
- protected GenerateDuplicatesContext createExecutionContext() {
- new GenerateDuplicatesContext()
- }
-}
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/duplicate/GenerateDuplicatesContext.groovy b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/duplicate/GenerateDuplicatesContext.groovy
deleted file mode 100644
index 7b29553966..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/duplicate/GenerateDuplicatesContext.groovy
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 2013 Fraunhofer IGD
- *
- * All rights reserved. This program and the accompanying materials are made
- * available under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution. If not, see .
- *
- * Contributors:
- * Fraunhofer IGD
- */
-
-package eu.esdihumboldt.hale.app.bgis.ade.duplicate
-
-
-/**
- * Execution context for the {@link GenerateFromExamplesApplication}.
- *
- * @author Simon Templer
- */
-class GenerateDuplicatesContext {
-
- /**
- * URI pointing to the mapping project containing the example mappings.
- */
- URI project
-
- /**
- * The target file to write the mapping to.
- */
- File out
-}
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/internal/Activator.java b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/internal/Activator.java
deleted file mode 100644
index fbb0c1012a..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/internal/Activator.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package eu.esdihumboldt.hale.app.bgis.ade.internal;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-/**
- * Bundle activator.
- */
-public class Activator implements BundleActivator {
-
- private static BundleContext context;
-
- /**
- * Get the bundle context.
- *
- * @return the bundle context if the bundle was activated
- */
- public static BundleContext getContext() {
- return context;
- }
-
- @Override
- public void start(BundleContext bundleContext) throws Exception {
- Activator.context = bundleContext;
- }
-
- @Override
- public void stop(BundleContext bundleContext) throws Exception {
- Activator.context = null;
- }
-
-}
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/propagate/CityGMLPropagate.java b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/propagate/CityGMLPropagate.java
deleted file mode 100644
index a71f50827c..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/propagate/CityGMLPropagate.java
+++ /dev/null
@@ -1,281 +0,0 @@
-/*
- * Copyright (c) 2013 Fraunhofer IGD
- *
- * All rights reserved. This program and the accompanying materials are made
- * available under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution. If not, see .
- *
- * Contributors:
- * Fraunhofer IGD
- */
-
-package eu.esdihumboldt.hale.app.bgis.ade.propagate;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.text.MessageFormat;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import java.util.concurrent.atomic.AtomicBoolean;
-
-import javax.xml.namespace.QName;
-
-import org.eclipse.core.runtime.content.IContentType;
-
-import com.google.common.collect.HashMultimap;
-import com.google.common.collect.SetMultimap;
-
-import eu.esdihumboldt.hale.app.bgis.ade.common.BGISAppConstants;
-import eu.esdihumboldt.hale.app.bgis.ade.common.BGISAppUtil;
-import eu.esdihumboldt.hale.app.bgis.ade.propagate.config.ExcelFeatureMap;
-import eu.esdihumboldt.hale.app.bgis.ade.propagate.config.FeatureMap;
-import eu.esdihumboldt.hale.common.align.io.AlignmentWriter;
-import eu.esdihumboldt.hale.common.align.model.Alignment;
-import eu.esdihumboldt.hale.common.align.model.Cell;
-import eu.esdihumboldt.hale.common.align.model.CellUtil;
-import eu.esdihumboldt.hale.common.align.model.EntityDefinition;
-import eu.esdihumboldt.hale.common.align.model.MutableAlignment;
-import eu.esdihumboldt.hale.common.align.model.MutableCell;
-import eu.esdihumboldt.hale.common.align.model.impl.DefaultAlignment;
-import eu.esdihumboldt.hale.common.align.model.impl.TypeEntityDefinition;
-import eu.esdihumboldt.hale.common.core.HalePlatform;
-import eu.esdihumboldt.hale.common.core.io.HaleIO;
-import eu.esdihumboldt.hale.common.core.io.IOProviderConfigurationException;
-import eu.esdihumboldt.hale.common.core.io.extension.IOProviderDescriptor;
-import eu.esdihumboldt.hale.common.core.io.impl.NullProgressIndicator;
-import eu.esdihumboldt.hale.common.core.io.report.IOReport;
-import eu.esdihumboldt.hale.common.core.io.supplier.DefaultInputSupplier;
-import eu.esdihumboldt.hale.common.core.io.supplier.FileIOSupplier;
-import eu.esdihumboldt.hale.common.core.io.supplier.LocatableInputSupplier;
-import eu.esdihumboldt.hale.common.core.report.Report;
-import eu.esdihumboldt.hale.common.core.report.ReportHandler;
-import eu.esdihumboldt.hale.common.headless.impl.ProjectTransformationEnvironment;
-import eu.esdihumboldt.hale.common.schema.SchemaSpaceID;
-import eu.esdihumboldt.hale.common.schema.io.SchemaReader;
-import eu.esdihumboldt.hale.common.schema.model.PropertyDefinition;
-import eu.esdihumboldt.hale.common.schema.model.Schema;
-import eu.esdihumboldt.hale.common.schema.model.SchemaSpace;
-import eu.esdihumboldt.hale.common.schema.model.TypeDefinition;
-import eu.esdihumboldt.hale.io.gml.CityGMLConstants;
-
-/**
- * Generates an extended mapping for BGIS CityGML ADE based on an example
- * mapping.
- *
- * @author Simon Templer
- */
-public class CityGMLPropagate implements BGISAppConstants, CityGMLConstants {
-
- private SchemaSpace sourceSchema;
-
- private SchemaSpace targetSchema;
-
- private Schema cityGMLSource;
-
- private Alignment examples;
-
- private Alignment alignment;
-
- private FeatureMap config;
-
- private CityGMLPropagateContext context;
-
- /**
- * Generate the default value mapping based on the given configuration.
- *
- * @param context the configuration for the mapping generation
- * @throws Exception if an unrecoverable error occurs during the generation
- */
- public void generate(CityGMLPropagateContext context) throws Exception {
- this.context = context;
-
- // load project
- if (loadProject()) {
- // load CityGML schema
- loadCityGML();
-
- // load the feature map
- loadConfig();
-
- // generate mapping
- generateMapping();
-
- // write alignment
- writeAlignment();
- }
- }
-
- private boolean loadProject() throws IOException {
- final AtomicBoolean success = new AtomicBoolean(true);
-
- LocatableInputSupplier extends InputStream> projectIn = new DefaultInputSupplier(
- context.getProject());
- ProjectTransformationEnvironment env = new ProjectTransformationEnvironment("sample",
- projectIn, new ReportHandler() {
-
- @Override
- public void publishReport(Report> report) {
- if (report.isSuccess() && report.getErrors().isEmpty()) {
- System.out.println(report.getSummary());
- }
- else {
- System.err.println("Error loading project: " + report.getSummary());
- success.set(false);
- }
- }
- });
-
- if (success.get()) {
- this.sourceSchema = env.getSourceSchema();
- this.targetSchema = env.getTargetSchema();
- this.examples = env.getAlignment();
-
- return true;
- }
-
- return false;
- }
-
- private void loadCityGML() throws IOProviderConfigurationException, IOException {
- System.out.println("Loading schema...");
-
- LocatableInputSupplier extends InputStream> schemaIn = new DefaultInputSupplier(
- context.getSourceSchema());
- SchemaReader schemaReader = HaleIO.findIOProvider(SchemaReader.class, schemaIn, context
- .getSourceSchema().getPath());
- schemaReader.setSource(schemaIn);
- IOReport report = schemaReader.execute(new NullProgressIndicator());
- if (!report.isSuccess() || !report.getErrors().isEmpty()) {
- throw new IllegalStateException("Failed to load schema");
- }
- cityGMLSource = schemaReader.getSchema();
- }
-
- private void loadConfig() {
- System.out.println("Loading feature map...");
-
- try {
- config = new ExcelFeatureMap(context.getConfig());
- } catch (Exception e) {
- throw new IllegalStateException("Failed to load feature map configuration", e);
- }
- }
-
- private void generateMapping() {
- System.out.println("Indexing example cells...");
-
- // index all cells based on the target property name
- SetMultimap bgisExamples = HashMultimap.create();
- SetMultimap cityGMLExamples = HashMultimap.create();
-
- for (Cell cell : examples.getCells()) {
- if (cell.getTarget().size() == 1) {
- // only supports cells with one target
- EntityDefinition entityDef = CellUtil.getFirstEntity(cell.getTarget())
- .getDefinition();
- // XXX check source?!
- if (entityDef.getDefinition() instanceof PropertyDefinition) {
- QName name = entityDef.getDefinition().getName();
- if (ADE_NS.equals(name.getNamespaceURI())) {
- bgisExamples.put(name.getLocalPart(), cell);
- }
- else if (name.getNamespaceURI().startsWith(CITYGML_NAMESPACE_CORE)) {
- // XXX only support level 1 properties?
- cityGMLExamples.put(name, cell);
- }
- else
- System.out
- .println("WARNING: ignoring cell with target property neither from CityGML nor from BGIS ADE");
- }
- else
- System.out.println("WARNING: ignoring type cell");
- }
- else
- System.out.println("WARNING: ignoring cell with multiple or no targets");
- }
-
- // collect all ADE feature types
- List featureTypes = BGISAppUtil.getADEFeatureTypes(targetSchema);
-
- // collect ADE display names
- Set adeTypeNames = new HashSet();
- for (TypeDefinition type : featureTypes) {
- adeTypeNames.add(type.getDisplayName());
- }
-
- // collect possibly relevant target CityGML feature types
- for (TypeDefinition type : targetSchema.getTypes()) {
- if (type.getName().getNamespaceURI().startsWith(CITYGML_NAMESPACE_CORE)
- && BGISAppUtil.isFeatureType(type)) {
- if (!adeTypeNames.contains(type.getDisplayName())) {
- /*
- * But ensure to only add those that do not share the
- * display name with an ADE type, as in the feature map the
- * type identification is only done on based on the display
- * name, and ADE types take precedent.
- */
- featureTypes.add(type);
- }
- }
- }
-
- // visit ADE properties and create cells
- System.out.println("Generating mapping from example cells for");
- String cellNote = MessageFormat.format(
- "Generated through propagation of example cells on CityGML and BGIS ADE feature types.\n"
- + "{0,date,medium}", new Date());
- CityGMLPropagateVisitor visitor = new CityGMLPropagateVisitor(cityGMLSource, bgisExamples,
- cityGMLExamples, config, cellNote);
- for (TypeDefinition type : featureTypes) {
- System.out.println(type.getDisplayName() + "...");
- visitor.accept(new TypeEntityDefinition(type, SchemaSpaceID.TARGET, null));
- }
-
- if (visitor.getCells().isEmpty()) {
- System.out.println("WARNING: no cells were created");
- }
- else {
- System.out.println(visitor.getCells().size() + " cells were created.");
- }
-
- // create alignment
- MutableAlignment align = new DefaultAlignment();
- for (MutableCell cell : visitor.getCells()) {
- align.addCell(cell);
- }
-
- this.alignment = align;
- }
-
- private void writeAlignment() throws Exception {
- System.out.println("Writing alignment to " + context.getOut().getAbsolutePath());
-
- // create alignment writer
- IContentType contentType = HalePlatform.getContentTypeManager().getContentType(
- ALIGNMENT_CONTENT_TYPE);
- IOProviderDescriptor factory = HaleIO.findIOProviderFactory(AlignmentWriter.class,
- contentType, null);
- AlignmentWriter writer = (AlignmentWriter) factory.createExtensionObject();
-
- // configure alignment writer
- writer.setSourceSchema(sourceSchema);
- writer.setTargetSchema(targetSchema);
- writer.setTarget(new FileIOSupplier(context.getOut()));
- writer.setAlignment(alignment);
-
- IOReport report = writer.execute(new NullProgressIndicator());
- if (!report.isSuccess() || !report.getErrors().isEmpty()) {
- throw new IllegalStateException("Errors while writing the alignment.");
- }
- else {
- System.out.println("Completed successfully.");
- }
- }
-
-}
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/propagate/CityGMLPropagateApplication.groovy b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/propagate/CityGMLPropagateApplication.groovy
deleted file mode 100644
index ee478542ad..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/propagate/CityGMLPropagateApplication.groovy
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (c) 2013 Fraunhofer IGD
- *
- * All rights reserved. This program and the accompanying materials are made
- * available under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution. If not, see .
- *
- * Contributors:
- * Fraunhofer IGD
- */
-
-package eu.esdihumboldt.hale.app.bgis.ade.propagate;
-
-import org.eclipse.equinox.app.IApplicationContext
-
-import eu.esdihumboldt.hale.common.app.AbstractApplication
-
-/**
- * Application that generates an extended mapping from a mapping project with
- * example mappings.
- *
- * @author Simon Templer
- */
-class CityGMLPropagateApplication extends AbstractApplication {
-
- @Override
- protected Object run(CityGMLPropagateContext executionContext, IApplicationContext appContext) {
- new CityGMLPropagate().generate(executionContext)
-
- EXIT_OK
- }
-
- @Override
- protected void processParameter(String param, String value,
- CityGMLPropagateContext executionContext) throws Exception {
- switch (param) {
- case '-project':
- executionContext.project = URI.create(value)
- break;
- case '-citygml-source':
- executionContext.sourceSchema = URI.create(value)
- break;
- case '-feature-map':
- executionContext.config = URI.create(value)
- break;
- case '-out':
- executionContext.out = new File(value)
- break;
- }
- }
-
- @Override
- protected CityGMLPropagateContext createExecutionContext() {
- new CityGMLPropagateContext()
- }
-}
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/propagate/CityGMLPropagateContext.groovy b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/propagate/CityGMLPropagateContext.groovy
deleted file mode 100644
index 9fcac7e1f0..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/propagate/CityGMLPropagateContext.groovy
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) 2013 Fraunhofer IGD
- *
- * All rights reserved. This program and the accompanying materials are made
- * available under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution. If not, see .
- *
- * Contributors:
- * Fraunhofer IGD
- */
-
-package eu.esdihumboldt.hale.app.bgis.ade.propagate
-
-
-/**
- * Execution context for the {@link CityGMLPropagateApplication}.
- *
- * @author Simon Templer
- */
-class CityGMLPropagateContext {
-
- /**
- * URI pointing to the mapping project containing the example mappings.
- */
- URI project
-
- /**
- * URI pointing to the CityGML source schema the generated mapping should use.
- */
- URI sourceSchema
-
- /**
- * URI pointing to the feature mapping table.
- */
- URI config
-
- /**
- * The target file to write the mapping to.
- */
- File out
-}
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/propagate/CityGMLPropagateVisitor.java b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/propagate/CityGMLPropagateVisitor.java
deleted file mode 100644
index 9ff643c1e5..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/propagate/CityGMLPropagateVisitor.java
+++ /dev/null
@@ -1,490 +0,0 @@
-/*
- * Copyright (c) 2013 Fraunhofer IGD
- *
- * All rights reserved. This program and the accompanying materials are made
- * available under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution. If not, see .
- *
- * Contributors:
- * Fraunhofer IGD
- */
-
-package eu.esdihumboldt.hale.app.bgis.ade.propagate;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map.Entry;
-import java.util.Queue;
-import java.util.Set;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import javax.xml.namespace.QName;
-
-import com.google.common.collect.ArrayListMultimap;
-import com.google.common.collect.HashMultimap;
-import com.google.common.collect.ListMultimap;
-import com.google.common.collect.Multimap;
-import com.google.common.collect.SetMultimap;
-
-import eu.esdihumboldt.hale.app.bgis.ade.common.BGISAppConstants;
-import eu.esdihumboldt.hale.app.bgis.ade.common.BGISAppUtil;
-import eu.esdihumboldt.hale.app.bgis.ade.common.EntityVisitor;
-import eu.esdihumboldt.hale.app.bgis.ade.propagate.config.FeatureMap;
-import eu.esdihumboldt.hale.app.bgis.ade.propagate.internal.TypeEntityIndex;
-import eu.esdihumboldt.hale.common.align.model.Cell;
-import eu.esdihumboldt.hale.common.align.model.ChildContext;
-import eu.esdihumboldt.hale.common.align.model.Entity;
-import eu.esdihumboldt.hale.common.align.model.EntityDefinition;
-import eu.esdihumboldt.hale.common.align.model.MutableCell;
-import eu.esdihumboldt.hale.common.align.model.Property;
-import eu.esdihumboldt.hale.common.align.model.impl.DefaultCell;
-import eu.esdihumboldt.hale.common.align.model.impl.DefaultProperty;
-import eu.esdihumboldt.hale.common.align.model.impl.PropertyEntityDefinition;
-import eu.esdihumboldt.hale.common.schema.SchemaSpaceID;
-import eu.esdihumboldt.hale.common.schema.model.ChildDefinition;
-import eu.esdihumboldt.hale.common.schema.model.DefinitionGroup;
-import eu.esdihumboldt.hale.common.schema.model.DefinitionUtil;
-import eu.esdihumboldt.hale.common.schema.model.Schema;
-import eu.esdihumboldt.hale.common.schema.model.TypeDefinition;
-import eu.esdihumboldt.hale.io.gml.CityGMLConstants;
-
-/**
- * Entity visitor that creates cells from example cells.
- *
- * @author Simon Templer
- */
-public class CityGMLPropagateVisitor extends EntityVisitor implements BGISAppConstants,
- CityGMLConstants {
-
- /**
- * The created cells.
- */
- private final List cells = new ArrayList();
-
- private final Multimap bgisExamples;
-
- private final Multimap cityGMLExamples;
-
- private final Schema cityGMLSource;
-
- private final FeatureMap featureMap;
-
- private final SetMultimap handledTargets = HashMultimap.create();
-
- private final String cellNote;
-
- /**
- * Create an example cell visitor creating derived cells.
- *
- * @param cityGMLSource the CityGML source schema to use for the created
- * mapping cells
- * @param bgisExamples example cells, with the target ADE property name as
- * key
- * @param cityGMLExamples example cells, with the target CityGML property
- * name as key
- * @param featureMap the feature map
- * @param cellNote note to append to generated cell's notes
- */
- public CityGMLPropagateVisitor(Schema cityGMLSource, Multimap bgisExamples,
- Multimap cityGMLExamples, FeatureMap featureMap, String cellNote) {
- this.bgisExamples = bgisExamples;
- this.cityGMLExamples = cityGMLExamples;
- this.cityGMLSource = cityGMLSource;
- this.featureMap = featureMap;
- this.cellNote = cellNote;
- }
-
- @Override
- protected boolean visit(PropertyEntityDefinition ped) {
- if (ADE_NS.equals(ped.getDefinition().getName().getNamespaceURI())) {
- // property is from ADE
-
- for (Cell exampleCell : bgisExamples.get(ped.getDefinition().getName().getLocalPart())) {
- // handle each example cell
- propagateCell(exampleCell, ped);
- }
-
- return true;
- }
- else if (ped.getDefinition().getName().getNamespaceURI().startsWith(CITYGML_NAMESPACE_CORE)) {
- // is a CityGML property
-
- /*
- * FIXME do only for certain types, namely those the target property
- * is defined in, to prevent duplicated cells. But those will not be
- * supplied! XXX think about it
- */
-
- Pattern nsPattern = Pattern.compile("^" + Pattern.quote(CITYGML_NAMESPACE_CORE)
- + "(/[^/]+)?/([^/]+)$");
- Matcher matcher = nsPattern.matcher(ped.getDefinition().getName().getNamespaceURI());
- if (matcher.find()) {
- // name of the CityGML module expected
-// String module = matcher.group(1);
-
- for (Entry example : cityGMLExamples.entries()) {
- // check each example cell
-
- if (example.getKey().getLocalPart()
- .equals(ped.getDefinition().getName().getLocalPart())) {
- // local name matches
- Matcher exMatcher = nsPattern.matcher(example.getKey().getNamespaceURI());
- if (exMatcher.find()) {
- /*
- * The module is not compared after all, as they may
- * be different and still propagation is desired.
- * This is the case for instance for
- * lod1MultiSurface, which may occur with building,
- * vegetation and other module namespaces.
- *
- * FIXME check module name for class/function/usage?
- */
-// String exampleModule = exMatcher.group(1);
-// if (Objects.equals(module, exampleModule)) {
- // CityGML module matches
- propagateCell(example.getValue(), ped);
-// }
- }
- }
- }
- }
- else {
- System.err.println("ERROR: Failure analysing CityGML namespace");
- }
-
- // XXX only level one CityGML target properties supported!
- return false;
- }
-
- return false;
- }
-
- /**
- * Propagate a given cell to the given target property and possible source
- * types.
- *
- * @param exampleCell the example cell
- * @param ped the target property
- */
- private void propagateCell(Cell exampleCell, PropertyEntityDefinition ped) {
- /*
- * Find the type where the property actually is defined, as if possible
- * a super type mapping should be used.
- */
- TypeDefinition targetType = findTypeDefining(ped);
- if (!targetType.equals(ped.getType())) {
- ped = new PropertyEntityDefinition(targetType, ped.getPropertyPath(),
- ped.getSchemaSpace(), ped.getFilter());
- }
-
- // check if the cell was already handled for the type
- if (handledTargets.get(exampleCell).contains(targetType)) {
- // don't produce any duplicates
- return;
- }
- handledTargets.put(exampleCell, targetType);
-
- TypeEntityIndex> index = new TypeEntityIndex>();
- Collection sourceTypes = findSourceTypes(exampleCell, targetType, index);
- if (sourceTypes != null) {
- for (TypeDefinition sourceType : sourceTypes) {
- // copy cell
- DefaultCell cell = new DefaultCell(exampleCell);
- // reset ID
- cell.setId(null);
- // assign new target
- ListMultimap target = ArrayListMultimap.create();
- target.put(cell.getTarget().keys().iterator().next(), new DefaultProperty(ped));
- cell.setTarget(target);
- // assign new source(s)
- ListMultimap source = ArrayListMultimap.create();
- for (Entry entry : cell.getSource().entries()) {
- // create new source entity
- List path = index.get(sourceType, entry.getValue());
- if (path == null) {
- throw new IllegalStateException("No replacement property path computed");
- }
- Property newSource = new DefaultProperty(new PropertyEntityDefinition(
- sourceType, path, SchemaSpaceID.SOURCE, null));
- source.put(entry.getKey(), newSource);
- }
- cell.setSource(source);
-
- BGISAppUtil.appendNote(cell, cellNote);
-
- cells.add(cell);
- }
- }
- }
-
- /**
- * Find the type that actually defines the property referenced in the given
- * property entity definition.
- *
- * @param ped the property entity definition
- * @return the type defining the referenced property
- */
- private TypeDefinition findTypeDefining(PropertyEntityDefinition ped) {
- /*
- * The type we look for is either the one given in the entity
- * definition, or a super type.
- */
- TypeDefinition parent = ped.getType();
- TypeDefinition superType = parent.getSuperType();
- while (superType != null) {
- if (!hasProperty(superType, ped.getPropertyPath())) {
- return parent;
- }
- parent = superType;
- superType = parent.getSuperType();
- }
-
- return parent;
- }
-
- /**
- * Tests the given type if it has the properties defined in the given
- * property path.
- *
- * @param type the type definition or definition group
- * @param propertyPath the property path to test
- * @return if the property path is valid for the given type
- */
- private boolean hasProperty(DefinitionGroup type, List propertyPath) {
- if (propertyPath == null || propertyPath.isEmpty()) {
- return true;
- }
- else {
- ChildDefinition> child = type.getChild(propertyPath.get(0).getChild().getName());
- if (child != null) {
- if (propertyPath.size() == 1) {
- return true;
- }
- else {
- return hasProperty(DefinitionUtil.getDefinitionGroup(child),
- propertyPath.subList(1, propertyPath.size()));
- }
- }
- else {
- return false;
- }
- }
- }
-
- /**
- * Find source types to use to propagate the given example cell. If
- * possible, common super types will be returned.
- *
- * @param exampleCell the example cell
- * @param targetType the target type
- * @param index the index to store the replacement property paths in
- * @return the source types to propagate the cell to
- */
- private Collection findSourceTypes(Cell exampleCell, TypeDefinition targetType,
- TypeEntityIndex> index) {
- Set possibleSources = findAllPossibleSources(targetType);
-
- /*
- * Add all super types, because if possible, we want to do the mapping
- * on super types.
- */
- Set superTypes = new HashSet();
- for (TypeDefinition type : possibleSources) {
- TypeDefinition superType = type.getSuperType();
- while (superType != null) {
- if (superTypes.add(superType) || !possibleSources.contains(superType)) {
- superType = superType.getSuperType();
- }
- else {
- superType = null;
- }
- }
- }
- possibleSources.addAll(superTypes);
-
- /*
- * Check source entities and filter all source types that don't match
- * the entity.
- */
- TypeDefinition originalSource = null;
- for (Entity source : exampleCell.getSource().values()) {
- EntityDefinition ed = source.getDefinition();
-
- // check source type
- if (originalSource == null) {
- originalSource = ed.getType();
- }
- else {
- if (!originalSource.equals(ed.getType())) {
- System.err.println("WARNING: ignoring cell with sources in different types");
- return null;
- }
- }
-
- if (ed.getPropertyPath().isEmpty()) {
- // don't handle type cells
- return null;
- }
-
- // remove all types w/o compatible property
- Iterator it = possibleSources.iterator();
- while (it.hasNext()) {
- TypeDefinition type = it.next();
- List newPath = hasCompatibleProperty(type, ed.getPropertyPath());
- if (newPath == null) {
- it.remove();
- }
- else {
- // remember child path per root type and entity
- index.put(type, source, newPath);
- }
- }
- }
-
- /*
- * Remove all types that have super types contained in the set.
- */
- Set toTest = new HashSet(possibleSources);
- for (TypeDefinition type : toTest) {
- TypeDefinition superType = type.getSuperType();
- while (superType != null) {
- if (possibleSources.contains(superType)) {
- possibleSources.remove(type);
- // other super types are tested on their own
- break;
- }
- superType = superType.getSuperType();
- }
- }
-
- return possibleSources;
- }
-
- /**
- * Find all possible CityGML source types for the given target type based on
- * the feature map configuration. Also takes into account the possible
- * sources for sub-types of the given target type.
- *
- * @param targetType the target type definition
- * @return the set of possible source type definitions
- */
- private Set findAllPossibleSources(TypeDefinition targetType) {
- // find all possible source types, taking into account also sub-types
- Queue toTest = new LinkedList();
- Set sourceTypeNames = new HashSet();
- toTest.add(targetType);
- while (!toTest.isEmpty()) {
- TypeDefinition type = toTest.poll();
- sourceTypeNames.addAll(featureMap.getPossibleSourceTypes(type.getDisplayName()));
- toTest.addAll(type.getSubTypes());
- }
-
- Set types = new HashSet();
- for (TypeDefinition type : cityGMLSource.getTypes()) {
- if (type.getName().getNamespaceURI().startsWith(CITYGML_NAMESPACE_CORE)
- && sourceTypeNames.contains(type.getDisplayName())
- && BGISAppUtil.isFeatureType(type)) {
- /*
- * Type is a feature type from CityGML and is one of the
- * possible source types
- */
- types.add(type);
- }
- }
-
- return types;
- }
-
- private List hasCompatibleProperty(DefinitionGroup type,
- List propertyPath) {
- int propIndex = -1;
- // find index of first property (ignoring groups)
- for (int i = 0; i < propertyPath.size() && propIndex < 0; i++) {
- if (propertyPath.get(i).getChild().asProperty() != null) {
- propIndex = i;
- }
- }
-
- if (propIndex < 0) {
- // now there something is not right
- return null;
- }
-
- QName name = propertyPath.get(propIndex).getChild().getName();
- if (!name.getNamespaceURI().startsWith(CITYGML_NAMESPACE_CORE)) {
- System.err.println("ERROR: only cells on CityGML source properties will be propagated");
- return null;
- }
-
- // look for a potential match
- Collection extends ChildDefinition>> children = DefinitionUtil.getAllChildren(type);
- for (ChildDefinition> candidate : children) {
- if (candidate.asProperty() != null) {
- if (candidate.getName().getNamespaceURI().startsWith(CITYGML_NAMESPACE_CORE)
- && candidate.getName().getLocalPart().equals(name.getLocalPart())
- && candidate
- .asProperty()
- .getPropertyType()
- .getName()
- .getLocalPart()
- .equals(propertyPath.get(propIndex).getChild().asProperty()
- .getPropertyType().getName().getLocalPart())) {
- /*
- * Property has CityGML namespace, matching local name and
- * matching property type local name.
- */
- List newPath = new ArrayList();
- ChildContext org = propertyPath.get(propIndex);
- ChildContext rep = new ChildContext(org.getContextName(), org.getIndex(),
- org.getCondition(), candidate);
- newPath.add(rep);
- if (propIndex + 1 >= propertyPath.size()) {
- // last property, return
- return newPath;
- }
- else {
- // check path further
- List childPath = hasCompatibleProperty(candidate.asProperty()
- .getPropertyType(), propertyPath.subList(propIndex + 1,
- propertyPath.size()));
- if (childPath != null) {
- newPath.addAll(childPath);
- return newPath;
- }
- }
- }
- }
- else if (candidate.asGroup() != null) {
- // check path further for the same property
- List childPath = hasCompatibleProperty(candidate.asGroup(),
- propertyPath.subList(propIndex, propertyPath.size()));
- if (childPath != null) {
- // prepend group to path
- childPath.add(0, new ChildContext(candidate));
- return childPath;
- }
- }
- }
-
- return null;
- }
-
- /**
- * Get the created cells.
- *
- * @return the cells assigning default values
- */
- public List getCells() {
- return cells;
- }
-
-}
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/propagate/config/ExcelFeatureMap.java b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/propagate/config/ExcelFeatureMap.java
deleted file mode 100644
index 9bad5011b8..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/propagate/config/ExcelFeatureMap.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 2013 Fraunhofer IGD
- *
- * All rights reserved. This program and the accompanying materials are made
- * available under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution. If not, see .
- *
- * Contributors:
- * Fraunhofer IGD
- */
-
-package eu.esdihumboldt.hale.app.bgis.ade.propagate.config;
-
-import java.net.URI;
-import java.util.Set;
-
-import org.apache.poi.ss.usermodel.Row;
-
-import com.google.common.collect.HashMultimap;
-import com.google.common.collect.SetMultimap;
-
-import eu.esdihumboldt.hale.io.xls.AbstractAnalyseTable;
-
-/**
- * Feature map based on excel table.
- *
- * @author Simon Templer
- */
-public class ExcelFeatureMap extends AbstractAnalyseTable implements FeatureMap {
-
- private int sourceCol, targetCol = -1;
-
- private final SetMultimap targetToSource = HashMultimap.create();
-
- /**
- * Create a feature map from the Excel table at the given location.
- *
- * @param location the Excel file location
- * @throws Exception if loading the file fails
- */
- public ExcelFeatureMap(URI location) throws Exception {
- analyse(location);
- }
-
- @Override
- protected void headerCell(int num, String text) {
- if ("source".equalsIgnoreCase(text)) {
- sourceCol = num;
- }
- else if ("target".equalsIgnoreCase(text)) {
- targetCol = num;
- }
- }
-
- @Override
- protected void analyseRow(int num, Row row) {
- String source = extractText(row.getCell(sourceCol));
- String target = extractText(row.getCell(targetCol));
-
- targetToSource.put(target, source);
- }
-
- @Override
- public Set getPossibleSourceTypes(String targetTypeName) {
- return targetToSource.get(targetTypeName);
- }
-
-}
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/propagate/config/FeatureMap.java b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/propagate/config/FeatureMap.java
deleted file mode 100644
index f89d253003..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/propagate/config/FeatureMap.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 2013 Fraunhofer IGD
- *
- * All rights reserved. This program and the accompanying materials are made
- * available under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution. If not, see .
- *
- * Contributors:
- * Fraunhofer IGD
- */
-
-package eu.esdihumboldt.hale.app.bgis.ade.propagate.config;
-
-import java.util.Set;
-
-/**
- * Feature mapping configuration interface.
- *
- * @author Simon Templer
- */
-public interface FeatureMap {
-
- /**
- * Get the possible source types for the given target type.
- *
- * @param targetTypeName the target type local name
- * @return the local names of the possible source types
- */
- public Set getPossibleSourceTypes(String targetTypeName);
-
-}
diff --git a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/propagate/internal/TypeEntityIndex.java b/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/propagate/internal/TypeEntityIndex.java
deleted file mode 100644
index 0c5525bbd9..0000000000
--- a/ext/ageobw/eu.esdihumboldt.hale.app.bgis.ade/src/eu/esdihumboldt/hale/app/bgis/ade/propagate/internal/TypeEntityIndex.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 2013 Fraunhofer IGD
- *
- * All rights reserved. This program and the accompanying materials are made
- * available under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution. If not, see .
- *
- * Contributors:
- * Fraunhofer IGD
- */
-
-package eu.esdihumboldt.hale.app.bgis.ade.propagate.internal;
-
-import java.util.HashMap;
-import java.util.IdentityHashMap;
-import java.util.Map;
-
-import eu.esdihumboldt.hale.common.align.model.Entity;
-import eu.esdihumboldt.hale.common.schema.model.TypeDefinition;
-
-/**
- * Index with combined type and {@link Entity} key. Entities are indexed based
- * on their identity.
- *
- * @author Simon Templer
- * @param the type of object stored
- */
-public class TypeEntityIndex {
-
- private final Map> index = new HashMap>();
-
- /**
- * Put an object into the index.
- *
- * @param type the type key
- * @param entity the entity key
- * @param object the object to store
- */
- public void put(TypeDefinition type, Entity entity, T object) {
- IdentityHashMap objects = index.get(type);
- if (objects == null) {
- objects = new IdentityHashMap();
- index.put(type, objects);
- }
- objects.put(entity, object);
- }
-
- /**
- * Get an object from the index.
- *
- * @param type the type key
- * @param entity the entity key
- * @return the stored object at the given keys or null
- */
- public T get(TypeDefinition type, Entity entity) {
- IdentityHashMap objects = index.get(type);
- if (objects != null) {
- return objects.get(entity);
- }
- return null;
- }
-
-}
diff --git a/ext/geom/de.fhg.igd.geom/.classpath b/ext/geom/de.fhg.igd.geom/.classpath
deleted file mode 100644
index 81fe078c20..0000000000
--- a/ext/geom/de.fhg.igd.geom/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/ext/geom/de.fhg.igd.geom/.project b/ext/geom/de.fhg.igd.geom/.project
deleted file mode 100644
index 227fb7751b..0000000000
--- a/ext/geom/de.fhg.igd.geom/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
- de.fhg.igd.geom
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- org.eclipse.pde.ManifestBuilder
-
-
-
-
- org.eclipse.pde.SchemaBuilder
-
-
-
-
-
- org.eclipse.pde.PluginNature
- org.eclipse.jdt.core.javanature
-
-
diff --git a/ext/geom/de.fhg.igd.geom/.settings/edu.umd.cs.findbugs.core.prefs b/ext/geom/de.fhg.igd.geom/.settings/edu.umd.cs.findbugs.core.prefs
deleted file mode 100644
index 1d3897d393..0000000000
--- a/ext/geom/de.fhg.igd.geom/.settings/edu.umd.cs.findbugs.core.prefs
+++ /dev/null
@@ -1,132 +0,0 @@
-#Created from default preferences 07.02.2017 18:52:02
-#Tue Feb 07 18:52:02 CET 2017
-cloud_id=edu.umd.cs.findbugs.cloud.doNothingCloud
-detectorAppendingToAnObjectOutputStream=AppendingToAnObjectOutputStream|true
-detectorAtomicityProblem=AtomicityProblem|true
-detectorBadAppletConstructor=BadAppletConstructor|false
-detectorBadResultSetAccess=BadResultSetAccess|true
-detectorBadSyntaxForRegularExpression=BadSyntaxForRegularExpression|true
-detectorBadUseOfReturnValue=BadUseOfReturnValue|true
-detectorBadlyOverriddenAdapter=BadlyOverriddenAdapter|true
-detectorBooleanReturnNull=BooleanReturnNull|true
-detectorCallToUnsupportedMethod=CallToUnsupportedMethod|true
-detectorCheckExpectedWarnings=CheckExpectedWarnings|false
-detectorCheckImmutableAnnotation=CheckImmutableAnnotation|true
-detectorCheckTypeQualifiers=CheckTypeQualifiers|true
-detectorCloneIdiom=CloneIdiom|true
-detectorComparatorIdiom=ComparatorIdiom|true
-detectorConfusedInheritance=ConfusedInheritance|true
-detectorConfusionBetweenInheritedAndOuterMethod=ConfusionBetweenInheritedAndOuterMethod|true
-detectorCrossSiteScripting=CrossSiteScripting|true
-detectorDefaultEncodingDetector=DefaultEncodingDetector|true
-detectorDoInsideDoPrivileged=DoInsideDoPrivileged|true
-detectorDontCatchIllegalMonitorStateException=DontCatchIllegalMonitorStateException|true
-detectorDontIgnoreResultOfPutIfAbsent=DontIgnoreResultOfPutIfAbsent|true
-detectorDontUseEnum=DontUseEnum|true
-detectorDroppedException=DroppedException|true
-detectorDumbMethodInvocations=DumbMethodInvocations|true
-detectorDumbMethods=DumbMethods|true
-detectorDuplicateBranches=DuplicateBranches|true
-detectorEmptyZipFileEntry=EmptyZipFileEntry|true
-detectorEqualsOperandShouldHaveClassCompatibleWithThis=EqualsOperandShouldHaveClassCompatibleWithThis|true
-detectorExplicitSerialization=ExplicitSerialization|true
-detectorFinalizerNullsFields=FinalizerNullsFields|true
-detectorFindBadCast2=FindBadCast2|true
-detectorFindBadForLoop=FindBadForLoop|true
-detectorFindCircularDependencies=FindCircularDependencies|false
-detectorFindDeadLocalStores=FindDeadLocalStores|true
-detectorFindDoubleCheck=FindDoubleCheck|true
-detectorFindEmptySynchronizedBlock=FindEmptySynchronizedBlock|true
-detectorFindFieldSelfAssignment=FindFieldSelfAssignment|true
-detectorFindFinalizeInvocations=FindFinalizeInvocations|true
-detectorFindFloatEquality=FindFloatEquality|true
-detectorFindHEmismatch=FindHEmismatch|true
-detectorFindInconsistentSync2=FindInconsistentSync2|true
-detectorFindJSR166LockMonitorenter=FindJSR166LockMonitorenter|true
-detectorFindLocalSelfAssignment2=FindLocalSelfAssignment2|true
-detectorFindMaskedFields=FindMaskedFields|true
-detectorFindMismatchedWaitOrNotify=FindMismatchedWaitOrNotify|true
-detectorFindNakedNotify=FindNakedNotify|true
-detectorFindNonShortCircuit=FindNonShortCircuit|true
-detectorFindNullDeref=FindNullDeref|true
-detectorFindNullDerefsInvolvingNonShortCircuitEvaluation=FindNullDerefsInvolvingNonShortCircuitEvaluation|true
-detectorFindOpenStream=FindOpenStream|true
-detectorFindPuzzlers=FindPuzzlers|true
-detectorFindRefComparison=FindRefComparison|true
-detectorFindReturnRef=FindReturnRef|true
-detectorFindRunInvocations=FindRunInvocations|true
-detectorFindSelfComparison=FindSelfComparison|true
-detectorFindSelfComparison2=FindSelfComparison2|true
-detectorFindSleepWithLockHeld=FindSleepWithLockHeld|true
-detectorFindSpinLoop=FindSpinLoop|true
-detectorFindSqlInjection=FindSqlInjection|true
-detectorFindTwoLockWait=FindTwoLockWait|true
-detectorFindUncalledPrivateMethods=FindUncalledPrivateMethods|true
-detectorFindUnconditionalWait=FindUnconditionalWait|true
-detectorFindUninitializedGet=FindUninitializedGet|true
-detectorFindUnrelatedTypesInGenericContainer=FindUnrelatedTypesInGenericContainer|true
-detectorFindUnreleasedLock=FindUnreleasedLock|true
-detectorFindUnsatisfiedObligation=FindUnsatisfiedObligation|true
-detectorFindUnsyncGet=FindUnsyncGet|true
-detectorFindUseOfNonSerializableValue=FindUseOfNonSerializableValue|true
-detectorFindUselessControlFlow=FindUselessControlFlow|true
-detectorFormatStringChecker=FormatStringChecker|true
-detectorHugeSharedStringConstants=HugeSharedStringConstants|true
-detectorIDivResultCastToDouble=IDivResultCastToDouble|true
-detectorIncompatMask=IncompatMask|true
-detectorInconsistentAnnotations=InconsistentAnnotations|true
-detectorInefficientMemberAccess=InefficientMemberAccess|false
-detectorInefficientToArray=InefficientToArray|true
-detectorInfiniteLoop=InfiniteLoop|true
-detectorInfiniteRecursiveLoop=InfiniteRecursiveLoop|true
-detectorInheritanceUnsafeGetResource=InheritanceUnsafeGetResource|true
-detectorInitializationChain=InitializationChain|true
-detectorInitializeNonnullFieldsInConstructor=InitializeNonnullFieldsInConstructor|true
-detectorInstantiateStaticClass=InstantiateStaticClass|true
-detectorIntCast2LongAsInstant=IntCast2LongAsInstant|true
-detectorInvalidJUnitTest=InvalidJUnitTest|true
-detectorIteratorIdioms=IteratorIdioms|true
-detectorLazyInit=LazyInit|true
-detectorLoadOfKnownNullValue=LoadOfKnownNullValue|true
-detectorLostLoggerDueToWeakReference=LostLoggerDueToWeakReference|true
-detectorMethodReturnCheck=MethodReturnCheck|true
-detectorMultithreadedInstanceAccess=MultithreadedInstanceAccess|true
-detectorMutableLock=MutableLock|true
-detectorMutableStaticFields=MutableStaticFields|true
-detectorNaming=Naming|true
-detectorNoteUnconditionalParamDerefs=NoteUnconditionalParamDerefs|true
-detectorNumberConstructor=NumberConstructor|true
-detectorOverridingEqualsNotSymmetrical=OverridingEqualsNotSymmetrical|true
-detectorPreferZeroLengthArrays=PreferZeroLengthArrays|true
-detectorPublicSemaphores=PublicSemaphores|true
-detectorQuestionableBooleanAssignment=QuestionableBooleanAssignment|true
-detectorReadOfInstanceFieldInMethodInvokedByConstructorInSuperclass=ReadOfInstanceFieldInMethodInvokedByConstructorInSuperclass|true
-detectorReadReturnShouldBeChecked=ReadReturnShouldBeChecked|true
-detectorRedundantInterfaces=RedundantInterfaces|true
-detectorRepeatedConditionals=RepeatedConditionals|true
-detectorRuntimeExceptionCapture=RuntimeExceptionCapture|true
-detectorSerializableIdiom=SerializableIdiom|true
-detectorStartInConstructor=StartInConstructor|true
-detectorStaticCalendarDetector=StaticCalendarDetector|true
-detectorStringConcatenation=StringConcatenation|true
-detectorSuperfluousInstanceOf=SuperfluousInstanceOf|true
-detectorSuspiciousThreadInterrupted=SuspiciousThreadInterrupted|true
-detectorSwitchFallthrough=SwitchFallthrough|true
-detectorSynchronizeAndNullCheckField=SynchronizeAndNullCheckField|true
-detectorSynchronizeOnClassLiteralNotGetClass=SynchronizeOnClassLiteralNotGetClass|true
-detectorSynchronizingOnContentsOfFieldToProtectField=SynchronizingOnContentsOfFieldToProtectField|true
-detectorURLProblems=URLProblems|true
-detectorUncallableMethodOfAnonymousClass=UncallableMethodOfAnonymousClass|true
-detectorUnnecessaryMath=UnnecessaryMath|true
-detectorUnreadFields=UnreadFields|true
-detectorUselessSubclassMethod=UselessSubclassMethod|true
-detectorVarArgsProblems=VarArgsProblems|true
-detectorVolatileUsage=VolatileUsage|true
-detectorWaitInLoop=WaitInLoop|true
-detectorWrongMapIterator=WrongMapIterator|true
-detectorXMLFactoryBypass=XMLFactoryBypass|true
-detector_threshold=2
-effort=default
-filter_settings=Medium|BAD_PRACTICE,CORRECTNESS,I18N,MALICIOUS_CODE,MT_CORRECTNESS,PERFORMANCE,SECURITY,STYLE|false|15
-filter_settings_neg=NOISE,EXPERIMENTAL|
-run_at_full_build=false
diff --git a/ext/geom/de.fhg.igd.geom/.settings/org.eclipse.core.resources.prefs b/ext/geom/de.fhg.igd.geom/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index da903a002a..0000000000
--- a/ext/geom/de.fhg.igd.geom/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Created from default preferences 07.02.2017 18:52:02
-#Tue Feb 07 18:52:02 CET 2017
-eclipse.preferences.version=1
-encoding/=UTF-8
diff --git a/ext/geom/de.fhg.igd.geom/.settings/org.eclipse.jdt.core.prefs b/ext/geom/de.fhg.igd.geom/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index f27049f484..0000000000
--- a/ext/geom/de.fhg.igd.geom/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,424 +0,0 @@
-#Updated from default preferences 28 Oct 2022, 08:10:30
-#Fri Oct 28 08:10:30 CEST 2022
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch,.svn/
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=,_
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=17
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=17
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=1
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
-org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
-org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=100
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/ext/geom/de.fhg.igd.geom/.settings/org.eclipse.jdt.groovy.core.prefs b/ext/geom/de.fhg.igd.geom/.settings/org.eclipse.jdt.groovy.core.prefs
deleted file mode 100644
index a7489239bd..0000000000
--- a/ext/geom/de.fhg.igd.geom/.settings/org.eclipse.jdt.groovy.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Created from default preferences 28 Oct 2022, 08:10:30
-#Fri Oct 28 08:10:30 CEST 2022
-eclipse.preferences.version=1
-groovy.compiler.level=25
diff --git a/ext/geom/de.fhg.igd.geom/.settings/org.eclipse.jdt.launching.prefs b/ext/geom/de.fhg.igd.geom/.settings/org.eclipse.jdt.launching.prefs
deleted file mode 100644
index 29bcc1d901..0000000000
--- a/ext/geom/de.fhg.igd.geom/.settings/org.eclipse.jdt.launching.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Created from default preferences 07.02.2017 18:52:02
-#Tue Feb 07 18:52:02 CET 2017
-eclipse.preferences.version=1
-org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
diff --git a/ext/geom/de.fhg.igd.geom/.settings/org.eclipse.jdt.ui.prefs b/ext/geom/de.fhg.igd.geom/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 1a83c15b7a..0000000000
--- a/ext/geom/de.fhg.igd.geom/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,64 +0,0 @@
-#Created from default preferences 07.02.2017 18:52:02
-#Tue Feb 07 18:52:02 CET 2017
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_HALE
-formatter_settings_version=12
-org.eclipse.jdt.ui.exception.name=e
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.keywordthis=false
-org.eclipse.jdt.ui.overrideannotation=true
-org.eclipse.jdt.ui.text.custom_code_templates=/**\n * @return the ${bare_field_name}\n *//**\n * @param ${param} the ${bare_field_name} to set\n *//**\n * ${tags}\n *//*\n * Copyright (c) ${year} wetransform GmbH\n * \n * All rights reserved. This program and the accompanying materials are made\n * available under the terms of the GNU Lesser General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n * \n * You should have received a copy of the GNU Lesser General Public License\n * along with this distribution. If not, see <http\://www.gnu.org/licenses/>.\n * \n * Contributors\:\n * wetransform GmbH <http\://www.wetransform.to>\n *//**\n * TODO Type description\n * @author ${user}\n *//**\n * \n *//**\n * ${tags}\n *//**\n * ${see_to_overridden}\n *//**\n * ${tags}\n * ${see_to_target}\n */${filecomment}\n\n${package_declaration}\n\n${typecomment}\n${type_declaration}\n\n\n\n// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();// ${todo} Auto-generated method stub\n${body_statement}${body_statement}\n// ${todo} Auto-generated constructor stubreturn ${field};${field} \= ${param};
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/ext/geom/de.fhg.igd.geom/.settings/org.eclipse.pde.core.prefs b/ext/geom/de.fhg.igd.geom/.settings/org.eclipse.pde.core.prefs
deleted file mode 100644
index abab180fcc..0000000000
--- a/ext/geom/de.fhg.igd.geom/.settings/org.eclipse.pde.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-#Created from default preferences 07.02.2017 18:52:02
-#Tue Feb 07 18:52:02 CET 2017
-eclipse.preferences.version=1
-resolve.requirebundle=false
diff --git a/ext/geom/de.fhg.igd.geom/.settings/org.eclipse.pde.prefs b/ext/geom/de.fhg.igd.geom/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 0609ce4e70..0000000000
--- a/ext/geom/de.fhg.igd.geom/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,36 +0,0 @@
-#Created from default preferences Jul 25, 2018 1:58:37 PM
-#Wed Jul 25 13:58:37 CEST 2018
-compilers.f.unresolved-features=1
-compilers.f.unresolved-plugins=1
-compilers.incompatible-environment=2
-compilers.p.build=1
-compilers.p.build.bin.includes=1
-compilers.p.build.encodings=2
-compilers.p.build.java.compiler=2
-compilers.p.build.java.compliance=1
-compilers.p.build.missing.output=2
-compilers.p.build.output.library=1
-compilers.p.build.source.library=1
-compilers.p.build.src.includes=1
-compilers.p.deprecated=1
-compilers.p.discouraged-class=1
-compilers.p.internal=1
-compilers.p.missing-packages=2
-compilers.p.missing-version-export-package=2
-compilers.p.missing-version-import-package=2
-compilers.p.missing-version-require-bundle=2
-compilers.p.no-required-att=0
-compilers.p.no.automatic.module=1
-compilers.p.not-externalized-att=2
-compilers.p.service.component.without.lazyactivation=1
-compilers.p.unknown-attribute=1
-compilers.p.unknown-class=1
-compilers.p.unknown-element=1
-compilers.p.unknown-identifier=1
-compilers.p.unknown-resource=1
-compilers.p.unresolved-ex-points=0
-compilers.p.unresolved-import=0
-compilers.s.create-docs=false
-compilers.s.doc-folder=doc
-compilers.s.open-tags=1
-eclipse.preferences.version=1
diff --git a/ext/geom/de.fhg.igd.geom/META-INF/MANIFEST.MF b/ext/geom/de.fhg.igd.geom/META-INF/MANIFEST.MF
deleted file mode 100644
index e44d32d9a1..0000000000
--- a/ext/geom/de.fhg.igd.geom/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,18 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Geometry
-Bundle-SymbolicName: de.fhg.igd.geom;singleton:=true
-Bundle-Version: 5.4.0.qualifier
-Bundle-Vendor: Fraunhofer IGD
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
-Export-Package: de.fhg.igd.geom,
- de.fhg.igd.geom.algorithm,
- de.fhg.igd.geom.algorithm.sweepline,
- de.fhg.igd.geom.indices,
- de.fhg.igd.geom.shape,
- de.fhg.igd.geom.util
-Import-Package: com.google.common.base;version="17.0.0",
- org.locationtech.jts;version="1.13.0",
- org.locationtech.jts.geom;version="1.13.0",
- org.locationtech.jts.geom.impl;version="1.13.0"
-Automatic-Module-Name: de.fhg.igd.geom
diff --git a/ext/geom/de.fhg.igd.geom/build.properties b/ext/geom/de.fhg.igd.geom/build.properties
deleted file mode 100644
index 34d2e4d2da..0000000000
--- a/ext/geom/de.fhg.igd.geom/build.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .
diff --git a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/BoundingBox.java b/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/BoundingBox.java
deleted file mode 100644
index 36a860429f..0000000000
--- a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/BoundingBox.java
+++ /dev/null
@@ -1,917 +0,0 @@
-/*
- * Copyright (c) 2016 Fraunhofer IGD
- *
- * All rights reserved. This program and the accompanying materials are made
- * available under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution. If not, see .
- *
- * Contributors:
- * Fraunhofer IGD
- */
-
-package de.fhg.igd.geom;
-
-import java.io.Serializable;
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.locationtech.jts.geom.Coordinate;
-import org.locationtech.jts.geom.Geometry;
-import org.locationtech.jts.geom.LineString;
-import org.locationtech.jts.geom.Point;
-import org.locationtech.jts.geom.Polygon;
-
-import de.fhg.igd.geom.util.BlochHashCode;
-import de.fhg.igd.geom.util.MathHelper;
-
-/**
- * This class represents a Bounding Box in 3D, as defined by the lower left
- * minimum height and the upper right maximum height corners.
- *
- * @author Thorsten Reitz
- */
-public final class BoundingBox implements Serializable, Localizable, Cloneable {
-
- /**
- * The class' serial version UID
- */
- private static final long serialVersionUID = 713293043787375488L;
-
- /**
- * The lower left bottom corner's x value.
- */
- private double minX;
-
- /**
- * The lower left bottom corner's x value.
- */
- private double minY;
-
- /**
- * The lower left bottom corner's z value.
- */
- private double minZ;
-
- /**
- * The upper right top corner's x value.
- */
- private double maxX;
-
- /**
- * The upper right top corner's y value.
- */
- private double maxY;
-
- /**
- * The upper right top corner's z value.
- */
- private double maxZ;
-
- /**
- * Default constructor
- */
- public BoundingBox() {
- reset();
- }
-
- /**
- * Construct a BB from two points defined by three double values.
- *
- * @param x1 - xmin
- * @param y1 - ymin
- * @param z1 - zmin
- * @param x2 - xmax
- * @param y2 - ymax
- * @param z2 - zmax
- */
- public BoundingBox(double x1, double y1, double z1, double x2, double y2, double z2) {
- this.minX = x1;
- this.minY = y1;
- this.minZ = z1;
- this.maxX = x2;
- this.maxY = y2;
- this.maxZ = z2;
- }
-
- /**
- * Copy constructor
- *
- * @param boundingBox The source bounding box
- */
- public BoundingBox(BoundingBox boundingBox) {
- this(boundingBox.minX, boundingBox.minY, boundingBox.minZ, boundingBox.maxX,
- boundingBox.maxY, boundingBox.maxZ);
- }
-
- // functional methods
- // .......................................................
-
- /**
- * Resets the bounding box
- */
- public void reset() {
- this.minX = Double.POSITIVE_INFINITY;
- this.minY = Double.POSITIVE_INFINITY;
- this.minZ = Double.POSITIVE_INFINITY;
- this.maxX = Double.NEGATIVE_INFINITY;
- this.maxY = Double.NEGATIVE_INFINITY;
- this.maxZ = Double.NEGATIVE_INFINITY;
- }
-
- /**
- * @see Localizable#getBoundingBox()
- */
- @Override
- public BoundingBox getBoundingBox() {
- return this;
- }
-
- /**
- * This method expands this BoundingBox in volume by factor stepsize. If the
- * original extent is 0.0, stepsize will be used as absolute value.
- *
- * @param stepsize the size factor
- * @return the extended BoundingBox (this)
- * @see Localizable#getBoundingBox()
- */
- public BoundingBox expand(double stepsize) {
- double delta_x = this.maxX - this.minX;
- double delta_y = this.maxY - this.minY;
- double delta_z = this.maxZ - this.minZ;
-
- if (delta_x == 0.0) {
- delta_x = stepsize;
- }
- else {
- delta_x = delta_x * (1 + stepsize);
- }
- if (delta_y == 0.0) {
- delta_y = stepsize;
- }
- else {
- delta_y = delta_y * (1 + stepsize);
- }
- if (delta_z == 0.0) {
- delta_z = stepsize;
- }
- else {
- delta_z = delta_z * (1 + stepsize);
- }
-
- double min_temp = (this.maxX + this.minX) / 2 - delta_x / 2;
- this.maxX = (this.maxX + this.minX) / 2 + delta_x / 2;
- this.minX = min_temp;
-
- min_temp = (this.maxY + this.minY) / 2 - delta_y / 2;
- this.maxY = (this.maxY + this.minY) / 2 + delta_y / 2;
- this.minY = min_temp;
-
- min_temp = (this.maxZ + this.minZ) / 2 - delta_z / 2;
- this.maxZ = (this.maxZ + this.minZ) / 2 + delta_z / 2;
- this.minZ = min_temp;
-
- return this;
- }
-
- /**
- * This method will add the given Bounding Box to this Bounding Box, thus
- * possibly enlarging it.
- *
- * @param bbox the BoundingBox to add
- */
- public void add(BoundingBox bbox) {
- if (bbox == null) {
- return;
- }
- Point3D center = bbox.getCenter();
- if (!(Double.isNaN(center.getX()) || Double.isNaN(center.getY())
- || Double.isNaN(center.getZ()))) {
- if (bbox.covers(this)) {
- this.setMinX(bbox.getMinX());
- this.setMaxX(bbox.getMaxX());
- this.setMinY(bbox.getMinY());
- this.setMaxY(bbox.getMaxY());
- this.setMinZ(bbox.getMinZ());
- this.setMaxZ(bbox.getMaxZ());
- }
- else if (this.covers(bbox)) {
- // do nothing
- }
- else {
- if (this.minX > bbox.minX) {
- this.minX = bbox.minX;
- }
- if (this.minY > bbox.minY) {
- this.minY = bbox.minY;
- }
- if (this.minZ > bbox.minZ) {
- this.minZ = bbox.minZ;
- }
- if (this.maxX < bbox.maxX) {
- this.maxX = bbox.maxX;
- }
- if (this.maxY < bbox.maxY) {
- this.maxY = bbox.maxY;
- }
- if (this.maxZ < bbox.maxZ) {
- this.maxZ = bbox.maxZ;
- }
- }
- }
- }
-
- /**
- * @return the center of this BB as a Point3D.
- */
- public Point3D getCenter() {
- return new Point3D((this.maxX + this.minX) / 2, (this.maxY + this.minY) / 2,
- (this.maxZ + this.minZ) / 2);
- }
-
- /**
- * @param bb the BoundingBox that may have any relation to this one
- * @return true if the given BoundingBox has any spatial relation to this
- * one.
- */
- public boolean any(BoundingBox bb) {
- return (this.intersects(bb) || this.covers(bb) || bb.covers(this) || bb.equals(this)
- || bb.touches(this));
- }
-
- /**
- * This checks if this Bounding Box completely covers the parameter Bounding
- * Box.
- *
- * @param bbox the other BoundingBox
- * @return true if this Box covers bbox, false otherwise
- */
- public boolean covers(BoundingBox bbox) {
- return (this.getMinX() <= bbox.getMinX() && this.getMaxX() >= bbox.getMaxX()
- && this.getMinY() <= bbox.getMinY() && this.getMaxY() >= bbox.getMaxY()
- && this.getMinZ() <= bbox.getMinZ() && this.getMaxZ() >= bbox.getMaxZ());
- }
-
- /**
- * This checks if this Bounding Box completely contains the parameter
- * Bounding Box.
- *
- * @param bbox the other BoundingBox
- * @return true if this Box contains bbox, false otherwise
- */
- private boolean contains(BoundingBox bbox) {
- return (this.getMinX() < bbox.getMinX() && this.getMaxX() > bbox.getMaxX()
- && this.getMinY() < bbox.getMinY() && this.getMaxY() > bbox.getMaxY()
- && this.getMinZ() < bbox.getMinZ() && this.getMaxZ() > bbox.getMaxZ());
- }
-
- /**
- * @param point a point that may touch this BoundingBox
- * @return true if the given Point touches the BoundingBox
- */
- private boolean touches(Point3D point) {
- // We keep the "unsafe" FP comparison since we prefer a proper touches()
- // over
- // something which cannot hold basic topological properties. That
- // touches isn't the most stable criteria is another thing.
- if (point.getX() == this.minX || point.getX() == this.maxX) {
- if (point.getY() <= this.maxY && point.getY() >= this.minY && point.getZ() <= this.maxZ
- && point.getZ() >= this.minZ) {
- return true;
- }
- }
- if (point.getY() == this.minY || point.getY() == this.maxY) {
- if (point.getX() <= this.maxX && point.getX() >= this.minX && point.getZ() <= this.maxZ
- && point.getZ() >= this.minZ) {
- return true;
- }
- }
- if (point.getZ() == this.minZ || point.getZ() == this.maxZ) {
- if (point.getX() <= this.maxX && point.getX() >= this.minX && point.getY() <= this.maxY
- && point.getY() >= this.minY) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * @param bb the BoundingBox that may touch this one
- * @return true if the given BoundingBox has corners on an edge of this one
- */
- private boolean touchesHelper(BoundingBox bb) {
- int count = 0;
- if (this.touches(new Point3D(bb.minX, bb.minY, bb.minZ))) {
- count++;
- }
- if (this.touches(new Point3D(bb.minX, bb.minY, bb.maxZ))) {
- count++;
- }
- if (this.touches(new Point3D(bb.minX, bb.maxY, bb.minZ))) {
- count++;
- }
- if (this.touches(new Point3D(bb.minX, bb.maxY, bb.maxZ))) {
- count++;
- }
- if (this.touches(new Point3D(bb.maxX, bb.minY, bb.minZ))) {
- count++;
- }
- if (this.touches(new Point3D(bb.maxX, bb.minY, bb.maxZ))) {
- count++;
- }
- if (this.touches(new Point3D(bb.maxX, bb.maxY, bb.minZ))) {
- count++;
- }
- if (this.touches(new Point3D(bb.maxX, bb.maxY, bb.maxZ))) {
- count++;
- }
- return count > 0 && count < 5;
- }
-
- /**
- * @param bb the BoundingBox that may touch this one
- * @return true if the given BoundingBox touches this one
- */
- private boolean touches(BoundingBox bb) {
- return (touchesHelper(bb) || bb.touchesHelper(this)) && !this.intersects(bb)
- && !this.covers(bb) && !bb.covers(this);
- }
-
- /**
- * Test emptiness, i.e. whether at least one axis has zero width and the box
- * is regular.
- *
- * @return whether the bounding box is empty.
- */
- public boolean isEmpty() {
- return (getWidth() == 0 || getHeight() == 0 || getDepth() == 0) && isRealValued();
- }
-
- /**
- * Test regularity, i.e. whether all axes have zero or positive length.
- *
- * @return whether the bounding box is regular.
- * @see #checkIntegrity()
- */
- private boolean isRegular() {
- return getWidth() >= 0 && getHeight() >= 0 && getDepth() >= 0;
- }
-
- /**
- * This checks if this Bounding Box intersects with another Bounding Box.
- *
- * @param bb the other BoundingBox
- * @return true if the Boxes intersect, false otherwise
- */
- public boolean intersects(BoundingBox bb) {
- if (this.getMinX() >= bb.getMaxX() || this.getMaxX() <= bb.getMinX()) {
- return false;
- }
- else if (this.getMinY() >= bb.getMaxY() || this.getMaxY() <= bb.getMinY()) {
- return false;
- }
- else if (this.getMinZ() >= bb.getMaxZ() || this.getMaxZ() <= bb.getMinZ()) {
- return false;
- }
- return (!this.contains(bb) && !this.equals(bb));
- }
-
- /**
- * Checks if this BoundingBox intersects with or covers the given
- * BoundingBox bb
- *
- * @param bb the BoundingBox to check against
- * @return true if this BoundingBox intersects with or covers bb, false
- * otherwise
- */
- public boolean intersectsOrCovers(BoundingBox bb) {
- return (this.intersects(bb) || this.covers(bb));
- }
-
- /**
- * This method is used internally to add a point to a given extent
- *
- * @param x the x ordinate of the point to add
- * @param y the y ordinate
- * @param result an array containing the current extent. This array will be
- * updated by this method. The structure is as follows:
- * result[0] - maximum x
- * result[1] - minimum x
- * result[2] - maximum y
- * result[3] - minimum y
- */
- private static void computeInternal(double x, double y, double[] result) {
- if (x > result[0]) {
- result[0] = x;
- }
- if (x < result[1]) {
- result[1] = x;
- }
- if (y > result[2]) {
- result[2] = y;
- }
- if (y < result[3]) {
- result[3] = y;
- }
- }
-
- /**
- * This method is used internally to add a point to a given bounding box
- *
- * @param x the x ordinate of the point to add
- * @param y the y ordinate
- * @param z the z ordinate
- * @param result an array containing the current bounding box. This array
- * will be updated by this method. The structure is as follows:
- *
- * result[0] - maximum x
- * result[1] - minimum x
- * result[2] - maximum y
- * result[3] - minimum y
- * result[4] - maximum z
- * result[5] - minimum z
- */
- private static void computeInternal(double x, double y, double z, double[] result) {
- computeInternal(x, y, result);
- if (z > result[4]) {
- result[4] = z;
- }
- if (z < result[5]) {
- result[5] = z;
- }
- }
-
- /**
- * This static method will return a BoundingBox for a given Array of
- * Localizables.
- *
- * @param locs the Localizables to add to the BoundingBox
- * @return a BoundingBox that contains all Localizables
- */
- public static BoundingBox compute(Localizable[] locs) {
- return computeLocalizable(Arrays.asList(locs));
- }
-
- /**
- * This static method will return a BoundingBox for a given collection of
- * Point2D objects
- *
- * @param points a collection with Point3D objects
- * @return a BoundingBox containing all points
- */
- public static BoundingBox computePoint2D(Collection points) {
- double[] result = new double[4];
- result[0] = Double.NEGATIVE_INFINITY;
- result[1] = Double.POSITIVE_INFINITY;
- result[2] = Double.NEGATIVE_INFINITY;
- result[3] = Double.POSITIVE_INFINITY;
-
- for (Point2D p2d : points) {
- computeInternal(p2d.getX(), p2d.getY(), result);
- }
-
- BoundingBox bb = new BoundingBox();
- bb.setMaxX(result[0]);
- bb.setMinX(result[1]);
- bb.setMaxY(result[2]);
- bb.setMinY(result[3]);
- bb.setMinZ(0.0);
- bb.setMaxZ(0.0);
-
- return bb;
- }
-
- /**
- * This static method will return a BoundingBox for a given collection of
- * Point3D objects
- *
- * @param points a collection with Point3D objects
- * @return a BoundingBox containing all points
- */
- private static BoundingBox computePoint3D(Collection points) {
- double[] result = new double[6];
- result[0] = Double.NEGATIVE_INFINITY;
- result[1] = Double.POSITIVE_INFINITY;
- result[2] = Double.NEGATIVE_INFINITY;
- result[3] = Double.POSITIVE_INFINITY;
- result[4] = Double.NEGATIVE_INFINITY;
- result[5] = Double.POSITIVE_INFINITY;
-
- for (Point3D p3d : points) {
- computeInternal(p3d.getX(), p3d.getY(), p3d.getZ(), result);
- }
-
- BoundingBox bb = new BoundingBox();
- bb.setMaxX(result[0]);
- bb.setMinX(result[1]);
- bb.setMaxY(result[2]);
- bb.setMinY(result[3]);
- bb.setMaxZ(result[4]);
- bb.setMinZ(result[5]);
-
- return bb;
- }
-
- /**
- * This static method will return a BoundingBox for a given collection of
- * Localizable objects
- *
- * @param locs a collection of Localizable objects
- * @return a BoundingBox containing all Localizables
- */
- private static BoundingBox computeLocalizable(Iterable extends Localizable> locs) {
- double[] result = new double[6];
- result[0] = Double.NEGATIVE_INFINITY;
- result[1] = Double.POSITIVE_INFINITY;
- result[2] = Double.NEGATIVE_INFINITY;
- result[3] = Double.POSITIVE_INFINITY;
- result[4] = Double.NEGATIVE_INFINITY;
- result[5] = Double.POSITIVE_INFINITY;
-
- for (Localizable loc : locs) {
- BoundingBox locbb = loc.getBoundingBox();
- computeInternal(locbb.minX, locbb.minY, locbb.minZ, result);
- computeInternal(locbb.maxX, locbb.maxY, locbb.maxZ, result);
- }
-
- BoundingBox bb = new BoundingBox();
- bb.setMaxX(result[0]);
- bb.setMinX(result[1]);
- bb.setMaxY(result[2]);
- bb.setMinY(result[3]);
- bb.setMaxZ(result[4]);
- bb.setMinZ(result[5]);
-
- return bb;
- }
-
- /**
- * This static method will return a BoundingBox for a given Array of Point3D
- * objects.
- *
- * @param points the array of points
- * @return a BoundingBox containing all points
- */
- public static BoundingBox compute(Point3D[] points) {
- return computePoint3D(Arrays.asList(points));
- }
-
- /**
- * This static method will return a BoundingBox for a given Array of Point2D
- * objects.
- *
- * @param points the array of points
- * @return a BoundingBox containing all points
- */
- public static BoundingBox compute(Point2D[] points) {
- return computePoint2D(Arrays.asList(points));
- }
-
- /**
- * This static method will return a BoundingBox for a given Array of
- * {@link Coordinate}s objects.
- *
- * @param points the array of coordinates
- * @return a BoundingBox containing all points
- */
- public static BoundingBox compute2D(Coordinate[] points) {
- Double maxX = null, maxY = null, minX = null, minY = null;
- for (Coordinate point : points) {
- // maximum x ordinate
- if (maxX == null) {
- maxX = point.x;
- }
- else {
- maxX = Math.max(maxX, point.x);
- }
- // maximum y ordinate
- if (maxY == null) {
- maxY = point.y;
- }
- else {
- maxY = Math.max(maxY, point.y);
- }
- // minimum x ordinate
- if (minX == null) {
- minX = point.x;
- }
- else {
- minX = Math.min(minX, point.x);
- }
- // minimum y ordinate
- if (minY == null) {
- minY = point.y;
- }
- else {
- minY = Math.min(minY, point.y);
- }
- }
-
- if (maxX != null && maxY != null && minX != null && minY != null) {
- return new BoundingBox(minX, minY, 0, maxX, maxY, 0);
- }
- else {
- return null;
- }
- }
-
- /**
- * checks if min* and max* are actually in the expected relation. If a pair
- * is real and in the wrong order, it is swapped.
- */
- public void normalize() {
- if (MathHelper.isReal(minX) && MathHelper.isReal(maxX) && maxX < minX) {
- double tmp = minX;
- minX = maxX;
- maxX = tmp;
- }
- if (MathHelper.isReal(minY) && MathHelper.isReal(maxY) && maxY < minY) {
- double tmp = minY;
- minY = maxY;
- maxY = tmp;
- }
- if (MathHelper.isReal(minZ) && MathHelper.isReal(maxZ) && maxZ < minZ) {
- double tmp = minZ;
- minZ = maxZ;
- maxZ = tmp;
- }
- }
-
- /**
- * This method will return a 2D Extent that uses only the X and Y
- * coordinates of this BoundingBox.
- *
- * @return Extent
- */
- public Extent toExtent() {
- Extent result = new Extent();
- result.setMinX(this.minX);
- result.setMinY(this.minY);
- result.setMaxX(this.maxX);
- result.setMaxY(this.maxY);
- return result;
- }
-
- /**
- * @return this Bounding Box' Width (along x axis).
- */
- public double getWidth() {
- return this.maxX - this.minX;
- }
-
- /**
- * @return this Bounding Box' Height (along y axis).
- */
- public double getHeight() {
- return this.maxY - this.minY;
- }
-
- /**
- * @return this Bounding Box' Depth (along z axis).
- */
- public double getDepth() {
- return this.maxZ - this.minZ;
- }
-
- // canonical java methods
- // ...................................................
-
- /**
- * Two BoundingBoxes are defined as being equal when their LLB and URT
- * coordinates are equal.
- *
- * @see Object#equals(java.lang.Object)
- */
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o != null && o instanceof BoundingBox) {
- BoundingBox other = (BoundingBox) o;
- if (this.getMinX() == other.getMinX() && this.getMinY() == other.getMinY()
- && this.getMinZ() == other.getMinZ() && this.getMaxX() == other.getMaxX()
- && this.getMaxY() == other.getMaxY() && this.getMaxZ() == other.getMaxZ()) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * Provides a hashCode so that x.hashCode() == y.hashCode() when x.equals(y)
- * == true
- *
- * @see java.lang.Object#hashCode()
- */
- @Override
- public int hashCode() {
- int hash = BlochHashCode.addFieldToHash(BlochHashCode.HASH_CONSTANT, this.getMinX());
- hash = BlochHashCode.addFieldToHash(hash, this.getMinY());
- hash = BlochHashCode.addFieldToHash(hash, this.getMinZ());
- hash = BlochHashCode.addFieldToHash(hash, this.getMaxX());
- hash = BlochHashCode.addFieldToHash(hash, this.getMaxY());
- return BlochHashCode.addFieldToHash(hash, this.getMaxZ());
- }
-
- /**
- * Standard issue toString method.
- *
- * @see Object#toString()
- */
- @Override
- public String toString() {
- StringBuilder buffer = new StringBuilder();
- buffer.append("BoundingBox[");
- buffer.append("maxX = ").append(maxX);
- buffer.append(" maxY = ").append(maxY);
- buffer.append(" maxZ = ").append(maxZ);
- buffer.append(" minX = ").append(minX);
- buffer.append(" minY = ").append(minY);
- buffer.append(" minZ = ").append(minZ);
- buffer.append("]");
- return buffer.toString();
- }
-
- /**
- * @return true if all limits of this bb have been initialized in a
- * meaningful way (i.e. not NaN, Infinity or NegativeInfinty) and is
- * regular.
- * @see #isRegular()
- */
- public boolean checkIntegrity() {
- return isRealValued() && isRegular();
- }
-
- /**
- * @return true if all limits of this bb have been initialized in a
- * meaningful way (i.e. not NaN, Infinity or NegativeInfinty)
- */
- private boolean isRealValued() {
- double[] values = new double[] { minX, minY, minZ, maxX, maxY, maxZ };
- boolean result = true;
- for (int i = 0; i < values.length && result == true; i++) {
- if (Double.isNaN(values[i]) || Double.isInfinite(values[i])) {
- result = false;
- }
- }
- return result;
- }
-
- // getter / setter methods
- // ..................................................
-
- /**
- * Access method for the minX property.
- *
- * @return the current value of the minX property
- */
- public double getMinX() {
- return minX;
- }
-
- /**
- * Sets the value of the minX property.
- *
- * @param aMinX the new value of the minX property
- */
- public void setMinX(double aMinX) {
- minX = aMinX;
- }
-
- /**
- * Access method for the minY property.
- *
- * @return the current value of the minY property
- */
- public double getMinY() {
- return minY;
- }
-
- /**
- * Sets the value of the minY property.
- *
- * @param aMinY the new value of the minY property
- */
- public void setMinY(double aMinY) {
- minY = aMinY;
- }
-
- /**
- * Access method for the minZ property.
- *
- * @return the current value of the minZ property
- */
- public double getMinZ() {
- return minZ;
- }
-
- /**
- * Sets the value of the minZ property.
- *
- * @param aMinZ the new value of the minZ property
- */
- public void setMinZ(double aMinZ) {
- minZ = aMinZ;
- }
-
- /**
- * Access method for the maxX property.
- *
- * @return the current value of the maxX property
- */
- public double getMaxX() {
- return maxX;
- }
-
- /**
- * Sets the value of the maxX property.
- *
- * @param aMaxX the new value of the maxX property
- */
- public void setMaxX(double aMaxX) {
- maxX = aMaxX;
- }
-
- /**
- * Access method for the maxY property.
- *
- * @return the current value of the maxY property
- */
- public double getMaxY() {
- return maxY;
- }
-
- /**
- * Sets the value of the maxY property.
- *
- * @param aMaxY the new value of the maxY property
- */
- public void setMaxY(double aMaxY) {
- maxY = aMaxY;
- }
-
- /**
- * Access method for the maxZ property.
- *
- * @return the current value of the maxZ property
- */
- public double getMaxZ() {
- return maxZ;
- }
-
- /**
- * Sets the value of the maxZ property.
- *
- * @param aMaxZ the new value of the maxZ property
- */
- public void setMaxZ(double aMaxZ) {
- maxZ = aMaxZ;
- }
-
- /**
- * @see Object#clone()
- */
- @Override
- public Object clone() {
- BoundingBox boundingBox = new BoundingBox(minX, minY, minZ, maxX, maxY, maxZ);
- return boundingBox;
- }
-
- /**
- * Determine the bounding box for a geometry.
- *
- * @param geometry the geometry
- * @return the bounding box or null if it is either an empty
- * geometry or the bounding box cannot be determined
- */
- public static BoundingBox compute(Geometry geometry) {
- Geometry envelope = geometry.getEnvelope();
- if (envelope instanceof Point) {
- Point point = (Point) envelope;
- if (!point.isEmpty()) { // not an empty geometry
- // a bounding box representing the point
- return new BoundingBox(point.getX(), point.getY(), 0, point.getX(), point.getY(),
- 0);
- }
- }
- else if (envelope instanceof LineString) {
- LineString line = (LineString) envelope;
- if (!line.isEmpty()) {
- return compute2D(line.getCoordinates());
- }
- }
- else if (envelope instanceof Polygon) {
- Polygon rect = (Polygon) envelope;
- if (!rect.isEmpty()) {
- return compute2D(rect.getCoordinates());
- }
- }
-
- return null;
- }
-
-}
diff --git a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/Extent.java b/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/Extent.java
deleted file mode 100644
index c2020e0638..0000000000
--- a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/Extent.java
+++ /dev/null
@@ -1,426 +0,0 @@
-/*
- * Copyright (c) 2016 Fraunhofer IGD
- *
- * All rights reserved. This program and the accompanying materials are made
- * available under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution. If not, see .
- *
- * Contributors:
- * Fraunhofer IGD
- */
-
-package de.fhg.igd.geom;
-
-import java.io.Serializable;
-
-import de.fhg.igd.geom.util.BlochHashCode;
-import de.fhg.igd.geom.util.MathHelper;
-
-/**
- * This class represents an Extent in 2D, as defined by the lower left and upper
- * right corners.
- *
- * @author Thorsten Reitz
- */
-public final class Extent implements Serializable, Localizable, Comparable, Cloneable {
-
- /**
- * The class' serial version UID
- */
- private static final long serialVersionUID = 7033392945091905596L;
-
- // member variables ........................................................
-
- /**
- * lower left corner, x value.
- */
- private double minX;
-
- /**
- * lower left corner, y value.
- */
- private double minY;
-
- /**
- * upper right corner, x value.
- */
- private double maxX;
-
- /**
- * upper right corner, y value.
- */
- private double maxY;
-
- /**
- * Constructs a new infinitely negative Extent
- */
- public Extent() {
- this.minX = Double.POSITIVE_INFINITY;
- this.minY = Double.POSITIVE_INFINITY;
- this.maxX = Double.NEGATIVE_INFINITY;
- this.maxY = Double.NEGATIVE_INFINITY;
- }
-
- /**
- * Full constructor with all parameters.
- *
- * @param minX lower left corner, x value.
- * @param minY lower left corner, y value.
- * @param maxX upper right corner, x value.
- * @param maxY upper right corner, y value.
- */
- public Extent(double minX, double minY, double maxX, double maxY) {
- this.minX = minX;
- this.minY = minY;
- this.maxX = maxX;
- this.maxY = maxY;
- }
-
- /**
- * Creates an extent such that it spans both points.
- *
- * @param a the lower left corner
- * @param b the upper right corner
- */
- public Extent(Point2D a, Point2D b) {
- this.minX = a.getX();
- this.minY = a.getY();
- this.maxX = b.getX();
- this.maxY = b.getY();
- normalize();
- }
-
- /**
- * Copy constructor
- *
- * @param e The source extent
- */
- public Extent(Extent e) {
- this(e.minX, e.minY, e.maxX, e.maxY);
- }
-
- // functional methods.......................................................
-
- /**
- * @param point the point that may be touched by this Extent
- * @return true if the specified Point2D touches this Extent.
- */
- private boolean touches(Point2D point) {
- return touches(point.getX(), point.getY());
- }
-
- /**
- * Test if a point, specified by two coordinates, touches this extent.
- *
- * @param x x coordinate of point to test
- * @param y x coordinate of point to test
- * @return true if the specified Point2D touches this Extent.
- */
- private boolean touches(double x, double y) {
- // We keep the "unsafe" FP comparison since we prefer a proper touches()
- // over
- // something which cannot hold basic topological properties. That
- // touches isn't the most stable criteria is another thing.
- if (x == this.minX || x == this.maxX) {
- if (y <= this.maxY && y >= this.minY) {
- return true;
- }
- }
- if (y == this.minY || y == this.maxY) {
- if (x <= this.maxX && x >= this.minX) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * @param ex the other extent
- * @return true if the given Extent has corners on this extent's edges.
- */
- private boolean touchesHelper(Extent ex) {
- int touch_counter = 0;
- Point2D[] corner_points = new Point2D[4];
- corner_points[0] = new Point2D(ex.minX, ex.minY);
- corner_points[1] = new Point2D(ex.minX, ex.maxY);
- corner_points[2] = new Point2D(ex.maxX, ex.minY);
- corner_points[3] = new Point2D(ex.maxX, ex.maxY);
- for (int i = 0; i < 4; i++) {
- if (this.touches(corner_points[i])) {
- touch_counter++;
- }
- }
- return touch_counter > 0 && touch_counter < 3;
- }
-
- /**
- * @param ex the other extent
- * @return true if the given Extent touches (and does NOT intersect) this
- * Extent.
- */
- private boolean touches(Extent ex) {
- return (touchesHelper(ex) || ex.touchesHelper(this)) && !this.intersects(ex)
- && !this.covers(ex) && !ex.covers(this);
- }
-
- /**
- * @param ext the Extent that may have any relation to this Extent
- * @return true if the specified Extent has ANY spacial relation to this
- * Extent.
- */
- public boolean any(Extent ext) {
- return (this.intersects(ext) || this.covers(ext) || ext.covers(this) || ext.equals(this)
- || ext.touches(this));
- }
-
- /**
- * This method will return true if 1..2 corners of the given extent lie
- * within this Extent. If you want to check for all spatial relationships,
- * use intersectsOrCovers(Extent). It will also return true if the extents
- * have a cross-shaped intersections, that is, if no points lie in the other
- * extent but when the lines of the extent actually cut each other.
- *
- * @param ex the extent that may be intersected by this extent
- * @return true if this Extent intersects the given one
- */
- private boolean intersects(Extent ex) {
- if (this.getMinX() >= ex.getMaxX() || this.getMaxX() <= ex.getMinX()) {
- return false;
- }
- else if (this.getMinY() >= ex.getMaxY() || this.getMaxY() <= ex.getMinY()) {
- return false;
- }
- return (!this.contains(ex) && !ex.contains(this) && !this.equals(ex));
- }
-
- /**
- * This checks if this Extent covers the parameter extent.
- *
- * @param ex the Extent that may be covered by this Extent
- * @return true if this Extent covers the given one
- */
- private boolean covers(Extent ex) {
- return (this.getMinX() <= ex.getMinX() && this.getMaxX() >= ex.getMaxX()
- && this.getMinY() <= ex.getMinY() && this.getMaxY() >= ex.getMaxY());
- }
-
- /**
- * This checks if this Extent completely contains the parameter extent.
- *
- * @param ex the Extent that may be contained by this Extent
- * @return true if this Extent contains the given one
- */
- private boolean contains(Extent ex) {
- return (this.getMinX() < ex.getMinX() && this.getMaxX() > ex.getMaxX()
- && this.getMinY() < ex.getMinY() && this.getMaxY() > ex.getMaxY());
- }
-
- /**
- * @return the width (delta of minx and maxX) of this Extent.
- */
- public double getWidth() {
- return Math.abs(this.getMaxX() - this.getMinX());
- }
-
- /**
- * @return the height (delta of minY and maxY) of this Extent.
- */
- public double getHeight() {
- return Math.abs(this.getMaxY() - this.getMinY());
- }
-
- // canonical java methods ..................................................
-
- /**
- * Two extents are defined as being equal when their LL and UR coordinates
- * are equal.
- *
- * @param o the extent to compare to
- * @return true if both extents are equal
- */
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o != null && o instanceof Extent) {
- Extent other = (Extent) o;
- return (this.getMinX() == other.getMinX() && this.getMinY() == other.getMinY()
- && this.getMaxX() == other.getMaxX() && this.getMaxY() == other.getMaxY());
- }
- return false;
- }
-
- /**
- * checks if min* and max* are actually in the expected relation. If a pair
- * is real and in the wrong order, it is swapped.
- */
- private void normalize() {
- if (MathHelper.isReal(minX) && MathHelper.isReal(maxX) && maxX < minX) {
- double tmp = minX;
- minX = maxX;
- maxX = tmp;
- }
- if (MathHelper.isReal(minY) && MathHelper.isReal(maxY) && maxY < minY) {
- double tmp = minY;
- minY = maxY;
- maxY = tmp;
- }
- }
-
- /**
- * Provides a hashCode so that x.hashCode() == y.hashCode() when x.equals(y)
- * == true
- *
- * @see java.lang.Object#hashCode()
- */
- @Override
- public int hashCode() {
- int hash = BlochHashCode.HASH_CONSTANT;
- hash = BlochHashCode.addFieldToHash(hash, this.getMinX());
- hash = BlochHashCode.addFieldToHash(hash, this.getMinY());
- hash = BlochHashCode.addFieldToHash(hash, this.getMaxX());
- return BlochHashCode.addFieldToHash(hash, this.getMaxY());
- }
-
- /**
- * @see Object#toString()
- */
- @Override
- public String toString() {
- StringBuilder buffer = new StringBuilder(80);
- buffer.append("Extent[");
- buffer.append("maxX = ").append(maxX);
- buffer.append(" maxY = ").append(maxY);
- buffer.append(" minX = ").append(minX);
- buffer.append(" minY = ").append(minY);
- buffer.append("]");
- return buffer.toString();
- }
-
- @Override
- public BoundingBox getBoundingBox() {
- return new BoundingBox(this.minX, this.minY, 0d, this.maxX, this.maxY, 0d);
- }
-
- // getter / setter methods .................................................
-
- /**
- * Access method for the minX property.
- *
- * @return the current value of the minX property
- */
- public double getMinX() {
- return minX;
- }
-
- /**
- * Sets the value of the minX property.
- *
- * @param aMinX the new value of the minX property
- */
- public void setMinX(double aMinX) {
- minX = aMinX;
- }
-
- /**
- * Access method for the minY property.
- *
- * @return the current value of the minY property
- */
- public double getMinY() {
- return minY;
- }
-
- /**
- * Sets the value of the minY property.
- *
- * @param aMinY the new value of the minY property
- */
- public void setMinY(double aMinY) {
- minY = aMinY;
- }
-
- /**
- * Access method for the maxX property.
- *
- * @return the current value of the maxX property
- */
- public double getMaxX() {
- return maxX;
- }
-
- /**
- * Sets the value of the maxX property.
- *
- * @param aMaxX the new value of the maxX property
- */
- public void setMaxX(double aMaxX) {
- maxX = aMaxX;
- }
-
- /**
- * Access method for the maxY property.
- *
- * @return the current value of the maxY property
- */
- public double getMaxY() {
- return maxY;
- }
-
- /**
- * Sets the value of the maxY property.
- *
- * @param aMaxY the new value of the maxY property
- */
- public void setMaxY(double aMaxY) {
- maxY = aMaxY;
- }
-
- /**
- * @return the point at the minimum coordinate on this extent boundary
- */
- public Point2D getMin() {
- return new Point2D(minX, minY);
- }
-
- /**
- * @return the point at the maximum coordinate on this extent boundary
- */
- public Point2D getMax() {
- return new Point2D(maxX, maxY);
- }
-
- /**
- * Compares the area of this extent to another one
- *
- * @param e the other extent to compare to
- * @return -1, 0, 1 if the area of this extent is greater than, equal to or
- * less than the other one.
- */
- @Override
- public int compareTo(Extent e) {
- double a1 = this.getWidth() * this.getHeight();
- double a2 = e.getWidth() * e.getHeight();
- if (a1 < a2) {
- return -1;
- }
- else if (a1 > a2) {
- return 1;
- }
- return 0;
- }
-
- /**
- * @see Object#clone()
- */
- @Override
- public Object clone() {
- return new Extent(this.minX, this.minY, this.maxX, this.maxY);
- }
-
-}
diff --git a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/Localizable.java b/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/Localizable.java
deleted file mode 100644
index a9b78e38c4..0000000000
--- a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/Localizable.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 2016 Fraunhofer IGD
- *
- * All rights reserved. This program and the accompanying materials are made
- * available under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution. If not, see .
- *
- * Contributors:
- * Fraunhofer IGD
- */
-
-package de.fhg.igd.geom;
-
-/**
- * This interface is implemented by classes that have a spatial location/extent.
- *
- * @author Thorsten Reitz
- */
-public interface Localizable {
-
- /**
- * @return the bounding box of this object
- */
- public BoundingBox getBoundingBox();
-}
diff --git a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/Point2D.java b/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/Point2D.java
deleted file mode 100644
index 2ea645fa66..0000000000
--- a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/Point2D.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * Copyright (c) 2016 Fraunhofer IGD
- *
- * All rights reserved. This program and the accompanying materials are made
- * available under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation, either version 3 of the License,
- * or (at your option) any later version.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this distribution. If not, see .
- *
- * Contributors:
- * Fraunhofer IGD
- */
-
-package de.fhg.igd.geom;
-
-import java.io.Serializable;
-
-import de.fhg.igd.geom.util.BlochHashCode;
-
-/**
- * This is a base class for the description of a Point in 2D space (using double
- * coordinates).
- *
- * @author Thorsten Reitz
- */
-public class Point2D implements Localizable, Serializable, Comparable