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= -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= -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: - * - *
- * dockertest{
- *     dockerHost="http://192.168.59.103:2375"
- *     dockerImage="stempler/postgis" // "kartoza/postgis"
- *     exposeAllPorts=true
- *     exposedPorts=["5432/tcp"]
- *     command=["/start-postgis.sh"]
- *     isPrivileged=false
- *    
- * }
- * 
- * - *

- *

Preference order

- * 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= -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 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 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 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 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> 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= -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 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, Cloneable { - - /** - * The class' serial version UID - */ - private static final long serialVersionUID = 7085684939727529847L; - - /** - * This Point's x coordinate component. - */ - private double x; - - /** - * This Point's y coordinate component. - */ - private double y; - - /** - * Default constructor - */ - public Point2D() { - super(); - } - - /** - * Constructor - * - * @param x the new Point's x value - * @param y the new Point's y value - */ - public Point2D(double x, double y) { - this.x = x; - this.y = y; - } - - /** - * Copy constructor - * - * @param p3d the Point3D to use as a template. x and y values will be - * copied. z will be discarded. - */ - public Point2D(Point3D p3d) { - this.x = p3d.getX(); - this.y = p3d.getY(); - } - - // functional methods ...................................................... - - /** - * returns this Point's BoundingBox. Min values and max values are - * identical. - * - * @see Localizable#getBoundingBox() - */ - @Override - public BoundingBox getBoundingBox() { - return new BoundingBox(this.x, this.y, 0, this.x, this.y, 0); - } - - // canonical java methods .................................................. - - /** - * This equals method is consistent with the compareTo() method implemented - * in this class, that means, it determines equality by comparing x and y - * values. - * - * @see Object#equals(Object) - */ - @Override - public boolean equals(Object o) { - if (o == null) { - return false; - } - if (this == o) { - return true; - } - - if (o instanceof Point2D) { - Point2D other = (Point2D) o; - return this.x == other.getX() && this.y == other.getY(); - } - 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.HASH_CONSTANT; - hash = BlochHashCode.addFieldToHash(hash, this.x); - return BlochHashCode.addFieldToHash(hash, this.y); - } - - /** - * @return a clone of this object - */ - @Override - public Point2D clone() throws CloneNotSupportedException { - return (Point2D) super.clone(); - } - - /** - * @see Object#toString() - */ - @Override - public String toString() { - String result = "[Point2D: "; - return (result + this.getX() + ", " + this.getY() + "]"); - } - - /** - * @see java.lang.Comparable#compareTo(java.lang.Object) - */ - @Override - public int compareTo(Object o) { - // Initialize Object that this point is to be compared to. - Point2D p2d = (Point2D) o; - - // do actual comparison. first, this and evp are only equal if both - // their coordinates are equal. - if (p2d.getX() == this.getX() && p2d.getY() == this.getY()) { - return 0; - } - if (this.getX() > p2d.getX()) { - return 1; - } - else if (this.getX() == p2d.getX()) { - if (this.getY() > p2d.getY()) { - return 1; - } - return -1; - } - else { - return -1; - } - } - - // getter/setter methods ................................................... - - /** - * @return this point's x value - */ - public double getX() { - return x; - } - - /** - * @return this point's y value - */ - public double getY() { - return y; - } - - /** - * Sets this point's x value - * - * @param x the new value - */ - public void setX(double x) { - this.x = x; - } - - /** - * Sets this point's y value - * - * @param y the new value - */ - public void setY(double y) { - this.y = y; - } - -} diff --git a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/Point3D.java b/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/Point3D.java deleted file mode 100644 index 9f63e9b21a..0000000000 --- a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/Point3D.java +++ /dev/null @@ -1,380 +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.List; - -import de.fhg.igd.geom.util.BlochHashCode; - -/** - * This is a base class for the description of a Point in 3D space (using double - * coordinates). - * - * @author Thorsten Reitz - */ -public class Point3D implements Localizable, Serializable, Cloneable { - - /** - * The class' serial version UID - */ - private static final long serialVersionUID = 7639127877097165234L; - - /** - * This Point's x coordinate component. - */ - private double x; - - /** - * This Point's y coordinate component. - */ - private double y; - - /** - * This Point's z coordinate component. - */ - private double z; - - /** - * Default constructor - */ - public Point3D() { - super(); - } - - /** - * Constructs a new Point with the x and y coordinate of a 2D point - * - * @param p2d the 2D point - */ - public Point3D(Point2D p2d) { - this.x = p2d.getX(); - this.y = p2d.getY(); - this.z = 0; - } - - /** - * Constructs a new Point with the x and y coordinate of a 2D point. - * - * @param p2d the 2D point - * @param z the missing z coordinate - */ - public Point3D(Point2D p2d, double z) { - this.x = p2d.getX(); - this.y = p2d.getY(); - this.z = z; - } - - /** - * Constructs a new Point with the x, y and z coordinates of another 3D - * point - * - * @param p3d the other 3D point - */ - public Point3D(Point3D p3d) { - this.x = p3d.getX(); - this.y = p3d.getY(); - this.z = p3d.getZ(); - } - - /** - * Constructs a Point with the given ordinates - * - * @param x the x ordinate - * @param y the y ordinate - * @param z the z ordinate - */ - public Point3D(double x, double y, double z) { - this.x = x; - this.y = y; - this.z = z; - } - - // functional methods ...................................................... - - /** - * @return A BoundingBox for this Point, with min == max values. - */ - @Override - public BoundingBox getBoundingBox() { - return new BoundingBox(this.x, this.y, this.z, this.x, this.y, this.z); - } - - // canonical java methods .................................................. - - /** - * @see Object#equals(java.lang.Object) - */ - @Override - public boolean equals(Object o) { - if (o == null) { - return false; - } - - if (!(o instanceof Point3D)) { - return false; - } - - Point3D other = (Point3D) o; - if (this.x == other.getX() && this.y == other.getY() && this.z == other.getZ()) { - 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.x); - hash = BlochHashCode.addFieldToHash(hash, this.y); - return BlochHashCode.addFieldToHash(hash, this.z); - } - - /** - * @see Object#toString() - */ - @Override - public String toString() { - String result = "[Point3D: "; - return (result + this.getX() + ", " + this.getY() + ", " + this.getZ() + "]"); - } - - // getter/setter methods ................................................... - - /** - * @return the x ordinate - */ - public double getX() { - return this.x; - } - - /** - * @return the y ordinate - */ - public double getY() { - return this.y; - } - - /** - * @return the z ordinate - */ - public double getZ() { - return this.z; - } - - /** - * @param p3d the other 3D point - */ - public void set(Point3D p3d) { - this.x = p3d.getX(); - this.y = p3d.getY(); - this.z = p3d.getZ(); - } - - /** - * @param x the new x ordinate - * @param y the new y ordinate - * @param z the new z ordinate - */ - public void set(double x, double y, double z) { - this.x = x; - this.y = y; - this.z = z; - } - - /** - * Sets the new x ordinate - * - * @param x the new ordinate - */ - public void setX(double x) { - this.x = x; - } - - /** - * Sets the new y ordinate - * - * @param y the new ordinate - */ - public void setY(double y) { - this.y = y; - } - - /** - * Sets the new z ordinate - * - * @param z the new ordinate - */ - public void setZ(double z) { - this.z = z; - } - - /** - * @see Object#clone() - */ - @Override - public Point3D clone() throws CloneNotSupportedException { - return (Point3D) super.clone(); - } - - /** - * Calculates the normal of a given vertex p2. - * - * @param p1 the point prior to p2 - * @param p2 the point to calculate the normal for - * @param p3 the point next to p2 - * @return the normal of p2 - */ - public static Point3D calcNormal(Point3D p1, Point3D p2, Point3D p3) { - return calcNormal(p1.getX(), p1.getY(), p1.getZ(), p2.getX(), p2.getY(), p2.getZ(), - p3.getX(), p3.getY(), p3.getZ()); - } - - /** - * Calculates the normal of a given vertex p2. - * - * @param p1x the x ordinate of the point prior to p2 - * @param p1y the y ordinate of the point prior to p2 - * @param p1z the z ordinate of the point prior to p2 - * @param p2x the x ordinate of the point to calculate the normal for - * @param p2y the y ordinate of the point to calculate the normal for - * @param p2z the z ordinate of the point to calculate the normal for - * @param p3x the x ordinate of the point next to p2 - * @param p3y the y ordinate of the point next to p2 - * @param p3z the z ordinate of the point next to p2 - * @return the normal of p2 - */ - public static Point3D calcNormal(double p1x, double p1y, double p1z, double p2x, double p2y, - double p2z, double p3x, double p3y, double p3z) { - double ax = p3x - p2x; - double ay = p3y - p2y; - double az = p3z - p2z; - - double bx = p1x - p2x; - double by = p1y - p2y; - double bz = p1z - p2z; - - // calculate vector product - double x = ay * bz - az * by; - double y = az * bx - ax * bz; - double z = ax * by - ay * bx; - - // normalize vector - double length = Math.sqrt(x * x + y * y + z * z); - if (length == 0) { - // a and b are parallel - x = 0.0; - y = 0.0; - z = 1.0; - } - else { - x /= length; - y /= length; - z /= length; - } - - return new Point3D(x, y, z); - } - - /** - * Calculates the average normal of a face by calculating the normals of all - * vertices. There must be at least 3 vertices in this face, otherwise this - * method returns null. - * - * @param vs the list of points representing a face - * - * @return the normal of the face - */ - public static Point3D calcNormal(List vs) { - int vslen = vs.size(); - if (vslen < 3) { - return null; - } - - // also calculate normal correctly if polygon is closed. refs #811 - if (vs.get(0).equals(vs.get(vslen - 1))) { - --vslen; - if (vslen < 3) { - return null; - } - } - - // calculate normal for the first vertex - Point3D normal = calcNormal(vs.get(vslen - 1), vs.get(0), vs.get(1)); - - if (vslen == 3) { - // already done - return normal; - } - - double x = normal.getX(); - double y = normal.getY(); - double z = normal.getZ(); - - // calculate normal for each vertex and add it to the normal - // calculated above to create an average normal - for (int i = 1; i < vslen; ++i) { - // calculate current vertex' normal - Point3D vn; - if (i < vslen - 1) { - vn = calcNormal(vs.get(i - 1), vs.get(i), vs.get(i + 1)); - } - else { - vn = calcNormal(vs.get(i - 1), vs.get(i), vs.get(0)); - } - - // if current normal has another direction than the average - // normal, turn it around - double innerProduct = x * vn.getX() + y * vn.getY() + z * vn.getZ(); - if (innerProduct < 0.0) { - // invert current normal - vn.setX(-vn.getX()); - vn.setY(-vn.getY()); - vn.setZ(-vn.getZ()); - } - - // add both normals - x += vn.getX(); - y += vn.getY(); - z += vn.getZ(); - } - // normalize normal - double length = Math.sqrt(x * x + y * y + z * z); - if (length == 0) { - // a and b are parallel - x = 0.0; - y = 0.0; - z = 1.0; - } - else { - x /= length; - y /= length; - z /= length; - } - - normal.setX(x); - normal.setY(y); - normal.setZ(z); - - return normal; - } - -} diff --git a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/Verifier.java b/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/Verifier.java deleted file mode 100644 index 540c6c7add..0000000000 --- a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/Verifier.java +++ /dev/null @@ -1,38 +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; - -/** - * Verifies if a localizable in a spatial index has a certain relation to - * another localizable. - * - * @author Michel Kraemer - * @param the type of the localizables in the spatial index - * @param the type of the Localizable to compare to - */ -public interface Verifier { - - /** - * Verifies if a localizable in a spatial index has a certain relation to - * another localizable. - * - * @param first the first localizable - * @param second the other localizable - * @return true if the first localizable has a spatial relation to the - * second one - */ - public boolean verify(T first, L second); -} diff --git a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/algorithm/FaceTriangulation.java b/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/algorithm/FaceTriangulation.java deleted file mode 100644 index 914d7f7af4..0000000000 --- a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/algorithm/FaceTriangulation.java +++ /dev/null @@ -1,430 +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.algorithm; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import de.fhg.igd.geom.Point3D; - -/** - * Triangulates FaceSets using a 3D version of the ear cutting algorithm. This - * class is also able to triangulate faces which are not flat. - * - * @author Michel Kraemer - */ -public class FaceTriangulation { - - private static final int CONVEX_NOTCHECKED = 0; - private static final int CONVEX_TRUE = 1; - private static final int CONVEX_FALSE = 2; - - /** - * An array that saves, if a point is convex or not (see constants above) - */ - private int[] _convexCache; - - /** - * Default constructor - */ - public FaceTriangulation() { - super(); - } - - /** - * Checks if the vertex p2 is convex by calculating the determinant of - * p1,p2,p3 which is negative if p2 convex and positive if it is not. - * - * @param p1 the point prior to p2 - * @param p2 the point to check - * @param p3 the point next to p2 - * @return true if p2 is convex, false otherwise - */ - private boolean isConvex(Point3D p1, Point3D p2, Point3D p3) { - // get vectors P2P3 and P2P1 - double a1x = p3.getX() - p2.getX(); - double a1y = p3.getY() - p2.getY(); - double a1z = p3.getZ() - p2.getZ(); - - double a2x = p1.getX() - p2.getX(); - double a2y = p1.getY() - p2.getY(); - double a2z = p1.getZ() - p2.getZ(); - - // calculate determinant of the cross product - double cx = a1y * a2z - a1z * a2y; - double cy = a1z * a2x - a1x * a2z; - double cz = a1x * a2y - a1y * a2x; - double det = cx + cy + cz; - - // if the determinant is negative, then p2 is convex - return (det < 0.0); - } - - /** - * Checks if vertex p2 is an ear - * - * @param p1 the point prior to p2 - * @param p2 the point to check - * @param p3 the point next to p2 - * @param points the array of all vertices - * @return true if p2 is an ear, false otherwise - */ - private boolean isEar(Point3D p1, Point3D p2, Point3D p3, List points) { - for (int i = 0; i < points.size() - 1; ++i) { - Point3D a1, a2, a3; - if (i == 0) { - a1 = points.get(points.size() - 1); - a2 = points.get(0); - a3 = points.get(1); - } - else { - a1 = points.get(i - 1); - a2 = points.get(i); - a3 = points.get(i + 1); - } - - // don't check triangle points - if (a2 == p1 || a2 == p2 || a2 == p3) { - continue; - } - - if (_convexCache[i] == CONVEX_NOTCHECKED) { - _convexCache[i] = (isConvex(a1, a2, a3) ? CONVEX_TRUE : CONVEX_FALSE); - } - if (_convexCache[i] == CONVEX_FALSE) { - // if this point is concave and - // the triangle p1,p2,p3 contains it - // the p1,p2,p3 is no ear! - boolean c1 = isConvex(p1, p2, a2); - boolean c2 = isConvex(p2, p3, a2); - boolean c3 = isConvex(p3, p1, a2); - if ((c1 == c2) && (c2 == c3)) { - return false; - } - } - } - return true; - } - - /** - * Cuts an ear from a face. The ear will be removed from the given list of - * points and the indices of the real vertices will also be truncated. - * - * @param points all vertices of the face - * @param indices an array containing indices for the real vertices - * @return the indices of the ear - */ - private int[] earCutting(List points, int[] indices) { - if (points.size() == 3) { - points.clear(); - return indices; - } - - // check all points (we don't need to check the last one, because - // one triangle always remains) - for (int i = 0; i < points.size() - 1; ++i) { - Point3D v1, v2, v3; - int i1, i2, i3; - if (i == 0) { - v1 = points.get(points.size() - 1); - i1 = indices[points.size() - 1]; - v2 = points.get(0); - i2 = indices[0]; - v3 = points.get(1); - i3 = indices[1]; - } - else { - v1 = points.get(i - 1); - i1 = indices[i - 1]; - v2 = points.get(i); - i2 = indices[i]; - v3 = points.get(i + 1); - i3 = indices[i + 1]; - } - - // is the vertex convex? - if (_convexCache[i] == CONVEX_NOTCHECKED) { - if (isConvex(v1, v2, v3)) { - _convexCache[i] = CONVEX_TRUE; - } - else { - _convexCache[i] = CONVEX_FALSE; - } - } - - // if the vertex is concave it cannot be an ear - if (_convexCache[i] == CONVEX_FALSE) { - continue; - } - - boolean ear = isEar(v1, v2, v3, points); - - if (ear) { - // cut ear: - // create new Face - int[] result = new int[] { i1, i2, i3 }; - - // remove ear vertex from old Face - if (i == 0) { - System.arraycopy(indices, 1, indices, 0, indices.length - 1); - } - else { - System.arraycopy(indices, 0, indices, 0, i); - System.arraycopy(indices, i + 1, indices, i, indices.length - i - 1); - } - - points.remove(i); - - return result; - } - } - - // should never happen, because a polygon always - // contains at least one ear - return null; - } - - /** - * This method calculates the signed 2D area of a Polygon. If the result is - * < 0.0 the Polygon is oriented clockwise, otherwise it's counterclockwise. - * - * @param points the Polygon, whereas the first point MUST NOT equal the - * last one - * @return true if the Polygon is clockwise, false otherwise - */ - private static boolean isClockwise(List points) { - double d = 0.0; - int n = points.size(); - for (int i = 0; i < n; ++i) { - d += points.get(i).getX() - * (points.get((i + 1) % n).getY() - points.get((i - 1 + n) % n).getY()); - } - - return (d < 0.0); - } - - /** - * Reverses a list of points - * - * @param a the list - * @param indices the index array that connects the points with the vertices - * in the corresponding face - */ - private static void reversePoints(List a, int[] indices) { - for (int i = 0; i < a.size() / 2; ++i) { - int j = a.size() - 1 - i; - Point3D p1 = a.get(i); - Point3D p2 = a.get(j); - a.set(i, p2); - a.set(j, p1); - int i1 = indices[i]; - int i2 = indices[j]; - indices[i] = i2; - indices[j] = i1; - } - } - - /** - * Normalizes a vector - * - * @param normal the vector to normalize - */ - private static void normalize(Point3D normal) { - double x = normal.getX(); - double y = normal.getY(); - double z = normal.getZ(); - - double length = Math.sqrt(x * x + y * y + z * z); - normal.setX(x / length); - normal.setY(y / length); - normal.setZ(z / length); - } - - /** - * Projects a Face onto a 2D plane. Also compacts it (removes consecutive - * duplicate points). - * - * @param f the Face - * @param points a valid list that will receive the new projected points - * @return the index array that connects the new projected points with the - * vertex array in the given Face - * @throws IllegalArgumentException if the list of points is null - */ - private static int[] projectAndCompactFace(List f, List points) { - // calculate average normal of the face - Point3D k = Point3D.calcNormal(f); - return projectAndCompactFace(f, points, k); - } - - /** - * Projects a Face onto a 2D plane using a given normal. Also compacts the - * face (removes consecutive duplicate points). - * - * @param f the Face - * @param k the normal - * @param points a valid list that will receive the new projected points - * @return the index array that connects the new projected points with the - * vertex array in the given Face - * @throws IllegalArgumentException if the list of points is null - */ - private static int[] projectAndCompactFace(List f, List points, Point3D k) { - if (points == null) { - throw new IllegalArgumentException("points must not be null"); - } - - // handle degenerated faces - if (f.size() == 0) { - return new int[0]; - } - else if (f.size() == 1) { - points.add(f.get(0)); - return new int[] { 0 }; - } - else if (f.size() == 2) { - points.add(f.get(0)); - points.add(f.get(1)); - return new int[] { 0, 1 }; - } - - // calculate projected coordinate system - Point3D i = new Point3D(); - Point3D j = new Point3D(); - if ((Math.abs(k.getX()) > 0.1) || (Math.abs(k.getY()) > 0.1)) { - i.setX(-k.getY()); - i.setY(k.getX()); - i.setZ(k.getZ()); - } - else { - i.setX(k.getZ()); - i.setZ(-k.getX()); - i.setY(k.getY()); - } - normalize(i); - - j.setX(i.getY() * k.getZ() - i.getZ() * k.getY()); - j.setY(i.getZ() * k.getX() - i.getX() * k.getZ()); - j.setZ(i.getX() * k.getY() - i.getY() * k.getX()); - normalize(j); - - // project face onto a plane: - // transform points and create index array - int len = f.size(); - if (f.get(0).equals(f.get(len - 1))) { - // create a triangle from a face with 4 points, if the - // first one and the last one are equal - --len; - } - - List indexList = new ArrayList(); - for (int v = 0; v < len; ++v) { - if (f.get((len + v - 1) % len).equals(f.get(v))) { - // skip consecutive duplicate points - continue; - } - - double vx = f.get(v).getX(); - double vy = f.get(v).getY(); - double vz = f.get(v).getZ(); - double x = vx * i.getX() + vy * i.getY() + vz * i.getZ(); - double y = vx * j.getX() + vy * j.getY() + vz * j.getZ(); - double z = vx * k.getX() + vy * k.getY() + vz * k.getZ(); - - points.add(new Point3D(x, y, z)); - - // add the original index, so we can refer to it later - indexList.add(v); - } - - // copy indexes - int[] indices = new int[indexList.size()]; - int p = 0; - for (Integer index : indexList) { - indices[p++] = index; - } - - return indices; - } - - /** - * Triangulates a face and returns a list of triangles - * - * @param f the face to triangulate - * @return a list of triangulated faces containing the original vertices - */ - public List> triangulateFace(List f) { - List> result = new ArrayList<>(); - - // don't triangulate triangles - if (f.size() == 3) { - result.add(f); - return result; - } - - // prepare cache for convex vertices - if (_convexCache == null || _convexCache.length < f.size()) { - _convexCache = new int[f.size()]; - } - else { - Arrays.fill(_convexCache, CONVEX_NOTCHECKED); - } - - // project face onto a plane - List points = new ArrayList(); - int[] indices = projectAndCompactFace(f, points); - - // the projected face must be clockwise in order to - // let the ear cutting algorithm work correctly - boolean reversed = false; - if (!isClockwise(points)) { - reversed = true; - reversePoints(points, indices); - } - - // cut ears and create new faces - while (points.size() > 0) { - // cut an ear - int[] newindices = earCutting(points, indices); - if (newindices == null) { - // should never happen, because a polygon always - // contains at least one ear - break; - } - - // create new face - List newface = new ArrayList<>(); - if (!reversed) { - newface.add(f.get(newindices[0])); - newface.add(f.get(newindices[1])); - newface.add(f.get(newindices[2])); - } - else { - // preserve vertex order. The list of points - // has been reversed before, so reverse it again - newface.add(f.get(newindices[2])); - newface.add(f.get(newindices[1])); - newface.add(f.get(newindices[0])); - } - result.add(newface); - - // clear convex cache - Arrays.fill(_convexCache, 0, points.size(), CONVEX_NOTCHECKED); - } - - return result; - } - -} diff --git a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/algorithm/sweepline/Point2DEvent.java b/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/algorithm/sweepline/Point2DEvent.java deleted file mode 100644 index 12fed6b7ee..0000000000 --- a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/algorithm/sweepline/Point2DEvent.java +++ /dev/null @@ -1,119 +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.algorithm.sweepline; - -import de.fhg.igd.geom.Point2D; -import de.fhg.igd.geom.shape.Line2D; -import de.fhg.igd.geom.shape.Polygon; -import de.fhg.igd.geom.util.BlochHashCode; - -/** - * Wraps around a Point2D and marks it as left-end point or right-end point. - * - * @author Michel Kraemer - */ -public class Point2DEvent extends Point2D { - - /** - * The serial version UID - */ - private static final long serialVersionUID = -3964554499606572201L; - - /** - * The _line segment p is assigned to - */ - private final Line2D _line; - - /** - * True if it is a left-end point, false if it is a right-end point - */ - private final boolean _isLeft; - - /** - * The Polygon this Point2DEvent belongs to - */ - private final Polygon _poly; - - /** - * Constructs a new EndPoint - * - * @param p the point to wrap around - * @param line the _line segment p is assigned to - * @param isLeft true if it is a left-end point, false if it is a right-end - * point - * @param poly the Polygon this Point2DEvent belongs to - */ - public Point2DEvent(Point2D p, Line2D line, boolean isLeft, Polygon poly) { - super(p.getX(), p.getY()); - _line = line; - _isLeft = isLeft; - _poly = poly; - } - - /** - * @return true if it is a left-end point, false if it is a right-end point - */ - public boolean isLeft() { - return _isLeft; - } - - /** - * @return the _line segment p is assigned to - */ - public Line2D getLineSegment() { - return _line; - } - - /** - * @return the Polygon this Point2DEvent belongs to - */ - public Polygon getPolygon() { - return _poly; - } - - /** - * @see Object#equals(java.lang.Object) - */ - @Override - public boolean equals(Object o) { - if (o == null || !(o instanceof Point2DEvent)) { - return false; - } - if (!super.equals(o)) { - return false; - } - - Point2DEvent p = (Point2DEvent) o; - if (p._isLeft != _isLeft) { - return false; - } - if (!p._line.equals(_line)) { - return false; - } - - return true; - } - - /** - * @see Object#hashCode() - */ - @Override - public int hashCode() { - int hash = super.hashCode(); - hash = BlochHashCode.addFieldToHash(hash, _isLeft); - return BlochHashCode.addFieldToHash(hash, _line); - } -} diff --git a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/algorithm/sweepline/Point2DEventQueue.java b/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/algorithm/sweepline/Point2DEventQueue.java deleted file mode 100644 index e12654348d..0000000000 --- a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/algorithm/sweepline/Point2DEventQueue.java +++ /dev/null @@ -1,126 +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.algorithm.sweepline; - -import java.util.Collections; -import java.util.Comparator; - -import de.fhg.igd.geom.shape.Line2D; -import de.fhg.igd.geom.shape.Polygon; - -/** - * Represents a queue of events during a sweep-line search - * - * @author Michel Kraemer - */ -public class Point2DEventQueue { - - /** - * A sorted list that contains all events (in reverse order, so they can be - * removed faster) - */ - private final SortedCollection _list; - - /** - * A Point2D comparator used to sort points in the list - */ - private final Comparator _p2deventc; - - /** - * A Point2D comparator used to compare points - */ - private final SweepPoint2DXYComparator _p2dxyc; - - /** - * Constructs a new EventQueue - */ - public Point2DEventQueue() { - _p2deventc = Collections.reverseOrder(new SweepPoint2DEventComparator()); - _p2dxyc = new SweepPoint2DXYComparator(); - _list = new SortedCollection(_p2deventc); - } - - /** - * Removes an event from the head of this queue - * - * @return the event or null if the queue is empty - */ - public Point2DEvent remove() { - if (_list.isEmpty()) { - return null; - } - return _list.remove(_list.size() - 1); - } - - /** - * @return the number of elements in the queue - */ - public int size() { - return _list.size(); - } - - /** - * @return true if the queue is empty - */ - public boolean isEmpty() { - return _list.isEmpty(); - } - - /** - * Adds a 2D line with exactly two Points to the queue. - * - * @param p the line to add - * @param poly the Polygon the given line belongs to - * @return true if the line has been added, false otherwise - */ - public boolean add(Line2D p, Polygon poly) { - if (p.getPoints().length != 2) { - throw new IllegalArgumentException( - "The Line2D must be a simple " + "line with two Points"); - } - if (p.getPoints()[0].equals(p.getPoints()[1])) { - throw new IllegalArgumentException("Degenerated line"); - } - if (p.getPoints()[0].getX() == p.getPoints()[1].getX()) { - throw new IllegalArgumentException("Line must not be vertical"); - } - - // sort points and create events - boolean l = _p2dxyc.compare(p.getPoints()[0], p.getPoints()[1]) < 0; - Point2DEvent p1 = new Point2DEvent(p.getPoints()[0], p, l, poly); - Point2DEvent p2 = new Point2DEvent(p.getPoints()[1], p, !l, poly); - - // add events to set - if (!_list.add(p1)) { - return false; - } - if (!_list.add(p2)) { - // remove p1 to leave the list in - // a consistent state - _list.remove(p1); - return false; - } - - return true; - } - - /** - * Clears the queue - */ - public void clear() { - _list.clear(); - } -} diff --git a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/algorithm/sweepline/SortedCollection.java b/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/algorithm/sweepline/SortedCollection.java deleted file mode 100644 index 269db23f5d..0000000000 --- a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/algorithm/sweepline/SortedCollection.java +++ /dev/null @@ -1,253 +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.algorithm.sweepline; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Comparator; -import java.util.Iterator; -import java.util.List; - -/** - * A list that is always sorted. - * - * @author Michel Kraemer - * @param the type of the list elements - */ -public class SortedCollection implements Collection { - - /** - * The actual list - */ - private List _list = new ArrayList(); - - /** - * The comparator used to sort the items in the collection - */ - private Comparator _comp; - - /** - * Default constructor - */ - public SortedCollection() { - // nothing to do here - } - - /** - * Copy constructor - * - * @param c the collection to copy - */ - public SortedCollection(Collection c) { - addAll(c); - } - - /** - * Default constructor - * - * @param comp the comparator used to sort the elements in this list - */ - public SortedCollection(Comparator comp) { - _comp = comp; - } - - /** - * Copy constructor - * - * @param c the collection to copy - * @param comp the comparator used to sort the elements in this list - */ - public SortedCollection(Collection c, Comparator comp) { - this(comp); - addAll(c); - } - - /** - * @see Collection#add(Object) - */ - @Override - public boolean add(E e) { - int index = Collections.binarySearch(_list, e, _comp); - if (index < 0) { - index = -(index + 1); - } - _list.add(index, e); - return true; - } - - /** - * @see Collection#addAll(Collection) - */ - @Override - public boolean addAll(Collection c) { - for (E e : c) { - if (!add(e)) { - throw new IllegalStateException(); - } - } - return !c.isEmpty(); - } - - /** - * @see Collection#contains(Object) - */ - @SuppressWarnings("unchecked") - @Override - public boolean contains(Object o) { - int index = Collections.binarySearch(_list, (E) o, _comp); - return (index >= 0); - } - - /** - * @see Collection#containsAll(Collection) - */ - @Override - public boolean containsAll(Collection c) { - for (Object o : c) { - if (!contains(o)) { - return false; - } - } - return true; - } - - /** - * Gets the element at the given position - * - * @param index the position - * @return the element - * @throws IndexOutOfBoundsException if index is out of bounds - */ - public E get(int index) { - return _list.get(index); - } - - /** - * Searches for the index of a given element - * - * @param e the element - * @return the index or -1 if the list does not contain this element - */ - public int indexOf(E e) { - int index = Collections.binarySearch(_list, e, _comp); - if (index < 0) { - return -1; - } - return index; - } - - /** - * @see Collection#iterator() - */ - @Override - public Iterator iterator() { - return Collections.unmodifiableList(_list).iterator(); - } - - /** - * @see Collection#remove(Object) - */ - @SuppressWarnings("unchecked") - @Override - public boolean remove(Object o) { - int index = Collections.binarySearch(_list, (E) o, _comp); - if (index < 0) { - return false; - } - _list.remove(index); - return true; - } - - /** - * Removes the element at the given position from the list - * - * @param index the position - * @return the removed element - * @throws IndexOutOfBoundsException if index is out of bounds - */ - public E remove(int index) { - return _list.remove(index); - } - - /** - * @see Collection#removeAll(Collection) - */ - @Override - public boolean removeAll(Collection c) { - boolean result = false; - for (Object o : c) { - result |= remove(o); - } - return result; - } - - /** - * @see Collection#retainAll(Collection) - */ - @Override - public boolean retainAll(Collection c) { - return _list.retainAll(c); - } - - /** - * @see Collection#size() - */ - @Override - public int size() { - return _list.size(); - } - - /** - * @see Collection#isEmpty() - */ - @Override - public boolean isEmpty() { - return _list.isEmpty(); - } - - /** - * @see Collection#clear() - */ - @Override - public void clear() { - _list.clear(); - } - - /** - * @see Collection#toArray() - */ - @Override - public Object[] toArray() { - return _list.toArray(); - } - - /** - * @see Collection#toArray(Object[]) - */ - @Override - public T[] toArray(T[] a) { - return _list.toArray(a); - } - - /** - * Resorts this list (for example, if the comparator changed its internal - * state) - */ - public void resort() { - Collections.sort(_list, _comp); - } -} diff --git a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/algorithm/sweepline/SweepLine.java b/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/algorithm/sweepline/SweepLine.java deleted file mode 100644 index 313cad2ab5..0000000000 --- a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/algorithm/sweepline/SweepLine.java +++ /dev/null @@ -1,151 +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.algorithm.sweepline; - -import de.fhg.igd.geom.shape.Line2D; - -/** - * Contains a set of sweep-line segments. - * - * @author Michel Kraemer - */ -public class SweepLine { - - /** - * A SweepPoint2DXYComparator which can compare Point2Ds - */ - private static SweepPoint2DXYComparator _p2dxyc = new SweepPoint2DXYComparator(); - - /** - * The sorted list that contains all sweep-line segments - */ - private final SortedCollection _list; - - /** - * A comparator which compares sweep line segments - */ - private final SweepLineComparator _slc; - - /** - * The current sweep line position - */ - private double _position = 0.0; - - /** - * Default constructor - */ - public SweepLine() { - _slc = new SweepLineComparator(0.0); - _list = new SortedCollection(_slc); - } - - /** - * Converts a Point2DEvent to a SweepLineSegment - * - * @param event the event to convert - * @return the sweep line segment - */ - private SweepLineSegment makeSegment(Point2DEvent event) { - Line2D line = event.getLineSegment(); - SweepLineSegment s = new SweepLineSegment(line, event.getPolygon()); - - if (_p2dxyc.compare(line.getPoints()[0], line.getPoints()[1]) < 0) { - s.setLeftPoint(line.getPoints()[0]); - s.setRightPoint(line.getPoints()[1]); - } - else { - s.setLeftPoint(line.getPoints()[1]); - s.setRightPoint(line.getPoints()[0]); - } - - return s; - } - - /** - * Adds a Point2DEvent to the sweep-line - * - * @param event the Point2DEvent - * @return a sweep-line segment created to hold the Point2DEvent - */ - public SweepLineSegment add(Point2DEvent event) { - SweepLineSegment s = makeSegment(event); - - _list.add(s); - - // set new sweep line position and resort the list - double x = s.getLeftPoint().getX(); - if (x != _position) { - _position = x; - _slc.setPosition(x); - _list.resort(); - } - - return s; - } - - /** - * Gets the SweepLineSegment that represents the given Point2DEvent - * - * @param event the Point2DEvent - * @return the SweepLineSegment - */ - public SweepLineSegment get(Point2DEvent event) { - SweepLineSegment s = makeSegment(event); - int i = _list.indexOf(s); - if (i == -1) { - return null; - } - return _list.get(i); - } - - /** - * Removes a SweepLineSegment from the SweepLine - * - * @param s the segment to remove - * @return true if the segment was removed, false otherwise - */ - public boolean remove(SweepLineSegment s) { - return _list.remove(s); - } - - /** - * Gets the segment which is below the given one. - * - * @param s the given segment - * @return the segment below s or null if there is no such segment - */ - public SweepLineSegment getBelowSegment(SweepLineSegment s) { - int i = _list.indexOf(s); - if (i == -1 || i >= _list.size() - 1) { - return null; - } - return _list.get(i + 1); - } - - /** - * Gets the segment which is above the given one. - * - * @param s the given segment - * @return the segment above s or null if there is no such segment - */ - public SweepLineSegment getAboveSegment(SweepLineSegment s) { - int i = _list.indexOf(s); - if (i < 1) { - return null; - } - return _list.get(i - 1); - } -} diff --git a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/algorithm/sweepline/SweepLineComparator.java b/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/algorithm/sweepline/SweepLineComparator.java deleted file mode 100644 index 13b9548417..0000000000 --- a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/algorithm/sweepline/SweepLineComparator.java +++ /dev/null @@ -1,85 +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.algorithm.sweepline; - -import java.util.Comparator; - -/** - * Compares SweepLine segments to sort them by their increasing y ordinate. - * - * @author Michel Kraemer - */ -public class SweepLineComparator implements Comparator { - - /** - * The sweep line's current position - */ - private double _x; - - /** - * This comparator is used internally to compare xy ordinates - */ - private SweepPoint2DXYComparator _xycomparator = new SweepPoint2DXYComparator(); - - /** - * Constructs a new comparator - * - * @param x the sweep line's current position - */ - public SweepLineComparator(double x) { - _x = x; - } - - /** - * Sets the sweep line's position - * - * @param x the position - */ - public void setPosition(double x) { - _x = x; - } - - /** - * Compares two SweepLine segments. - * - * @param s1 the first segment - * @param s2 the second segment - * @return -1 if the first segment is "above" the second one, 1 if it is - * below and 0 if both segments are equal. - */ - @Override - public int compare(SweepLineSegment s1, SweepLineSegment s2) { - double y1 = s1.getY(_x); - double y2 = s2.getY(_x); - if (y1 < y2) { - return -1; - } - else if (y1 > y2) { - return 1; - } - - int result = _xycomparator.compare(s1.getLeftPoint(), s2.getLeftPoint()); - if (result != 0) { - return result; - } - result = _xycomparator.compare(s1.getRightPoint(), s2.getRightPoint()); - if (result != 0) { - return result; - } - - return 0; - } -} diff --git a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/algorithm/sweepline/SweepLineSegment.java b/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/algorithm/sweepline/SweepLineSegment.java deleted file mode 100644 index 7c831af2df..0000000000 --- a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/algorithm/sweepline/SweepLineSegment.java +++ /dev/null @@ -1,119 +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.algorithm.sweepline; - -import de.fhg.igd.geom.Point2D; -import de.fhg.igd.geom.shape.Line2D; -import de.fhg.igd.geom.shape.Polygon; - -/** - * Represents a line segment in a sweep-line - * - * @author Michel Kraemer - */ -public class SweepLineSegment { - - /** - * The line segement represented by this sweep-line segment - */ - private final Line2D _line; - - /** - * The left point of line - */ - private Point2D _left; - - /** - * The right point of line - */ - private Point2D _right; - - /** - * The Polygon this segment belongs to - */ - private final Polygon _poly; - - /** - * Default constructor - * - * @param line the line segement represented by this sweep-line segment - * @param poly the Polygon this segment belongs to - */ - public SweepLineSegment(Line2D line, Polygon poly) { - _line = line; - _poly = poly; - } - - /** - * Sets the left point of line - * - * @param p the left point of line - */ - public void setLeftPoint(Point2D p) { - _left = p; - } - - /** - * Sets the right point of line - * - * @param p the right point of line - */ - public void setRightPoint(Point2D p) { - _right = p; - } - - /** - * @return the left point of line - */ - public Point2D getLeftPoint() { - return _left; - } - - /** - * @return the right point of line - */ - public Point2D getRightPoint() { - return _right; - } - - /** - * @return the line segement represented by this sweep-line segment - */ - public Line2D getLine() { - return _line; - } - - /** - * @return the Polygon this segment belongs to - */ - public Polygon getPolygon() { - return _poly; - } - - /** - * Calculates the y value on the line segment for a given x value - * - * @param x the x value - * @return the y value - */ - public double getY(double x) { - double x2 = x - _left.getX(); - double dx = _right.getX() - _left.getX(); - double dy = _right.getY() - _left.getY(); - double m = dy / dx; - return _left.getY() + m * x2; - } -} diff --git a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/algorithm/sweepline/SweepPoint2DEventComparator.java b/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/algorithm/sweepline/SweepPoint2DEventComparator.java deleted file mode 100644 index eb94b4d8d3..0000000000 --- a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/algorithm/sweepline/SweepPoint2DEventComparator.java +++ /dev/null @@ -1,55 +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.algorithm.sweepline; - -import java.util.Comparator; - -/** - * Compares Point2D objects to sort them by their increasing x ordinate and - * increasing y ordinate. - * - * @author Michel Kraemer - */ -public class SweepPoint2DEventComparator implements Comparator { - - /** - * This comparator is used internally to compare xy ordinates - */ - private SweepPoint2DXYComparator _xycomparator = new SweepPoint2DXYComparator(); - - /** - * Compares two Point2D objects. - * - * @param p1 the first point - * @param p2 the second point - * @return -1 if the x ordinate of p1 is lower than the one of p2, +1 if - * it's greater. If both ordinates are equal the method will compare - * the y ordinates. - */ - @Override - public int compare(Point2DEvent p1, Point2DEvent p2) { - if (p1.getX() == p2.getX() && p1.getY() == p2.getY()) { - if (p1.isLeft() && !p2.isLeft()) { - return -1; - } - else if (!p1.isLeft() && p2.isLeft()) { - return 1; - } - return 0; - } - return _xycomparator.compare(p1, p2); - } -} diff --git a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/algorithm/sweepline/SweepPoint2DXYComparator.java b/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/algorithm/sweepline/SweepPoint2DXYComparator.java deleted file mode 100644 index edba44ec47..0000000000 --- a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/algorithm/sweepline/SweepPoint2DXYComparator.java +++ /dev/null @@ -1,55 +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.algorithm.sweepline; - -import java.util.Comparator; - -import de.fhg.igd.geom.Point2D; - -/** - * Compares Point2D objects to sort them by their increasing x ordinate and - * increasing y ordinate. - * - * @author Michel Kraemer - */ -public class SweepPoint2DXYComparator implements Comparator { - - /** - * Compares two Point2D objects. - * - * @param p1 the first point - * @param p2 the second point - * @return -1 if the x ordinate of p1 is lower than the one of p2, +1 if - * it's greater. If both ordinates are equal the method will compare - * the y ordinates. - */ - @Override - public int compare(Point2D p1, Point2D p2) { - if (p1.getX() < p2.getX()) { - return -1; - } - else if (p1.getX() > p2.getX()) { - return 1; - } - if (p1.getY() < p2.getY()) { - return -1; - } - else if (p1.getY() > p2.getY()) { - return 1; - } - return 0; - } -} diff --git a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/indices/NNComparator.java b/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/indices/NNComparator.java deleted file mode 100644 index 0929d9e7de..0000000000 --- a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/indices/NNComparator.java +++ /dev/null @@ -1,51 +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.indices; - -import java.util.Comparator; - -import de.fhg.igd.geom.Localizable; - -/** - * This is a comparator for determining the distance that lies between two - * Localizables. It is used to determine which Localizable is the nearest - * neighbor to a given Localizable.
- * Implementations can be quite different, like comparing center point distance - * or actual closest point pair distance. - * - * @author Thorsten Reitz - */ -public interface NNComparator extends Comparator { - - /** - * This method will return the distance between two Localizables. - * - * @param first the first localizable - * @param second the second localizable - * @return the distance - */ - public double getDistance(Localizable first, Localizable second); - - /** - * @return Returns the Localizable to which the distance will be calculated. - */ - public Localizable getLoc(); - - /** - * @param loc The Localizable to set. - */ - public void setLoc(Localizable loc); -} diff --git a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/indices/Node.java b/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/indices/Node.java deleted file mode 100644 index 48071531eb..0000000000 --- a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/indices/Node.java +++ /dev/null @@ -1,707 +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.indices; - -import java.util.ArrayList; -import java.util.List; - -import de.fhg.igd.geom.BoundingBox; -import de.fhg.igd.geom.Localizable; - -/** - * Represents a node (or leaf) in a R-Tree. The splitting techniques used in - * this Node implements the Quadratic Algorithm described in Guttman - R-Trees: - * A dynamic index structure for spatial searching - * - * @author Michel Kraemer - * @param the type of the objects stored in the RTree - */ -public class Node implements Localizable { - - /** - * The bounding box of this node - */ - private BoundingBox _boundingBox = new BoundingBox(); - - /** - * This node's children - */ - private List _children; - - /** - * True, if this node is a leaf. All nodes are leafs until child nodes are - * added - */ - private boolean _isLeaf = true; - - /** - * The node's parent or null if the node is the root - */ - private Node _parent; - - /** - * The page size (number of children/locs that can be attached to this node - * before it gets splitted). Must be even and greater than or equal to 4. - */ - private final int _pageSize; - - /** - * The parent R-Tree - */ - private final RTree _tree; - - /** - * Default constructor - * - * @param pageSize the page size (number of children/locs that can be - * attached to this node before it gets splitted). Must be even - * and greater than or equal to 4. - * @param parent the node's parent or null if the node is the root - * @param tree the parent R-Tree - */ - public Node(int pageSize, Node parent, RTree tree) { - if (pageSize < 4) { - throw new IllegalArgumentException("pageSize must be " + "greater than or equal to 4"); - } - - if ((pageSize & 1) == 1) { - throw new IllegalArgumentException("pageSize must be even"); - } - - _pageSize = pageSize; - _parent = parent; - _tree = tree; - _children = new ArrayList(pageSize); - } - - /** - * Calculates the minimum size of a Node - * - * @return the number of children a Node must have at least - */ - private int calculateMinSize() { - return _pageSize / 2; - } - - /** - * In the RTree we can't use @link{BoundingBox#getVolume} as we want to - * index n-dimensional stuff. We make sure irregular stuff won't get in - * anyway, so be relaxed about BBs. - * - * @param bb the boundingBox - * @return the ersatz volume - */ - protected double calcPseudoVolume(BoundingBox bb) { - double nonDimensionSize = _tree.getNonDimensionSize(); - double d = bb.getWidth(); - double v = d > 0 ? d : nonDimensionSize; - d = bb.getHeight(); - v *= d > 0 ? d : nonDimensionSize; - d = bb.getDepth(); - v *= d > 0 ? d : nonDimensionSize; - return v; - } - - /** - * In the RTree we can't use @link{BoundingBox#getVolume} as we want to - * index n-dimensional stuff. We make sure irregular stuff won't get in - * anyway, so be relaxed about BBs. - * - * @param bb the boundingBox - * @return the ersatz volume - */ - protected double calcPseudoVolume(Localizable bb) { - return calcPseudoVolume(bb.getBoundingBox()); - } - - /** - * Relates one bounding box to another - * - * @param b1 the first bounding box - * @param b2 the second bounding box - * @param useExtent true if the extents of the bounding boxes should be - * compared and not the bounding boxes themselves - * @return true if the first bounding box has any relation to the other one, - * false otherwise - */ - private static boolean relate(BoundingBox b1, BoundingBox b2, boolean useExtent) { - if (useExtent) { - return b1.toExtent().any(b2.toExtent()); - } - return b1.any(b2); - } - - /** - * Searches this Node and all children and returns the leaf that contains - * the given Localizable - * - * @param loc the Localizable to find - * @return the leaf that contains loc or null if loc is not contained by any - * leaf - */ - @SuppressWarnings("unchecked") - private Node findLeaf(Localizable loc) { - if (!isLeaf()) { - // check all child nodes and invoke findLeaf() on them - // if they intersect with loc - for (Localizable l : _children) { - assert l instanceof Node; - if (relate(l.getBoundingBox(), loc.getBoundingBox(), false)) { - Node n = ((Node) l).findLeaf(loc); - if (n != null) { - return n; - } - } - } - } - else { - // check all children, if one of them matches - // loc return this leaf - for (Localizable l : _children) { - if (l == loc) { - return this; - } - } - } - - return null; - } - - /** - * Select a leaf node in which to place a new index entry. - * - * @param loc the localizable to find a leaf for - * @return the leaf node - */ - @SuppressWarnings({ "unchecked", "null" }) - private Node chooseLeaf(final Localizable loc) { - // if this is a leaf, return this - if (this.isLeaf()) { - return this; - } - - // we're a node, so there must be children - assert _children != null; - - // Guttman: find the smallest enlargement and find the - // bounding box with the smallest volume - - double max = Double.POSITIVE_INFINITY; - Node child = null; - - for (Localizable l : _children) { - // l must be a Node, because this is no leaf (see above) - assert l instanceof Node; - - Node n = (Node) l; - - // calculate enlargement - BoundingBox larger = new BoundingBox(n.getBoundingBox()); - larger.add(loc.getBoundingBox()); - double nvolume = calcPseudoVolume(n); - double enlargement = calcPseudoVolume(larger) - nvolume; - - if (enlargement < max) { - // use the one with the smallest enlargement - max = enlargement; - child = n; - } - else if (enlargement < max + 0.000001) { // roughly equal - // enlargement - // child cannot be null, because in the first loop it will - // always be set to n - assert child != null; - - // use the one with the smallest volume - if (nvolume < calcPseudoVolume(child)) { - child = n; - } - } - } - - // leaf cannot be null at this point, - // because there's always at least one child - assert child != null; - - // descend - return child.chooseLeaf(loc); - } - - /** - * Finds the first entries of two splitted groups (Quadratic Split) - * - * @return the two entries - */ - private Localizable[] pickSeeds() { - Localizable[] result = new Localizable[2]; - int ii = -1, jj = -1; - double min = Double.NEGATIVE_INFINITY; - - for (int i = 0; i < _children.size() - 1; ++i) { - for (int j = i + 1; j < _children.size(); ++j) { - Localizable e1 = _children.get(i); - Localizable e2 = _children.get(j); - - // compose a new bounding box - BoundingBox bb = new BoundingBox(e1.getBoundingBox()); - bb.add(e2.getBoundingBox()); - - // calculate waste - double d = calcPseudoVolume(bb) - calcPseudoVolume(e1) - calcPseudoVolume(e2); - if (d > min) { - result[0] = e1; - ii = i; - result[1] = e2; - jj = j; - min = d; - } - } - } - - // result must not be empty - assert result[0] != null; - assert result[1] != null; - - // remove entries from the list of Localizables - // make sure that we remove the correct element jj if - // ii has been removed before - _children.remove(ii); - _children.remove(ii < jj ? jj - 1 : jj); - - return result; - } - - @SuppressWarnings("unchecked") - private void plainAdd(Localizable loc) { - _children.add(loc); - _boundingBox.add(loc.getBoundingBox()); - if (loc instanceof Node) { - ((Node) loc)._parent = this; - } - } - - /** - * Splits this node into two nodes and adds them to the parent node. - * (Quadratic Split) - * - * @return the new second Node - */ - private Node split() { - // choose two entries to be the first - // elements of the groups - Localizable[] seeds = pickSeeds(); - - // calculate minimum fill factor - int minSize = calculateMinSize(); - - // save this._children - List children = _children; - - // assign each entry to a new Node - // this node will be group 0 - Node group0 = this; - _boundingBox = new BoundingBox(); - _children = new ArrayList(_pageSize); - group0.plainAdd(seeds[0]); - - Node group1 = new Node(_pageSize, this, _tree); - group1._isLeaf = this.isLeaf(); - group1.plainAdd(seeds[1]); - - // add next entries until nothing is left - while (children.size() > 0) { - // if one group has two few entries, - // add all remaining entries to it - if (minSize - group0._children.size() == children.size()) { - for (Localizable c : children) { - group0.plainAdd(c); - } - break; - } - else if (minSize - group1._children.size() == children.size()) { - for (Localizable c : children) { - group1.plainAdd(c); - } - break; - } - - Localizable next = null; - double min = Double.NEGATIVE_INFINITY; - double dd0 = 0.0, dd1 = 0.0; - int ii = -1; - - // iterate through children and get the one that causes - // the least cost - for (int i = 0; i < children.size(); ++i) { - Localizable l = children.get(i); - BoundingBox eb = l.getBoundingBox(); - - // calculate how much group 0 had to be extended if - // we would add the child to it - BoundingBox bb = new BoundingBox(group0.getBoundingBox()); - bb.add(eb); - double d0 = calcPseudoVolume(bb) - calcPseudoVolume(group0); - - // calculate the same for group 2 - bb = new BoundingBox(group1.getBoundingBox()); - bb.add(eb); - double d1 = calcPseudoVolume(bb) - calcPseudoVolume(group1); - - // calculate the least cost - double diff = Math.abs(d1 - d0); - if (diff > min) { - next = l; - ii = i; - min = diff; - - // remember the cost - dd0 = d0; - dd1 = d1; - } - } - - // we must have a next entity now - assert next != null; - - // remove entry from the list of Localizables - children.remove(ii); - - // add result to one of the groups - if (dd0 < dd1) { - group0.plainAdd(next); - } - else if (dd1 < dd0) { - group1.plainAdd(next); - } - else { - double a0 = calcPseudoVolume(group0); - double a1 = calcPseudoVolume(group1); - if (a0 < a1) { - group0.plainAdd(next); - } - else if (a1 < a0) { - group1.plainAdd(next); - } - else { - if (group1._children.size() < group0._children.size()) { - group1.plainAdd(next); - } - else { - group0.plainAdd(next); - } - } - } - } - - return group1; - } - - /** - * Inserts a Localizable to the Node. Splits the Node if there are too many - * children. - * - * @param loc the Localizable to insert - */ - private void internalInsert(final Localizable loc) { - if (!isLeaf() && !(loc instanceof Node)) { - throw new IllegalArgumentException("You may not add a " + "Localizable to a Node"); - } - - // check if this is a leaf or a node - if (_children.size() == 0 && (loc instanceof Node)) { - _isLeaf = false; - } - - // if there is enough space, add loc - if (_children.size() < _pageSize) { - plainAdd(loc); - - // propagate changes upward - adjustTree(null); - } - else { - plainAdd(loc); - Node second = split(); - - // propagate changes upward - adjustTree(second); - - // add group 1 to parent - if (_parent == null) { - // node is obviously the root - // create a new root - Node newroot = new Node(_pageSize, null, _tree); - - // set new root - _tree.setRoot(newroot); - - // insert child elements - newroot.internalInsert(this); - newroot.internalInsert(second); - - // the following line is not needed, because - // the insert method sets the parent - // _parent = newroot; - } - } - } - - /** - * Finds the Leaf L in which to insert the given Localizable loc and inserts - * loc to L. Splits L if there are too many children. - * - * @param loc the Localizable to insert - */ - public void insert(final Localizable loc) { - // find the leaf in which to place loc - Node leaf = chooseLeaf(loc); - leaf.internalInsert(loc); - } - - /** - * Adds the BoundingBox of this Node to all parent nodes and adds the - * Localizable nn, which resulted from a split operation, to the parent. - * - * @param nn the Localizable produced by a split operation - */ - private void adjustTree(Node nn) { - if (_parent == null) { - return; - } - - _parent._boundingBox.add(_boundingBox); - - if (nn != null) { - _parent.internalInsert(nn); - } - else { - _parent.adjustTree(null); - } - } - - /** - * Traverses the given Node "no" and all its children. If a leaf is found - * its children (the actual Localizables) will be inserted into the given - * RTree as usual. - * - * @param the type of the objects stored in the RTree - * @param no the Node to traverse - * @param tree the RTree to insert the Localizables into - */ - @SuppressWarnings("unchecked") - private static void insertChildrenOfAllLeafs(Node no, - RTree tree) { - if (no.isLeaf()) { - // re-insert the leaf's children as usual - for (Localizable c : no.getChildren()) { - tree.insert((T) c); - } - } - else { - // no is no leaf, so descend... - for (Localizable c : no.getChildren()) { - assert c instanceof Node; - insertChildrenOfAllLeafs((Node) c, tree); - } - } - } - - /** - * Eliminate l if it has too few entries. Propagate elimination upwards. - * Adjust BoundingBoxes. - * - * @param l the Leaf from which an entry has been deleted - */ - @SuppressWarnings("unchecked") - private void condenseTree(Node l) { - // the list of deleted nodes - List> q = new ArrayList>(); - - Node n = l; - while (n._parent != null) { - // eliminate under-full node - int minSize = calculateMinSize(); - if (n._children.size() < minSize) { - n._parent._children.remove(n); - q.add(n); - } - else { - // adjust BoundingBox of n (the element from which an - // entry has been deleted) - n._boundingBox = new BoundingBox(); - for (Localizable c : n._children) { - n._boundingBox.add(c.getBoundingBox()); - } - } - - n = n._parent; - } - - // adjust the bounding box of the root - n._boundingBox = new BoundingBox(); - for (Localizable c : n._children) { - n._boundingBox.add(c.getBoundingBox()); - } - - // re-insert orphaned entries - for (Node no : q) { - if (no.isLeaf()) { - // re-insert the leaf's children as usual - for (Localizable c : no.getChildren()) { - _tree.insert((T) c); - } - } - else { - // insert the children of all leafs we can - // find in "no" - insertChildrenOfAllLeafs(no, _tree); - } - } - } - - /** - * Removes a Localizable from the Node - * - * @param loc the Localizable to remove - * @return true if the Node has been changed, false otherwise - */ - @SuppressWarnings("unchecked") - public boolean delete(Localizable loc) { - // find the leaf containing loc - Node l = findLeaf(loc); - - if (l == null) { - return false; - } - - // remove loc from the leaf - l._children.remove(loc); - - // propagate changes - condenseTree(l); - - // shorten tree (if the root has only one child element, - // make this element the new root) - if (_tree.getRoot()._children.size() == 1 && !_tree.getRoot().isLeaf()) { - _tree.setRoot((Node) _tree.getRoot()._children.get(0)); - _tree.getRoot()._parent = null; - } - - return true; - } - - /** - * Returns a list of all Localizables that have any relation to the given - * Localizable loc. - * - * @param loc the Localizable to match - * @param ignoreZ true if the z coordinate should be ignored during - * candidate search - * @return a list of Localizables (containing only leafs of this tree and no - * nodes) - */ - @SuppressWarnings("unchecked") - private List find(final Localizable loc, boolean ignoreZ) { - List result = new ArrayList(); - - BoundingBox theirs = loc.getBoundingBox(); - for (Localizable l : _children) { - BoundingBox ours = l.getBoundingBox(); - if (relate(ours, theirs, ignoreZ)) { - if (l instanceof Node) { - // descend - result.addAll(((Node) l).find(loc, ignoreZ)); - } - else { - // add leaf - result.add((T) l); - } - } - } - - return result; - } - - /** - * Returns a list of all Localizables that have any relation to the given - * Localizable loc. - * - * @param loc the Localizable to match - * @return a list of Localizables (containing only leafs of this tree and no - * nodes) - */ - public List find(final Localizable loc) { - return find(loc, false); - } - - /** - * Returns a list of all Localizables that have any relation to the given - * Localizable loc. Ignores the z ordinate. - * - * @param loc the Localizable to match - * @return a list of Localizables (containing only leafs of this tree and no - * nodes) - */ - public List find2D(final Localizable loc) { - return find(loc, true); - } - - /** - * This method will return the "Neighborhood" of a given Localizable. - * - * @param k the number of neighbor candidates to retrieve - * @param loc the given Localizable - * @param stepsize the size of each step in which the neighborhood is - * enlarged. If the original Localizable had no volume (because - * it's a point type), this value is first used as an absolute - * value and then as a successive relative increase - * @return a list with all neighbors - */ - public ArrayList findNeighborhood(int k, Localizable loc, double stepsize) { - ArrayList result = new ArrayList(); - - result.addAll(this.find(loc)); - - BoundingBox bb = loc.getBoundingBox(); - while (result.size() < k && this.getBoundingBox().intersectsOrCovers(bb)) { - bb.expand(stepsize); - result.addAll(this.find(bb)); - } - return result; - } - - /** - * @see Localizable#getBoundingBox() - */ - @Override - public BoundingBox getBoundingBox() { - return _boundingBox; - } - - /** - * @return true if this node is a leaf (has no children), false otherwise - */ - public boolean isLeaf() { - return _isLeaf; - } - - /** - * @return this node's children or null if this node is a leaf - */ - public List getChildren() { - return _children; - } -} diff --git a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/indices/RTree.java b/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/indices/RTree.java deleted file mode 100644 index b8339e94bc..0000000000 --- a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/indices/RTree.java +++ /dev/null @@ -1,225 +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.indices; - -import java.util.Collections; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import java.util.TreeSet; - -import com.google.common.base.Preconditions; - -import de.fhg.igd.geom.BoundingBox; -import de.fhg.igd.geom.Localizable; -import de.fhg.igd.geom.Verifier; - -/** - * Implements an R-Tree - * - * @author Michel Kraemer - * @param the type of the objects stored in the tree - */ -public class RTree implements SpatialIndex { - - /** - * - */ - private static final double DEFAULT_NON_DIMEMSION_SIZE = 0.0001; - - /** - * The root node - */ - private Node _root; - - /** - * The maximum number of entries a child node can contain - */ - private int _pageSize; - - /** - * The number of Localizables indexed in this R-Tree - */ - private int _size; - - /** - * the size assumed for non-present dimensions - only important for - * optimization of mixed dimensionality, should be > 0 - */ - private final double _nonDimensionSize; - - /** - * Default constructor - * - * @param pageSize the page size (number of children that can be attached to - * this node before it gets splitted). Must be even and greater - * than or equal to 4. - */ - public RTree(int pageSize) { - this(pageSize, DEFAULT_NON_DIMEMSION_SIZE); - } - - /** - * Default constructor - * - * @param pageSize the page size (number of children that can be attached to - * this node before it gets splitted). Must be even and greater - * than or equal to 4. - * @param nonDimemsionSize the size assumed for non-present dimensions - - * only important for optimization of mixed dimensionality, - * should be > 0 - */ - public RTree(int pageSize, double nonDimemsionSize) { - Preconditions.checkArgument(pageSize >= 4 && pageSize % 2 == 0 && nonDimemsionSize > 0); - _nonDimensionSize = nonDimemsionSize; - _pageSize = pageSize; - flush(); - } - - /** - * @return the root node - */ - public Node getRoot() { - return _root; - } - - /** - * Sets the new root node. Package visible, because only Node shall access - * it. - * - * @param root the new root node - */ - void setRoot(Node root) { - _root = root; - } - - /** - * @see SpatialIndex#setBoundingBox(BoundingBox) - */ - @Override - public void setBoundingBox(BoundingBox bb) { - // this method is not needed, since the R-Tree grows dynamically - } - - /** - * @see SpatialIndex#flush() - */ - @Override - public void flush() { - _root = new Node(_pageSize, null, this); - _size = 0; - } - - /** - * @see SpatialIndex#insert(Localizable) - */ - @Override - public void insert(T loc) { - BoundingBox box = loc.getBoundingBox(); - if (!box.checkIntegrity()) { - throw new IllegalArgumentException( - "You may not insert a " + "Localizable object with a invalid BoundingBox"); - } - _root.insert(loc); - ++_size; - } - - /** - * @see SpatialIndex#delete(Localizable) - */ - @Override - public boolean delete(T loc) { - if (_root.delete(loc)) { - --_size; - return true; - } - return false; - } - - /** - * @see SpatialIndex#size() - */ - @Override - public int size() { - return _size; - } - - /** - * @see SpatialIndex#query(Localizable, Verifier) - */ - @Override - public Set query(L loc, Verifier verifier) { - List candidates = _root.find(loc); - return processQuery(loc, verifier, candidates); - } - - /** - * @see SpatialIndex#query2D(Localizable, Verifier) - */ - @Override - public Set query2D(L loc, Verifier verifier) { - List candidates = _root.find2D(loc); - return processQuery(loc, verifier, candidates); - } - - /** - * Traverses through the given list of candidates and finds those that match - * the given verifier - * - * @param the type of localizables to search - * @param loc the localizable to match against - * @param verifier the verifier - * @param candidates the candidates to search - * @return the candidates that match the given verifier - */ - private Set processQuery(L loc, Verifier verifier, - List candidates) { - if (candidates.size() > 0) { - Set verified = new HashSet(); - - for (T cand : candidates) { - if (verifier.verify(cand, loc)) { - verified.add(cand); - } - } - - return verified; - } - - return Collections.emptySet(); - } - - /** - * @see SpatialIndex#nearestNeighbor(int, Localizable, NNComparator) - */ - @Override - public Set nearestNeighbor(int k, Localizable loc, NNComparator nnc) { - nnc.setLoc(loc); - - Set ordered_by_nnc = new TreeSet(nnc); - ordered_by_nnc.addAll(_root.findNeighborhood(k * 2, loc, 0.5)); - - return ordered_by_nnc; - } - - /** - * @return the size assumed for non-present dimensions - only important for - * optimization of mixed dimensionality, should be > 0 - */ - public double getNonDimensionSize() { - return _nonDimensionSize; - } -} diff --git a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/indices/SpatialIndex.java b/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/indices/SpatialIndex.java deleted file mode 100644 index dc66ce5c9c..0000000000 --- a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/indices/SpatialIndex.java +++ /dev/null @@ -1,99 +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.indices; - -import java.util.Set; - -import de.fhg.igd.geom.BoundingBox; -import de.fhg.igd.geom.Localizable; -import de.fhg.igd.geom.Verifier; -import de.fhg.igd.geom.indices.NNComparator; - -/** - * This interface describes the access methods that a spatial index has to - * provide.. - * - * @author Thorsten Reitz - * @param the type of the objects stored in the index - */ -public interface SpatialIndex { - - /** - * Return the k nearest neighbors to the given point. - * - * @param k The k nearest neighbors to return. - * @param loc The Localizable to question. - * @param nnc the comparator that compares Localizables - * @return the k nearest neighbors - */ - public Set nearestNeighbor(int k, Localizable loc, NNComparator nnc); - - /** - * Sets the BoundingBox for this index. - * - * @param bb the new bounding box - */ - public void setBoundingBox(BoundingBox bb); - - /** - * Resets this index. - */ - public void flush(); - - /** - * inserts a node into this index. - * - * @param data the node to insert - * @throws IllegalArgumentException if data cannot be indexed - */ - public void insert(final T data); - - /** - * removes a node from this index. - * - * @param entity the node to remove - * @return true if the index was changed - */ - public boolean delete(final T entity); - - /** - * Performs a spatial query - * - * @param the type of the localizable to compare to - * @param entity the localizable to compare to - * @param verifier the verifier used to check if the candidates found have a - * certain spatial relation to the given entity - * @return a set of candidates matching the given entity - */ - public Set query(final L entity, Verifier verifier); - - /** - * Performs a spatial query. Ignores the z ordinate during candidate search. - * - * @param the type of the localizable to compare to - * @param entity the localizable to compare to - * @param verifier the verifier used to check if the candidates found have a - * certain spatial relation to the given entity - * @return a set of candidates matching the given entity - */ - public Set query2D(final L entity, Verifier verifier); - - /** - * @return the number of objects indexed in this index. - */ - public int size(); - -} diff --git a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/shape/Line2D.java b/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/shape/Line2D.java deleted file mode 100644 index 555c7d5d1f..0000000000 --- a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/shape/Line2D.java +++ /dev/null @@ -1,164 +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.shape; - -import org.locationtech.jts.geom.Coordinate; -import org.locationtech.jts.geom.CoordinateSequence; -import org.locationtech.jts.geom.CoordinateSequenceFactory; -import org.locationtech.jts.geom.GeometryFactory; -import org.locationtech.jts.geom.impl.CoordinateArraySequenceFactory; - -import de.fhg.igd.geom.BoundingBox; -import de.fhg.igd.geom.Point2D; - -/** - * This class describes open 2D polylines. - * - * @author Thorsten Reitz - */ -public class Line2D extends Shape { - - /** - * The class' serial version UID - */ - private static final long serialVersionUID = -658765289316063637L; - - /** - * This constructor builds a 2D Line from an array of Point2D. - * - * @param points Point2D[] - */ - public Line2D(Point2D[] points) { - this.setPoints(points); - } - - /** - * Creates an empty line - */ - public Line2D() { - // empty - } - - // functional methods ...................................................... - - /** - * This method will return this Line as a Java Topology Suite LineString. - * - * @param geometryFactory the factory for JTS geometries - * @return the converted LineString - */ - private org.locationtech.jts.geom.LineString toJTSLineString( - GeometryFactory geometryFactory) { - Coordinate[] coords = new Coordinate[this.getPoints().length]; - for (int i = 0; i < this.getPoints().length; i++) { - coords[i] = new Coordinate(this.getPoints()[i].getX(), this.getPoints()[i].getY()); - } - CoordinateSequenceFactory csf = CoordinateArraySequenceFactory.instance(); - CoordinateSequence cs = csf.create(coords); - org.locationtech.jts.geom.LineString jts_ls = new org.locationtech.jts.geom.LineString( - cs, geometryFactory); - return jts_ls; - } - - /** - * @param buffer - a value that defines how far around the line the buffer - * shall extend. - * @return a Polygon that is the buffer area. - */ - public Surface computeBuffer(double buffer) { - GeometryFactory geometryFactory = new GeometryFactory(); - // transform to JTS LineString - org.locationtech.jts.geom.LineString jts_ls = this.toJTSLineString(geometryFactory); - - // Buffer generation - org.locationtech.jts.geom.Geometry jts_geom = jts_ls.buffer(buffer, 3); - - // transfrom back to CS3D Polygon. - Surface result = new Surface(); - org.locationtech.jts.geom.Polygon jts_poly = (org.locationtech.jts.geom.Polygon) jts_geom; - - // transform outer Shell... - org.locationtech.jts.geom.LineString jts_linering_outer = jts_poly.getExteriorRing(); - Coordinate[] coords = jts_linering_outer.getCoordinates(); - Point2D[] p2d_outer = new Point2D[coords.length]; - for (int i = 0; i < coords.length; i++) { - p2d_outer[i] = new Point2D(coords[i].x, coords[i].y); - } - Polygon outer = new Polygon(); - outer.setPoints(p2d_outer); - result.setExterior_boundary(outer); - - // transform and add inner rings, if existing. - if (jts_poly.getNumInteriorRing() > 0) { - Polygon[] inner_polys = new Polygon[jts_poly.getNumInteriorRing()]; - for (int n = 0; n < jts_poly.getNumInteriorRing(); n++) { - org.locationtech.jts.geom.LineString jts_linering_inner = jts_poly - .getInteriorRingN(n); - coords = jts_linering_inner.getCoordinates(); - Point2D[] p2d_inner = new Point2D[coords.length]; - for (int i = 0; i < coords.length; i++) { - p2d_inner[i] = new Point2D(coords[i].x, coords[i].y); - } - inner_polys[n] = new Polygon(); - inner_polys[n].setPoints(p2d_inner); - } - result.setInterior_boundaries(inner_polys); - } - - return result; - } - - /** - * Returns a BoundingBox for this object that takes into account possible - * transforms. TODO actually take transforms into Account :-). - * - * @return de.fhg.igd.CityServer3D.dbLayer.helperGeometry.BoundingBox - */ - @Override - public BoundingBox getBoundingBox() { - BoundingBox bb = BoundingBox.compute(this.getPoints()); - return bb; - } - - // canonical java methods .................................................. - - /** - * Standard toString method. super.toString() is included. - * - * @return a string representation of this Line - */ - @Override - public String toString() { - StringBuilder result = new StringBuilder("[Line2D ("); - for (int i = 0; i < this.points.length; i++) { - result.append(this.points[i].toString() + "\n"); - } - result.append(")]\n"); - return result.toString(); - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (!super.equals(obj)) - return false; - if (!(obj instanceof Line2D)) - return false; - return true; - } - -} diff --git a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/shape/Polygon.java b/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/shape/Polygon.java deleted file mode 100644 index 5e9eda6468..0000000000 --- a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/shape/Polygon.java +++ /dev/null @@ -1,518 +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.shape; - -import java.util.ArrayList; -import java.util.List; - -import de.fhg.igd.geom.BoundingBox; -import de.fhg.igd.geom.Extent; -import de.fhg.igd.geom.Point2D; -import de.fhg.igd.geom.algorithm.sweepline.Point2DEvent; -import de.fhg.igd.geom.algorithm.sweepline.Point2DEventQueue; -import de.fhg.igd.geom.algorithm.sweepline.SweepLine; -import de.fhg.igd.geom.algorithm.sweepline.SweepLineSegment; - -/** - * This class describes closed 2D polylines with straight segments. The - * underlying Point2D sequence may be explicitly closed or not. This shouldn't - * make a difference for spatial computations, but may affect some operations. - * - * @author Thorsten Reitz - */ -public class Polygon extends Shape { - - /** - * The class' serial version UID - */ - private static final long serialVersionUID = 3575023575724612793L; - - /** - * The BoundingBox of this Polygon - */ - private BoundingBox boundingBox; - - /** - * Default Constructor. - */ - public Polygon() { - super(); - } - - /** - * Constructor with zero ID and a given Point2D[]. - * - * @param points An Array of Point2D objects. - */ - public Polygon(Point2D[] points) { - this(); - this.setPoints(points); - } - - // functional methods ...................................................... - - /** - * @return true if the given Point2D is inside this Polygon. - * @see #contains(double, double) - * @param p2d the Point that may be inside of this Polygon - */ - private boolean contains(Point2D p2d) { - return contains(p2d.getX(), p2d.getY()); - } - - /** - * @return true if the given point is inside this Polygon. Uses the standard - * contains algorithm that checks how often a ray projected form the - * point parallel to the y axis cuts a segment of the polygon. If - * the number is even, it's outide, if it is odd, it's inside. - * @param x the x ordinate of the point that may be inside of this Polygon - * @param y the y ordinate of the point that may be inside of this Polygon - */ - private boolean contains(double x, double y) { - // First, make sure that this Polygon is at least a triangle, otherwise - // it has no area. Also, test if the point is within this Polygon's - // Extent. - if (this.getPoints().length <= 2 || this.inExtent(x, y) == false) { - return false; - } - - int hits = 0; - int points_length = this.getPoints().length; - // save the coordinates of the last point. - double lastx = this.getPoints()[points_length - 1].getX(); - double lasty = this.getPoints()[points_length - 1].getY(); - - // variables for the current point. - double curx; - double cury; - - // Now, test all edges of the polygon. - for (int i = 0; i < points_length; lastx = curx, lasty = cury, i++) { - curx = this.getPoints()[i].getX(); - cury = this.getPoints()[i].getY(); - if (cury == lasty) { - continue; - } - double leftx; - if (curx < lastx) { - if (x >= lastx) { - continue; - } - leftx = curx; - } - else { - if (x >= curx) { - continue; - } - leftx = lastx; - } - double test1, test2; - if (cury < lasty) { - if (y < cury || y >= lasty) { - continue; - } - if (x < leftx) { - hits++; - continue; - } - test1 = x - curx; - test2 = y - cury; - } - else { - if (y < lasty || y >= cury) { - continue; - } - if (x < leftx) { - hits++; - continue; - } - test1 = x - lastx; - test2 = y - lasty; - } - if (test1 < (test2 / (lasty - cury) * (lastx - curx))) { - hits++; - } - } - return ((hits & 1) != 0); - } - - /** - * Checks if the extent lies within the polygon - * - * @param e the extent - * @return true if e lies within the polygon - */ - public boolean contains(Extent e) { - return this.contains(e.getMinX(), e.getMinY()) && this.contains(e.getMaxX(), e.getMinY()) - && this.contains(e.getMinX(), e.getMaxY()) - && this.contains(e.getMaxX(), e.getMaxY()); - } - - /** - * Adds a Polygon to a Point2DEventQueue queue. - * - * @param p the Polygon to add - * @param q the queue to add to - * @return a list of line2d objects which are vertical and which could not - * be added. - */ - private static List addToPoint2DEventQueue(Polygon p, Point2DEventQueue q) { - List verticalLines = new ArrayList(); - - // add line segments - for (int i = 0; i < p.getPoints().length - 1; ++i) { - Point2D p1 = p.getPoints()[i]; - Point2D p2 = p.getPoints()[i + 1]; - if (p1.equals(p2)) { - // don't add degenerated lines - continue; - } - - Line2D l = new Line2D(new Point2D[] { p1, p2 }); - if (p1.getX() == p2.getX()) { - // save this vertical line, but don't add it - verticalLines.add(l); - continue; - } - - q.add(l, p); - } - - return verticalLines; - } - - /** - * Tests if this Polygon intersects another one - * - * @param p the other Polygon - * @return true if this Polygon intersects the other one, false otherwise - */ - private boolean intersects(Polygon p) { - // initialize EventQueue and add this Polygon and p - Point2DEventQueue eq = new Point2DEventQueue(); - List v1 = addToPoint2DEventQueue(this, eq); - List v2 = addToPoint2DEventQueue(p, eq); - - // check vertical lines separately - for (Line2D vl : v1) { - for (int i = 0; i < p.getPoints().length - 1; ++i) { - Point2D p1 = p.getPoints()[i]; - Point2D p2 = p.getPoints()[i + 1]; - if (doLinesIntersect(vl.getPoints()[0], vl.getPoints()[1], p1, p2)) { - return true; - } - } - } - - for (Line2D vl : v2) { - for (int i = 0; i < this.getPoints().length - 1; ++i) { - Point2D p1 = this.getPoints()[i]; - Point2D p2 = this.getPoints()[i + 1]; - if (doLinesIntersect(vl.getPoints()[0], vl.getPoints()[1], p1, p2)) { - return true; - } - } - } - - // initialize Sweep-line - SweepLine sl = new SweepLine(); - - while (eq.size() > 0) { - Point2DEvent e = eq.remove(); - if (e.isLeft()) { - Line2D sege = e.getLineSegment(); - SweepLineSegment sls = sl.add(e); - - // get elements above and below sege - SweepLineSegment above = sl.getAboveSegment(sls); - SweepLineSegment below = sl.getBelowSegment(sls); - if (above != null) { - if (sls.getPolygon() != above.getPolygon()) { - // check for intersection between sege and the above - // segment - Line2D sega = above.getLine(); - if (doLinesIntersect(sege.getPoints()[0], sege.getPoints()[1], - sega.getPoints()[0], sega.getPoints()[1])) { - return true; - } - } - } - if (below != null) { - if (sls.getPolygon() != below.getPolygon()) { - // check for intersection between sege and the above - // segment - Line2D segb = below.getLine(); - if (doLinesIntersect(sege.getPoints()[0], sege.getPoints()[1], - segb.getPoints()[0], segb.getPoints()[1])) { - return true; - } - } - } - } - else { - SweepLineSegment sls = sl.get(e); - - // get elements above and below sege - SweepLineSegment above = sl.getAboveSegment(sls); - SweepLineSegment below = sl.getBelowSegment(sls); - - // remove e from sweep-line - sl.remove(sls); - - // check for intersection between the segments above and below - if (above != null && below != null) { - if (above.getPolygon() != below.getPolygon()) { - Line2D sega = above.getLine(); - Line2D segb = below.getLine(); - if (doLinesIntersect(sega.getPoints()[0], sega.getPoints()[1], - segb.getPoints()[0], segb.getPoints()[1])) { - return true; - } - } - } - } - } - - return false; - } - - /** - * Tests if this Polygon completely contains another one. First it checks - * for intersection (because the two Polygons must not intersect). Then it - * checks if this Polygon contains at least one point (actually the first - * one) of the other Polygon. - * - * @param p the other Polygon - * @return true if this Polygon completely contains p, false otherwise - */ - public boolean contains(Polygon p) { - if (this.intersects(p)) { - return false; - } - return this.contains(p.points[0]); - } - - /** - *

- * This method will test if there is an intersection point between the - * vectors defined by (a1,a2) and (b1,b2). If there is none, it will return - * null, otherwise it will return the parameter (usually called "lambda") - * where the intersection point can be found on the first line. - *

- *

- * Attention: This method may also return lambda values lower than - * 0.0 or greater than 1.0. In this case the intersection point lies outside - * the first line! - *

- *

- * Attention: If the result value is - * 0.0 <= lambda <= 1.0 this does not mean that the - * intersection point lies on both lines in all cases. This method - * intersects vectors and so the intersection point may lie on the first - * line but not on the second one. If you want to make sure the intersection - * point lies on both lines, always call this method as follows: - *

- * - *
-	 * Double lambda1 = findIntersectionParameter(a1x, a1y, a2x, a2y, b1x, b1y, b2x, b2y);
-	 * if (lambda1 == null || lambda1 < 0.0 || lambda1 > 1.0) {
-	 * 	// there is no intersection point!
-	 * }
-	 * Double lambda2 = findIntersectionParameter(b1x, b1y, b2x, b2y, a1x, a1y, a2x, a2y);
-	 * if (lambda1 == null || lambda1 < 0.0 || lambda1 > 1.0) {
-	 * 	// there is no intersection point!
-	 * }
-	 * //there is an intersection point:
-	 * double dx = a2x - a1x;
-	 * double dy = a2y - a1y;
-	 * Point2D intersectionPoint = new Point2D(a1x + lambda * dx, a1y + lambda * dy);
-	 * 
- * - * @param a1x the x ordinate of the first point of the first line - * @param a1y the y ordinate of the first point of the first line - * @param a2x the x ordinate of the second point of the first line - * @param a2y the y ordinate of the second point of the first line - * @param b1x the x ordinate first point of the second line - * @param b1y the y ordinate first point of the second line - * @param b2x the x ordinate second point of the second line - * @param b2y the y ordinate second point of the second line - * @return lambda - */ - private static Double findIntersectionParameter(double a1x, double a1y, double a2x, double a2y, - double b1x, double b1y, double b2x, double b2y) { - double abx = a2x - a1x; - double aby = a2y - a1y; - double bbx = b2x - b1x; - double bby = b2y - b1y; - - // calculate first Determinant value: - double D1 = abx * bby - aby * bbx; - - // if the determinant is not 0, there is an intersection point and thus, - // a solution to the LGS. We do not check againt exaclty 0 since - // this could lead to false negatives with double values. - if (Math.abs(D1) > 0.0000001) { - return ((b1x - a1x) * bby - (b1y - a1y) * bbx) / D1; - } - return null; - } - - /** - *

- * This method will test if there is an intersection point between the lines - * defined by (a1,a2) and (b1,b2). If there is none, it will return null, - * otherwise it will return the coordinate of the intersection point. - *

- *

- * Other that - * {@link #findIntersectionParameter(double, double, double, double, double, double, double, double)} - * this method makes sure the intersection point lies on the given lines. - *

- * - * @param a1 the first point of the first line - * @param a2 the second point of the first line - * @param b1 the first point of the second line - * @param b2 the second point of the second line - * @return true if there is an intersection - */ - private static boolean doLinesIntersect(Point2D a1, Point2D a2, Point2D b1, Point2D b2) { - double a1x = a1.getX(); - double a1y = a1.getY(); - double a2x = a2.getX(); - double a2y = a2.getY(); - - double b1x = b1.getX(); - double b1y = b1.getY(); - double b2x = b2.getX(); - double b2y = b2.getY(); - - Double s = findIntersectionParameter(a1x, a1y, a2x, a2y, b1x, b1y, b2x, b2y); - if (s == null || s < 0.0 || s > 1.0) { - return false; - } - - // double check the other line - Double s2 = findIntersectionParameter(b1x, b1y, b2x, b2y, a1x, a1y, a2x, a2y); - if (s2 == null || s2 < 0.0 || s2 > 1.0) { - return false; - } - - return true; - } - - /** - * This method tests if a given point falls within this Polygon's Extent. - * - * @param x the x ordinate of the point - * @param y the y ordinate - * @return true if the point falls within this Polygon's Extent - */ - private boolean inExtent(double x, double y) { - if (x >= this.getBoundingBox().getMinX() && x <= this.getBoundingBox().getMaxX() - && y >= this.getBoundingBox().getMinY() && y <= this.getBoundingBox().getMaxY()) { - return true; - } - - return false; - } - - /** - * Converts this Polygon to an AWT Polygon. Only suitable for output, is not - * null-safe! - * - * @param scale_x the scale factor in x direction - * @param scale_y the scale factor in y direction - * @param offset the offset to be added to the converted Polygon - * @return the converted Polygon - */ - public java.awt.Polygon toAWTPolygon(double scale_x, double scale_y, Point2D offset) { - double offset_x = 0; - double offset_y = 0; - if (offset != null) { - offset_x = offset.getX(); - offset_y = offset.getY(); - } - - java.awt.Polygon poly = new java.awt.Polygon(); - int[] xpoints = new int[this.getPoints().length]; - int[] ypoints = new int[this.getPoints().length]; - for (int i = 0; i < this.getPoints().length; i++) { - xpoints[i] = (int) ((this.getPoints()[i].getX() - offset_x) * scale_x); - ypoints[i] = (int) ((this.getPoints()[i].getY() - offset_y) * scale_y); - } - poly.xpoints = xpoints; - poly.ypoints = ypoints; - poly.npoints = this.getPoints().length; - return poly; - } - - /** - * @return The BoundingBox for this Polygon. Takes into account possible - * Transformations. - */ - @Override - public BoundingBox getBoundingBox() { - if (this.boundingBox == null) { - this.boundingBox = BoundingBox.compute(this.points); - } - return this.boundingBox; - } - - @Override - public void setPoints(Point2D[] points) { - super.setPoints(points); - boundingBox = null; - } - - /** - * @see Object#equals(Object) - */ - @Override - public boolean equals(Object o) { - if (!super.equals(o)) { - return false; - } - if (this == o) { - return true; - } - if (!(o instanceof Polygon)) { - return false; - } - return true; - } - - /** - * @see Object#hashCode() - */ - @Override - public int hashCode() { - return super.hashCode(); - } - - /** - * standard toString() method. Contains call to super.toString(). - * - * @see Object#toString() - */ - @Override - public String toString() { - StringBuilder buffer = new StringBuilder(); - buffer.append("Polygon["); - buffer.append(super.toString()); - buffer.append("]"); - return buffer.toString(); - } -} diff --git a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/shape/Shape.java b/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/shape/Shape.java deleted file mode 100644 index f7517ed7f1..0000000000 --- a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/shape/Shape.java +++ /dev/null @@ -1,135 +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.shape; - -import java.io.Serializable; -import java.util.Arrays; - -import de.fhg.igd.geom.Localizable; -import de.fhg.igd.geom.Point2D; -import de.fhg.igd.geom.util.BlochHashCode; - -/** - * More or less what geom.feature.Geometry_2d was in the older - * versions. Shapes are pure 2D objects to begin with, but can be used freely in - * 3D space using the Transform objects. - * - * @author Thorsten Reitz - */ -public abstract class Shape implements Localizable, Serializable { - - /** - * The class' serial version UID - */ - private static final long serialVersionUID = -6411820671639726195L; - - /** - * The 2D Points that define a Shape. - */ - protected Point2D[] points; - - /** - * Default constructor - */ - public Shape() { - super(); - } - - // functional methods ...................................................... - - // canonical java methods .................................................. - - /** - * This method checks if two given shapes are equal in its points - * - * @see Object#equals(Object) - */ - @Override - public boolean equals(Object o) { - if (o == this) { - return true; - } - if (!(o instanceof Shape)) { - return false; - } - - Shape other = (Shape) o; - Point2D[] thisPoints = this.getPoints(); - Point2D[] otherPoints = other.getPoints(); - - return Arrays.equals(thisPoints, otherPoints); - } - - @Override - public int hashCode() { - int hash = BlochHashCode.HASH_CONSTANT; - for (Point2D p2d : getPoints()) { - hash = BlochHashCode.addFieldToHash(hash, p2d); - } - return hash; - } - - /** - * @see Object#toString() - */ - @Override - public String toString() { - StringBuilder buffer = new StringBuilder(); - buffer.append("Shape["); - buffer.append(super.toString()); - if (points == null) { - buffer.append("points = ").append("null"); - } - else { - buffer.append("points = ").append(Arrays.asList(points).toString()); - } - buffer.append("]"); - return buffer.toString(); - } - - // getters / setters ....................................................... - - /** - * @return the Point2D Array. - */ - public Point2D[] getPoints() { - return points; - } - - /** - * @param points The Point2D[] to set. - */ - public void setPoints(Point2D[] points) { - this.points = points; - } - - /** - * Inverts the order of the shape's points - */ - public void reverse() { - int left = 0; - if (points == null) - return; - int right = points.length - 1; - while (left < right) { - Point2D temp = points[left]; - points[left] = points[right]; - points[right] = temp; - ++left; - --right; - } - } -} diff --git a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/shape/Surface.java b/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/shape/Surface.java deleted file mode 100644 index a98680c56c..0000000000 --- a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/shape/Surface.java +++ /dev/null @@ -1,220 +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.shape; - -import java.util.Arrays; - -import de.fhg.igd.geom.BoundingBox; -import de.fhg.igd.geom.Point2D; -import de.fhg.igd.geom.util.BlochHashCode; - -/** - * This class is equal to the OGC simple feature spec's Surface class, that is, - * it describes a 2D feature that has one exterior ring and n interior rings - * (holes). Each ring is a Polygon. - * - * @author Thorsten Reitz - */ -public class Surface extends Shape { - - /** - * The class' serial version UID - */ - private static final long serialVersionUID = 4468837090533482032L; - - /** - * A Polygon which defines the outer boundary of this Surface. - */ - private Polygon exterior_boundary; - - /** - * An Array of Polygons which defines the holes in this Surface. Hole - * Polygons may neither intersect the outer boundary nor touch it. - */ - private Polygon[] interior_boundaries; - - /** - * Def. Constructor. - */ - public Surface() { - super(); - } - - /** - * Constructs a surface that has only a exterior boundary - * - * @param exterior_boundary the exterior boundary of the new surface - */ - public Surface(Polygon exterior_boundary) { - super(); - this.exterior_boundary = exterior_boundary; - } - - /** - * Full constructor. You are encouraged to use this one. - * - * @param exterior_boundary the exterior boundary polygon - * @param interior_boundaries the interior polygons (holes) - */ - public Surface(Polygon exterior_boundary, Polygon... interior_boundaries) { - super(); - this.exterior_boundary = exterior_boundary; - this.interior_boundaries = interior_boundaries; - } - - // functional methods ...................................................... - - /** - * This method will return this Surface as an array of java.AWT.Polygons, so - * that they can be printed on images. - * - * @param scale_x the scale factor in x direction - * @param scale_y the scale factor in y direction - * @param offset the offset to add to the points - * @return an AWT polygon - */ - public java.awt.Polygon[] toAWTPolygons(double scale_x, double scale_y, Point2D offset) { - if (this.exterior_boundary != null) { - int length = 1; - if (this.interior_boundaries != null) { - length += this.interior_boundaries.length; - } - java.awt.Polygon[] result = new java.awt.Polygon[length]; - result[0] = this.exterior_boundary.toAWTPolygon(scale_x, scale_y, offset); - if (this.interior_boundaries != null) { - for (int n = 0; n < this.interior_boundaries.length; n++) { - result[n + 1] = this.interior_boundaries[n].toAWTPolygon(scale_x, scale_y, - offset); - } - } - return result; - } - return null; - } - - @Override - public BoundingBox getBoundingBox() { - return this.exterior_boundary.getBoundingBox(); - } - - // canonical java methods .................................................. - - /** - * @see Object#toString() super.toString() is included. - */ - @Override - public String toString() { - StringBuilder buffer = new StringBuilder(); - buffer.append("Surface["); - buffer.append(super.toString()); - buffer.append("exterior_boundary = ").append(exterior_boundary); - if (interior_boundaries == null) { - buffer.append(" interior_boundaries = ").append("null"); - } - else { - buffer.append(" interior_boundaries = ") - .append(Arrays.asList(interior_boundaries).toString()); - } - buffer.append("]"); - return buffer.toString(); - } - - /** - * This equals method will test the following cases to determine equality: - *
    - *
  1. runtime environment equivalence
  2. - *
  3. if IDs have been set, ID equivalence
  4. - *
  5. if no IDs have been set, check if all Polygons are equal.
  6. - *
- * - * @param o the object to check - * @return true if the tests pass, false otherwise - */ - @Override - public boolean equals(Object o) { - if (!super.equals(o) || !(o instanceof Surface)) - return false; - - Surface s = (Surface) o; - - // check exterior polygon - if (this.exterior_boundary.equals(s.getExterior_boundary())) { - if (this.interior_boundaries != null && s.getInterior_boundaries() != null) { - // find an equal polygon for every interior polygon - for (int ti = 0; ti < this.interior_boundaries.length; ti++) { - boolean found = false; - for (int si = 0; si < s.getInterior_boundaries().length; si++) { - if (this.interior_boundaries[ti].equals(s.getInterior_boundaries()[si])) { - found = true; - break; - } - } - if (!found) { - // there was no matching polygon for the - // current interior polygon - return false; - } - } - } - return true; - } - - return false; - } - - @Override - public int hashCode() { - int hash = BlochHashCode.HASH_CONSTANT; - hash = BlochHashCode.addFieldToHash(hash, this.exterior_boundary); - if (this.interior_boundaries != null) { - for (Polygon i : this.interior_boundaries) { - hash = BlochHashCode.addFieldToHash(hash, i); - } - } - return hash; - } - - // getter / setter methods ................................................. - - /** - * @return Returns the exterior_boundary. - */ - public Polygon getExterior_boundary() { - return exterior_boundary; - } - - /** - * @param exterior_boundary The exterior_boundary to set. - */ - public void setExterior_boundary(Polygon exterior_boundary) { - this.exterior_boundary = exterior_boundary; - } - - /** - * @return Returns the interior_boundaries. - */ - public Polygon[] getInterior_boundaries() { - return interior_boundaries; - } - - /** - * @param interior_boundaries The interior_boundaries to set. - */ - public void setInterior_boundaries(Polygon[] interior_boundaries) { - this.interior_boundaries = interior_boundaries; - } - -} diff --git a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/util/BlochHashCode.java b/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/util/BlochHashCode.java deleted file mode 100644 index d4fdec99ba..0000000000 --- a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/util/BlochHashCode.java +++ /dev/null @@ -1,421 +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.util; - -import java.io.Serializable; - -/** - *

- * This class provides a simple and effective hash algorithm taken from Bloch, - * "Effective Java: Programming Language Guide, p33". - *

- *

- * Explanation, excerpt from Bloch, "Effective Java: Programming Language Guide, - * p33 - *

- *

- * A good hash function tends to produce unequal hash codes for unequal objects. - * This is exactly what is meant by the third provision of the hashCode - * contract. Ideally, a hash function should distribute any reasonable - * collection of unequal instances uniformly across all possible hash values. - * Achieving this ideal can be extremely difficult. - *

- *

- * Luckily it is not too difficult to achieve a fair approximation. Here is a - * simple recipe: - *

- *

- * 1. Store some constant nonzero value, say 17, in an int variable called - * result. 2. For each significant field f in your object (each field taken into - * account by the equals method, that is), do the following: a. Compute an int - * hash code c for the field: i. If the field is a boolean, compute (f ? 0 : 1). - * ii. If the field is a byte, char, short, or int, compute (int)f. iii. If the - * field is a long, compute (int)(f ^ (f >>> 32)). iv. If the field is a float - * compute Float.floatToIntBits(f). v. If the field is a double, compute - * Double.doubleToLongBits(f), and then hash the resulting long as in step - * 2.a.iii. vi. If the field is an object reference and this class's equals - * method compares the field by recursively invoking equals, recursively invoke - * hashCode on the field. If a more complex comparison is required, compute a - * "canonical representation" for this field and invoke hashCode on the - * canonical representation. If the value of the field is null, return 0 (or - * some other constant, but 0 is traditional). vii. If the field is an array, - * treat it as if each element were a separate field. That is, compute a hash - * code for each significant element by applying these rules recursively, and - * combine these values as described in step 2.b. b. Combine the hash code c - * computed in step a into result as follows: result = 37*result + c; 3. Return - * result. 4. When you are done writing the hashCode method, ask yourself - * whether equal instances have equal hash codes. If not, figure out why and fix - * the problem. - *

- *

- * It is acceptable to exclude redundant fields from the hash code computation. - * In other words, it is acceptable to exclude any field whose value can be - * computed from fields that are included in the computation. It is required - * that you exclude any fields that are not used in equality comparisons. - * Failure to exclude these fields may result in a violation of the second - * provision of the hashCode contract. - *

- *

- * A nonzero initial value is used in step 1, so the hash value will be affected - * by initial fields whose hash value, as computed in step 2.a, is zero. If zero - * was used as the initial value in step 1, the overall hash value would be - * unaffected by any such initial fields, which could increase collisions. The - * value 17 is arbitrary. - *

- *

- * The multiplication in step 2.b makes the hash value depend on the order of - * the fields, which results in a much better hash function if the class - * contains multiple similar fields. For example, if the multiplication were - * omitted from a String hash function built according to this recipe, all - * anagrams would have identical hash codes. The multiplier 37 was chosen - * because it is an odd prime. If it was even and the multiplication overflowed, - * information Effective Java: Programming Language Guide 34 would be lost - * because multiplication by two is equivalent to shifting. The advantages of - * using a prime number are less clear, but it is traditional to use primes for - * this purpose. - *

- */ -public class BlochHashCode implements Serializable { - - /** - * The serial version UID - */ - private static final long serialVersionUID = -6432905297232026617L; - - /** - * a non-zero positive prime constant - */ - public final static int HASH_CONSTANT = 17; - - private volatile int myHash; - - /** - * Default constructor - */ - public BlochHashCode() { - myHash = HASH_CONSTANT; - } - - /** - * Adds a value - * - * @param val the value to add - */ - public void add(int val) { - myHash = addFieldToHash(myHash, hashCode(val)); - } - - /** - * Adds a value - * - * @param val the value to add - */ - public void add(char val) { - myHash = addFieldToHash(myHash, hashCode(val)); - } - - /** - * Adds a value - * - * @param val the value to add - */ - public void add(float val) { - myHash = addFieldToHash(myHash, hashCode(val)); - } - - /** - * Adds a value - * - * @param val the value to add - */ - public void add(short val) { - myHash = addFieldToHash(myHash, hashCode(val)); - } - - /** - * Adds a value - * - * @param val the value to add - */ - public void add(double val) { - myHash = addFieldToHash(myHash, hashCode(val)); - } - - /** - * Adds a value - * - * @param val the value to add - */ - public void add(boolean val) { - myHash = addFieldToHash(myHash, hashCode(val)); - } - - /** - * Adds a value - * - * @param val the value to add - */ - public void add(long val) { - myHash = addFieldToHash(myHash, hashCode(val)); - } - - /** - * Adds an object - * - * @param object the object to add - */ - public void add(Object object) { - myHash = addFieldToHash(myHash, hashCode(object)); - } - - /** - * Resets the hash - */ - public void reset() { - this.myHash = HASH_CONSTANT; - } - - /** - * Adds a hash value to the current hash - * - * @param hashToAdd the hash code that shall be added - */ - public void addHash(int hashToAdd) { - this.myHash = BlochHashCode.addHashToHash(this.myHash, hashToAdd); - } - - /** - * @return the current hash - */ - public int getHash() { - return this.myHash; - } - - /** - * @return a hash code for the given field (see explanation above) - * @param field the field to calculate the hash code for - */ - public static int hashCode(int field) { - return field; - } - - /** - * @return a hash code for the given field (see explanation above) - * @param field the field to calculate the hash code for - */ - public static int hashCode(char field) { - return field; - } - - /** - * @return a hash code for the given field (see explanation above) - * @param field the field to calculate the hash code for - */ - public static int hashCode(String field) { - return field.hashCode(); - } - - /** - * @return a hash code for the given field (see explanation above) - * @param field the field to calculate the hash code for - */ - public static int hashCode(byte field) { - return field; - } - - /** - * @return a hash code for the given field (see explanation above) - * @param field the field to calculate the hash code for - */ - public static int hashCode(short field) { - return field; - } - - /** - * @return a hash code for the given field (see explanation above) - * @param field the field to calculate the hash code for - */ - public static int hashCode(double field) { - return hashCode(Double.doubleToLongBits(field)); - } - - /** - * @return a hash code for the given field (see explanation above) - * @param field the field to calculate the hash code for - */ - public static int hashCode(long field) { - return (int) (field ^ (field >>> 32)); - } - - /** - * @return a hash code for the given field (see explanation above) - * @param field the field to calculate the hash code for - */ - public static int hashCode(boolean field) { - return (field ? 0 : 1); - } - - /** - * @return a hash code for the given field (see explanation above) - * @param field the field to calculate the hash code for - */ - public static int hashCode(float field) { - return Float.floatToIntBits(field); - } - - /** - * @return a hash code for the given field (see explanation above) - * @param field the field to calculate the hash code for - */ - public static int hashCode(Object field) { - return field == null ? 0 : field.hashCode(); - } - - /** - * Convenience method for adding a new hash to a given hash code. - * - * @param currentHash the current hash code - * @param hashToAdd the hash code that shall be added to the current hash - * @return the new hash - */ - public static int addHashToHash(int currentHash, int hashToAdd) { - return 37 * currentHash + hashToAdd; - } - - /** - * Convenience method for adding a field to a given hash code. - * - * @param currentHash the current hash code - * @param fieldToAdd the field whose hash code shall be added to the current - * hash - * @return the new hash including the field's hash - */ - public static int addFieldToHash(int currentHash, int fieldToAdd) { - return 37 * currentHash + hashCode(fieldToAdd); - } - - /** - * Convenience method for adding a field to a given hash code. - * - * @param currentHash the current hash code - * @param fieldToAdd the field whose hash code shall be added to the current - * hash - * @return the new hash including the field's hash - */ - public static int addFieldToHash(int currentHash, char fieldToAdd) { - return 37 * currentHash + hashCode(fieldToAdd); - } - - /** - * Convenience method for adding a field to a given hash code. - * - * @param currentHash the current hash code - * @param fieldToAdd the field whose hash code shall be added to the current - * hash - * @return the new hash including the field's hash - */ - public static int addFieldToHash(int currentHash, byte fieldToAdd) { - return 37 * currentHash + hashCode(fieldToAdd); - } - - /** - * Convenience method for adding a field to a given hash code. - * - * @param currentHash the current hash code - * @param fieldToAdd the field whose hash code shall be added to the current - * hash - * @return the new hash including the field's hash - */ - public static int addFieldToHash(int currentHash, short fieldToAdd) { - return 37 * currentHash + hashCode(fieldToAdd); - } - - /** - * Convenience method for adding a field to a given hash code. - * - * @param currentHash the current hash code - * @param fieldToAdd the field whose hash code shall be added to the current - * hash - * @return the new hash including the field's hash - */ - public static int addFieldToHash(int currentHash, double fieldToAdd) { - return 37 * currentHash + hashCode(fieldToAdd); - } - - /** - * Convenience method for adding a field to a given hash code. - * - * @param currentHash the current hash code - * @param fieldToAdd the field whose hash code shall be added to the current - * hash - * @return the new hash including the field's hash - */ - public static int addFieldToHash(int currentHash, float fieldToAdd) { - return 37 * currentHash + hashCode(fieldToAdd); - } - - /** - * Convenience method for adding a field to a given hash code. - * - * @param currentHash the current hash code - * @param fieldToAdd the field whose hash code shall be added to the current - * hash - * @return the new hash including the field's hash - */ - public static int addFieldToHash(int currentHash, long fieldToAdd) { - return 37 * currentHash + hashCode(fieldToAdd); - } - - /** - * Convenience method for adding a field to a given hash code. - * - * @param currentHash the current hash code - * @param fieldToAdd the field whose hash code shall be added to the current - * hash - * @return the new hash including the field's hash - */ - public static int addFieldToHash(int currentHash, boolean fieldToAdd) { - return 37 * currentHash + hashCode(fieldToAdd); - } - - /** - * Convenience method for adding a field to a given hash code. - * - * @param currentHash the current hash code - * @param fieldToAdd the field whose hash code shall be added to the current - * hash - * @return the new hash including the field's hash - */ - public static int addFieldToHash(int currentHash, Object fieldToAdd) { - return 37 * currentHash + hashCode(fieldToAdd); - } - - @Override - public boolean equals(Object o) { - return o instanceof BlochHashCode && ((BlochHashCode) o).getHash() == this.myHash ? true - : false; - } - - @Override - public int hashCode() { - return this.getHash(); - } - - @Override - public String toString() { - return "[BlochHashCode with hash value= " + this.myHash + "]"; - } -} diff --git a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/util/MathHelper.java b/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/util/MathHelper.java deleted file mode 100644 index cb17f17170..0000000000 --- a/ext/geom/de.fhg.igd.geom/src/de/fhg/igd/geom/util/MathHelper.java +++ /dev/null @@ -1,313 +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.util; - -import com.google.common.base.Preconditions; - -/** - * Some mathematical helper methods - * - * @author Simon Thum - * @author Michel Kraemer - */ -public class MathHelper { - - /** - * Enforces a value range - * - * @param in the input value - * @param lower the lower limit - * @param upper the upper limit - * @return the saturated value - */ - public static int saturate(int in, int lower, int upper) { - if (in >= lower && in <= upper) { - return in; - } - if (in < lower) { - return lower; - } - return upper; - } - - /** - * Enforces a value range - * - * @param in the input value - * @param lower the lower limit - * @param upper the upper limit - * @return the saturated value - */ - public static double saturate(double in, double lower, double upper) { - if (in >= lower && in <= upper) { - return in; - } - if (in < lower) { - return lower; - } - return upper; - } - - /** - * Enforces a value range - * - * @param in the input value - * @param lower the lower limit - * @param upper the upper limit - * @return the saturated value - */ - public static float saturate(float in, float lower, float upper) { - if (in >= lower && in <= upper) { - return in; - } - if (in < lower) { - return lower; - } - return upper; - } - - /** - * Translate a value based on input and output ranges. Does not saturate. - * - * @param in the value to translate - * @param in_min minimum of the input range - * @param in_range size of the input range - * @param out_min minimum of the output range - * @param out_range size of the output range - * @return the translated value - */ - public static double translate(double in, double in_min, double in_range, double out_min, - double out_range) { - return (((in - in_min) / in_range) * out_range) + out_min; - } - - /** - * scales a double range using integer indexed segments. - * - * @param start the range start - * @param end the range end - * @param unit the unit (usually end-start / max ) - * @param index the index to select - * @param max the maximum index - * @return a double - */ - public static double intScale(double start, double end, double unit, int index, int max) { - if (index == 0) - return start; - else if (index == max) - return end; - return start + unit * index; - } - - /** - * SQL-like coalescing using isReal() - * - * @param p array of at least unit length - * @return the first real value from the given array - */ - public static float coalesce(float... p) { - for (float v : p) { - if (isReal(v)) { - return v; - } - } - return p[p.length - 1]; - } - - /** - * Checks if a floating point number is real (not infinite and not NaN) - * - * @param x the number to check - * @return true if x is real, false otherwise - */ - public static boolean isReal(float x) { - return (!Float.isInfinite(x) && !Float.isNaN(x)); - } - - /** - * Checks if a floating point number is real (not infinite and not NaN) - * - * @param x the number to check - * @return true if x is real, false otherwise - */ - public static boolean isReal(double x) { - return (!Double.isInfinite(x) && !Double.isNaN(x)); - } - - /** - * The so-called 'euclidean' modulo, a modulo which won't yield negative - * results - * - * @param x the number to divide - * @param mod the divisor - * @return the euclidean modulo - */ - public static int modulo(int x, int mod) { - if (x >= 0) { - return x % mod; - } - int n = 1 + (-x / mod); - x += n * mod; - return x % mod; - } - - /** - * Calculates the dot product between two vectors - * - * @param p1x the x ordinate of the first vector - * @param p1y the y ordinate of the first vector - * @param p2x the x ordinate of the second vector - * @param p2y the y ordinate of the second vector - * @return the dot product - */ - public static double dot2D(double p1x, double p1y, double p2x, double p2y) { - return p1x * p2x + p1y * p2y; - } - - /** - * given two angels in radians, returns a difference in radians closest to - * zero such that a + angleDiff(a, b) represents b. - * - * @param a angle a - * @param b angle b - * @return the angular difference in radians - */ - public static double angleDiff(double a, double b) { - return angleDiff(a, b, Math.PI * 2); - } - - /** - * given two angels in radians, returns a difference in radians closest to - * zero such that a + angleDiff(a, b) represents b. - * - * @param a angle a - * @param b angle b - * @param ring the ring in which the difference is meaningful (2PI is full - * circle) - * @return the angular difference in radians - */ - public static double angleDiff(double a, double b, double ring) { - double c = b - a; - c %= ring; - if (c >= -ring / 2 && c <= ring / 2) - return c; - c += (-ring) * Math.signum(c); - return c; - } - - /** - * given two angels in radians, returns a difference in radians closest to - * zero and >= zero. - * - * @param a angle a - * @param b angle b - * @return the angular difference in radians - */ - public static double angleDiffAbs(double a, double b) { - return Math.abs(angleDiff(a, b)); - } - - /** - * given two angels in radians, returns a difference in radians closest to - * zero and >= zero, depending on the scale. For example, while two angles - * pi/2 and -pi/2 may differ on a full circle (scale 1), they are considered - * equal at scale 2. At scale 3, also orthogonal angles would match, and so - * on. - * - * @param a angle a - * @param b angle b - * @param scale the scale to base the difference on - * @return the angular difference in radians - */ - public static double angleDiffAbs(double a, double b, int scale) { - return Math.abs(angleDiff(a, b, Math.scalb(Math.PI, 2 - scale))); - } - - /** - * Checks if a given integer is a power of two - * - * @param i the integer - * @return true if i is a power of two - */ - public static boolean isPowerOfTwo(int i) { - return ((i & (i - 1)) == 0); - } - - /** - * Finds the next power of two for a given integer (see - * http://graphics.stanford.edu/~seander/bithacks.html#RoundUpPowerOf2) - * - * @param i the integer (must be positive) - * @return the next power of two - */ - public static int nextPowerOfTwo(int i) { - Preconditions.checkArgument(i >= 0, "i must be positive"); - i--; - i |= i >> 1; - i |= i >> 2; - i |= i >> 4; - i |= i >> 8; - i |= i >> 16; - i++; - return i; - } - - /** - * Finds the next power of two lower than the given number - * - * @param i the number (must larger than 0) - * @return the next power of two lower than i - */ - public static int previousPowerOfTwo(int i) { - Preconditions.checkArgument(i > 0, "i must be larger than 0"); - return nextPowerOfTwo(i) >> 1; - } - - /** - * Calls {@link #nextPowerOfTwo(int)} and {@link #previousPowerOfTwo(int)} - * and finds the nearest value to the given number. Prefers the higher - * number if the distance is equal. - * - * @param i the number (must be positive) - * @return the nearest power of two - */ - public static int nearestPowerOfTwo(int i) { - Preconditions.checkArgument(i >= 0, "i must be positive"); - if (i == 0) { - return 0; - } - - int n = nextPowerOfTwo(i); - int p = n >> 1; - if (Math.abs(i - n) <= Math.abs(i - p)) { - return n; - } - return p; - } - - /** - * Compares two double for equality within e - * - * @param a the first double - * @param b the second double - * @param e the maximum allowed difference - * @return true if a - b < e - */ - public static boolean robustEqual(double a, double b, double e) { - return Math.abs(a - b) < e; - } - -} diff --git a/io/plugins/eu.esdihumboldt.hale.io.html.svg/.classpath b/io/plugins/eu.esdihumboldt.hale.io.html.svg/.classpath deleted file mode 100644 index 5a78e49c83..0000000000 --- a/io/plugins/eu.esdihumboldt.hale.io.html.svg/.classpath +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/io/plugins/eu.esdihumboldt.hale.io.html.svg/.project b/io/plugins/eu.esdihumboldt.hale.io.html.svg/.project deleted file mode 100644 index ecfc9af7b9..0000000000 --- a/io/plugins/eu.esdihumboldt.hale.io.html.svg/.project +++ /dev/null @@ -1,29 +0,0 @@ - - - eu.esdihumboldt.hale.io.html.svg - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - - org.eclipse.jdt.groovy.core.groovyNature - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - - diff --git a/io/plugins/eu.esdihumboldt.hale.io.html.svg/.settings/edu.umd.cs.findbugs.core.prefs b/io/plugins/eu.esdihumboldt.hale.io.html.svg/.settings/edu.umd.cs.findbugs.core.prefs deleted file mode 100644 index ec2e6647e0..0000000000 --- a/io/plugins/eu.esdihumboldt.hale.io.html.svg/.settings/edu.umd.cs.findbugs.core.prefs +++ /dev/null @@ -1,132 +0,0 @@ -#Updated from default preferences Apr 11, 2014 12:49:54 PM -#Fri Apr 11 12:49:54 CEST 2014 -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/io/plugins/eu.esdihumboldt.hale.io.html.svg/.settings/org.eclipse.core.resources.prefs b/io/plugins/eu.esdihumboldt.hale.io.html.svg/.settings/org.eclipse.core.resources.prefs deleted file mode 100644 index ba6944ab45..0000000000 --- a/io/plugins/eu.esdihumboldt.hale.io.html.svg/.settings/org.eclipse.core.resources.prefs +++ /dev/null @@ -1,4 +0,0 @@ -#Created from default preferences 19-Jan-2014 13:00:05 -#Sun Jan 19 13:00:05 CET 2014 -eclipse.preferences.version=1 -encoding/=UTF-8 diff --git a/io/plugins/eu.esdihumboldt.hale.io.html.svg/.settings/org.eclipse.jdt.core.prefs b/io/plugins/eu.esdihumboldt.hale.io.html.svg/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index d78078c076..0000000000 --- a/io/plugins/eu.esdihumboldt.hale.io.html.svg/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,424 +0,0 @@ -#Updated from default preferences 28 Oct 2022, 08:10:29 -#Fri Oct 28 08:10:29 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/io/plugins/eu.esdihumboldt.hale.io.html.svg/.settings/org.eclipse.jdt.groovy.core.prefs b/io/plugins/eu.esdihumboldt.hale.io.html.svg/.settings/org.eclipse.jdt.groovy.core.prefs deleted file mode 100644 index 74af1ba777..0000000000 --- a/io/plugins/eu.esdihumboldt.hale.io.html.svg/.settings/org.eclipse.jdt.groovy.core.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -groovy.compiler.level=25 diff --git a/io/plugins/eu.esdihumboldt.hale.io.html.svg/.settings/org.eclipse.jdt.launching.prefs b/io/plugins/eu.esdihumboldt.hale.io.html.svg/.settings/org.eclipse.jdt.launching.prefs deleted file mode 100644 index 8ede89c273..0000000000 --- a/io/plugins/eu.esdihumboldt.hale.io.html.svg/.settings/org.eclipse.jdt.launching.prefs +++ /dev/null @@ -1,4 +0,0 @@ -#Created from default preferences 19-Jan-2014 13:00:05 -#Sun Jan 19 13:00:05 CET 2014 -eclipse.preferences.version=1 -org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore diff --git a/io/plugins/eu.esdihumboldt.hale.io.html.svg/.settings/org.eclipse.jdt.ui.prefs b/io/plugins/eu.esdihumboldt.hale.io.html.svg/.settings/org.eclipse.jdt.ui.prefs deleted file mode 100644 index 46646fbb60..0000000000 --- a/io/plugins/eu.esdihumboldt.hale.io.html.svg/.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= -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/io/plugins/eu.esdihumboldt.hale.io.html.svg/.settings/org.eclipse.pde.core.prefs b/io/plugins/eu.esdihumboldt.hale.io.html.svg/.settings/org.eclipse.pde.core.prefs deleted file mode 100644 index 923c37fb8d..0000000000 --- a/io/plugins/eu.esdihumboldt.hale.io.html.svg/.settings/org.eclipse.pde.core.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -resolve.requirebundle=false diff --git a/io/plugins/eu.esdihumboldt.hale.io.html.svg/.settings/org.eclipse.pde.prefs b/io/plugins/eu.esdihumboldt.hale.io.html.svg/.settings/org.eclipse.pde.prefs deleted file mode 100644 index a4af5f8aab..0000000000 --- a/io/plugins/eu.esdihumboldt.hale.io.html.svg/.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/io/plugins/eu.esdihumboldt.hale.io.html.svg/META-INF/MANIFEST.MF b/io/plugins/eu.esdihumboldt.hale.io.html.svg/META-INF/MANIFEST.MF deleted file mode 100644 index 1a99566155..0000000000 --- a/io/plugins/eu.esdihumboldt.hale.io.html.svg/META-INF/MANIFEST.MF +++ /dev/null @@ -1,42 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: SVG Based HTML Documentation -Bundle-SymbolicName: eu.esdihumboldt.hale.io.html.svg;singleton:=true -Bundle-Version: 5.4.0.qualifier -Bundle-Vendor: data harmonisation panel -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Require-Bundle: groovy;bundle-version="2.5.19", - eu.esdihumboldt.hale.common.align;bundle-version="2.8.0", - org.eclipse.core.runtime;bundle-version="3.7.0", - eu.esdihumboldt.hale.common.core;bundle-version="2.8.0", - eu.esdihumboldt.hale.common.schema;bundle-version="2.8.0", - eu.esdihumboldt.hale.common.instance;bundle-version="2.8.0", - com.vladsch.flexmark;bundle-version="0.64.0", - com.vladsch.flexmark.profile-pegdown;bundle-version="0.64.0", - com.vladsch.flexmark.util;bundle-version="0.64.0", - com.vladsch.flexmark.util-data;bundle-version="0.64.0", - com.vladsch.flexmark.util-misc;bundle-version="0.64.0", - com.vladsch.flexmark.util-ast;bundle-version="0.64.0", - com.vladsch.flexmark.util-sequence;bundle-version="0.64.0", - jakarta.xml.bind-api;bundle-version="4.0.0", - com.vladsch.flexmark.util-format;bundle-version="0.64.0" -Import-Package: com.google.common.collect;version="15.0.0", - com.google.common.io;version="15.0.0", - de.fhg.igd.eclipse.util.extension.simple, - de.fhg.igd.slf4jplus, - de.odysseus.staxon.json;version="1.3.0", - de.odysseus.staxon.json.stream;version="1.3.0", - de.odysseus.staxon.json.stream.impl;version="1.3.0", - de.odysseus.staxon.xml.util;version="1.3.0", - eu.esdihumboldt.hale.common.align.io.impl.internal.generated;version="2.9.4", - eu.esdihumboldt.util, - eu.esdihumboldt.util.definition, - eu.esdihumboldt.util.groovy.json, - eu.esdihumboldt.util.io, - eu.esdihumboldt.util.xml, - net.jcip.annotations, - org.apache.commons.lang;version="2.4.0", - org.slf4j;version="1.7.10" -Export-Package: eu.esdihumboldt.hale.io.html.svg.mapping, - eu.esdihumboldt.hale.io.html.svg.mapping.json -Automatic-Module-Name: eu.esdihumboldt.hale.io.html.svg diff --git a/io/plugins/eu.esdihumboldt.hale.io.html.svg/build.properties b/io/plugins/eu.esdihumboldt.hale.io.html.svg/build.properties deleted file mode 100644 index 46446cfda4..0000000000 --- a/io/plugins/eu.esdihumboldt.hale.io.html.svg/build.properties +++ /dev/null @@ -1,8 +0,0 @@ -source.. = src/ -output.. = bin/ -sourceFileExtensions=*.java, *.groovy -compilerAdapter=org.codehaus.groovy.eclipse.ant.GroovyCompilerAdapter -compilerAdapter.useLog=true -bin.includes = META-INF/,\ - .,\ - plugin.xml diff --git a/io/plugins/eu.esdihumboldt.hale.io.html.svg/plugin.xml b/io/plugins/eu.esdihumboldt.hale.io.html.svg/plugin.xml deleted file mode 100644 index ab174e1768..0000000000 --- a/io/plugins/eu.esdihumboldt.hale.io.html.svg/plugin.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - diff --git a/io/plugins/eu.esdihumboldt.hale.io.html.svg/src/eu/esdihumboldt/hale/io/html/svg/mapping/MappingExporter.java b/io/plugins/eu.esdihumboldt.hale.io.html.svg/src/eu/esdihumboldt/hale/io/html/svg/mapping/MappingExporter.java deleted file mode 100644 index 146ae32f2f..0000000000 --- a/io/plugins/eu.esdihumboldt.hale.io.html.svg/src/eu/esdihumboldt/hale/io/html/svg/mapping/MappingExporter.java +++ /dev/null @@ -1,141 +0,0 @@ -/* - * Copyright (c) 2014 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.io.html.svg.mapping; - -import java.io.IOException; -import java.io.OutputStreamWriter; -import java.io.StringWriter; -import java.io.Writer; -import java.net.URL; -import java.nio.charset.StandardCharsets; -import java.util.HashMap; -import java.util.List; -import java.util.Locale; -import java.util.Map; -import java.util.Set; -import java.util.stream.Collectors; - -import eu.esdihumboldt.hale.common.align.io.impl.AbstractAlignmentWriter; -import eu.esdihumboldt.hale.common.core.io.IOProviderConfigurationException; -import eu.esdihumboldt.hale.common.core.io.ProgressIndicator; -import eu.esdihumboldt.hale.common.core.io.report.IOReport; -import eu.esdihumboldt.hale.common.core.io.report.IOReporter; -import eu.esdihumboldt.hale.common.core.io.report.impl.IOMessageImpl; -import eu.esdihumboldt.hale.io.html.svg.mapping.json.AlignmentJson; -import eu.esdihumboldt.hale.io.html.svg.mapping.json.CellJsonExtension; -import eu.esdihumboldt.hale.io.html.svg.mapping.json.ExtendedCellRepresentation; -import eu.esdihumboldt.hale.io.html.svg.mapping.json.JsonValueRepresentation; -import eu.esdihumboldt.hale.io.html.svg.mapping.json.ValueRepresentation; -import eu.esdihumboldt.util.groovy.json.JsonStreamBuilder; -import groovy.json.JsonOutput; -import groovy.lang.Writable; -import groovy.text.GStringTemplateEngine; - -/** - * Exports an alignment as HTML mapping documentation based on - * {@link AlignmentJson} and the associated template. - * - * @author Simon Templer - */ -public class MappingExporter extends AbstractAlignmentWriter { - - private static final String HALEJS_VERSION = "1.1.16"; // "1.2.0-SNAPSHOT"; - - @Override - public boolean isCancelable() { - return false; - } - - @Override - protected IOReport execute(ProgressIndicator progress, IOReporter reporter) - throws IOProviderConfigurationException, IOException { - progress.begin("Generate mapping documentation", ProgressIndicator.UNKNOWN); - - // retrieve template URL - URL templateUrl = getClass().getResource("mapping.html"); - - // generate Json representation - CellJsonExtension ext = new ExtendedCellRepresentation(getAlignment(), - getServiceProvider()); - ValueRepresentation rep = new JsonValueRepresentation(); - - StringWriter jsonWriter = new StringWriter(); - JsonStreamBuilder json = new JsonStreamBuilder(jsonWriter, true); - Set locales = AlignmentJson.alignmentInfoJSON(getAlignment(), json, - getServiceProvider(), getProjectInfo(), ext, rep, Locale.getDefault(), - getSourceSchema(), getTargetSchema()); - - // create language binding - String languageJson = getLanguageJson(locales); - - // create template binding - Map binding = new HashMap<>(); - binding.put("json", jsonWriter.toString()); - String title = (getProjectInfo() != null && getProjectInfo().getName() != null) - ? getProjectInfo().getName() - : "Mapping documentation"; - binding.put("title", title); - binding.put("languages", languageJson); - binding.put("halejsVersion", HALEJS_VERSION); - - // initialize template engine - GStringTemplateEngine engine = new GStringTemplateEngine(); - - // bind and write template - try (Writer out = new OutputStreamWriter(getTarget().getOutput(), StandardCharsets.UTF_8)) { - Writable template = engine.createTemplate(templateUrl).make(binding); - template.writeTo(out); - - reporter.setSuccess(true); - } catch (Exception e) { - reporter.error(new IOMessageImpl("Error creating mapping documentation", e)); - reporter.setSuccess(false); - } finally { - progress.end(); - } - - return reporter; - } - - private String getLanguageJson(Set locales) { - if (locales == null || locales.isEmpty()) { - return "[]"; - } - - Map languageNames = new HashMap<>(); - - for (Locale locale : locales) { - String code = locale.getLanguage(); - if (code != null && !code.isEmpty()) { - languageNames.put(code, locale.getDisplayLanguage(locale)); - } - } - - List> locs = languageNames.entrySet().stream().map(entry -> { - Map languageObj = new HashMap<>(); - languageObj.put("code", entry.getKey()); - languageObj.put("name", entry.getValue()); - return languageObj; - }).collect(Collectors.toList()); - - return JsonOutput.toJson(locs); - } - - @Override - protected String getDefaultTypeName() { - return "HTML Documentation"; - } -} diff --git a/io/plugins/eu.esdihumboldt.hale.io.html.svg/src/eu/esdihumboldt/hale/io/html/svg/mapping/json/AlignmentJson.groovy b/io/plugins/eu.esdihumboldt.hale.io.html.svg/src/eu/esdihumboldt/hale/io/html/svg/mapping/json/AlignmentJson.groovy deleted file mode 100644 index 8947bc4e15..0000000000 --- a/io/plugins/eu.esdihumboldt.hale.io.html.svg/src/eu/esdihumboldt/hale/io/html/svg/mapping/json/AlignmentJson.groovy +++ /dev/null @@ -1,368 +0,0 @@ -/* - * Copyright (c) 2016 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.io.html.svg.mapping.json - -import java.time.Instant -import java.time.format.DateTimeFormatter -import java.util.Map.Entry - -import org.w3c.dom.Element - -import com.vladsch.flexmark.html.HtmlRenderer; -import com.vladsch.flexmark.parser.Parser; -import com.vladsch.flexmark.profile.pegdown.Extensions; -import com.vladsch.flexmark.profile.pegdown.PegdownOptionsAdapter -import com.vladsch.flexmark.util.data.DataHolder; - -import eu.esdihumboldt.hale.common.align.extension.function.FunctionDefinition -import eu.esdihumboldt.hale.common.align.extension.function.FunctionParameterDefinition -import eu.esdihumboldt.hale.common.align.extension.function.FunctionUtil -import eu.esdihumboldt.hale.common.align.model.Alignment -import eu.esdihumboldt.hale.common.align.model.AlignmentUtil -import eu.esdihumboldt.hale.common.align.model.Cell -import eu.esdihumboldt.hale.common.align.model.CellExplanation -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.ParameterValue -import eu.esdihumboldt.hale.common.core.HalePlatform -import eu.esdihumboldt.hale.common.core.io.Value -import eu.esdihumboldt.hale.common.core.io.project.ProjectInfo -import eu.esdihumboldt.hale.common.core.service.ServiceProvider -import eu.esdihumboldt.hale.common.instance.extension.filter.FilterDefinitionManager -import eu.esdihumboldt.hale.common.schema.model.DefinitionUtil -import eu.esdihumboldt.hale.common.schema.model.Schema -import eu.esdihumboldt.hale.common.schema.model.SchemaSpace -import eu.esdihumboldt.hale.common.schema.model.constraint.property.Cardinality -import eu.esdihumboldt.util.groovy.json.JsonStreamBuilder -import eu.esdihumboldt.util.xml.XmlUtil -import groovy.transform.CompileStatic -import groovy.transform.TypeCheckingMode - -/** - * Alignment JSON representation helper. - * - * @author Simon Templer - */ -@CompileStatic -class AlignmentJson { - - public static String cellExplanation(Cell cell, CellExplanation explanation, ServiceProvider services, - Locale locale = Locale.getDefault()) { - - String exp = null - if (explanation) { - exp = explanation.getExplanationAsHtml(cell, services, locale) - if (!exp) { - exp = explanation.getExplanation(cell, services, locale) - if (exp) { - exp = markdownToHtml(exp) - } - } - } - - exp - } - - private static Object getValueRepresentation(Value value, ValueRepresentation valueRep) { - if (valueRep != null) { - return valueRep.getValueRepresentation(value) - } - - // fall-back to default representation - if (value.isRepresentedAsDOM()) { - Element element = value.getDOMRepresentation() - return element != null ? XmlUtil.serialize(element, false) : null - } - else { - return value.getStringRepresentation() - } - } - - @CompileStatic(TypeCheckingMode.SKIP) - static Set alignmentInfoJSON(Alignment alignment, JsonStreamBuilder json, - ServiceProvider services, ProjectInfo project, CellJsonExtension ext, - ValueRepresentation valueRep, Locale locale, SchemaSpace sourceSchemas, SchemaSpace targetSchemas) { - - Set collectedLocales = new HashSet<>() - - json { - json.export { - json.timestamp DateTimeFormatter.ISO_INSTANT.format(Instant.now()) - json.haleVersion HalePlatform.coreVersion as String - } - if (project) { - json.project { - if (project.name) { - json.name project.name - } - if (project.author) { - json.author project.author - } - if (project.haleVersion) { - json.haleVersion project.haleVersion as String - } - if (project.created) { - json.created DateTimeFormatter.ISO_INSTANT.format(project.created.toInstant()) - } - if (project.modified) { - json.modified DateTimeFormatter.ISO_INSTANT.format(project.modified.toInstant()) - } - if (project.description) { - json.description markdownToHtml(project.description) - } - } - } - if (sourceSchemas) { - sourceSchemas.schemas.each { Schema schema -> - 'sourceSchemas[]' { - AlignmentJson.schemaInfoJson(schema, json) - } - } - } - if (targetSchemas) { - targetSchemas.schemas.each { Schema schema -> - 'targetSchemas[]' { - AlignmentJson.schemaInfoJson(schema, json) - } - } - } - alignment.cells.each { Cell cell -> - 'cells[]' { - def cellLocales = AlignmentJson.cellInfoJSON(cell, json, services, ext, valueRep, locale) - if (cellLocales) { - collectedLocales.addAll(cellLocales) - } - } - } - } - - collectedLocales - } - - public static void schemaInfoJson(Schema schema, JsonStreamBuilder json) { - json { - json 'namespace', schema.namespace - if (schema.location) { - json 'location', schema.location.toString() - } - } - } - - /** - * Create a JSON representation from a cell. - */ - public static Set cellInfoJSON(Cell cell, JsonStreamBuilder json, ServiceProvider services, - CellJsonExtension ext = null, ValueRepresentation valueRep = null, Locale locale = Locale.getDefault()) { - - // collect locale content is available for - Set collectedLocales = new HashSet<>() - - // collect cell information - - // get the associated function - FunctionDefinition function = FunctionUtil.getFunction(cell - .getTransformationIdentifier(), services) - - // create JSON representation of individual cell - json { - // function name - json 'functionName', function?.displayName?:cell.transformationIdentifier - - // function ID - json 'functionId', cell.transformationIdentifier - - // if the cell is a type relation - json 'typeRelation', AlignmentUtil.isTypeCell(cell) - - // list of function parameters - if (cell.transformationParameters) { - cell.transformationParameters.entries().each { Entry entry -> - FunctionParameterDefinition paramDef = function?.getParameter(entry.key) - json 'functionParameters[]', { - // label and value - json 'paramLabel', paramDef?.displayName?:entry.key - json 'paramName', entry.key - json 'paramValue', getValueRepresentation(entry.value.intern(), valueRep) - json 'simple', !entry.value.representedAsDOM - } - } - } - else { - // fails w/o -> write empty array - json 'functionParameters', [] - } - - if (cell.source != null && !cell.source.isEmpty()) { - cell.source.entries().each { Entry entry -> - json 'sources[]', { - entityJSON(json, entry.key, entry.value, ext) - } - } - } - else { - // fails w/o -> write empty array - json 'sources', [] - } - if (cell.target != null && !cell.target.isEmpty()) { - cell.target.entries().each { Entry entry -> - json 'targets[]', { - entityJSON(json, entry.key, entry.value, ext) - } - } - } - else { - // fails w/o -> write empty array - json 'targets', [] - } - - - if (function?.explanation) { - def explLocales = function.explanation.getSupportedLocales() - if (explLocales) { - // explanations by locale - json 'explanations', { - explLocales.each { Locale explLocale -> - collectedLocales.add(explLocale) // add locale - json explLocale as String, cellExplanation(cell, function.explanation, services, explLocale) - } - } - } - else { - // simple single explanation - String explanation = cellExplanation(cell, function.explanation, services, locale) - json 'explanation', explanation - } - } - - if (ext != null) { - ext.augmentCellJson(cell, json) - } - } - - collectedLocales - } - - private static def entityJSON(JsonStreamBuilder json, String name, Entity entity, CellJsonExtension ext) { - json { - EntityDefinition ede = entity.definition - - // property path - - // type (TODO include filter) - json 'propertyPath[]', typeString(ede) - // children - ede.propertyPath.each { ChildContext context -> - json 'propertyPath[]', childString(context) - } - - // property descriptions - - // type - json 'propertyDescriptions[]', { - if (ede.type.description) { - json 'typeDescription', markdownToHtml(ede.type.description) - } - } - // children - ede.propertyPath.each { ChildContext context -> - json 'propertyDescriptions[]', { - if (context.child.asProperty()) { - // property type - json 'propertyType', context.child.asProperty().propertyType.displayName - } - // cardinality - Cardinality card = DefinitionUtil.getCardinality(context.child) - json 'propertyCardinality', card as String - // description - if (context.child.description) { - json 'propertyDescription', markdownToHtml(context.child.description) - } - } - } - - // short name - json 'shortName', ede.definition.displayName - - if (ext != null) { - ext.augmentEntityJson(entity, name, json) - } - } - } - - /** - * Creates a string representation of the base type in an entity definition. - * - * @param ede the entity definition - * @return the type string representation including a potential filter - */ - private static String typeString(EntityDefinition ede) { - if (ede.filter) { - ede.type.displayName + ' (' + FilterDefinitionManager.getInstance().asString(ede.filter) + ')' - } - else { - ede.type.displayName - } - } - - /** - * Create a string representation of a specific child context in an entity definition. - * - * @param context the child context - * @return the child string representation including context information - */ - private static String childString(ChildContext context) { - StringBuilder result = new StringBuilder(context.child.displayName) - - if (context.condition && context.condition.filter) { - result << ' (' - result << FilterDefinitionManager.getInstance().asString(context.condition.filter) - result << ')' - } - else if (context.index) { - result << "[${context.index}]" - } - else if (context.contextName) { - return '(' + result << ')' - } - - result - } - - /** - * Convert markdown (pegdown) to HTML. - * - * @param text the markdown - * @return the processed markdown as HTML - */ - @CompileStatic(TypeCheckingMode.SKIP) - public static String markdownToHtml(String text) { - DataHolder OPTIONS = PegdownOptionsAdapter.flexmarkOptions(true, - Extensions.AUTOLINKS | - Extensions.SUPPRESS_ALL_HTML | - Extensions.HARDWRAPS | - Extensions.SMARTYPANTS | - Extensions.TABLES | - Extensions.FENCED_CODE_BLOCKS | - Extensions.STRIKETHROUGH | - Extensions.DEFINITIONS) - - Parser PARSER = Parser.builder(OPTIONS).build() - HtmlRenderer RENDERER = HtmlRenderer.builder(OPTIONS).build() - - return RENDERER.render(PARSER.parse(text)) - } -} diff --git a/io/plugins/eu.esdihumboldt.hale.io.html.svg/src/eu/esdihumboldt/hale/io/html/svg/mapping/json/CellJsonExtension.java b/io/plugins/eu.esdihumboldt.hale.io.html.svg/src/eu/esdihumboldt/hale/io/html/svg/mapping/json/CellJsonExtension.java deleted file mode 100644 index 2df4fc3129..0000000000 --- a/io/plugins/eu.esdihumboldt.hale.io.html.svg/src/eu/esdihumboldt/hale/io/html/svg/mapping/json/CellJsonExtension.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (c) 2014 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.io.html.svg.mapping.json; - -import eu.esdihumboldt.hale.common.align.model.Cell; -import eu.esdihumboldt.hale.common.align.model.Entity; -import eu.esdihumboldt.util.groovy.json.JsonStreamBuilder; - -/** - * Implementations can extend the Json generated for a alignment cell. - * - * @author Simon Templer - */ -public interface CellJsonExtension { - - /** - * Augment the Json generated for a cell. - * - * @param cell the cell the Json representation is generated for - * @param json the Json builder - */ - void augmentCellJson(Cell cell, JsonStreamBuilder json); - - /** - * Augment the Json generated for an entity. - * - * @param entity the entity the Json representation is generated for - * @param name the name of the entity in context of the alignment cell - * @param json the Json builder - */ - void augmentEntityJson(Entity entity, String name, JsonStreamBuilder json); - -} diff --git a/io/plugins/eu.esdihumboldt.hale.io.html.svg/src/eu/esdihumboldt/hale/io/html/svg/mapping/json/ExtendedCellRepresentation.groovy b/io/plugins/eu.esdihumboldt.hale.io.html.svg/src/eu/esdihumboldt/hale/io/html/svg/mapping/json/ExtendedCellRepresentation.groovy deleted file mode 100644 index 13afd52d7b..0000000000 --- a/io/plugins/eu.esdihumboldt.hale.io.html.svg/src/eu/esdihumboldt/hale/io/html/svg/mapping/json/ExtendedCellRepresentation.groovy +++ /dev/null @@ -1,129 +0,0 @@ -/* - * Copyright (c) 2016 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.io.html.svg.mapping.json - -import com.google.common.collect.HashMultimap -import com.google.common.collect.Multimap - -import eu.esdihumboldt.hale.common.align.extension.function.FunctionDefinition -import eu.esdihumboldt.hale.common.align.extension.function.FunctionUtil -import eu.esdihumboldt.hale.common.align.io.impl.internal.EntityDefinitionToJaxb -import eu.esdihumboldt.hale.common.align.io.impl.internal.generated.ClassType -import eu.esdihumboldt.hale.common.align.model.Alignment -import eu.esdihumboldt.hale.common.align.model.AlignmentUtil -import eu.esdihumboldt.hale.common.align.model.Cell -import eu.esdihumboldt.hale.common.align.model.CellUtil -import eu.esdihumboldt.hale.common.align.model.Entity -import eu.esdihumboldt.hale.common.align.model.EntityDefinition -import eu.esdihumboldt.hale.common.align.model.Priority -import eu.esdihumboldt.hale.common.align.model.impl.PropertyEntityDefinition -import eu.esdihumboldt.hale.common.align.model.impl.TypeEntityDefinition -import eu.esdihumboldt.hale.common.core.service.ServiceProvider -import eu.esdihumboldt.util.groovy.json.JsonStreamBuilder -import groovy.transform.CompileStatic - - -/** - * Extended cell JSON representation. - * - * @author Simon Templer - */ -@SuppressWarnings("restriction") -@CompileStatic -class ExtendedCellRepresentation implements CellJsonExtension { - - private final Multimap parentIds = HashMultimap.create() - - private final ServiceProvider serviceProvider - - private final JaxbAlignmentJson jaxbJson = new JaxbAlignmentJson() - - ExtendedCellRepresentation(Alignment alignment, ServiceProvider serviceProvider) { - this.serviceProvider = serviceProvider - - // collect parent cells of property cells - def typeCells = (Collection) alignment.getTypeCells() // Groovy CompileStatic can't deal properly with ? extends ... - typeCells.each { Cell typeCell -> - def propertyCells = (Collection) alignment.getPropertyCells(typeCell, true, false) // Groovy CompileStatic can't deal properly with ? extends ... - propertyCells.each { Cell propertyCell -> - parentIds.put(propertyCell.getId(), typeCell.getId()) - } - } - } - - @Override - public void augmentCellJson(Cell cell, JsonStreamBuilder json) { - // cell identifier - json 'cellId', cell.getId() - - // parents - parentIds.get(cell.getId()).each { String parentId -> - json 'parentCells', true, parentId - } - - // disabled - cell.getDisabledFor().each { String cellId -> - json 'disabledFor', true, cellId - } - - // transformation mode - if (AlignmentUtil.isTypeCell(cell)) { - json 'mode', cell.getTransformationMode().name() - } - - String notes = CellUtil.getNotes(cell) - if (notes) { - json 'notes', AlignmentJson.markdownToHtml(notes) - } - - def priority = cell.priority - if (priority != null) { - json 'priority', priority.value() - } - else { - json 'priority', Priority.NORMAL - } - - FunctionDefinition function = FunctionUtil.getFunction(cell.transformationIdentifier, serviceProvider) - - // state if any parameters are supported / defined - json 'configurable', (function?.definedParameters) as boolean - } - - @Override - public void augmentEntityJson(Entity entity, String name, - JsonStreamBuilder json) { - /* - * Information provided for an entity is not sufficient and not in the - * correct form to be able to identify an entity. Thus the entity - * representation is provided in addition. - */ - - EntityDefinition entityDef = entity.definition - ClassType xentity - if (entityDef instanceof PropertyEntityDefinition) { - xentity = EntityDefinitionToJaxb.convert(entityDef).value - } - else if (entityDef instanceof TypeEntityDefinition) { - xentity = EntityDefinitionToJaxb.convert(entityDef).value - } - - json 'entity', { - jaxbJson.writeEntity(json, xentity) - } - } - -} diff --git a/io/plugins/eu.esdihumboldt.hale.io.html.svg/src/eu/esdihumboldt/hale/io/html/svg/mapping/json/JaxbAlignmentJson.groovy b/io/plugins/eu.esdihumboldt.hale.io.html.svg/src/eu/esdihumboldt/hale/io/html/svg/mapping/json/JaxbAlignmentJson.groovy deleted file mode 100644 index e7093ba977..0000000000 --- a/io/plugins/eu.esdihumboldt.hale.io.html.svg/src/eu/esdihumboldt/hale/io/html/svg/mapping/json/JaxbAlignmentJson.groovy +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Copyright (c) 2016 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.io.html.svg.mapping.json - -import eu.esdihumboldt.hale.common.align.io.impl.internal.generated.ChildContextType -import eu.esdihumboldt.hale.common.align.io.impl.internal.generated.ClassType -import eu.esdihumboldt.hale.common.align.io.impl.internal.generated.ConditionType -import eu.esdihumboldt.hale.common.align.io.impl.internal.generated.NamedEntityType -import eu.esdihumboldt.hale.common.align.io.impl.internal.generated.ObjectFactory -import eu.esdihumboldt.hale.common.align.io.impl.internal.generated.PropertyType -import eu.esdihumboldt.util.groovy.json.JsonStreamBuilder -import groovy.transform.CompileStatic - -/** - * JSON format for Alignment based on the JAXB model types. - * The JAXB model types are used as a basis because they may be used - * independent of if a loaded schema is present (it is linked to - * schema definitions only via name references). - * - * Therefore must be updated/adapted to changes to the HALE Alignment schema. - * - * Implemented to be as close as possible to the format for cells in the - * mapping documentation and the schema JSON representation. - * - * Previous attempts to use the JAXB bindings with Jackson or serializing to - * JSON using EclipseLink MOXy did not prove to the usable in this case. - * (No support for JAXBElement in one case, duplicate property names in the - * other) - */ -@CompileStatic -class JaxbAlignmentJson { - - private static def of = new ObjectFactory() - - private static final String CD_LANGUAGE = 'lang' - private static final String CD_LANGUAGE_DEF = 'CQL' - private static final String CD_EXPRESSION = 'expression' - - void writeCondition(JsonStreamBuilder json, ConditionType condition) { - json { - json CD_LANGUAGE, condition.lang ?: CD_LANGUAGE_DEF - json CD_EXPRESSION, condition.value - } - } - - private static final String QN_NAME = 'localName' - private static final String QN_NAMESPACE = 'namespace' - private static final String ENTITY_CONDITION = 'condition' - - void writeType(JsonStreamBuilder json, ClassType.Type type) { - json { - json QN_NAME, type.name - json QN_NAMESPACE, type.ns - if (type.condition) { - json ENTITY_CONDITION, { - writeCondition(json, type.condition) - } - } - } - } - - private static final String ENTITY_CONTEXT = 'context' - private static final String ENTITY_INDEX = 'index' - - void writeChildContext(JsonStreamBuilder json, ChildContextType childContext) { - json { - json QN_NAME, childContext.name - json QN_NAMESPACE, childContext.ns - if (childContext.condition) { - json ENTITY_CONDITION, { - writeCondition(json, childContext.condition) - } - } - if (childContext.context != null) { - json ENTITY_CONTEXT, childContext.context - } - if (childContext.index != null) { - json ENTITY_INDEX, childContext.index - } - } - } - - private static final String ENTITY_TYPE = 'type' - private static final String ENTITY_PATH = 'path' - - void writeEntity(JsonStreamBuilder json, ClassType entity) { - json { - if (entity instanceof PropertyType) { - json ENTITY_TYPE, { - writeType(json, entity.type) - } - entity.child.each { child -> - json ENTITY_PATH, true, { writeChildContext(json, child) } - } - } - else { - json ENTITY_TYPE, { - writeType(json, entity.type) - } - } - } - } - - private static final String ENTITY_NAME = "name" - private static final String ENTITY_CLASS = "class" - private static final String ENTITY_PROPERTY = "property" - - void writeNamedEntity(JsonStreamBuilder json, NamedEntityType namedEntity) { - boolean isProperty = namedEntity.abstractEntity?.value instanceof PropertyType - ClassType entity - if (namedEntity.abstractEntity?.value) { - entity = namedEntity.abstractEntity.value as ClassType - } - - json { - json ENTITY_NAME, namedEntity.name - if (isProperty) { - json ENTITY_PROPERTY, { writeEntity(json, entity) } - } - else { - json ENTITY_CLASS, { writeEntity(json, entity) } - } - } - } -} diff --git a/io/plugins/eu.esdihumboldt.hale.io.html.svg/src/eu/esdihumboldt/hale/io/html/svg/mapping/json/JsonMappingExporter.groovy b/io/plugins/eu.esdihumboldt.hale.io.html.svg/src/eu/esdihumboldt/hale/io/html/svg/mapping/json/JsonMappingExporter.groovy deleted file mode 100644 index 717405aab1..0000000000 --- a/io/plugins/eu.esdihumboldt.hale.io.html.svg/src/eu/esdihumboldt/hale/io/html/svg/mapping/json/JsonMappingExporter.groovy +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (c) 2014 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.io.html.svg.mapping.json; - -import java.nio.charset.StandardCharsets - -import eu.esdihumboldt.hale.common.align.io.impl.AbstractAlignmentWriter -import eu.esdihumboldt.hale.common.core.io.IOProviderConfigurationException -import eu.esdihumboldt.hale.common.core.io.ProgressIndicator -import eu.esdihumboldt.hale.common.core.io.report.IOReport -import eu.esdihumboldt.hale.common.core.io.report.IOReporter -import eu.esdihumboldt.hale.common.core.io.report.impl.IOMessageImpl -import eu.esdihumboldt.util.groovy.json.JsonStreamBuilder -import groovy.transform.CompileStatic - -/** - * Exports an alignment to a JSON representation. - * - * @author Simon Templer - */ -@CompileStatic -class JsonMappingExporter extends AbstractAlignmentWriter { - - @Override - boolean isCancelable() { - false - } - - @Override - protected IOReport execute(ProgressIndicator progress, IOReporter reporter) - throws IOProviderConfigurationException, IOException { - progress.begin('Generate JSON representation', ProgressIndicator.UNKNOWN) - - CellJsonExtension ext = new ExtendedCellRepresentation(alignment, serviceProvider) - ValueRepresentation rep = new JsonValueRepresentation() - - try { - new OutputStreamWriter(getTarget().getOutput(), StandardCharsets.UTF_8).withWriter { out -> - JsonStreamBuilder json = new JsonStreamBuilder(out, true) - AlignmentJson.alignmentInfoJSON(alignment, json, serviceProvider, - projectInfo, ext, rep, Locale.getDefault(), getSourceSchema(), getTargetSchema()) - - reporter.setSuccess(true) - } - } catch (Exception e) { - reporter.error(new IOMessageImpl('Error creating JSON representation of alignment', e)) - reporter.setSuccess(false) - } finally { - progress.end() - } - - reporter - } - - @Override - protected String getDefaultTypeName() { - 'JSON Alignment' - } -} diff --git a/io/plugins/eu.esdihumboldt.hale.io.html.svg/src/eu/esdihumboldt/hale/io/html/svg/mapping/json/JsonValueRepresentation.java b/io/plugins/eu.esdihumboldt.hale.io.html.svg/src/eu/esdihumboldt/hale/io/html/svg/mapping/json/JsonValueRepresentation.java deleted file mode 100644 index 0d7bee7484..0000000000 --- a/io/plugins/eu.esdihumboldt.hale.io.html.svg/src/eu/esdihumboldt/hale/io/html/svg/mapping/json/JsonValueRepresentation.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright (c) 2016 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.io.html.svg.mapping.json; - -import java.io.StringReader; -import java.io.StringWriter; - -import org.w3c.dom.Element; - -import de.fhg.igd.slf4jplus.ALogger; -import de.fhg.igd.slf4jplus.ALoggerFactory; -import eu.esdihumboldt.hale.common.core.io.Value; -import eu.esdihumboldt.hale.common.core.io.extension.ComplexValueDefinition; -import eu.esdihumboldt.hale.common.core.io.extension.ComplexValueExtension; -import eu.esdihumboldt.util.xml.XmlUtil; -import groovy.json.JsonSlurper; - -/** - * Value representation as JSON. - * - * When making changes, make sure it is consistent with AlignmentFormat. - */ -public class JsonValueRepresentation implements ValueRepresentation { - - private static final ALogger log = ALoggerFactory.getLogger(JsonValueRepresentation.class); - - @Override - public Object getValueRepresentation(Value value) { - if (value == null) { - return null; - } - - if (value.isRepresentedAsDOM()) { - // try conversion using complex value mechanism - Object intern = value.getValue(); - if (intern == null) { - return null; - } - ComplexValueDefinition cdv = ComplexValueExtension.getInstance() - .getDefinition(intern.getClass()); - if (cdv != null && cdv.getJsonConverter() != null) { - return cdv.getJsonConverter().toJson(intern); - } - - // fall-back to generic XML-JSON conversion - Element element = value.getDOMRepresentation(); - if (element == null) { - return null; - } - else { - String json = null; - try { - String xmlString = XmlUtil.serialize(element, false); - try (StringReader xmlReader = new StringReader(xmlString); - StringWriter jsonWriter = new StringWriter()) { - JsonXML.toJson(xmlReader, jsonWriter); - json = jsonWriter.toString(); - } - } catch (Exception e) { - log.error("Failed to created JSON representation of value", e); - return null; - } - - Object res = new JsonSlurper().parseText(json); - return res; - } - } - else { - return value.getStringRepresentation(); - } - } - -} diff --git a/io/plugins/eu.esdihumboldt.hale.io.html.svg/src/eu/esdihumboldt/hale/io/html/svg/mapping/json/JsonXML.java b/io/plugins/eu.esdihumboldt.hale.io.html.svg/src/eu/esdihumboldt/hale/io/html/svg/mapping/json/JsonXML.java deleted file mode 100644 index d967313865..0000000000 --- a/io/plugins/eu.esdihumboldt.hale.io.html.svg/src/eu/esdihumboldt/hale/io/html/svg/mapping/json/JsonXML.java +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Copyright (c) 2016 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.io.html.svg.mapping.json; - -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.Reader; -import java.io.StringWriter; -import java.io.Writer; -import java.nio.charset.StandardCharsets; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.stream.FactoryConfigurationError; -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLOutputFactory; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; -import javax.xml.stream.XMLStreamWriter; -import javax.xml.transform.Result; -import javax.xml.transform.Source; -import javax.xml.transform.TransformerConfigurationException; -import javax.xml.transform.TransformerException; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.TransformerFactoryConfigurationError; -import javax.xml.transform.stax.StAXResult; -import javax.xml.transform.stax.StAXSource; - -import org.w3c.dom.Document; -import org.xml.sax.SAXException; - -import de.odysseus.staxon.json.JsonXMLConfig; -import de.odysseus.staxon.json.JsonXMLConfigBuilder; -import de.odysseus.staxon.json.JsonXMLInputFactory; -import de.odysseus.staxon.json.JsonXMLOutputFactory; -import de.odysseus.staxon.json.stream.impl.JsonStreamFactoryImpl; -import de.odysseus.staxon.xml.util.PrettyXMLStreamWriter; - -@SuppressWarnings("javadoc") -public class JsonXML { - - public static void toJson(Reader xmlReader, Writer jsonWriter) - throws XMLStreamException, FactoryConfigurationError, TransformerConfigurationException, - TransformerException, TransformerFactoryConfigurationError { - /* - * If we want to insert JSON array boundaries for multiple elements, we - * need to set the autoArray property. If our XML source - * was decorated with <?xml-multiple?> processing - * instructions, we'd set the multiplePI property instead. - * With the autoPrimitive property set, element text gets - * automatically converted to JSON primitives (number, boolean, null). - */ - JsonXMLConfig config = new JsonXMLConfigBuilder().namespaceDeclarations(true) - .autoArray(true).autoPrimitive(true).prettyPrint(false).build(); - /* - * Create source (XML). - */ - XMLStreamReader reader = XMLInputFactory.newInstance().createXMLStreamReader(xmlReader); - Source source = new StAXSource(reader); - - /* - * Create result (JSON). - */ - // create stream factory manually due to class loading issues - XMLStreamWriter writer = new JsonXMLOutputFactory(config, new JsonStreamFactoryImpl()) - .createXMLStreamWriter(jsonWriter); - Result result = new StAXResult(writer); - - /* - * Copy source to result via "identity transform". - */ - TransformerFactory.newInstance().newTransformer().transform(source, result); - } - - public static void toXML(Reader jsonReader, Writer xmlWriter) - throws XMLStreamException, FactoryConfigurationError, TransformerConfigurationException, - TransformerException, TransformerFactoryConfigurationError { - /* - * If the multiplePI property is set to true, - * the StAXON reader will generate <xml-multiple> - * processing instructions which would be copied to the XML output. - * These can be used by StAXON when converting back to JSON to trigger - * array starts. Set to false if you don't need to go back - * to JSON. - */ - JsonXMLConfig config = new JsonXMLConfigBuilder().multiplePI(false).build(); - /* - * Create source (JSON). - */ - XMLStreamReader reader = new JsonXMLInputFactory(config, new JsonStreamFactoryImpl()) - .createXMLStreamReader(jsonReader); - Source source = new StAXSource(reader); - - /* - * Create result (XML). - */ - XMLStreamWriter writer = XMLOutputFactory.newInstance().createXMLStreamWriter(xmlWriter); - Result result = new StAXResult(new PrettyXMLStreamWriter(writer)); // format - // output - - /* - * Copy source to result via "identity transform". - */ - TransformerFactory.newInstance().newTransformer().transform(source, result); - } - - public static Document toDOM(Reader jsonReader) - throws XMLStreamException, FactoryConfigurationError, TransformerConfigurationException, - TransformerException, TransformerFactoryConfigurationError, - ParserConfigurationException, IOException, SAXException { - /* - * Sadly not working like this - we get a NullPointerException because - * during the transformation setXmlVersion is called with null - */ -// JsonXMLConfig config = new JsonXMLConfigBuilder().multiplePI(false).build(); -// // Create source (JSON). -// XMLStreamReader reader = new JsonXMLInputFactory(config, new JsonStreamFactoryImpl()).createXMLStreamReader(jsonReader); -// Source source = new StAXSource(reader); -// // Create result (DOM). -// DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); -// Document doc = builder.newDocument(); -// Result result = new DOMResult(doc); -// // Copy source to result via "identity transform". -// TransformerFactory.newInstance().newTransformer().transform(source, result); -// return doc; - - // XXX instead use the less tidy way via a string... - StringWriter xmlWriter = new StringWriter(); - try { - toXML(jsonReader, xmlWriter); - } finally { - xmlWriter.close(); - } - // parse the document from the string - String xmlString = xmlWriter.toString(); - DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); - try (ByteArrayInputStream in = new ByteArrayInputStream( - xmlString.getBytes(StandardCharsets.UTF_8))) { - return builder.parse(in); - } - } - -} \ No newline at end of file diff --git a/io/plugins/eu.esdihumboldt.hale.io.html.svg/src/eu/esdihumboldt/hale/io/html/svg/mapping/json/ValueRepresentation.java b/io/plugins/eu.esdihumboldt.hale.io.html.svg/src/eu/esdihumboldt/hale/io/html/svg/mapping/json/ValueRepresentation.java deleted file mode 100644 index 434ba87e2c..0000000000 --- a/io/plugins/eu.esdihumboldt.hale.io.html.svg/src/eu/esdihumboldt/hale/io/html/svg/mapping/json/ValueRepresentation.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (c) 2014 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.io.html.svg.mapping.json; - -import eu.esdihumboldt.hale.common.core.io.Value; -import groovy.json.JsonOutput; - -/** - * Representation of {@link Value}s as Json values. - * - * @author Simon Templer - */ -public interface ValueRepresentation { - - /** - * Get the representation of the given value. - * - * @param value the value to convert - * @return anything {@link JsonOutput}.toJson can handle, e.g. a String - */ - Object getValueRepresentation(Value value); - -} diff --git a/io/plugins/eu.esdihumboldt.hale.io.html.svg/src/eu/esdihumboldt/hale/io/html/svg/mapping/mapping.html b/io/plugins/eu.esdihumboldt.hale.io.html.svg/src/eu/esdihumboldt/hale/io/html/svg/mapping/mapping.html deleted file mode 100644 index f68b73c44c..0000000000 --- a/io/plugins/eu.esdihumboldt.hale.io.html.svg/src/eu/esdihumboldt/hale/io/html/svg/mapping/mapping.html +++ /dev/null @@ -1,24 +0,0 @@ - - - - - $title - - - - - - - -
- -
- - diff --git a/util/plugins/eu.esdihumboldt.util.groovy.sandbox/.classpath b/util/plugins/eu.esdihumboldt.util.groovy.sandbox/.classpath deleted file mode 100644 index 81fe078c20..0000000000 --- a/util/plugins/eu.esdihumboldt.util.groovy.sandbox/.classpath +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/util/plugins/eu.esdihumboldt.util.groovy.sandbox/.project b/util/plugins/eu.esdihumboldt.util.groovy.sandbox/.project deleted file mode 100644 index ae429fa257..0000000000 --- a/util/plugins/eu.esdihumboldt.util.groovy.sandbox/.project +++ /dev/null @@ -1,28 +0,0 @@ - - - eu.esdihumboldt.util.groovy.sandbox - - - - - - 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/util/plugins/eu.esdihumboldt.util.groovy.sandbox/.settings/edu.umd.cs.findbugs.core.prefs b/util/plugins/eu.esdihumboldt.util.groovy.sandbox/.settings/edu.umd.cs.findbugs.core.prefs deleted file mode 100644 index c04ea19b02..0000000000 --- a/util/plugins/eu.esdihumboldt.util.groovy.sandbox/.settings/edu.umd.cs.findbugs.core.prefs +++ /dev/null @@ -1,132 +0,0 @@ -#Updated from default preferences Apr 11, 2014 12:49:53 PM -#Fri Apr 11 12:49:53 CEST 2014 -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/util/plugins/eu.esdihumboldt.util.groovy.sandbox/.settings/org.eclipse.core.resources.prefs b/util/plugins/eu.esdihumboldt.util.groovy.sandbox/.settings/org.eclipse.core.resources.prefs deleted file mode 100644 index 981a628275..0000000000 --- a/util/plugins/eu.esdihumboldt.util.groovy.sandbox/.settings/org.eclipse.core.resources.prefs +++ /dev/null @@ -1,4 +0,0 @@ -#Created from default preferences 19.02.2014 18:10:23 -#Wed Feb 19 18:10:23 CET 2014 -eclipse.preferences.version=1 -encoding/=UTF-8 diff --git a/util/plugins/eu.esdihumboldt.util.groovy.sandbox/.settings/org.eclipse.jdt.core.prefs b/util/plugins/eu.esdihumboldt.util.groovy.sandbox/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index f27049f484..0000000000 --- a/util/plugins/eu.esdihumboldt.util.groovy.sandbox/.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/util/plugins/eu.esdihumboldt.util.groovy.sandbox/.settings/org.eclipse.jdt.groovy.core.prefs b/util/plugins/eu.esdihumboldt.util.groovy.sandbox/.settings/org.eclipse.jdt.groovy.core.prefs deleted file mode 100644 index a7489239bd..0000000000 --- a/util/plugins/eu.esdihumboldt.util.groovy.sandbox/.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/util/plugins/eu.esdihumboldt.util.groovy.sandbox/.settings/org.eclipse.jdt.launching.prefs b/util/plugins/eu.esdihumboldt.util.groovy.sandbox/.settings/org.eclipse.jdt.launching.prefs deleted file mode 100644 index a5d2fa3523..0000000000 --- a/util/plugins/eu.esdihumboldt.util.groovy.sandbox/.settings/org.eclipse.jdt.launching.prefs +++ /dev/null @@ -1,4 +0,0 @@ -#Created from default preferences 19.02.2014 18:10:23 -#Wed Feb 19 18:10:23 CET 2014 -eclipse.preferences.version=1 -org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore diff --git a/util/plugins/eu.esdihumboldt.util.groovy.sandbox/.settings/org.eclipse.jdt.ui.prefs b/util/plugins/eu.esdihumboldt.util.groovy.sandbox/.settings/org.eclipse.jdt.ui.prefs deleted file mode 100644 index 2f62d8400a..0000000000 --- a/util/plugins/eu.esdihumboldt.util.groovy.sandbox/.settings/org.eclipse.jdt.ui.prefs +++ /dev/null @@ -1,64 +0,0 @@ -#Updated from default preferences Jul 9, 2016 10:07:17 AM -#Sat Jul 09 10:07:17 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= -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/util/plugins/eu.esdihumboldt.util.groovy.sandbox/.settings/org.eclipse.pde.core.prefs b/util/plugins/eu.esdihumboldt.util.groovy.sandbox/.settings/org.eclipse.pde.core.prefs deleted file mode 100644 index 3230d0d1d7..0000000000 --- a/util/plugins/eu.esdihumboldt.util.groovy.sandbox/.settings/org.eclipse.pde.core.prefs +++ /dev/null @@ -1,4 +0,0 @@ -#Created from default preferences 19.02.2014 18:10:23 -#Wed Feb 19 18:10:23 CET 2014 -eclipse.preferences.version=1 -resolve.requirebundle=false diff --git a/util/plugins/eu.esdihumboldt.util.groovy.sandbox/.settings/org.eclipse.pde.prefs b/util/plugins/eu.esdihumboldt.util.groovy.sandbox/.settings/org.eclipse.pde.prefs deleted file mode 100644 index fae5965fb0..0000000000 --- a/util/plugins/eu.esdihumboldt.util.groovy.sandbox/.settings/org.eclipse.pde.prefs +++ /dev/null @@ -1,36 +0,0 @@ -#Created from default preferences Jul 25, 2018 1:58:36 PM -#Wed Jul 25 13:58:36 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/util/plugins/eu.esdihumboldt.util.groovy.sandbox/META-INF/MANIFEST.MF b/util/plugins/eu.esdihumboldt.util.groovy.sandbox/META-INF/MANIFEST.MF deleted file mode 100644 index 2ee3eb1a6b..0000000000 --- a/util/plugins/eu.esdihumboldt.util.groovy.sandbox/META-INF/MANIFEST.MF +++ /dev/null @@ -1,14 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: Groovy Sandbox -Bundle-SymbolicName: eu.esdihumboldt.util.groovy.sandbox;singleton:=true -Bundle-Version: 5.4.0.qualifier -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Require-Bundle: groovy;bundle-version="2.5.19", - org.kohsuke.groovy.sandbox;bundle-version="1.5.0" -Export-Package: eu.esdihumboldt.util.groovy.sandbox, - eu.esdihumboldt.util.groovy.sandbox.internal;x-internal:=true -Import-Package: de.fhg.igd.eclipse.util.extension, - javax.annotation;version="[1.2.0,1.2.0]", - org.eclipse.core.runtime;version="3.4.0" -Automatic-Module-Name: eu.esdihumboldt.util.groovy.sandbox diff --git a/util/plugins/eu.esdihumboldt.util.groovy.sandbox/build.properties b/util/plugins/eu.esdihumboldt.util.groovy.sandbox/build.properties deleted file mode 100644 index e9863e281e..0000000000 --- a/util/plugins/eu.esdihumboldt.util.groovy.sandbox/build.properties +++ /dev/null @@ -1,5 +0,0 @@ -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - .,\ - plugin.xml diff --git a/util/plugins/eu.esdihumboldt.util.groovy.sandbox/plugin.xml b/util/plugins/eu.esdihumboldt.util.groovy.sandbox/plugin.xml deleted file mode 100644 index 64c1c129ef..0000000000 --- a/util/plugins/eu.esdihumboldt.util.groovy.sandbox/plugin.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/util/plugins/eu.esdihumboldt.util.groovy.sandbox/schema/eu.esdihumboldt.util.groovy.sandbox.exsd b/util/plugins/eu.esdihumboldt.util.groovy.sandbox/schema/eu.esdihumboldt.util.groovy.sandbox.exsd deleted file mode 100644 index 7d5a099a9d..0000000000 --- a/util/plugins/eu.esdihumboldt.util.groovy.sandbox/schema/eu.esdihumboldt.util.groovy.sandbox.exsd +++ /dev/null @@ -1,168 +0,0 @@ - - - - - - - - - [Enter description of this extension point.] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Allows the use of a class. Nested classes are allowed, too. - - - - - - - The class which is allowed to use. - - - - - - - - - - Whether all calls to the class are allowed or (default) only calls to declared methods. -This should only be set to true for Groovy-classes which actually accept all method calls. - - - - - - - - - - Allow the use of all classes in a package. - - - - - - - The package name whose classes are allowed to use. - - - - - - - Whether classes in child-packages are allowed, too. Default is "true". - - - - - - - - - - Specifies a class to import into Groovy scripts by default. Allows specifying an alias. - - - - - - - The alias for the import. - - - - - - - The class to import. - - - - - - - - - - - - - - - [Enter the first release in which this extension point appears.] - - - - - - - - - [Enter extension point usage example here.] - - - - - - - - - [Enter API information here.] - - - - - - - - - [Enter information about supplied implementation of this extension point.] - - - - - diff --git a/util/plugins/eu.esdihumboldt.util.groovy.sandbox/src/eu/esdihumboldt/util/groovy/sandbox/DefaultGroovyService.java b/util/plugins/eu.esdihumboldt.util.groovy.sandbox/src/eu/esdihumboldt/util/groovy/sandbox/DefaultGroovyService.java deleted file mode 100644 index 1e3f2bf783..0000000000 --- a/util/plugins/eu.esdihumboldt.util.groovy.sandbox/src/eu/esdihumboldt/util/groovy/sandbox/DefaultGroovyService.java +++ /dev/null @@ -1,235 +0,0 @@ -package eu.esdihumboldt.util.groovy.sandbox; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import java.util.concurrent.CopyOnWriteArraySet; -import java.util.regex.Pattern; - -import javax.annotation.Nullable; - -import org.codehaus.groovy.control.CompilerConfiguration; -import org.codehaus.groovy.control.customizers.ImportCustomizer; -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.runtime.Platform; -import org.kohsuke.groovy.sandbox.SandboxTransformer; - -import de.fhg.igd.eclipse.util.extension.ExtensionUtil; -import eu.esdihumboldt.util.groovy.sandbox.internal.RestrictiveGroovyInterceptor; -import eu.esdihumboldt.util.groovy.sandbox.internal.RestrictiveGroovyInterceptor.AllowedPrefix; -import eu.esdihumboldt.util.groovy.sandbox.internal.SecureScript; -import groovy.lang.Binding; -import groovy.lang.GroovyShell; -import groovy.lang.Script; - -/** - * Default implementation of the {@link GroovyService} interface. - * - * @author Kai Schwierczek - */ -public class DefaultGroovyService implements GroovyService { - - /** - * Extension point ID. - */ - private static final String ID = "eu.esdihumboldt.util.groovy.sandbox"; - - private static final Pattern JTS_OLD_BASE_PACKAGE = Pattern - .compile("com\\.vividsolutions\\.jts"); - - private final CopyOnWriteArraySet listeners = new CopyOnWriteArraySet(); - - private boolean restrictionActive = true; - private final RestrictiveGroovyInterceptor interceptor; - - /** - * Constructs a new groovy sandbox service. Use - * eu.esdihumboldt.util.groovy.sandbox extension point for configuration - * options. - */ - public DefaultGroovyService() { - interceptor = createInterceptorFromExtensions(); - } - - /** - * @return the Groovy interceptor configured with the allowed classes from - * the extension point. - */ - public static RestrictiveGroovyInterceptor createInterceptorFromExtensions() { - Set> additionalAllowedClasses = new HashSet<>(); - Set> additionalAllAllowedClasses = new HashSet<>(); - List additionalAllowedPackages = new ArrayList<>(); - - for (IConfigurationElement conf : Platform.getExtensionRegistry() - .getConfigurationElementsFor(ID)) { - if (conf.getName().equals("allow")) { - boolean allowAll = Boolean.parseBoolean(conf.getAttribute("allowAll")); - Class allowedClass = ExtensionUtil.loadClass(conf, "class"); - if (allowAll) - additionalAllAllowedClasses.add(allowedClass); - else - additionalAllowedClasses.add(allowedClass); - } - if (conf.getName().equals("allowPackage")) { - boolean allowChildren = Boolean.parseBoolean(conf.getAttribute("allowChildren")); - String packageName = conf.getAttribute("name"); - additionalAllowedPackages.add(new AllowedPrefix(packageName, allowChildren)); - } - } - return new RestrictiveGroovyInterceptor(additionalAllowedClasses, - additionalAllAllowedClasses, additionalAllowedPackages); - } - - @Override - public GroovyShell createShell(Binding binding) { - // TODO use a specific classloader? - CompilerConfiguration cc = new CompilerConfiguration(); - - // enable invoke dynamic support - cc.getOptimizationOptions().put(CompilerConfiguration.INVOKEDYNAMIC, true); - - // add pre-defined imports - ImportCustomizer importCustomizer = new ImportCustomizer(); - - // add extension-defined imports - configureImportsFromExtensions(importCustomizer); - - cc.addCompilationCustomizers(importCustomizer); - - /* - * Disable handling Groovy Grape annotations. - * - * This mainly serves the purpose to allow external Groovy snippets to - * use Grapes, but have them disabled when imported into hale. - * - * If at some point we support Grapes within hale studio, we will want - * to change this behavior. Then we will need to think about how we can - * deal with conflicts on the classpath. - */ - if (cc.getDisabledGlobalASTTransformations() == null) { - cc.setDisabledGlobalASTTransformations(new HashSet()); - } - cc.getDisabledGlobalASTTransformations().add("groovy.grape.GrabAnnotationTransformation"); - - if (isRestrictionActive()) { - // configure restriction - cc.addCompilationCustomizers(new SandboxTransformer()); - cc.setScriptBaseClass(SecureScript.class.getName()); - } - - if (binding != null) - return new GroovyShell(binding, cc); - else - return new GroovyShell(cc); - } - - /** - * Add imports defined as extensions. - * - * @param importCustomizer the import customizer - */ - private static void configureImportsFromExtensions(ImportCustomizer importCustomizer) { - for (IConfigurationElement conf : Platform.getExtensionRegistry() - .getConfigurationElementsFor(ID)) { - if (conf.getName().equals("import")) { - String className = conf.getAttribute("class"); - String alias = conf.getAttribute("alias"); - - if (className != null && !className.isEmpty()) { - if (alias == null || alias.isEmpty()) { - int lastDotIndex = className.lastIndexOf('.'); - if (lastDotIndex >= 0) { - if (lastDotIndex < className.length() - 1) { - alias = className.substring(lastDotIndex + 1); - } - else { - alias = null; - } - } - else { - alias = className; - } - } - - if (alias != null) { - importCustomizer.addImport(alias, className); - } - } - } - - // TODO support also other kind of imports? - // e.g. star imports, static imports... - } - } - - private String preprocessScript(String script) { - // Replace all occurrences of the old JTS base package - // "com.vividsolutions.jts" with its new name. - return JTS_OLD_BASE_PACKAGE.matcher(script).replaceAll("org.locationtech.jts"); - } - - @Override - public Script parseScript(String script, Binding binding) { - return createShell(binding).parse(preprocessScript(script)); - } - - @Override - public T evaluate(Script script, @Nullable ResultProcessor processor) throws Exception { - boolean registered = false; - if (isRestrictionActive()) { - if (!(script instanceof SecureScript)) { - throw new GroovyRestrictionException( - "Supplied script was not parsed with active restriction."); - } - interceptor.register(); - registered = true; - } - try { - Object returnValue = script.run(); - if (processor != null) { - return processor.process(script, returnValue); - } - else { - return null; - } - } finally { - if (registered) - interceptor.unregister(); - } - } - - @Override - public boolean isRestrictionActive() { - return restrictionActive; - } - - @Override - public void setRestrictionActive(boolean active) { - if (active != restrictionActive) { - restrictionActive = active; - notifyRestrictionChanged(active); - } - } - - @Override - public void addListener(GroovyServiceListener listener) { - listeners.add(listener); - } - - @Override - public void removeListener(GroovyServiceListener listener) { - listeners.remove(listener); - } - - /** - * Call when restriction active changes. - * - * @param restrictionActive the new value - */ - protected void notifyRestrictionChanged(boolean restrictionActive) { - for (GroovyServiceListener listener : listeners) { - listener.restrictionChanged(restrictionActive); - } - } -} diff --git a/util/plugins/eu.esdihumboldt.util.groovy.sandbox/src/eu/esdihumboldt/util/groovy/sandbox/GroovyRestrictionException.java b/util/plugins/eu.esdihumboldt.util.groovy.sandbox/src/eu/esdihumboldt/util/groovy/sandbox/GroovyRestrictionException.java deleted file mode 100644 index d6e39356b2..0000000000 --- a/util/plugins/eu.esdihumboldt.util.groovy.sandbox/src/eu/esdihumboldt/util/groovy/sandbox/GroovyRestrictionException.java +++ /dev/null @@ -1,24 +0,0 @@ -package eu.esdihumboldt.util.groovy.sandbox; - -/** - * Exception thrown, when a Groovy script tries to do something it is not - * allowed to do. - * - * @author Kai Schwierczek - */ -public class GroovyRestrictionException extends RuntimeException { - - private static final long serialVersionUID = 1L; - - /** - * Constructs a new exception with the specified detail message. The cause - * is not initialized, and may subsequently be initialized by a call to - * {@link #initCause}. - * - * @param message the detail message. The detail message is saved for later - * retrieval by the {@link #getMessage()} method. - */ - public GroovyRestrictionException(String message) { - super(message); - } -} diff --git a/util/plugins/eu.esdihumboldt.util.groovy.sandbox/src/eu/esdihumboldt/util/groovy/sandbox/GroovyService.java b/util/plugins/eu.esdihumboldt.util.groovy.sandbox/src/eu/esdihumboldt/util/groovy/sandbox/GroovyService.java deleted file mode 100644 index 1b38b4028a..0000000000 --- a/util/plugins/eu.esdihumboldt.util.groovy.sandbox/src/eu/esdihumboldt/util/groovy/sandbox/GroovyService.java +++ /dev/null @@ -1,91 +0,0 @@ -package eu.esdihumboldt.util.groovy.sandbox; - -import javax.annotation.Nullable; - -import groovy.lang.Binding; -import groovy.lang.GroovyShell; -import groovy.lang.Script; - -/** - * Groovy sandbox service interface. - * - * @author Kai Schwierczek - */ -public interface GroovyService { - - /** - * Processes a script result. - * - * @param the type of the processed result - */ - public interface ResultProcessor { - - /** - * Process the script result. It is important that any closures created - * in the script are executed within the processor. - * - * @param script the script - * @param returnValue the script return value - * @return the processed result - * @throws Exception if an error occurs processing the script result - */ - public T process(Script script, Object returnValue) throws Exception; - } - - /** - * Create a customized {@link GroovyShell}. - * - * @param binding the binding, may be null - * @return a customized {@link GroovyShell} - */ - public GroovyShell createShell(Binding binding); - - /** - * Parse a script using a customized shell. - * - * @param script the script string - * @param binding binding the binding, may be null - * @return the parsed script - */ - public Script parseScript(String script, Binding binding); - - /** - * Evaluate a Groovy script. - * - * @param script the script - * @param processor the script result processor, may be null - * @return the script's processed return value or null if no - * processor was given - * @throws Exception if the Groovy script tries to do something which isn't - * allowed or the result processing throws an exception - */ - public T evaluate(Script script, @Nullable ResultProcessor processor) throws Exception; - - /** - * Returns whether the Groovy execution restriction is currently active. - * - * @return whether the Groovy execution restriction is currently active - */ - public boolean isRestrictionActive(); - - /** - * Activates/Deactivates the Groovy execution restriction. - * - * @param active whether the restriction should be active or not - */ - public void setRestrictionActive(boolean active); - - /** - * Adds a Groovy service listener - * - * @param listener the listener to add - */ - public void addListener(GroovyServiceListener listener); - - /** - * Removes a Groovy service listener - * - * @param listener the listener to remove - */ - public void removeListener(GroovyServiceListener listener); -} diff --git a/util/plugins/eu.esdihumboldt.util.groovy.sandbox/src/eu/esdihumboldt/util/groovy/sandbox/GroovyServiceListener.java b/util/plugins/eu.esdihumboldt.util.groovy.sandbox/src/eu/esdihumboldt/util/groovy/sandbox/GroovyServiceListener.java deleted file mode 100644 index 5e3ac9f538..0000000000 --- a/util/plugins/eu.esdihumboldt.util.groovy.sandbox/src/eu/esdihumboldt/util/groovy/sandbox/GroovyServiceListener.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright (c) 2014 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.util.groovy.sandbox; - -/** - * Listener for the {@link GroovyService}. - * - * @author Kai Schwierczek - */ -public interface GroovyServiceListener { - - /** - * Called when the restriction changed. - * - * @param restrictionActive the new value - */ - public void restrictionChanged(boolean restrictionActive); -} diff --git a/util/plugins/eu.esdihumboldt.util.groovy.sandbox/src/eu/esdihumboldt/util/groovy/sandbox/internal/RestrictiveGroovyInterceptor.java b/util/plugins/eu.esdihumboldt.util.groovy.sandbox/src/eu/esdihumboldt/util/groovy/sandbox/internal/RestrictiveGroovyInterceptor.java deleted file mode 100644 index 3aa23e30b1..0000000000 --- a/util/plugins/eu.esdihumboldt.util.groovy.sandbox/src/eu/esdihumboldt/util/groovy/sandbox/internal/RestrictiveGroovyInterceptor.java +++ /dev/null @@ -1,530 +0,0 @@ -/* - * Copyright (c) 2013 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.util.groovy.sandbox.internal; - -import java.math.BigDecimal; -import java.math.BigInteger; -import java.sql.Timestamp; -import java.text.DecimalFormat; -import java.text.DecimalFormatSymbols; -import java.text.NumberFormat; -import java.text.SimpleDateFormat; -import java.time.DayOfWeek; -import java.time.Instant; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.LocalTime; -import java.time.Month; -import java.time.Year; -import java.time.YearMonth; -import java.time.ZoneId; -import java.time.ZonedDateTime; -import java.time.format.DateTimeFormatter; -import java.time.format.DateTimeFormatterBuilder; -import java.time.format.FormatStyle; -import java.time.format.SignStyle; -import java.time.format.TextStyle; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Date; -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedHashMap; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Locale; -import java.util.Set; -import java.util.TreeMap; -import java.util.UUID; -import java.util.regex.Pattern; - -import org.codehaus.groovy.runtime.GStringImpl; -import org.codehaus.groovy.runtime.InvokerHelper; -import org.kohsuke.groovy.sandbox.GroovyInterceptor; - -import eu.esdihumboldt.util.groovy.sandbox.GroovyRestrictionException; -import groovy.lang.Closure; -import groovy.lang.GString; -import groovy.lang.MissingPropertyException; -import groovy.lang.Range; -import groovy.lang.Script; - -/** - * {@link GroovyInterceptor} which allows some basic classes but is pretty - * restrictive. Constructor offers parameters to allow more classes. - * - * @author Kai Schwierczek - */ -public class RestrictiveGroovyInterceptor extends GroovyInterceptor { - - /** - * Classes, which may be initialized, and all their methods may be used. - */ - private static final Set> allowedClasses = new HashSet<>(); - /** - * Classes, which may be initialized, and all their methods, and method - * missing/getProperty() may be used. - */ - private static final Set> allAllowedClasses = new HashSet<>(); - - /** - * Generally disallowed methods. - */ - private static final Set disallowedMethods = new HashSet<>(); - /** - * Generally disallowed properties (write access). - */ - private static final Set disallowedWriteProperties = new HashSet<>(); - - /** - * Disallowed Script methods. - */ - private static final Set disallowedScriptMethods = new HashSet<>(); - /** - * Disallowed Script properties (write access). - */ - private static final Set disallowedScriptWriteProperties = new HashSet<>(); - - /** - * Disallowed Closure methods. - */ - private static final Set disallowedClosureMethods = new HashSet<>(); - /** - * Disallowed Closure properties (write access). - */ - private static final Set disallowedClosureWriteProperties = new HashSet<>(); - - /** - * Allowed packages. - */ - private static final List allowedPackages = new ArrayList<>(); - - static { - // standard classes - allowedClasses.add(String.class); - allowedClasses.add(Byte.class); - allowedClasses.add(Short.class); - allowedClasses.add(Integer.class); - allowedClasses.add(Long.class); - allowedClasses.add(Float.class); - allowedClasses.add(Double.class); - allowedClasses.add(BigInteger.class); - allowedClasses.add(BigDecimal.class); - allowedClasses.add(Math.class); - allowedClasses.add(Date.class); - allowedClasses.add(Locale.class); - allowedClasses.add(Boolean.class); - - // Java 8 date/time classes - allowedClasses.add(DayOfWeek.class); - allowedClasses.add(Month.class); - allowedClasses.add(Year.class); - allowedClasses.add(YearMonth.class); - allowedClasses.add(Instant.class); - - allowedClasses.add(LocalDate.class); - allowedClasses.add(LocalDateTime.class); - allowedClasses.add(LocalTime.class); - allowedClasses.add(ZonedDateTime.class); - allowedClasses.add(ZoneId.class); - - allowedClasses.add(DateTimeFormatter.class); - allowedClasses.add(DateTimeFormatterBuilder.class); - allowedClasses.add(FormatStyle.class); - allowedClasses.add(TextStyle.class); - allowedClasses.add(SignStyle.class); - - // regular expressions - allowedClasses.add(Pattern.class); - - // helper classes - allowedClasses.add(SimpleDateFormat.class); - allowedClasses.add(UUID.class); - - // Collections & Classes used by Groovy - allowedClasses.add(LinkedHashMap.class); - allowedClasses.add(LinkedHashSet.class); - allowedClasses.add(ArrayList.class); - allowedClasses.add(Range.class); - allowedClasses.add(GStringImpl.class); - - // Some more collections - allowedClasses.add(HashMap.class); - allowedClasses.add(HashSet.class); - allowedClasses.add(Collections.class); - allowedClasses.add(TreeMap.class); - - // Binding classes - allowedClasses.add(Timestamp.class); - allowedClasses.add(java.sql.Date.class); - - // Number formatting - allowedClasses.add(NumberFormat.class); - allowedClasses.add(DecimalFormat.class); - allowedClasses.add(DecimalFormatSymbols.class); - - // Exception classes - allowedClasses.add(Throwable.class); - - // Google collect - allowedPackages.add(new AllowedPrefix("com.google.common.collect", true)); - - // general disallow access to specific Groovy methods - disallowedMethods.add("invokeMethod"); - disallowedMethods.add("setMetaClass"); - disallowedMethods.add("setProperty"); - disallowedWriteProperties.add("metaClass"); - - // forbid self-execution of script and overwriting of binding - disallowedScriptMethods.add("run"); - disallowedScriptMethods.add("evaluate"); - disallowedScriptMethods.add("setBinding"); - disallowedScriptWriteProperties.add("binding"); - - // forbid explicit setting of delegate, resolve strategy and directive - disallowedClosureMethods.add("setDelegate"); - disallowedClosureMethods.add("setResolveStrategy"); - disallowedClosureMethods.add("setDirective"); - // and rehydrate as that results basically in setting the owner, - // delegate and thisObject - disallowedClosureMethods.add("rehydrate"); - disallowedClosureWriteProperties.add("delegate"); - disallowedClosureWriteProperties.add("resolveStrategy"); - disallowedClosureWriteProperties.add("directive"); - } - - /** - * AllowedPackage saves information to allow the use of all classes with a - * given prefix. - */ - public static class AllowedPrefix { - - private final String prefix; - private final boolean allowChildren; - - /** - * Default constructor which accepts a package name. - * - * @param prefix the package prefix (final '.' is added if not present) - * @param allowChildren whether child-packages are allowed, too - */ - public AllowedPrefix(String prefix, boolean allowChildren) { - if (!prefix.endsWith(".")) - prefix += '.'; - this.prefix = prefix; - this.allowChildren = allowChildren; - } - - /** - * Checks whether the given class is allowed to be used because of this - * allowed package. - * - * @param clazz the class to test - * @return true, if the class may be used, false otherwise - */ - public boolean checkAllowed(Class clazz) { - String className = clazz.getName(); - - if (className.startsWith(prefix)) { - return allowChildren || !className.substring(prefix.length()).contains("."); - } - else { - return false; - } - } - } - - private final Set> instanceAllowedClasses = new HashSet<>(allowedClasses); - private final Set> instanceAllAllowedClasses = new HashSet<>(allAllowedClasses); - private final List instanceAllowedPackages = new ArrayList<>(allowedPackages); - - /** - * Constructor using additional allowed classes. - * - * @param additionalAllowedClasses classes, which may be initialized, and - * all their declared methods may be used - * @param additionalAllAllowedClasses classes, which may be initialized, and - * any call on them is allowed (has to implement methodMissing or - * equal) - * @param additionalAllowedPackages packages whose classes and their - * declared methods may be used - */ - public RestrictiveGroovyInterceptor(Set> additionalAllowedClasses, - Set> additionalAllAllowedClasses, - List additionalAllowedPackages) { - instanceAllowedClasses.addAll(additionalAllowedClasses); - instanceAllowedClasses.addAll(additionalAllAllowedClasses); - instanceAllAllowedClasses.addAll(additionalAllAllowedClasses); - instanceAllowedPackages.addAll(additionalAllowedPackages); - } - - @Override - public Object onStaticCall(Invoker invoker, @SuppressWarnings("rawtypes") Class receiver, - String method, Object... args) throws Throwable { - if (isAllowedClass(receiver) || isScriptClass(receiver)) - return super.onStaticCall(invoker, receiver, method, args); - else - throw new GroovyRestrictionException( - "using class " + receiver.getName() + " is not allowed!"); - } - - @Override - public Object onNewInstance(Invoker invoker, @SuppressWarnings("rawtypes") Class receiver, - Object... args) throws Throwable { - // classes defined in the script would be okay, sadly it is not possible - // to identify those? - if (isAllowedClass(receiver) || isScriptClass(receiver)) - return super.onNewInstance(invoker, receiver, args); - else - throw new GroovyRestrictionException( - "using class " + receiver.getName() + " is not allowed!"); - } - - @Override - public Object onMethodCall(Invoker invoker, Object receiver, String method, Object... args) - throws Throwable { - if (disallowedMethods.contains(method)) - throw new GroovyRestrictionException( - "using methods named " + method + " is not allowed in Groovy transformations!"); - else if (receiver instanceof Closure && disallowedClosureMethods.contains(method)) - throw new GroovyRestrictionException("using the closure method " + method - + " is not allowed in Groovy transformations!"); - // Return value doesn't matter! - // true -> allowed delegation found - // false -> no disallowed delegation found - checkMethodCall(receiver, method); - return super.onMethodCall(invoker, receiver, method, args); - } - - private boolean checkMethodCall(Object receiver, String method) - throws GroovyRestrictionException { - if (receiver instanceof Closure) { - // Closure method names were tested before. - Closure closure = (Closure) receiver; - Object owner = closure.getOwner(); - Object delegate = closure.getDelegate(); - int rs = closure.getResolveStrategy(); - // Check owner first. - if (rs == Closure.OWNER_FIRST || rs == Closure.OWNER_ONLY) - if (checkMethodCall(owner, method)) - return true; - // Check delegate first/second. - if (rs == Closure.OWNER_FIRST || rs == Closure.DELEGATE_FIRST - || rs == Closure.DELEGATE_ONLY) - if (delegate != null && delegate != closure) - if (checkMethodCall(delegate, method)) - return true; - // Check owner second. - if (rs == Closure.DELEGATE_FIRST) - if (checkMethodCall(owner, method)) - return true; - - // Cannot be 100% sure whether the call will be handled by - // delegation to this closure. - return false; - } - else if (isAllowedClass(receiver.getClass())) { - checkExecute(receiver, method); - return instanceAllAllowedClasses.contains(receiver.getClass()) - || !InvokerHelper.getMetaClass(receiver).respondsTo(receiver, method).isEmpty(); - } - else if (isScriptClass(receiver.getClass()) && !disallowedScriptMethods.contains(method)) - return !InvokerHelper.getMetaClass(receiver).respondsTo(receiver, method).isEmpty(); - throw new GroovyRestrictionException("Possible access of method " + method + " on class " - + receiver.getClass().getName() + " is not allowed in Groovy transformations!"); - } - - /** - * Checks for an execute call on List, String, String[] and GString. - * - * @param receiver the receiver object - * @param method the method name - */ - private void checkExecute(Object receiver, String method) { - if ("execute".equals(method)) { - if (receiver instanceof List || receiver instanceof String - || receiver.getClass().isArray() || receiver instanceof String[] - || receiver instanceof GString) { - throw new GroovyRestrictionException( - "Possible access of method execute on List, String, String[] and GString is not allowed in Groovy transformations!"); - } - } - } - - private boolean isScriptClass(Class receiver) { - // while-doesn't really do anything, because Groovy extracts classes - // defined in scripts as stand-alone classes. -// while (receiver.getEnclosingClass() != null) -// receiver = receiver.getEnclosingClass(); - return Script.class.isAssignableFrom(receiver); - } - - @Override - public Object onGetProperty(Invoker invoker, Object receiver, String property) - throws Throwable { - if (receiver instanceof Class && isAllowedClass((Class) receiver) - && !"class".equals(property)) - return super.onGetProperty(invoker, receiver, property); - checkPropertyAccess(receiver, property, false); - return super.onGetProperty(invoker, receiver, property); - } - - @Override - public Object onSetProperty(Invoker invoker, Object receiver, String property, Object value) - throws Throwable { - if (disallowedWriteProperties.contains(property)) - throw new GroovyRestrictionException("setting the property " + property - + " is not allowed in Groovy transformations!"); - if (receiver instanceof Closure && disallowedClosureWriteProperties.contains(property)) - throw new GroovyRestrictionException("setting the closure property " + property - + " is not allowed in Groovy transformations!"); - checkPropertyAccess(receiver, property, true); - return super.onSetProperty(invoker, receiver, property, value); - } - - private boolean checkPropertyAccess(Object receiver, String property, boolean set) - throws GroovyRestrictionException { - if (receiver instanceof Closure) { - // Closure properties were tested before. - Closure closure = (Closure) receiver; - Object owner = closure.getOwner(); - Object delegate = closure.getDelegate(); - int rs = closure.getResolveStrategy(); - // Check owner first. - if (rs == Closure.OWNER_FIRST || rs == Closure.OWNER_ONLY) - if (checkPropertyAccess(owner, property, set)) - return true; - // Check delegate first/second. - if (rs == Closure.OWNER_FIRST || rs == Closure.DELEGATE_FIRST - || rs == Closure.DELEGATE_ONLY) - if (delegate != null && delegate != closure) - if (checkPropertyAccess(delegate, property, set)) - return true; - // Check owner second. - if (rs == Closure.DELEGATE_FIRST) - if (checkPropertyAccess(owner, property, set)) - return true; - // Cannot be 100% sure whether the property will be handled by - // delegation to this closure. - return false; - } - else if (instanceAllAllowedClasses.contains(receiver.getClass())) - return true; - else if (isAllowedClass(receiver.getClass())) - return hasProperty(receiver, property); - else if (isScriptClass(receiver.getClass()) - && (!set || !disallowedScriptWriteProperties.contains(property))) - return hasProperty(receiver, property); - throw new GroovyRestrictionException("Possible " + (set ? "write " : "") - + "access of property " + property + " on class " + receiver.getClass().getName() - + " is not allowed in Groovy transformations!"); - } - - @Override - public Object onGetAttribute(Invoker invoker, Object receiver, String attribute) - throws Throwable { - checkPropertyAccess(receiver, attribute, false); - return super.onGetAttribute(invoker, receiver, attribute); - } - - @Override - public Object onSetAttribute(Invoker invoker, Object receiver, String attribute, Object value) - throws Throwable { - if (disallowedWriteProperties.contains(attribute)) - throw new GroovyRestrictionException("setting the property " + attribute - + " is not allowed in Groovy transformations!"); - if (receiver instanceof Closure && disallowedClosureWriteProperties.contains(attribute)) - throw new GroovyRestrictionException("setting the closure property " + attribute - + " is not allowed in Groovy transformations!"); - checkPropertyAccess(receiver, attribute, true); - return super.onSetAttribute(invoker, receiver, attribute, value); - } - - @Override - public Object onGetArray(Invoker invoker, Object receiver, Object index) throws Throwable { - // generally allow array access for now - return super.onGetArray(invoker, receiver, index); - } - - @Override - public Object onSetArray(Invoker invoker, Object receiver, Object index, Object value) - throws Throwable { - // generally allow array access for now - return super.onSetArray(invoker, receiver, index, value); - } - - private static boolean hasProperty(Object object, String property) { - if (InvokerHelper.getMetaClass(object).hasProperty(object, property) != null) - return true; - - // The only way to be sure whether something is handled as a property in - // Groovy is to actually get it and catch a MissingPropertyException. - // But this actually accesses the property (-> side effects?)! - // Here this is no problem, since we only disallow some write access... - - // The only allowed class with side effects should be InstanceAccessor, - // which is in "allAllowedClasses" and thus shouldn't reach here - - try { - InvokerHelper.getProperty(object, property); - return true; - } catch (MissingPropertyException e) { - return false; - } - } - - private boolean isAllowedClass(Class clazz) { - // instanceAllowedClasses.add needs to be synchronized, as internal - // state changes. - // .contains does not need to be synchronized, worst case would be that - // an element is added several times then, which doesn't matter. - - if (instanceAllowedClasses.contains(clazz)) - return true; - - // allow accessing arrays in general - // (calls like execute are disallowed by another mechanism) - if (clazz.isArray()) - return true; - - // allow nested classes of allowed classes - Class topLevelClass = clazz; - while (topLevelClass.getEnclosingClass() != null) { - topLevelClass = topLevelClass.getEnclosingClass(); - } - if (topLevelClass != clazz) { - if (instanceAllowedClasses.contains(topLevelClass)) { - // cache result for nested class - synchronized (instanceAllowedClasses) { - instanceAllowedClasses.add(clazz); - } - return true; - } - } - - // walk through prefixes - for (AllowedPrefix allowedPackage : instanceAllowedPackages) { - if (allowedPackage.checkAllowed(clazz)) { - // cache result for class within a allowed package - synchronized (instanceAllowedClasses) { - instanceAllowedClasses.add(clazz); - } - return true; - } - } - return false; - } -} diff --git a/util/plugins/eu.esdihumboldt.util.groovy.sandbox/src/eu/esdihumboldt/util/groovy/sandbox/internal/SecureScript.java b/util/plugins/eu.esdihumboldt.util.groovy.sandbox/src/eu/esdihumboldt/util/groovy/sandbox/internal/SecureScript.java deleted file mode 100644 index e3c049a801..0000000000 --- a/util/plugins/eu.esdihumboldt.util.groovy.sandbox/src/eu/esdihumboldt/util/groovy/sandbox/internal/SecureScript.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright (c) 2014 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.util.groovy.sandbox.internal; - -import groovy.lang.Script; - -/** - * Script base class to identify scripts compiled with enabled restrictions. - * - * @author Kai Schwierczek - */ -public abstract class SecureScript extends Script { - // nothing to do here -}