diff --git a/bundles/org.eclipse.passage.lac.jetty/.classpath b/bundles/org.eclipse.passage.lac.jetty/.classpath new file mode 100644 index 000000000..22f30643c --- /dev/null +++ b/bundles/org.eclipse.passage.lac.jetty/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/bundles/org.eclipse.passage.lac.jetty/.project b/bundles/org.eclipse.passage.lac.jetty/.project new file mode 100644 index 000000000..8337f6f49 --- /dev/null +++ b/bundles/org.eclipse.passage.lac.jetty/.project @@ -0,0 +1,39 @@ + + + org.eclipse.passage.lac.jetty + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + org.eclipse.pde.api.tools.apiAnalysisBuilder + + + + + org.eclipse.pde.ds.core.builder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + org.eclipse.pde.api.tools.apiAnalysisNature + + diff --git a/bundles/org.eclipse.passage.lac.jetty/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.passage.lac.jetty/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..8f9ec5cde --- /dev/null +++ b/bundles/org.eclipse.passage.lac.jetty/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,101 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled +org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore +org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull +org.eclipse.jdt.core.compiler.annotation.nonnull.secondary= +org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault +org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= +org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable +org.eclipse.jdt.core.compiler.annotation.nullable.secondary= +org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled +org.eclipse.jdt.core.compiler.problem.APILeak=warning +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +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=disabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore +org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=warning +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.includeNullInfoFromAsserts=disabled +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.localVariableHiding=warning +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning +org.eclipse.jdt.core.compiler.problem.missingDefaultCase=warning +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning +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=error +org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning +org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning +org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error +org.eclipse.jdt.core.compiler.problem.nullReference=warning +org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error +org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning +org.eclipse.jdt.core.compiler.problem.parameterAssignment=warning +org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning +org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore +org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore +org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=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.syntacticNullAnalysisForFields=disabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore +org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning +org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning +org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled +org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info +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.unstableAutoModuleName=warning +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore +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.unusedTypeParameter=warning +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning diff --git a/bundles/org.eclipse.passage.lac.jetty/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.passage.lac.jetty/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 000000000..906381876 --- /dev/null +++ b/bundles/org.eclipse.passage.lac.jetty/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,122 @@ +cleanup.add_default_serial_version_id=true +cleanup.add_generated_serial_version_id=false +cleanup.add_missing_annotations=true +cleanup.add_missing_deprecated_annotations=true +cleanup.add_missing_methods=false +cleanup.add_missing_nls_tags=false +cleanup.add_missing_override_annotations=true +cleanup.add_missing_override_annotations_interface_methods=true +cleanup.add_serial_version_id=false +cleanup.always_use_blocks=true +cleanup.always_use_parentheses_in_expressions=false +cleanup.always_use_this_for_non_static_field_access=false +cleanup.always_use_this_for_non_static_method_access=false +cleanup.convert_functional_interfaces=false +cleanup.convert_to_enhanced_for_loop=false +cleanup.correct_indentation=false +cleanup.format_source_code=false +cleanup.format_source_code_changes_only=false +cleanup.insert_inferred_type_arguments=false +cleanup.make_local_variable_final=true +cleanup.make_parameters_final=false +cleanup.make_private_fields_final=true +cleanup.make_type_abstract_if_missing_method=false +cleanup.make_variable_declarations_final=false +cleanup.never_use_blocks=false +cleanup.never_use_parentheses_in_expressions=true +cleanup.organize_imports=false +cleanup.qualify_static_field_accesses_with_declaring_class=false +cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +cleanup.qualify_static_member_accesses_with_declaring_class=true +cleanup.qualify_static_method_accesses_with_declaring_class=false +cleanup.remove_private_constructors=true +cleanup.remove_redundant_modifiers=false +cleanup.remove_redundant_semicolons=false +cleanup.remove_redundant_type_arguments=false +cleanup.remove_trailing_whitespaces=false +cleanup.remove_trailing_whitespaces_all=true +cleanup.remove_trailing_whitespaces_ignore_empty=false +cleanup.remove_unnecessary_casts=true +cleanup.remove_unnecessary_nls_tags=true +cleanup.remove_unused_imports=true +cleanup.remove_unused_local_variables=false +cleanup.remove_unused_private_fields=true +cleanup.remove_unused_private_members=false +cleanup.remove_unused_private_methods=true +cleanup.remove_unused_private_types=true +cleanup.sort_members=false +cleanup.sort_members_all=false +cleanup.use_anonymous_class_creation=false +cleanup.use_blocks=false +cleanup.use_blocks_only_for_return_and_throw=false +cleanup.use_lambda=true +cleanup.use_parentheses_in_expressions=false +cleanup.use_this_for_non_static_field_access=false +cleanup.use_this_for_non_static_field_access_only_if_necessary=true +cleanup.use_this_for_non_static_method_access=false +cleanup.use_this_for_non_static_method_access_only_if_necessary=true +cleanup_profile=org.eclipse.jdt.ui.default.eclipse_clean_up_profile +cleanup_settings_version=2 +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=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_functional_interfaces=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.insert_inferred_type_arguments=false +sp_cleanup.make_local_variable_final=true +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=false +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_redundant_modifiers=false +sp_cleanup.remove_redundant_semicolons=false +sp_cleanup.remove_redundant_type_arguments=false +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_anonymous_class_creation=false +sp_cleanup.use_blocks=false +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_lambda=true +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/bundles/org.eclipse.passage.lac.jetty/.settings/org.eclipse.pde.core.prefs b/bundles/org.eclipse.passage.lac.jetty/.settings/org.eclipse.pde.core.prefs new file mode 100644 index 000000000..706f07e8a --- /dev/null +++ b/bundles/org.eclipse.passage.lac.jetty/.settings/org.eclipse.pde.core.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +pluginProject.extensions=true +resolve.requirebundle=false diff --git a/bundles/org.eclipse.passage.lac.jetty/.settings/org.eclipse.pde.ds.annotations.prefs b/bundles/org.eclipse.passage.lac.jetty/.settings/org.eclipse.pde.ds.annotations.prefs new file mode 100644 index 000000000..73a356b6d --- /dev/null +++ b/bundles/org.eclipse.passage.lac.jetty/.settings/org.eclipse.pde.ds.annotations.prefs @@ -0,0 +1,8 @@ +classpath=true +dsVersion=V1_3 +eclipse.preferences.version=1 +enabled=true +generateBundleActivationPolicyLazy=true +path=OSGI-INF +validationErrorLevel=error +validationErrorLevel.missingImplicitUnbindMethod=error diff --git a/bundles/org.eclipse.passage.lac.jetty/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.passage.lac.jetty/.settings/org.eclipse.pde.prefs new file mode 100644 index 000000000..47bd5bdfc --- /dev/null +++ b/bundles/org.eclipse.passage.lac.jetty/.settings/org.eclipse.pde.prefs @@ -0,0 +1,34 @@ +compilers.f.unresolved-features=1 +compilers.f.unresolved-plugins=1 +compilers.incompatible-environment=1 +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=1 +compilers.p.no-required-att=0 +compilers.p.no.automatic.module=1 +compilers.p.not-externalized-att=0 +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/bundles/org.eclipse.passage.lac.jetty/META-INF/MANIFEST.MF b/bundles/org.eclipse.passage.lac.jetty/META-INF/MANIFEST.MF new file mode 100644 index 000000000..a05cc15d9 --- /dev/null +++ b/bundles/org.eclipse.passage.lac.jetty/META-INF/MANIFEST.MF @@ -0,0 +1,16 @@ +Manifest-Version: 1.0 +Automatic-Module-Name: org.eclipse.passage.lac.jetty +Bundle-ManifestVersion: 2 +Bundle-SymbolicName: org.eclipse.passage.lac.jetty;singleton:=true +Bundle-Version: 0.1.0.qualifier +Bundle-Name: %Bundle-Name +Bundle-Vendor: %Bundle-Vendor +Bundle-Copyright: %Bundle-Copyright +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Require-Bundle: org.eclipse.core.runtime;bundle-version="0.0.0", + org.eclipse.osgi.services;bundle-version="0.0.0", + org.eclipse.passage.lac;bundle-version="0.1.0", + org.eclipse.passage.lic.net;bundle-version="1.0.100", + org.eclipse.passage.lic.jetty;bundle-version="0.1.0" +Bundle-ActivationPolicy: lazy +Bundle-Activator: org.eclipse.passage.lac.internal.jetty.JettyActivator diff --git a/bundles/org.eclipse.passage.lac.jetty/OSGI-INF/l10n/bundle.properties b/bundles/org.eclipse.passage.lac.jetty/OSGI-INF/l10n/bundle.properties new file mode 100644 index 000000000..9d77c2c81 --- /dev/null +++ b/bundles/org.eclipse.passage.lac.jetty/OSGI-INF/l10n/bundle.properties @@ -0,0 +1,22 @@ +#Properties file for org.eclipse.passage.lac.jetty +############################################################################### +# Copyright (c) 2021 ArSysOp and others +# +# This program and the accompanying materials are made available under the +# terms of the Eclipse Public License 2.0 which is available at +# https://www.eclipse.org/legal/epl-2.0/. +# +# SPDX-License-Identifier: EPL-2.0 +# +# Contributors: +# ArSysOp - initial API and implementation +############################################################################### +Bundle-Name = Passage LAC Jetty +Bundle-Vendor = Eclipse Passage +Bundle-Copyright = Copyright (c) 2021 ArSysOp and others.\n\ +\n\ +This program and the accompanying materials are made\n\ +available under the terms of the Eclipse Public License 2.0\n\ +which is available at https://www.eclipse.org/legal/epl-2.0/\n\ +\n\ +SPDX-License-Identifier: EPL-2.0\n\ diff --git a/bundles/org.eclipse.passage.lac.jetty/about.html b/bundles/org.eclipse.passage.lac.jetty/about.html new file mode 100644 index 000000000..164f781a8 --- /dev/null +++ b/bundles/org.eclipse.passage.lac.jetty/about.html @@ -0,0 +1,36 @@ + + + + +About + + +

About This Content

+ +

November 30, 2017

+

License

+ +

+ The Eclipse Foundation makes available all content in this plug-in + ("Content"). Unless otherwise indicated below, the Content + is provided to you under the terms and conditions of the Eclipse + Public License Version 2.0 ("EPL"). A copy of the EPL is + available at http://www.eclipse.org/legal/epl-2.0. + For purposes of the EPL, "Program" will mean the Content. +

+ +

+ If you did not receive this Content directly from the Eclipse + Foundation, the Content is being redistributed by another party + ("Redistributor") and different terms and conditions may + apply to your use of any object code in the Content. Check the + Redistributor's license that was provided with the Content. If no such + license exists, contact the Redistributor. Unless otherwise indicated + below, the terms and conditions of the EPL still apply to any source + code in the Content and such source code may be obtained at http://www.eclipse.org. +

+ + + \ No newline at end of file diff --git a/bundles/org.eclipse.passage.lac.jetty/build.properties b/bundles/org.eclipse.passage.lac.jetty/build.properties new file mode 100644 index 000000000..6f36dd4c0 --- /dev/null +++ b/bundles/org.eclipse.passage.lac.jetty/build.properties @@ -0,0 +1,19 @@ +############################################################################### +# Copyright (c) 2021 ArSysOp and others +# +# This program and the accompanying materials are made available under the +# terms of the Eclipse Public License 2.0 which is available at +# https://www.eclipse.org/legal/epl-2.0/. +# +# SPDX-License-Identifier: EPL-2.0 +# +# Contributors: +# ArSysOp - initial API and implementation +############################################################################### + +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + OSGI-INF/,\ + about.html diff --git a/bundles/org.eclipse.passage.lac.jetty/src/org/eclipse/passage/lac/internal/jetty/JettyActivator.java b/bundles/org.eclipse.passage.lac.jetty/src/org/eclipse/passage/lac/internal/jetty/JettyActivator.java new file mode 100644 index 000000000..4a5d73e7c --- /dev/null +++ b/bundles/org.eclipse.passage.lac.jetty/src/org/eclipse/passage/lac/internal/jetty/JettyActivator.java @@ -0,0 +1,45 @@ +/******************************************************************************* + * Copyright (c) 2021 ArSysOp + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * https://www.eclipse.org/legal/epl-2.0/. + * + * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * ArSysOp - initial API and implementation + *******************************************************************************/ +package org.eclipse.passage.lac.internal.jetty; + +import org.eclipse.core.runtime.Platform; +import org.eclipse.passage.internal.lac.base.BaseLicensingRequestHandled; +import org.eclipse.passage.lic.internal.jetty.JettyHandler; +import org.eclipse.passage.lic.internal.jetty.JettyServer; +import org.eclipse.passage.lic.internal.net.connect.Port; +import org.osgi.framework.BundleActivator; +import org.osgi.framework.BundleContext; + +public class JettyActivator implements BundleActivator { + + private final JettyServer jetty; + + public JettyActivator() { + jetty = new JettyServer(this::handler); + } + + @Override + public void start(BundleContext context) throws Exception { + jetty.launch(new Port(Platform.getApplicationArgs(), 8090)); + } + + @Override + public void stop(BundleContext context) throws Exception { + jetty.terminate(); + } + + private JettyHandler handler() { + return new JettyHandler(request -> new BaseLicensingRequestHandled(request).get()); + } + +} diff --git a/bundles/org.eclipse.passage.lac/META-INF/MANIFEST.MF b/bundles/org.eclipse.passage.lac/META-INF/MANIFEST.MF index 0c6756cd9..ba0e2a7e4 100644 --- a/bundles/org.eclipse.passage.lac/META-INF/MANIFEST.MF +++ b/bundles/org.eclipse.passage.lac/META-INF/MANIFEST.MF @@ -7,3 +7,5 @@ Bundle-Name: %Bundle-Name Bundle-Vendor: %Bundle-Vendor Bundle-Copyright: %Bundle-Copyright Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Require-Bundle: org.eclipse.passage.lic.net;bundle-version="1.0.100" +Export-Package: org.eclipse.passage.internal.lac.base diff --git a/bundles/org.eclipse.passage.lac/src/org/eclipse/passage/internal/lac/base/BaseLicensingRequestHandled.java b/bundles/org.eclipse.passage.lac/src/org/eclipse/passage/internal/lac/base/BaseLicensingRequestHandled.java new file mode 100644 index 000000000..494b519db --- /dev/null +++ b/bundles/org.eclipse.passage.lac/src/org/eclipse/passage/internal/lac/base/BaseLicensingRequestHandled.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2021 ArSysOp + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * https://www.eclipse.org/legal/epl-2.0/. + * + * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * ArSysOp - initial API and implementation + *******************************************************************************/ +package org.eclipse.passage.internal.lac.base; + +import org.eclipse.passage.lic.internal.net.handle.NetRequest; +import org.eclipse.passage.lic.internal.net.handle.NetRequestHandled; +import org.eclipse.passage.lic.internal.net.handle.NetResponse; + +public final class BaseLicensingRequestHandled implements NetRequestHandled { + + public BaseLicensingRequestHandled(NetRequest origin) { + // TODO Auto-generated constructor stub + } + + @Override + public NetResponse get() { + return null; + } + +} diff --git a/bundles/org.eclipse.passage.lbc.base/META-INF/MANIFEST.MF b/bundles/org.eclipse.passage.lbc.base/META-INF/MANIFEST.MF index 7e9dd86b9..d2bb28109 100644 --- a/bundles/org.eclipse.passage.lbc.base/META-INF/MANIFEST.MF +++ b/bundles/org.eclipse.passage.lbc.base/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Automatic-Module-Name: org.eclipse.passage.lbc.base Bundle-ManifestVersion: 2 Bundle-SymbolicName: org.eclipse.passage.lbc.base -Bundle-Version: 1.1.0.qualifier +Bundle-Version: 1.1.1.qualifier Bundle-Name: %Bundle-Name Bundle-Vendor: %Bundle-Vendor Bundle-Copyright: %Bundle-Copyright diff --git a/bundles/org.eclipse.passage.lbc.base/src/org/eclipse/passage/lbc/internal/base/BaseFlotingRequestHandled.java b/bundles/org.eclipse.passage.lbc.base/src/org/eclipse/passage/lbc/internal/base/BaseFlotingRequestHandled.java index c4c1b748b..027aedd8a 100644 --- a/bundles/org.eclipse.passage.lbc.base/src/org/eclipse/passage/lbc/internal/base/BaseFlotingRequestHandled.java +++ b/bundles/org.eclipse.passage.lbc.base/src/org/eclipse/passage/lbc/internal/base/BaseFlotingRequestHandled.java @@ -22,9 +22,9 @@ public final class BaseFlotingRequestHandled implements NetRequestHandled { private final RawRequest request; - private final Chores chores; + private final Chores chores; - public BaseFlotingRequestHandled(RawRequest request, Chores chores) { + public BaseFlotingRequestHandled(RawRequest request, Chores chores) { Objects.requireNonNull(request, "BaseFlotingRequestHandled:request");//$NON-NLS-1$ Objects.requireNonNull(chores, "BaseFlotingRequestHandled:chores");//$NON-NLS-1$ this.request = request; diff --git a/bundles/org.eclipse.passage.lbc.base/src/org/eclipse/passage/lbc/internal/base/EObjectTransfer.java b/bundles/org.eclipse.passage.lbc.base/src/org/eclipse/passage/lbc/internal/base/EObjectTransfer.java index 6eb91cebb..56db8b50e 100644 --- a/bundles/org.eclipse.passage.lbc.base/src/org/eclipse/passage/lbc/internal/base/EObjectTransfer.java +++ b/bundles/org.eclipse.passage.lbc.base/src/org/eclipse/passage/lbc/internal/base/EObjectTransfer.java @@ -14,6 +14,7 @@ import org.eclipse.emf.ecore.EObject; import org.eclipse.passage.lic.internal.api.LicensingException; +import org.eclipse.passage.lic.internal.api.conditions.mining.ContentType; import org.eclipse.passage.lic.internal.emf.EObjectToBytes; import org.eclipse.passage.lic.internal.net.handle.NetResponse; @@ -45,4 +46,9 @@ public byte[] payload() throws LicensingException { return new EObjectToBytes(payload).get(); } + @Override + public ContentType contentType() { + return new ContentType.Xml(); + } + } diff --git a/bundles/org.eclipse.passage.lbc.base/src/org/eclipse/passage/lbc/internal/base/Failure.java b/bundles/org.eclipse.passage.lbc.base/src/org/eclipse/passage/lbc/internal/base/Failure.java index dfc409cdf..7cd2c3dfb 100644 --- a/bundles/org.eclipse.passage.lbc.base/src/org/eclipse/passage/lbc/internal/base/Failure.java +++ b/bundles/org.eclipse.passage.lbc.base/src/org/eclipse/passage/lbc/internal/base/Failure.java @@ -14,6 +14,7 @@ import org.eclipse.passage.lic.floating.model.api.GrantAcqisition; import org.eclipse.passage.lic.internal.api.LicensedProduct; +import org.eclipse.passage.lic.internal.api.conditions.mining.ContentType; import org.eclipse.passage.lic.internal.net.handle.NetResponse; public abstract class Failure implements NetResponse { @@ -27,25 +28,30 @@ protected Failure(int code, String message) { } @Override - public boolean failed() { + public final boolean failed() { return true; } @Override - public boolean carriesPayload() { + public final boolean carriesPayload() { return false; } @Override - public Error error() { + public final Error error() { return new Err(); } @Override - public byte[] payload() { + public final byte[] payload() { throw new IllegalStateException("Is not intended to be called for failed response: no valid output"); //$NON-NLS-1$ dev } + @Override + public final ContentType contentType() { + return new ContentType.Xml(); + } + private final class Err implements Error { @Override diff --git a/bundles/org.eclipse.passage.lbc.base/src/org/eclipse/passage/lbc/internal/base/PlainSuceess.java b/bundles/org.eclipse.passage.lbc.base/src/org/eclipse/passage/lbc/internal/base/PlainSuceess.java index 046bc3587..9c4ffbed0 100644 --- a/bundles/org.eclipse.passage.lbc.base/src/org/eclipse/passage/lbc/internal/base/PlainSuceess.java +++ b/bundles/org.eclipse.passage.lbc.base/src/org/eclipse/passage/lbc/internal/base/PlainSuceess.java @@ -12,6 +12,7 @@ *******************************************************************************/ package org.eclipse.passage.lbc.internal.base; +import org.eclipse.passage.lic.internal.api.conditions.mining.ContentType; import org.eclipse.passage.lic.internal.net.handle.NetResponse; public final class PlainSuceess implements NetResponse { @@ -36,4 +37,9 @@ public byte[] payload() { throw new IllegalStateException("Plain successful result is not intended to contain any payload"); //$NON-NLS-1$ dev } + @Override + public ContentType contentType() { + return new ContentType.Xml(); + } + } diff --git a/bundles/org.eclipse.passage.lbc.jetty/META-INF/MANIFEST.MF b/bundles/org.eclipse.passage.lbc.jetty/META-INF/MANIFEST.MF index bcdf3eea9..7c23de55b 100644 --- a/bundles/org.eclipse.passage.lbc.jetty/META-INF/MANIFEST.MF +++ b/bundles/org.eclipse.passage.lbc.jetty/META-INF/MANIFEST.MF @@ -2,19 +2,15 @@ Manifest-Version: 1.0 Automatic-Module-Name: org.eclipse.passage.lbc.jetty Bundle-ManifestVersion: 2 Bundle-SymbolicName: org.eclipse.passage.lbc.jetty;singleton:=true -Bundle-Version: 0.5.100.qualifier +Bundle-Version: 0.5.200.qualifier Bundle-Name: %Bundle-Name Bundle-Vendor: %Bundle-Vendor Bundle-Copyright: %Bundle-Copyright Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Require-Bundle: javax.servlet;bundle-version="0.0.0", - org.eclipse.core.runtime;bundle-version="0.0.0", - org.eclipse.jetty.http;bundle-version="0.0.0", - org.eclipse.jetty.server;bundle-version="0.0.0", - org.eclipse.jetty.util;bundle-version="0.0.0", - org.eclipse.osgi.services;bundle-version="0.0.0", - org.eclipse.passage.lbc.base;bundle-version="0.0.0", - org.eclipse.passage.lic.base;bundle-version="0.0.0", - org.eclipse.passage.lic.net;bundle-version="1.0.100" +Require-Bundle: org.eclipse.osgi.services;bundle-version="0.0.0", + org.eclipse.passage.lbc.base;bundle-version="1.1.1", + org.eclipse.passage.lic.net;bundle-version="1.0.100", + org.eclipse.passage.lic.jetty;bundle-version="0.1.0", + org.eclipse.core.runtime;bundle-version="3.20.0" Bundle-ActivationPolicy: lazy Bundle-Activator: org.eclipse.passage.lbc.internal.jetty.JettyActivator diff --git a/bundles/org.eclipse.passage.lbc.jetty/src/org/eclipse/passage/lbc/internal/jetty/JettyActivator.java b/bundles/org.eclipse.passage.lbc.jetty/src/org/eclipse/passage/lbc/internal/jetty/JettyActivator.java index 4f1fde810..e0eca6d78 100644 --- a/bundles/org.eclipse.passage.lbc.jetty/src/org/eclipse/passage/lbc/internal/jetty/JettyActivator.java +++ b/bundles/org.eclipse.passage.lbc.jetty/src/org/eclipse/passage/lbc/internal/jetty/JettyActivator.java @@ -13,21 +13,27 @@ package org.eclipse.passage.lbc.internal.jetty; import org.eclipse.core.runtime.Platform; -import org.eclipse.passage.lbc.internal.base.Port; +import org.eclipse.passage.lbc.internal.base.BaseFlotingRequestHandled; +import org.eclipse.passage.lbc.internal.base.EagerFloatingState; +import org.eclipse.passage.lbc.internal.base.api.FloatingState; +import org.eclipse.passage.lic.internal.jetty.JettyHandler; +import org.eclipse.passage.lic.internal.jetty.JettyServer; +import org.eclipse.passage.lic.internal.net.connect.Port; import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; public class JettyActivator implements BundleActivator { private final JettyServer jetty; + private final FloatingState state = new EagerFloatingState(); public JettyActivator() { - jetty = new JettyServer(); + jetty = new JettyServer(this::handler); } @Override public void start(BundleContext context) throws Exception { - jetty.launch(new Port(Platform.getApplicationArgs())); + jetty.launch(new Port(Platform.getApplicationArgs(), 8090)); } @Override @@ -35,4 +41,8 @@ public void stop(BundleContext context) throws Exception { jetty.terminate(); } + private JettyHandler handler() { + return new JettyHandler(request -> new BaseFlotingRequestHandled(new StatedRequest(request, state)).get()); + } + } diff --git a/bundles/org.eclipse.passage.lbc.jetty/src/org/eclipse/passage/lbc/internal/jetty/StatedRequest.java b/bundles/org.eclipse.passage.lbc.jetty/src/org/eclipse/passage/lbc/internal/jetty/StatedRequest.java new file mode 100644 index 000000000..79b6cce91 --- /dev/null +++ b/bundles/org.eclipse.passage.lbc.jetty/src/org/eclipse/passage/lbc/internal/jetty/StatedRequest.java @@ -0,0 +1,46 @@ +/******************************************************************************* + * Copyright (c) 2020 ArSysOp + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * https://www.eclipse.org/legal/epl-2.0/. + * + * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * ArSysOp - initial API and implementation + *******************************************************************************/ +package org.eclipse.passage.lbc.internal.jetty; + +import java.io.IOException; + +import org.eclipse.passage.lbc.internal.base.api.FloatingState; +import org.eclipse.passage.lbc.internal.base.api.RawRequest; +import org.eclipse.passage.lic.internal.net.handle.NetRequest; + +final class StatedRequest implements RawRequest { + + private final NetRequest delegate; + private final FloatingState state; + + StatedRequest(NetRequest delegate, FloatingState state) { + this.delegate = delegate; + this.state = state; + } + + @Override + public String parameter(String name) { + return delegate.parameter(name); + } + + @Override + public byte[] content() throws IOException { + return delegate.content(); + } + + @Override + public FloatingState state() { + return state; + } + +} diff --git a/bundles/org.eclipse.passage.lic.api/META-INF/MANIFEST.MF b/bundles/org.eclipse.passage.lic.api/META-INF/MANIFEST.MF index 93030e87f..d7018466e 100644 --- a/bundles/org.eclipse.passage.lic.api/META-INF/MANIFEST.MF +++ b/bundles/org.eclipse.passage.lic.api/META-INF/MANIFEST.MF @@ -73,19 +73,23 @@ Export-Package: org.eclipse.passage.lic.internal.api; org.eclipse.passage.lic.json, org.eclipse.passage.lic.oshi", org.eclipse.passage.lic.internal.api.conditions.mining; - x-friends:="org.eclipse.passage.lbc.api, + x-friends:="org.eclipse.passage.lac.jetty, + org.eclipse.passage.lbc.api, org.eclipse.passage.lbc.base, - org.eclipse.passage.lic.json, - org.eclipse.passage.lic.hc, - org.eclipse.passage.lic.licenses.migration, - org.eclipse.passage.lic.base, - org.eclipse.passage.lic.equinox, - org.eclipse.passage.lic.base.tests, org.eclipse.passage.lbc.jetty, org.eclipse.passage.lic.api.tests, + org.eclipse.passage.lic.base, + org.eclipse.passage.lic.base.tests, + org.eclipse.passage.lic.equinox, + org.eclipse.passage.lic.hc, org.eclipse.passage.lic.hc.tests, + org.eclipse.passage.lic.jface, + org.eclipse.passage.lic.json, + org.eclipse.passage.lic.licenses.migration, org.eclipse.passage.seal.demo, - org.eclipse.passage.lic.jface", + org.eclipse.passage.lac, + org.eclipse.passage.lic.net, + org.eclipse.passage.lic.jetty", org.eclipse.passage.lic.internal.api.diagnostic; x-friends:="org.eclipse.passage.lic.base, org.eclipse.passage.lic.jface, diff --git a/bundles/org.eclipse.passage.lic.jetty/.classpath b/bundles/org.eclipse.passage.lic.jetty/.classpath new file mode 100644 index 000000000..eca7bdba8 --- /dev/null +++ b/bundles/org.eclipse.passage.lic.jetty/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/bundles/org.eclipse.passage.lic.jetty/.project b/bundles/org.eclipse.passage.lic.jetty/.project new file mode 100644 index 000000000..bea6aa11e --- /dev/null +++ b/bundles/org.eclipse.passage.lic.jetty/.project @@ -0,0 +1,39 @@ + + + org.eclipse.passage.lic.jetty + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + org.eclipse.pde.ds.core.builder + + + + + org.eclipse.pde.api.tools.apiAnalysisBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + org.eclipse.pde.api.tools.apiAnalysisNature + + diff --git a/bundles/org.eclipse.passage.lic.jetty/.settings/.api_filters b/bundles/org.eclipse.passage.lic.jetty/.settings/.api_filters new file mode 100644 index 000000000..8b54a69f8 --- /dev/null +++ b/bundles/org.eclipse.passage.lic.jetty/.settings/.api_filters @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/bundles/org.eclipse.passage.lic.jetty/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.passage.lic.jetty/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..c0a6a56ce --- /dev/null +++ b/bundles/org.eclipse.passage.lic.jetty/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,115 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled +org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore +org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull +org.eclipse.jdt.core.compiler.annotation.nonnull.secondary= +org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault +org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= +org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable +org.eclipse.jdt.core.compiler.annotation.nullable.secondary= +org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled +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.problem.APILeak=warning +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=disabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=warning +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.includeNullInfoFromAsserts=disabled +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.localVariableHiding=warning +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning +org.eclipse.jdt.core.compiler.problem.missingDefaultCase=warning +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning +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=error +org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning +org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning +org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error +org.eclipse.jdt.core.compiler.problem.nullReference=warning +org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error +org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning +org.eclipse.jdt.core.compiler.problem.parameterAssignment=warning +org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning +org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore +org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore +org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=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.syntacticNullAnalysisForFields=disabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore +org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning +org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning +org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled +org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info +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.unstableAutoModuleName=warning +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore +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.unusedTypeParameter=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=1.8 diff --git a/bundles/org.eclipse.passage.lic.jetty/.settings/org.eclipse.jdt.ui.prefs b/bundles/org.eclipse.passage.lic.jetty/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 000000000..906381876 --- /dev/null +++ b/bundles/org.eclipse.passage.lic.jetty/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,122 @@ +cleanup.add_default_serial_version_id=true +cleanup.add_generated_serial_version_id=false +cleanup.add_missing_annotations=true +cleanup.add_missing_deprecated_annotations=true +cleanup.add_missing_methods=false +cleanup.add_missing_nls_tags=false +cleanup.add_missing_override_annotations=true +cleanup.add_missing_override_annotations_interface_methods=true +cleanup.add_serial_version_id=false +cleanup.always_use_blocks=true +cleanup.always_use_parentheses_in_expressions=false +cleanup.always_use_this_for_non_static_field_access=false +cleanup.always_use_this_for_non_static_method_access=false +cleanup.convert_functional_interfaces=false +cleanup.convert_to_enhanced_for_loop=false +cleanup.correct_indentation=false +cleanup.format_source_code=false +cleanup.format_source_code_changes_only=false +cleanup.insert_inferred_type_arguments=false +cleanup.make_local_variable_final=true +cleanup.make_parameters_final=false +cleanup.make_private_fields_final=true +cleanup.make_type_abstract_if_missing_method=false +cleanup.make_variable_declarations_final=false +cleanup.never_use_blocks=false +cleanup.never_use_parentheses_in_expressions=true +cleanup.organize_imports=false +cleanup.qualify_static_field_accesses_with_declaring_class=false +cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +cleanup.qualify_static_member_accesses_with_declaring_class=true +cleanup.qualify_static_method_accesses_with_declaring_class=false +cleanup.remove_private_constructors=true +cleanup.remove_redundant_modifiers=false +cleanup.remove_redundant_semicolons=false +cleanup.remove_redundant_type_arguments=false +cleanup.remove_trailing_whitespaces=false +cleanup.remove_trailing_whitespaces_all=true +cleanup.remove_trailing_whitespaces_ignore_empty=false +cleanup.remove_unnecessary_casts=true +cleanup.remove_unnecessary_nls_tags=true +cleanup.remove_unused_imports=true +cleanup.remove_unused_local_variables=false +cleanup.remove_unused_private_fields=true +cleanup.remove_unused_private_members=false +cleanup.remove_unused_private_methods=true +cleanup.remove_unused_private_types=true +cleanup.sort_members=false +cleanup.sort_members_all=false +cleanup.use_anonymous_class_creation=false +cleanup.use_blocks=false +cleanup.use_blocks_only_for_return_and_throw=false +cleanup.use_lambda=true +cleanup.use_parentheses_in_expressions=false +cleanup.use_this_for_non_static_field_access=false +cleanup.use_this_for_non_static_field_access_only_if_necessary=true +cleanup.use_this_for_non_static_method_access=false +cleanup.use_this_for_non_static_method_access_only_if_necessary=true +cleanup_profile=org.eclipse.jdt.ui.default.eclipse_clean_up_profile +cleanup_settings_version=2 +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=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_functional_interfaces=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.insert_inferred_type_arguments=false +sp_cleanup.make_local_variable_final=true +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=false +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_redundant_modifiers=false +sp_cleanup.remove_redundant_semicolons=false +sp_cleanup.remove_redundant_type_arguments=false +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_anonymous_class_creation=false +sp_cleanup.use_blocks=false +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_lambda=true +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/bundles/org.eclipse.passage.lic.jetty/.settings/org.eclipse.pde.ds.annotations.prefs b/bundles/org.eclipse.passage.lic.jetty/.settings/org.eclipse.pde.ds.annotations.prefs new file mode 100644 index 000000000..73a356b6d --- /dev/null +++ b/bundles/org.eclipse.passage.lic.jetty/.settings/org.eclipse.pde.ds.annotations.prefs @@ -0,0 +1,8 @@ +classpath=true +dsVersion=V1_3 +eclipse.preferences.version=1 +enabled=true +generateBundleActivationPolicyLazy=true +path=OSGI-INF +validationErrorLevel=error +validationErrorLevel.missingImplicitUnbindMethod=error diff --git a/bundles/org.eclipse.passage.lic.jetty/.settings/org.eclipse.pde.prefs b/bundles/org.eclipse.passage.lic.jetty/.settings/org.eclipse.pde.prefs new file mode 100644 index 000000000..47bd5bdfc --- /dev/null +++ b/bundles/org.eclipse.passage.lic.jetty/.settings/org.eclipse.pde.prefs @@ -0,0 +1,34 @@ +compilers.f.unresolved-features=1 +compilers.f.unresolved-plugins=1 +compilers.incompatible-environment=1 +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=1 +compilers.p.no-required-att=0 +compilers.p.no.automatic.module=1 +compilers.p.not-externalized-att=0 +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/bundles/org.eclipse.passage.lic.jetty/META-INF/MANIFEST.MF b/bundles/org.eclipse.passage.lic.jetty/META-INF/MANIFEST.MF new file mode 100644 index 000000000..a4a8cbf13 --- /dev/null +++ b/bundles/org.eclipse.passage.lic.jetty/META-INF/MANIFEST.MF @@ -0,0 +1,21 @@ +Manifest-Version: 1.0 +Automatic-Module-Name: org.eclipse.passage.lic.jrtty +Bundle-ManifestVersion: 2 +Bundle-SymbolicName: org.eclipse.passage.lic.jetty +Bundle-Version: 0.1.0.qualifier +Bundle-Name: %Bundle-Name +Bundle-Vendor: %Bundle-Vendor +Bundle-Copyright: %Bundle-Copyright +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Require-Bundle: javax.servlet;bundle-version="0.0.0", + org.eclipse.core.runtime;bundle-version="0.0.0", + org.eclipse.jetty.http;bundle-version="0.0.0", + org.eclipse.jetty.server;bundle-version="0.0.0", + org.eclipse.jetty.util;bundle-version="0.0.0", + org.eclipse.osgi.services;bundle-version="0.0.0", + org.eclipse.passage.lic.net;bundle-version="1.0.100" +Export-Package: org.eclipse.passage.lic.internal.jetty; + x-friends:="org.eclipse.passage.lbc.base, + org.eclipse.passage.lbc.jetty, + org.eclipse.passage.lac.jetty" +Bundle-ActivationPolicy: lazy diff --git a/bundles/org.eclipse.passage.lic.jetty/OSGI-INF/l10n/bundle.properties b/bundles/org.eclipse.passage.lic.jetty/OSGI-INF/l10n/bundle.properties new file mode 100644 index 000000000..fc0ea28c2 --- /dev/null +++ b/bundles/org.eclipse.passage.lic.jetty/OSGI-INF/l10n/bundle.properties @@ -0,0 +1,23 @@ +#Properties file for org.eclipse.passage.lic.jetty +############################################################################### +# Copyright (c) 2021 ArSysOp and others +# +# This program and the accompanying materials are made available under the +# terms of the Eclipse Public License 2.0 which is available at +# https://www.eclipse.org/legal/epl-2.0/. +# +# SPDX-License-Identifier: EPL-2.0 +# +# Contributors: +# ArSysOp - initial API and implementation +############################################################################### + +Bundle-Name = Passage LIC Jetty +Bundle-Vendor = Eclipse Passage +Bundle-Copyright = Copyright (c) 2021 ArSysOp and others.\n\ +\n\ +This program and the accompanying materials are made\n\ +available under the terms of the Eclipse Public License 2.0\n\ +which is available at https://www.eclipse.org/legal/epl-2.0/\n\ +\n\ +SPDX-License-Identifier: EPL-2.0\n\ diff --git a/bundles/org.eclipse.passage.lic.jetty/about.html b/bundles/org.eclipse.passage.lic.jetty/about.html new file mode 100644 index 000000000..164f781a8 --- /dev/null +++ b/bundles/org.eclipse.passage.lic.jetty/about.html @@ -0,0 +1,36 @@ + + + + +About + + +

About This Content

+ +

November 30, 2017

+

License

+ +

+ The Eclipse Foundation makes available all content in this plug-in + ("Content"). Unless otherwise indicated below, the Content + is provided to you under the terms and conditions of the Eclipse + Public License Version 2.0 ("EPL"). A copy of the EPL is + available at http://www.eclipse.org/legal/epl-2.0. + For purposes of the EPL, "Program" will mean the Content. +

+ +

+ If you did not receive this Content directly from the Eclipse + Foundation, the Content is being redistributed by another party + ("Redistributor") and different terms and conditions may + apply to your use of any object code in the Content. Check the + Redistributor's license that was provided with the Content. If no such + license exists, contact the Redistributor. Unless otherwise indicated + below, the terms and conditions of the EPL still apply to any source + code in the Content and such source code may be obtained at http://www.eclipse.org. +

+ + + \ No newline at end of file diff --git a/bundles/org.eclipse.passage.lic.jetty/about.ini b/bundles/org.eclipse.passage.lic.jetty/about.ini new file mode 100644 index 000000000..9cdf90902 --- /dev/null +++ b/bundles/org.eclipse.passage.lic.jetty/about.ini @@ -0,0 +1,23 @@ +############################################################################### +# Copyright (c) 2021 ArSysOp and others +# +# This program and the accompanying materials are made available under the +# terms of the Eclipse Public License 2.0 which is available at +# https://www.eclipse.org/legal/epl-2.0/. +# +# SPDX-License-Identifier: EPL-2.0 +# +# Contributors: +# ArSysOp - initial API and implementation +############################################################################### +# about.ini +# contains information about a feature +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# "%key" are externalized strings defined in about.properties +# This file does not need to be translated. + +# Property "aboutText" contains blurb for "About" dialog (translated) +aboutText=%blurb + +# Property "featureImage" contains path to feature image (32x32) +featureImage=passage32.png diff --git a/bundles/org.eclipse.passage.lic.jetty/about.mappings b/bundles/org.eclipse.passage.lic.jetty/about.mappings new file mode 100644 index 000000000..6d9f2e527 --- /dev/null +++ b/bundles/org.eclipse.passage.lic.jetty/about.mappings @@ -0,0 +1,18 @@ +############################################################################### +# Copyright (c) 2021 ArSysOp and others +# +# This program and the accompanying materials are made available under the +# terms of the Eclipse Public License 2.0 which is available at +# https://www.eclipse.org/legal/epl-2.0/. +# +# SPDX-License-Identifier: EPL-2.0 +# +# Contributors: +# ArSysOp - initial API and implementation +############################################################################### +# about.mappings +# contains fill-ins for about.properties +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file does not need to be translated. + +0=${buildId} diff --git a/bundles/org.eclipse.passage.lic.jetty/about.properties b/bundles/org.eclipse.passage.lic.jetty/about.properties new file mode 100644 index 000000000..ab727d790 --- /dev/null +++ b/bundles/org.eclipse.passage.lic.jetty/about.properties @@ -0,0 +1,24 @@ +############################################################################### +# Copyright (c) 2021 ArSysOp and others +# +# This program and the accompanying materials are made available under the +# terms of the Eclipse Public License 2.0 which is available at +# https://www.eclipse.org/legal/epl-2.0/. +# +# SPDX-License-Identifier: EPL-2.0 +# +# Contributors: +# ArSysOp - initial API and implementation +############################################################################### +# about.properties +# contains externalized strings for about.ini +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# fill-ins are supplied by about.mappings +# This file should be translated. + +blurb=Passage Licensing Jetty Integration Units.\n\ +\n\ +Version: {featureVersion}\n\ +\n\ +Copyright (c) 2021 ArSysOp and others. All rights reserved.\n\ +Visit http://www.eclipse.org/passage diff --git a/bundles/org.eclipse.passage.lic.jetty/build.properties b/bundles/org.eclipse.passage.lic.jetty/build.properties new file mode 100644 index 000000000..d83aae1fc --- /dev/null +++ b/bundles/org.eclipse.passage.lic.jetty/build.properties @@ -0,0 +1,23 @@ +############################################################################### +# Copyright (c) 2021 ArSysOp and others +# +# This program and the accompanying materials are made available under the +# terms of the Eclipse Public License 2.0 which is available at +# https://www.eclipse.org/legal/epl-2.0/. +# +# SPDX-License-Identifier: EPL-2.0 +# +# Contributors: +# ArSysOp - initial API and implementation +############################################################################### + +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + OSGI-INF/,\ + about.html,\ + about.ini,\ + about.mappings,\ + about.properties,\ + passage32.png diff --git a/bundles/org.eclipse.passage.lic.jetty/passage32.png b/bundles/org.eclipse.passage.lic.jetty/passage32.png new file mode 100644 index 000000000..8f2e30bf3 Binary files /dev/null and b/bundles/org.eclipse.passage.lic.jetty/passage32.png differ diff --git a/bundles/org.eclipse.passage.lbc.jetty/src/org/eclipse/passage/lbc/internal/jetty/JettyException.java b/bundles/org.eclipse.passage.lic.jetty/src/org/eclipse/passage/lic/internal/jetty/JettyException.java similarity index 82% rename from bundles/org.eclipse.passage.lbc.jetty/src/org/eclipse/passage/lbc/internal/jetty/JettyException.java rename to bundles/org.eclipse.passage.lic.jetty/src/org/eclipse/passage/lic/internal/jetty/JettyException.java index 6be14e2f7..86d50cbeb 100644 --- a/bundles/org.eclipse.passage.lbc.jetty/src/org/eclipse/passage/lbc/internal/jetty/JettyException.java +++ b/bundles/org.eclipse.passage.lic.jetty/src/org/eclipse/passage/lic/internal/jetty/JettyException.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2020 ArSysOp + * Copyright (c) 2020, 2021 ArSysOp * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License 2.0 which is available at @@ -10,7 +10,7 @@ * Contributors: * ArSysOp - initial API and implementation *******************************************************************************/ -package org.eclipse.passage.lbc.internal.jetty; +package org.eclipse.passage.lic.internal.jetty; /** * Unrecoverable Jetty Server lifecycle error @@ -18,7 +18,7 @@ * @see JettyServer * */ -public class JettyException extends Exception { +public final class JettyException extends Exception { private static final long serialVersionUID = 1L; diff --git a/bundles/org.eclipse.passage.lbc.jetty/src/org/eclipse/passage/lbc/internal/jetty/JettyHandler.java b/bundles/org.eclipse.passage.lic.jetty/src/org/eclipse/passage/lic/internal/jetty/JettyHandler.java similarity index 77% rename from bundles/org.eclipse.passage.lbc.jetty/src/org/eclipse/passage/lbc/internal/jetty/JettyHandler.java rename to bundles/org.eclipse.passage.lic.jetty/src/org/eclipse/passage/lic/internal/jetty/JettyHandler.java index bb4329909..8fc76e362 100644 --- a/bundles/org.eclipse.passage.lbc.jetty/src/org/eclipse/passage/lbc/internal/jetty/JettyHandler.java +++ b/bundles/org.eclipse.passage.lic.jetty/src/org/eclipse/passage/lic/internal/jetty/JettyHandler.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2020 ArSysOp + * Copyright (c) 2021 ArSysOp * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License 2.0 which is available at @@ -10,11 +10,13 @@ * Contributors: * ArSysOp - initial API and implementation *******************************************************************************/ -package org.eclipse.passage.lbc.internal.jetty; +package org.eclipse.passage.lic.internal.jetty; import java.io.IOException; import java.io.PrintWriter; import java.nio.charset.Charset; +import java.util.Objects; +import java.util.function.Function; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; @@ -22,10 +24,7 @@ import org.eclipse.jetty.server.Request; import org.eclipse.jetty.server.handler.AbstractHandler; -import org.eclipse.passage.lbc.internal.base.BaseFlotingRequestHandled; -import org.eclipse.passage.lbc.internal.base.EagerFloatingState; -import org.eclipse.passage.lbc.internal.base.api.FloatingState; -import org.eclipse.passage.lic.internal.api.conditions.mining.ContentType; +import org.eclipse.passage.lic.internal.net.handle.NetRequest; import org.eclipse.passage.lic.internal.net.handle.NetResponse; /** @@ -35,9 +34,14 @@ * Thus, it's the only place to keep server's {@code state}. Which, for the * floating server, is a persistent grant acquisition ledger. */ -final class JettyHandler extends AbstractHandler { +public final class JettyHandler extends AbstractHandler { - private final FloatingState state = new EagerFloatingState(); + private final Function handler; + + public JettyHandler(Function handler) { + Objects.requireNonNull(handler, "JettyHandler::handler"); //$NON-NLS-1$ + this.handler = handler; + } @Override public void handle(String target, Request request, HttpServletRequest wrapper, HttpServletResponse envelope) @@ -47,11 +51,11 @@ public void handle(String target, Request request, HttpServletRequest wrapper, H } private NetResponse response(HttpServletRequest request) { - return new BaseFlotingRequestHandled(new JettyRequest(request, state)).get(); + return handler.apply(new JettyRequest(request)); } private void write(NetResponse response, HttpServletResponse envelope) throws IOException { - envelope.setContentType(new ContentType.Xml().contentType()); + envelope.setContentType(response.contentType().contentType()); envelope.setCharacterEncoding("UTF-8"); //$NON-NLS-1$ if (response.failed()) { envelope.sendError(response.error().code(), response.error().message()); diff --git a/bundles/org.eclipse.passage.lbc.jetty/src/org/eclipse/passage/lbc/internal/jetty/JettyRequest.java b/bundles/org.eclipse.passage.lic.jetty/src/org/eclipse/passage/lic/internal/jetty/JettyRequest.java similarity index 68% rename from bundles/org.eclipse.passage.lbc.jetty/src/org/eclipse/passage/lbc/internal/jetty/JettyRequest.java rename to bundles/org.eclipse.passage.lic.jetty/src/org/eclipse/passage/lic/internal/jetty/JettyRequest.java index 775c17c5f..9568c1949 100644 --- a/bundles/org.eclipse.passage.lbc.jetty/src/org/eclipse/passage/lbc/internal/jetty/JettyRequest.java +++ b/bundles/org.eclipse.passage.lic.jetty/src/org/eclipse/passage/lic/internal/jetty/JettyRequest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2020 ArSysOp + * Copyright (c) 2021 ArSysOp * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License 2.0 which is available at @@ -10,24 +10,23 @@ * Contributors: * ArSysOp - initial API and implementation *******************************************************************************/ -package org.eclipse.passage.lbc.internal.jetty; +package org.eclipse.passage.lic.internal.jetty; import java.io.IOException; import java.io.InputStream; +import java.util.Objects; import javax.servlet.http.HttpServletRequest; -import org.eclipse.passage.lbc.internal.base.api.FloatingState; -import org.eclipse.passage.lbc.internal.base.api.RawRequest; +import org.eclipse.passage.lic.internal.net.handle.NetRequest; -final class JettyRequest implements RawRequest { +public final class JettyRequest implements NetRequest { private final HttpServletRequest origin; - private final FloatingState state; - JettyRequest(HttpServletRequest origin, FloatingState state) { + public JettyRequest(HttpServletRequest origin) { + Objects.requireNonNull(origin, "JettyRequest::origin"); //$NON-NLS-1$ this.origin = origin; - this.state = state; } @Override @@ -44,9 +43,4 @@ public byte[] content() throws IOException { return content; } - @Override - public FloatingState state() { - return state; - } - } diff --git a/bundles/org.eclipse.passage.lbc.jetty/src/org/eclipse/passage/lbc/internal/jetty/JettyServer.java b/bundles/org.eclipse.passage.lic.jetty/src/org/eclipse/passage/lic/internal/jetty/JettyServer.java similarity index 66% rename from bundles/org.eclipse.passage.lbc.jetty/src/org/eclipse/passage/lbc/internal/jetty/JettyServer.java rename to bundles/org.eclipse.passage.lic.jetty/src/org/eclipse/passage/lic/internal/jetty/JettyServer.java index 78d46e1ce..fae66d52b 100644 --- a/bundles/org.eclipse.passage.lbc.jetty/src/org/eclipse/passage/lbc/internal/jetty/JettyServer.java +++ b/bundles/org.eclipse.passage.lic.jetty/src/org/eclipse/passage/lic/internal/jetty/JettyServer.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2020 ArSysOp + * Copyright (c) 2021 ArSysOp * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License 2.0 which is available at @@ -10,24 +10,32 @@ * Contributors: * ArSysOp - initial API and implementation *******************************************************************************/ -package org.eclipse.passage.lbc.internal.jetty; +package org.eclipse.passage.lic.internal.jetty; + +import java.util.Objects; +import java.util.function.Supplier; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.util.log.Log; import org.eclipse.jetty.util.log.Logger; -import org.eclipse.passage.lbc.internal.base.Port; -import org.eclipse.passage.lbc.internal.jetty.i18n.Messages; +import org.eclipse.passage.lic.internal.jetty.i18n.Messages; +import org.eclipse.passage.lic.internal.net.connect.Port; -final class JettyServer { +public final class JettyServer { private final Logger logger = Log.getLogger(JettyServer.class); - + private final Supplier handler; private Server server; - void launch(Port port) throws JettyException { + public JettyServer(Supplier handler) { + Objects.requireNonNull(handler, "JettyServer::handler"); //$NON-NLS-1$ + this.handler = handler; + } + + public void launch(Port port) throws JettyException { try { server = new Server(port.get().get()); - server.setHandler(new JettyHandler()); + server.setHandler(handler.get()); server.start(); logger.info(String.format(Messages.started, port.get())); } catch (Exception exception) { @@ -37,7 +45,7 @@ void launch(Port port) throws JettyException { } } - void terminate() throws JettyException { + public void terminate() throws JettyException { try { server.stop(); logger.info(String.format(Messages.stopped)); diff --git a/bundles/org.eclipse.passage.lbc.jetty/src/org/eclipse/passage/lbc/internal/jetty/i18n/Messages.java b/bundles/org.eclipse.passage.lic.jetty/src/org/eclipse/passage/lic/internal/jetty/i18n/Messages.java similarity index 91% rename from bundles/org.eclipse.passage.lbc.jetty/src/org/eclipse/passage/lbc/internal/jetty/i18n/Messages.java rename to bundles/org.eclipse.passage.lic.jetty/src/org/eclipse/passage/lic/internal/jetty/i18n/Messages.java index 51a0279cb..e4d2c8249 100644 --- a/bundles/org.eclipse.passage.lbc.jetty/src/org/eclipse/passage/lbc/internal/jetty/i18n/Messages.java +++ b/bundles/org.eclipse.passage.lic.jetty/src/org/eclipse/passage/lic/internal/jetty/i18n/Messages.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2019, 2020 ArSysOp + * Copyright (c) 2021 ArSysOp * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License 2.0 which is available at @@ -10,7 +10,7 @@ * Contributors: * ArSysOp - initial API and implementation *******************************************************************************/ -package org.eclipse.passage.lbc.internal.jetty.i18n; +package org.eclipse.passage.lic.internal.jetty.i18n; import java.util.MissingResourceException; import java.util.ResourceBundle; @@ -19,7 +19,8 @@ * @since 0.1 */ public final class Messages { - private static final String BUNDLE_NAME = "org.eclipse.passage.lbc.internal.jetty.i18n.Messages"; //$NON-NLS-1$ + + private static final String BUNDLE_NAME = "org.eclipse.passage.lic.internal.jetty.i18n.Messages"; //$NON-NLS-1$ private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME); diff --git a/bundles/org.eclipse.passage.lbc.jetty/src/org/eclipse/passage/lbc/internal/jetty/i18n/Messages.properties b/bundles/org.eclipse.passage.lic.jetty/src/org/eclipse/passage/lic/internal/jetty/i18n/Messages.properties similarity index 94% rename from bundles/org.eclipse.passage.lbc.jetty/src/org/eclipse/passage/lbc/internal/jetty/i18n/Messages.properties rename to bundles/org.eclipse.passage.lic.jetty/src/org/eclipse/passage/lic/internal/jetty/i18n/Messages.properties index 169cfc7c7..bd9ae06b6 100644 --- a/bundles/org.eclipse.passage.lbc.jetty/src/org/eclipse/passage/lbc/internal/jetty/i18n/Messages.properties +++ b/bundles/org.eclipse.passage.lic.jetty/src/org/eclipse/passage/lic/internal/jetty/i18n/Messages.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2020 ArSysOp and others +# Copyright (c) 2021 ArSysOp and others # # This program and the accompanying materials are made available under the # terms of the Eclipse Public License 2.0 which is available at diff --git a/bundles/org.eclipse.passage.lic.net/.settings/.api_filters b/bundles/org.eclipse.passage.lic.net/.settings/.api_filters new file mode 100644 index 000000000..8b54a69f8 --- /dev/null +++ b/bundles/org.eclipse.passage.lic.net/.settings/.api_filters @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/bundles/org.eclipse.passage.lic.net/META-INF/MANIFEST.MF b/bundles/org.eclipse.passage.lic.net/META-INF/MANIFEST.MF index db0070a74..bff7db64c 100644 --- a/bundles/org.eclipse.passage.lic.net/META-INF/MANIFEST.MF +++ b/bundles/org.eclipse.passage.lic.net/META-INF/MANIFEST.MF @@ -2,18 +2,24 @@ Manifest-Version: 1.0 Automatic-Module-Name: org.eclipse.passage.lic.net Bundle-ManifestVersion: 2 Bundle-SymbolicName: org.eclipse.passage.lic.net -Bundle-Version: 1.0.100.qualifier +Bundle-Version: 1.1.0.qualifier Bundle-Name: %Bundle-Name Bundle-Vendor: %Bundle-Vendor Bundle-Copyright: %Bundle-Copyright Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Require-Bundle: org.eclipse.emf.ecore.xmi;bundle-version="0.0.0", org.eclipse.passage.lic.floating.model;bundle-version="0.1.0", - org.eclipse.passage.lic.base;bundle-version="1.0.101" + org.eclipse.passage.lic.base;bundle-version="1.0.101";visibility:=reexport, + org.apache.logging.log4j;bundle-version="2.8.2" Export-Package: org.eclipse.passage.lic.internal.net; x-friends:="org.eclipse.passage.lbc.base, org.eclipse.passage.lic.hc, org.eclipse.passage.lbc.jetty, org.eclipse.passage.lbc.base.tests", - org.eclipse.passage.lic.internal.net.handle;x-friends:="org.eclipse.passage.lbc.base,org.eclipse.passage.lbc.jetty" + org.eclipse.passage.lic.internal.net.connect, + org.eclipse.passage.lic.internal.net.handle; + x-friends:="org.eclipse.passage.lac, + org.eclipse.passage.lbc.base, + org.eclipse.passage.lic.jetty, + org.eclipse.passage.lbc.jetty" Bundle-ActivationPolicy: lazy diff --git a/bundles/org.eclipse.passage.lbc.base/src/org/eclipse/passage/lbc/internal/base/Port.java b/bundles/org.eclipse.passage.lic.net/src/org/eclipse/passage/lic/internal/net/connect/Port.java similarity index 87% rename from bundles/org.eclipse.passage.lbc.base/src/org/eclipse/passage/lbc/internal/base/Port.java rename to bundles/org.eclipse.passage.lic.net/src/org/eclipse/passage/lic/internal/net/connect/Port.java index 86e86212e..f7cf58ec7 100644 --- a/bundles/org.eclipse.passage.lbc.base/src/org/eclipse/passage/lbc/internal/base/Port.java +++ b/bundles/org.eclipse.passage.lic.net/src/org/eclipse/passage/lic/internal/net/connect/Port.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2020 ArSysOp + * Copyright (c) 2020, 2021 ArSysOp * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License 2.0 which is available at @@ -10,7 +10,7 @@ * Contributors: * ArSysOp - initial API and implementation *******************************************************************************/ -package org.eclipse.passage.lbc.internal.base; +package org.eclipse.passage.lic.internal.net.connect; import java.util.Arrays; import java.util.Optional; @@ -20,14 +20,16 @@ import org.eclipse.passage.lic.internal.base.NamedData; /** - * @since 1.0 + * @since 1.1 */ public final class Port implements NamedData { private final Logger log = LogManager.getLogger(getClass()); private final Optional raw; + private final int lazy; - public Port(String[] sources) { + public Port(String[] sources, int lazy) { + this.lazy = lazy; String prefix = String.format("-%s=", key()); //$NON-NLS-1$ this.raw = Arrays.stream(sources)// .map(String::toLowerCase)// @@ -47,7 +49,7 @@ public Optional get() { } private Optional defaultPort() { - return Optional.of(8090); + return Optional.of(lazy); } private Optional parse(String port) { diff --git a/bundles/org.eclipse.passage.lic.net/src/org/eclipse/passage/lic/internal/net/handle/NetResponse.java b/bundles/org.eclipse.passage.lic.net/src/org/eclipse/passage/lic/internal/net/handle/NetResponse.java index 44e6e74d4..b4e517bd7 100644 --- a/bundles/org.eclipse.passage.lic.net/src/org/eclipse/passage/lic/internal/net/handle/NetResponse.java +++ b/bundles/org.eclipse.passage.lic.net/src/org/eclipse/passage/lic/internal/net/handle/NetResponse.java @@ -13,6 +13,7 @@ package org.eclipse.passage.lic.internal.net.handle; import org.eclipse.passage.lic.internal.api.LicensingException; +import org.eclipse.passage.lic.internal.api.conditions.mining.ContentType; /** * @since 1.0 @@ -33,4 +34,7 @@ public static interface Error { String message(); } + + ContentType contentType(); + } diff --git a/features/org.eclipse.passage.lac.execute.feature/feature.xml b/features/org.eclipse.passage.lac.execute.feature/feature.xml index 8deaecb90..0bf11e594 100644 --- a/features/org.eclipse.passage.lac.execute.feature/feature.xml +++ b/features/org.eclipse.passage.lac.execute.feature/feature.xml @@ -38,6 +38,7 @@ + - + --> - --> + diff --git a/features/org.eclipse.passage.lbc.execute.feature/feature.xml b/features/org.eclipse.passage.lbc.execute.feature/feature.xml index 779b670e1..be89f21c5 100644 --- a/features/org.eclipse.passage.lbc.execute.feature/feature.xml +++ b/features/org.eclipse.passage.lbc.execute.feature/feature.xml @@ -38,6 +38,7 @@ + + + org.eclipse.passage.lic.jetty.feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/features/org.eclipse.passage.lic.jetty.feature/build.properties b/features/org.eclipse.passage.lic.jetty.feature/build.properties new file mode 100644 index 000000000..b591e74e2 --- /dev/null +++ b/features/org.eclipse.passage.lic.jetty.feature/build.properties @@ -0,0 +1,15 @@ +############################################################################### +# Copyright (c) 2021 ArSysOp and others +# +# This program and the accompanying materials are made available under the +# terms of the Eclipse Public License 2.0 which is available at +# https://www.eclipse.org/legal/epl-2.0/. +# +# SPDX-License-Identifier: EPL-2.0 +# +# Contributors: +# ArSysOp - initial API and implementation +############################################################################### + +bin.includes = feature.xml,\ + feature.properties diff --git a/features/org.eclipse.passage.lic.jetty.feature/feature.properties b/features/org.eclipse.passage.lic.jetty.feature/feature.properties new file mode 100644 index 000000000..fd5d59a4c --- /dev/null +++ b/features/org.eclipse.passage.lic.jetty.feature/feature.properties @@ -0,0 +1,25 @@ +#Properties file for org.eclipse.passage.lic.jetty.feature +############################################################################### +# Copyright (c) 2021 ArSysOp and others +# +# This program and the accompanying materials are made available under the +# terms of the Eclipse Public License 2.0 which is available at +# https://www.eclipse.org/legal/epl-2.0/. +# +# SPDX-License-Identifier: EPL-2.0 +# +# Contributors: +# ArSysOp - initial API and implementation +############################################################################### + +featureName=Passage LIC Jetty +providerName=Eclipse Passage +description=Passage Licensing Jetty Integration Units. +copyright=Copyright (c) 2021 ArSysOp and others.\n\ +\n\ +This program and the accompanying materials are made\n\ +available under the terms of the Eclipse Public License 2.0\n\ +which is available at https://www.eclipse.org/legal/epl-2.0/\n\ +\n\ +SPDX-License-Identifier: EPL-2.0\n\ + diff --git a/features/org.eclipse.passage.lic.jetty.feature/feature.xml b/features/org.eclipse.passage.lic.jetty.feature/feature.xml new file mode 100644 index 000000000..47a2627af --- /dev/null +++ b/features/org.eclipse.passage.lic.jetty.feature/feature.xml @@ -0,0 +1,46 @@ + + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + diff --git a/releng/org.eclipse.passage.lac.aggregator/pom.xml b/releng/org.eclipse.passage.lac.aggregator/pom.xml index 89b1c03b4..b116f41f7 100644 --- a/releng/org.eclipse.passage.lac.aggregator/pom.xml +++ b/releng/org.eclipse.passage.lac.aggregator/pom.xml @@ -28,6 +28,7 @@ ../../bundles/org.eclipse.passage.lac + ../../bundles/org.eclipse.passage.lac.jetty ../../features/org.eclipse.passage.lac.target.feature ../../features/org.eclipse.passage.lac.execute.feature ../../releng/org.eclipse.passage.lac.repository diff --git a/releng/org.eclipse.passage.lic.aggregator/pom.xml b/releng/org.eclipse.passage.lic.aggregator/pom.xml index 0828876fd..454831f01 100644 --- a/releng/org.eclipse.passage.lic.aggregator/pom.xml +++ b/releng/org.eclipse.passage.lic.aggregator/pom.xml @@ -45,8 +45,10 @@ ../../tests/org.eclipse.passage.lic.bc.tests ../../bundles/org.eclipse.passage.lic.net + ../../bundles/org.eclipse.passage.lic.jetty ../../bundles/org.eclipse.passage.lic.email ../../features/org.eclipse.passage.lic.net.feature + ../../features/org.eclipse.passage.lic.jetty.feature ../../tests/org.eclipse.passage.lic.net.tests ../../bundles/org.eclipse.passage.lic.mail