[DEV] add back
This commit is contained in:
parent
d354da99d8
commit
0c33675860
10
.checkstyle
Normal file
10
.checkstyle
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<fileset-config file-format-version="1.2.0" simple-config="true" sync-formatter="false">
|
||||||
|
<local-check-config name="Scenarium" location="/home/heero/dev/workspace-scenarium/scenarium-core/CheckStyle.xml" type="external" description="">
|
||||||
|
<additional-data name="protect-config-file" value="false"/>
|
||||||
|
</local-check-config>
|
||||||
|
<fileset name="all" enabled="true" check-config-name="Scenarium" local="true">
|
||||||
|
<file-match-pattern match-pattern="." include-pattern="true"/>
|
||||||
|
</fileset>
|
||||||
|
</fileset-config>
|
64
.gitignore
vendored
Normal file
64
.gitignore
vendored
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
# See http://help.github.com/ignore-files/ for more about ignoring files.
|
||||||
|
out
|
||||||
|
.idea
|
||||||
|
|
||||||
|
# compiled output
|
||||||
|
/dist
|
||||||
|
/dist-server
|
||||||
|
/tmp
|
||||||
|
/out-tsc
|
||||||
|
|
||||||
|
/front/dist
|
||||||
|
|
||||||
|
config.env
|
||||||
|
|
||||||
|
*.class
|
||||||
|
|
||||||
|
dataPush
|
||||||
|
node_modules
|
||||||
|
|
||||||
|
# dependencies
|
||||||
|
applicationFront/node_modules
|
||||||
|
|
||||||
|
# IDEs and editors
|
||||||
|
/.idea
|
||||||
|
.project
|
||||||
|
.classpath
|
||||||
|
.c9/
|
||||||
|
*.launch
|
||||||
|
.settings/
|
||||||
|
*.sublime-workspace
|
||||||
|
|
||||||
|
# IDE - VSCode
|
||||||
|
.vscode/*
|
||||||
|
!.vscode/settings.json
|
||||||
|
!.vscode/tasks.json
|
||||||
|
!.vscode/launch.json
|
||||||
|
!.vscode/extensions.json
|
||||||
|
|
||||||
|
# misc
|
||||||
|
/.sass-cache
|
||||||
|
/connect.lock
|
||||||
|
/coverage
|
||||||
|
/libpeerconnection.log
|
||||||
|
npm-debug.log
|
||||||
|
yarn-error.log
|
||||||
|
testem.log
|
||||||
|
/typings
|
||||||
|
|
||||||
|
# e2e
|
||||||
|
/e2e/*.js
|
||||||
|
/e2e/*.map
|
||||||
|
|
||||||
|
# System Files
|
||||||
|
.DS_Store
|
||||||
|
Thumbs.db
|
||||||
|
|
||||||
|
backPY/env
|
||||||
|
|
||||||
|
*.pyc
|
||||||
|
|
||||||
|
__pycache__
|
||||||
|
|
||||||
|
.design/
|
||||||
|
.vscode/
|
79
Dockerfile
Normal file
79
Dockerfile
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
######################################################################################
|
||||||
|
##
|
||||||
|
## buyilding-end install applications:
|
||||||
|
##
|
||||||
|
######################################################################################
|
||||||
|
FROM archlinux:base-devel AS builder
|
||||||
|
# update system
|
||||||
|
RUN pacman -Syu --noconfirm && pacman-db-upgrade \
|
||||||
|
&& pacman -S --noconfirm jdk-openjdk maven npm \
|
||||||
|
&& pacman -Scc --noconfirm
|
||||||
|
|
||||||
|
ENV PATH /tmp/node_modules/.bin:$PATH
|
||||||
|
WORKDIR /tmp
|
||||||
|
|
||||||
|
######################################################################################
|
||||||
|
##
|
||||||
|
## Build back:
|
||||||
|
##
|
||||||
|
######################################################################################
|
||||||
|
FROM builder AS buildBack
|
||||||
|
COPY back/pom.xml /tmp
|
||||||
|
COPY back/src /tmp/src/
|
||||||
|
RUN mvn clean compile assembly:single
|
||||||
|
|
||||||
|
######################################################################################
|
||||||
|
##
|
||||||
|
## Build front:
|
||||||
|
##
|
||||||
|
######################################################################################
|
||||||
|
FROM builder AS buildFront
|
||||||
|
|
||||||
|
ADD front/package-lock.json \
|
||||||
|
front/package.json \
|
||||||
|
front/karma.conf.js \
|
||||||
|
front/protractor.conf.js \
|
||||||
|
/tmp/
|
||||||
|
|
||||||
|
# install and cache app dependencies
|
||||||
|
RUN npm install
|
||||||
|
|
||||||
|
ADD front/e2e \
|
||||||
|
front/tsconfig.json \
|
||||||
|
front/tslint.json \
|
||||||
|
front/angular.json \
|
||||||
|
/tmp/
|
||||||
|
ADD front/src /tmp/src
|
||||||
|
|
||||||
|
# generate build
|
||||||
|
RUN ng build --output-path=dist --configuration=production --base-href=/karusic/ --deploy-url=/karusic/
|
||||||
|
|
||||||
|
######################################################################################
|
||||||
|
##
|
||||||
|
## Production area:
|
||||||
|
##
|
||||||
|
######################################################################################
|
||||||
|
|
||||||
|
FROM bellsoft/liberica-openjdk-alpine:latest
|
||||||
|
# add wget to manage the health check...
|
||||||
|
RUN apk add --no-cache wget
|
||||||
|
|
||||||
|
#FROM archlinux:base
|
||||||
|
#RUN pacman -Syu --noconfirm && pacman-db-upgrade
|
||||||
|
## install package
|
||||||
|
#RUN pacman -S --noconfirm jdk-openjdk wget
|
||||||
|
## intall npm
|
||||||
|
#RUN pacman -S --noconfirm npm
|
||||||
|
## clean all the caches Need only on the release environment
|
||||||
|
#RUN pacman -Scc --noconfirm
|
||||||
|
|
||||||
|
ENV LANG=C.UTF-8
|
||||||
|
|
||||||
|
COPY --from=buildBack /tmp/out/maven/*.jar /application/application.jar
|
||||||
|
COPY --from=buildFront /tmp/dist /application/front/
|
||||||
|
|
||||||
|
WORKDIR /application/
|
||||||
|
|
||||||
|
EXPOSE 80
|
||||||
|
|
||||||
|
CMD ["java", "-Xms64M", "-Xmx1G", "-cp", "/application/application.jar", "org.kar.karusic.WebLauncher"]
|
66
back/CheckStyle.xml
Executable file
66
back/CheckStyle.xml
Executable file
@ -0,0 +1,66 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE module PUBLIC "-//Checkstyle//DTD Check Configuration 1.3//EN" "https://checkstyle.org/dtds/configuration_1_3.dtd">
|
||||||
|
|
||||||
|
<!--
|
||||||
|
This configuration file was written by the eclipse-cs plugin configuration editor
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
|
Checkstyle-Configuration: Marc Checks
|
||||||
|
Description:
|
||||||
|
Checkstyle configuration that checks the sun coding conventions.
|
||||||
|
-->
|
||||||
|
<module name="Checker">
|
||||||
|
<property name="severity" value="error"/>
|
||||||
|
<property name="fileExtensions" value="java, properties, xml"/>
|
||||||
|
<module name="TreeWalker">
|
||||||
|
<module name="ConstantName"/>
|
||||||
|
<module name="LocalFinalVariableName"/>
|
||||||
|
<module name="LocalVariableName"/>
|
||||||
|
<module name="MemberName"/>
|
||||||
|
<module name="MethodName"/>
|
||||||
|
<module name="PackageName"/>
|
||||||
|
<module name="ParameterName"/>
|
||||||
|
<module name="StaticVariableName"/>
|
||||||
|
<module name="TypeName"/>
|
||||||
|
<module name="AvoidStarImport"/>
|
||||||
|
<module name="IllegalImport"/>
|
||||||
|
<module name="RedundantImport"/>
|
||||||
|
<module name="UnusedImports">
|
||||||
|
<property name="processJavadoc" value="false"/>
|
||||||
|
</module>
|
||||||
|
<module name="ModifierOrder"/>
|
||||||
|
<module name="EmptyStatement"/>
|
||||||
|
<module name="EqualsHashCode"/>
|
||||||
|
<module name="IllegalInstantiation"/>
|
||||||
|
<module name="MissingSwitchDefault"/>
|
||||||
|
<module name="SimplifyBooleanExpression"/>
|
||||||
|
<module name="SimplifyBooleanReturn"/>
|
||||||
|
<module name="HideUtilityClassConstructor"/>
|
||||||
|
<module name="InterfaceIsType"/>
|
||||||
|
<module name="ArrayTypeStyle"/>
|
||||||
|
<module name="TodoComment"/>
|
||||||
|
<module name="UpperEll"/>
|
||||||
|
<module name="AnnotationUseStyle"/>
|
||||||
|
<module name="MissingDeprecated"/>
|
||||||
|
<module name="MissingOverride"/>
|
||||||
|
<module name="PackageAnnotation"/>
|
||||||
|
<module name="SuppressWarnings"/>
|
||||||
|
<module name="AnnotationLocation"/>
|
||||||
|
<module name="ClassTypeParameterName"/>
|
||||||
|
<module name="MethodTypeParameterName"/>
|
||||||
|
<module name="InterfaceTypeParameterName"/>
|
||||||
|
<module name="CatchParameterName"/>
|
||||||
|
<module name="LambdaParameterName"/>
|
||||||
|
<module name="Regexp"/>
|
||||||
|
<module name="RegexpSinglelineJava"/>
|
||||||
|
</module>
|
||||||
|
<module name="BeforeExecutionExclusionFileFilter">
|
||||||
|
<property name="fileNamePattern" value="module\-info\.java$"/>
|
||||||
|
</module>
|
||||||
|
<module name="Translation"/>
|
||||||
|
<module name="Header"/>
|
||||||
|
<module name="RegexpHeader"/>
|
||||||
|
<module name="RegexpMultiline"/>
|
||||||
|
<module name="RegexpOnFilename"/>
|
||||||
|
<module name="RegexpSingleline"/>
|
||||||
|
</module>
|
66
back/CleanUp.xml
Normal file
66
back/CleanUp.xml
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!DOCTYPE xml>
|
||||||
|
<profiles version="2">
|
||||||
|
<profile kind="CleanUpProfile" name="Scenarium" version="2">
|
||||||
|
<setting id="cleanup.use_autoboxing" value="false"/>
|
||||||
|
<setting id="cleanup.qualify_static_method_accesses_with_declaring_class" value="false"/>
|
||||||
|
<setting id="cleanup.always_use_this_for_non_static_method_access" value="false"/>
|
||||||
|
<setting id="cleanup.organize_imports" value="true"/>
|
||||||
|
<setting id="cleanup.remove_trailing_whitespaces_ignore_empty" value="false"/>
|
||||||
|
<setting id="cleanup.format_source_code_changes_only" value="false"/>
|
||||||
|
<setting id="cleanup.qualify_static_field_accesses_with_declaring_class" value="false"/>
|
||||||
|
<setting id="cleanup.add_generated_serial_version_id" value="false"/>
|
||||||
|
<setting id="cleanup.remove_redundant_semicolons" value="false"/>
|
||||||
|
<setting id="cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class" value="true"/>
|
||||||
|
<setting id="cleanup.remove_redundant_type_arguments" value="true"/>
|
||||||
|
<setting id="cleanup.remove_unused_imports" value="true"/>
|
||||||
|
<setting id="cleanup.insert_inferred_type_arguments" value="false"/>
|
||||||
|
<setting id="cleanup.make_private_fields_final" value="true"/>
|
||||||
|
<setting id="cleanup.use_lambda" value="true"/>
|
||||||
|
<setting id="cleanup.always_use_blocks" value="false"/>
|
||||||
|
<setting id="cleanup.use_this_for_non_static_field_access_only_if_necessary" value="false"/>
|
||||||
|
<setting id="cleanup.sort_members_all" value="false"/>
|
||||||
|
<setting id="cleanup.remove_trailing_whitespaces_all" value="true"/>
|
||||||
|
<setting id="cleanup.add_missing_annotations" value="true"/>
|
||||||
|
<setting id="cleanup.always_use_this_for_non_static_field_access" value="true"/>
|
||||||
|
<setting id="cleanup.make_parameters_final" value="false"/>
|
||||||
|
<setting id="cleanup.sort_members" value="false"/>
|
||||||
|
<setting id="cleanup.remove_private_constructors" value="true"/>
|
||||||
|
<setting id="cleanup.always_use_parentheses_in_expressions" value="false"/>
|
||||||
|
<setting id="cleanup.remove_unused_local_variables" value="false"/>
|
||||||
|
<setting id="cleanup.convert_to_enhanced_for_loop" value="false"/>
|
||||||
|
<setting id="cleanup.remove_unused_private_fields" value="true"/>
|
||||||
|
<setting id="cleanup.remove_redundant_modifiers" value="false"/>
|
||||||
|
<setting id="cleanup.never_use_blocks" value="true"/>
|
||||||
|
<setting id="cleanup.add_missing_deprecated_annotations" value="true"/>
|
||||||
|
<setting id="cleanup.use_this_for_non_static_field_access" value="true"/>
|
||||||
|
<setting id="cleanup.remove_unnecessary_nls_tags" value="true"/>
|
||||||
|
<setting id="cleanup.qualify_static_member_accesses_through_instances_with_declaring_class" value="true"/>
|
||||||
|
<setting id="cleanup.add_missing_nls_tags" value="false"/>
|
||||||
|
<setting id="cleanup.remove_unnecessary_casts" value="true"/>
|
||||||
|
<setting id="cleanup.use_unboxing" value="false"/>
|
||||||
|
<setting id="cleanup.use_blocks_only_for_return_and_throw" value="false"/>
|
||||||
|
<setting id="cleanup.format_source_code" value="true"/>
|
||||||
|
<setting id="cleanup.convert_functional_interfaces" value="true"/>
|
||||||
|
<setting id="cleanup.add_default_serial_version_id" value="true"/>
|
||||||
|
<setting id="cleanup.remove_unused_private_methods" value="true"/>
|
||||||
|
<setting id="cleanup.remove_trailing_whitespaces" value="true"/>
|
||||||
|
<setting id="cleanup.make_type_abstract_if_missing_method" value="false"/>
|
||||||
|
<setting id="cleanup.add_serial_version_id" value="true"/>
|
||||||
|
<setting id="cleanup.use_this_for_non_static_method_access" value="false"/>
|
||||||
|
<setting id="cleanup.use_this_for_non_static_method_access_only_if_necessary" value="true"/>
|
||||||
|
<setting id="cleanup.use_anonymous_class_creation" value="false"/>
|
||||||
|
<setting id="cleanup.add_missing_override_annotations_interface_methods" value="true"/>
|
||||||
|
<setting id="cleanup.remove_unused_private_members" value="false"/>
|
||||||
|
<setting id="cleanup.make_local_variable_final" value="false"/>
|
||||||
|
<setting id="cleanup.add_missing_methods" value="false"/>
|
||||||
|
<setting id="cleanup.never_use_parentheses_in_expressions" value="true"/>
|
||||||
|
<setting id="cleanup.qualify_static_member_accesses_with_declaring_class" value="true"/>
|
||||||
|
<setting id="cleanup.use_parentheses_in_expressions" value="true"/>
|
||||||
|
<setting id="cleanup.add_missing_override_annotations" value="true"/>
|
||||||
|
<setting id="cleanup.use_blocks" value="true"/>
|
||||||
|
<setting id="cleanup.make_variable_declarations_final" value="true"/>
|
||||||
|
<setting id="cleanup.correct_indentation" value="true"/>
|
||||||
|
<setting id="cleanup.remove_unused_private_types" value="true"/>
|
||||||
|
</profile>
|
||||||
|
</profiles>
|
21
back/Dockerfile
Normal file
21
back/Dockerfile
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
FROM maven:3.6.3-openjdk-16 AS build
|
||||||
|
|
||||||
|
COPY pom.xml /tmp/
|
||||||
|
COPY src /tmp/src/
|
||||||
|
WORKDIR /tmp/
|
||||||
|
RUN mvn clean compile assembly:single
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
FROM bellsoft/liberica-openjdk-alpine:latest
|
||||||
|
ENV LANG=C.UTF-8
|
||||||
|
|
||||||
|
|
||||||
|
RUN mkdir /application/
|
||||||
|
COPY --from=build /tmp/out/maven/*.jar /application/application.jar
|
||||||
|
WORKDIR /application/
|
||||||
|
|
||||||
|
EXPOSE 18080
|
||||||
|
|
||||||
|
CMD ["java", "-Xms64M", "-Xmx1G", "-cp", "/application/application.jar", "org.kar.karusic.WebLauncher"]
|
||||||
|
|
366
back/Formatter.xml
Normal file
366
back/Formatter.xml
Normal file
@ -0,0 +1,366 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!DOCTYPE xml>
|
||||||
|
<profiles version="18">
|
||||||
|
<profile kind="CodeFormatterProfile" name="Scenarium" version="18">
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_ellipsis" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment" value="common_lines"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries" value="false"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_logical_operator" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation" value="common_lines"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_imports" value="1"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement" value="common_lines"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.comment.format_javadoc_comments" value="true"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.indentation.size" value="4"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration" value="common_lines"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.align_with_spaces" value="false"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.disabling_tag" value="@formatter:off"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.continuation_indentation" value="2"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_before_code_block" value="0"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_switch_case_expressions" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_enum_constants" value="0"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_imports" value="1"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_method_body" value="0"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_package" value="1"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement" value="common_lines"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant" value="16"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.comment.indent_root_tags" value="true"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch" value="true"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.enabling_tag" value="@formatter:on"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position" value="false"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration" value="16"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator" value="true"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line" value="false"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations" value="1"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references" value="0"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_logical_operator" value="16"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.keep_annotation_declaration_on_one_line" value="one_line_if_empty"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column" value="false"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_block" value="true"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration" value="end_of_line"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped" value="false"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.comment.line_length" value="200"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.use_on_off_tags" value="false"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.keep_method_body_on_one_line" value="one_line_if_empty"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.keep_loop_body_block_on_one_line" value="one_line_if_empty"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments" value="false"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_method_declaration" value="end_of_line"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_abstract_method" value="1"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.keep_enum_constant_declaration_on_one_line" value="one_line_if_empty"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns" value="false"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch" value="16"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.keep_type_declaration_on_one_line" value="one_line_if_empty"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body" value="0"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" value="false"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause" value="common_lines"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_additive_operator" value="16"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call" value="16"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_relational_operator" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator" value="16"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.keep_anonymous_type_declaration_on_one_line" value="one_line_if_empty"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_switch_case_expressions" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.wrap_before_shift_operator" value="true"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header" value="true"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block" value="end_of_line"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration" value="end_of_line"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_lambda_body" value="end_of_line"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_code_block" value="0"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.compact_else_if" value="true"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line" value="true"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration" value="16"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_type_parameters" value="0"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation" value="16"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration" value="16"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_loops" value="16"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment" value="true"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line" value="false"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment" value="false"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_relational_operator" value="0"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_unary_operator" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer" value="16"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column" value="true"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve" value="1"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation" value="common_lines"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_ellipsis" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_additive_operator" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.comment.format_line_comments" value="true"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.text_block_indentation" value="0"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.align_type_members_on_columns" value="false"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_assignment" value="0"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_module_statements" value="16"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header" value="true"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_after_code_block" value="0"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions" value="false"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration" value="16"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.keep_if_then_body_block_on_one_line" value="one_line_if_empty"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration" value="0"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression" value="80"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line" value="false"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns" value="false"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration" value="end_of_line"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block_in_case" value="end_of_line"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_between_different_tags" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression_chain" value="0"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.comment.format_header" value="false"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression" value="16"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_additive_operator" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_method_declaration" value="0"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.join_wrapped_lines" value="true"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.wrap_before_conditional_operator" value="true"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases" value="true"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_shift_operator" value="0"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines" value="2147483647"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries" value="false"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator" value="16"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration" value="end_of_line"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_resources_in_try" value="80"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations" value="false"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause" value="common_lines"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation" value="16"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column" value="false"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.keep_code_block_on_one_line" value="one_line_if_empty"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.tabulation.size" value="4"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.comment.format_source_code" value="true"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_field" value="0"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer" value="2"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_method" value="1"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration" value="16"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="16"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.wrap_before_assignment_operator" value="false"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_not_operator" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_switch" value="end_of_line"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.comment.format_html" value="true"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration" value="common_lines"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_if" value="16"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.keep_lambda_body_block_on_one_line" value="one_line_if_empty"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.indent_empty_lines" value="false"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_type_arguments" value="0"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_unary_operator" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation" value="0"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line" value="false"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch" value="false"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk" value="1"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_label" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header" value="true"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_case" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_member_type" value="1"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_logical_operator" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression" value="16"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases" value="true"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator" value="true"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.wrap_before_relational_operator" value="true"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.comment.format_block_comments" value="true"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.comment.indent_tag_description" value="false"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line" value="false"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration" value="16"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_string_concatenation" value="16"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_last_class_body_declaration" value="0"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_body" value="true"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_multiple_fields" value="16"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line" value="false"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_array_initializer" value="end_of_line"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.wrap_before_logical_operator" value="true"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_shift_operator" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_statement_group_in_switch" value="0"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration" value="common_lines"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_shift_operator" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line" value="false"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.keep_enum_declaration_on_one_line" value="one_line_if_empty"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested" value="true"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_constant" value="end_of_line"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_type_declaration" value="end_of_line"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_package" value="0"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header" value="0"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.wrap_before_additive_operator" value="true"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.keep_simple_getter_setter_on_one_line" value="false"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header" value="true"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.join_lines_in_comments" value="true"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.comment.indent_parameter_description" value="true"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_code_block" value="0"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="tab"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_relational_operator" value="insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.wrap_before_string_concatenation" value="true"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_import_groups" value="1"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.lineSplit" value="200"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation" value="do not insert"/>
|
||||||
|
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch" value="insert"/>
|
||||||
|
</profile>
|
||||||
|
</profiles>
|
6
back/LICENSE
Normal file
6
back/LICENSE
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
PROPIETARY licence
|
||||||
|
==================
|
||||||
|
|
||||||
|
Copyright at Edouard DUPIN
|
||||||
|
|
||||||
|
you have no right
|
18
back/README.md
Normal file
18
back/README.md
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
Generic backend for karanage in java
|
||||||
|
===================================
|
||||||
|
|
||||||
|
Kar manage is a tool to keep result of system inpection like docker, ros diagnostics, system status ...
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
mvn install
|
||||||
|
|
||||||
|
// create a single package jar
|
||||||
|
mvn clean compile assembly:single
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
java -cp out/maven/karanage-0.1.0-jar-with-dependencies.jar org.kar.karideo.WebLauncher
|
||||||
|
|
||||||
|
|
||||||
|
|
4
back/db.sql
Normal file
4
back/db.sql
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
174
back/pom.xml
Normal file
174
back/pom.xml
Normal file
@ -0,0 +1,174 @@
|
|||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<groupId>org.kar</groupId>
|
||||||
|
<artifactId>karanage</artifactId>
|
||||||
|
<version>0.1.0</version>
|
||||||
|
<properties>
|
||||||
|
|
||||||
|
<maven.compiler.version>3.1</maven.compiler.version>
|
||||||
|
<maven.compiler.source>17</maven.compiler.source>
|
||||||
|
<maven.compiler.target>17</maven.compiler.target>
|
||||||
|
|
||||||
|
<maven.dependency.version>3.1.1</maven.dependency.version>
|
||||||
|
</properties>
|
||||||
|
<repositories>
|
||||||
|
<repository>
|
||||||
|
<id>gitea</id>
|
||||||
|
<url>https://gitea.atria-soft.org/api/packages/kangaroo-and-rabbit/maven</url>
|
||||||
|
</repository>
|
||||||
|
</repositories>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>kangaroo-and-rabbit</groupId>
|
||||||
|
<artifactId>archidata</artifactId>
|
||||||
|
<version>0.1.3</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<sourceDirectory>src</sourceDirectory>
|
||||||
|
<testSourceDirectory>test/src</testSourceDirectory>
|
||||||
|
<directory>${project.basedir}/out/maven/</directory>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
|
<version>${maven.compiler.version}</version>
|
||||||
|
<configuration>
|
||||||
|
<source>${maven.compiler.source}</source>
|
||||||
|
<target>${maven.compiler.target}</target>
|
||||||
|
<!--<encoding>${project.build.sourceEncoding}</encoding>-->
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.codehaus.mojo</groupId>
|
||||||
|
<artifactId>exec-maven-plugin</artifactId>
|
||||||
|
<version>1.4.0</version>
|
||||||
|
<configuration>
|
||||||
|
<mainClass>io.scenarium.oauth.WebLauncher</mainClass>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
<!-- Create the source bundle -->
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-source-plugin</artifactId>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>attach-sources</id>
|
||||||
|
<goals>
|
||||||
|
<goal>jar</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
<!-- junit results -->
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-surefire-plugin</artifactId>
|
||||||
|
<version>3.0.0-M5</version>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<artifactId>maven-assembly-plugin</artifactId>
|
||||||
|
<configuration>
|
||||||
|
<archive>
|
||||||
|
<manifest>
|
||||||
|
<mainClass>fully.qualified.MainClass</mainClass>
|
||||||
|
</manifest>
|
||||||
|
</archive>
|
||||||
|
<descriptorRefs>
|
||||||
|
<descriptorRef>jar-with-dependencies</descriptorRef>
|
||||||
|
</descriptorRefs>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
<!-- Create coverage -->
|
||||||
|
<!--
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.jacoco</groupId>
|
||||||
|
<artifactId>jacoco-maven-plugin</artifactId>
|
||||||
|
<version>0.8.5</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<goals>
|
||||||
|
<goal>prepare-agent</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
<execution>
|
||||||
|
<id>report</id>
|
||||||
|
<phase>test</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>report</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
-->
|
||||||
|
<!-- Java-doc generation for stand-alone site -->
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-javadoc-plugin</artifactId>
|
||||||
|
<version>3.2.0</version>
|
||||||
|
<configuration>
|
||||||
|
<show>private</show>
|
||||||
|
<nohelp>true</nohelp>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
<!-- Check the style of the code -->
|
||||||
|
<!--
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-checkstyle-plugin</artifactId>
|
||||||
|
<version>3.1.0</version>
|
||||||
|
<configuration>
|
||||||
|
<configLocation>CheckStyle.xml</configLocation>
|
||||||
|
<consoleOutput>true</consoleOutput>
|
||||||
|
<failOnViolation>true</failOnViolation>
|
||||||
|
<failsOnError>true</failsOnError>
|
||||||
|
<includeTestSourceDirectory>true</includeTestSourceDirectory>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>net.revelc.code.formatter</groupId>
|
||||||
|
<artifactId>formatter-maven-plugin</artifactId>
|
||||||
|
<version>2.12.2</version>
|
||||||
|
<configuration>
|
||||||
|
<encoding>UTF-8</encoding>
|
||||||
|
<lineEnding>LF</lineEnding>
|
||||||
|
<configFile>Formatter.xml</configFile>
|
||||||
|
<directories>
|
||||||
|
<directory>src/</directory>
|
||||||
|
<directory>test/src</directory>
|
||||||
|
</directories>
|
||||||
|
<includes>
|
||||||
|
<include>**/*.java</include>
|
||||||
|
</includes>
|
||||||
|
<excludes>
|
||||||
|
<exclude>module-info.java</exclude>
|
||||||
|
</excludes>
|
||||||
|
</configuration>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<goals>
|
||||||
|
<goal>validate</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
-->
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
<!-- Generate Java-docs As Part Of Project Reports -->
|
||||||
|
<reporting>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-javadoc-plugin</artifactId>
|
||||||
|
<version>3.2.0</version>
|
||||||
|
<configuration>
|
||||||
|
<show>public</show>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</reporting>
|
||||||
|
|
||||||
|
</project>
|
118
back/src/org/kar/karanage/WebLauncher.java
Executable file
118
back/src/org/kar/karanage/WebLauncher.java
Executable file
@ -0,0 +1,118 @@
|
|||||||
|
package org.kar.karanage;
|
||||||
|
|
||||||
|
import java.net.URI;
|
||||||
|
|
||||||
|
import javax.ws.rs.core.UriBuilder;
|
||||||
|
|
||||||
|
import org.glassfish.grizzly.http.server.HttpServer;
|
||||||
|
import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
|
||||||
|
import org.glassfish.jersey.jackson.JacksonFeature;
|
||||||
|
import org.glassfish.jersey.media.multipart.MultiPartFeature;
|
||||||
|
import org.glassfish.jersey.server.ResourceConfig;
|
||||||
|
import org.kar.karanage.api.Front;
|
||||||
|
import org.kar.karanage.api.HealthCheck;
|
||||||
|
import org.kar.karanage.api.StateResource;
|
||||||
|
import org.kar.karanage.api.UserResource;
|
||||||
|
import org.kar.archidata.GlobalConfiguration;
|
||||||
|
import org.kar.archidata.SqlWrapper;
|
||||||
|
import org.kar.archidata.UpdateJwtPublicKey;
|
||||||
|
import org.kar.archidata.filter.AuthenticationFilter;
|
||||||
|
import org.kar.archidata.filter.CORSFilter;
|
||||||
|
import org.kar.archidata.filter.OptionFilter;
|
||||||
|
import org.kar.archidata.util.ConfigBaseVariable;
|
||||||
|
import org.kar.karanage.model.DataHistory;
|
||||||
|
import org.kar.karanage.model.DataInstant;
|
||||||
|
import org.kar.karanage.model.Group;
|
||||||
|
|
||||||
|
public class WebLauncher {
|
||||||
|
private WebLauncher() {
|
||||||
|
}
|
||||||
|
|
||||||
|
private static URI getBaseURI() {
|
||||||
|
return UriBuilder.fromUri(ConfigBaseVariable.getlocalAddress()).build();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
ConfigBaseVariable.bdDatabase = "karanage";
|
||||||
|
|
||||||
|
// generate the BDD:
|
||||||
|
try {
|
||||||
|
String out = "";
|
||||||
|
out += SqlWrapper.createTable(DataInstant.class);
|
||||||
|
out += SqlWrapper.createTable(DataHistory.class);
|
||||||
|
out += SqlWrapper.createTable(Group.class);
|
||||||
|
System.out.println(out);
|
||||||
|
} catch (Exception e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
// ===================================================================
|
||||||
|
// Configure resources
|
||||||
|
// ===================================================================
|
||||||
|
ResourceConfig rc = new ResourceConfig();
|
||||||
|
|
||||||
|
// add multipart models ..
|
||||||
|
rc.register(new MultiPartFeature());
|
||||||
|
// global authentication system
|
||||||
|
rc.register(new OptionFilter());
|
||||||
|
// remove cors ==> all time called by an other system...
|
||||||
|
rc.register(new CORSFilter());
|
||||||
|
// global authentication system
|
||||||
|
rc.registerClasses(AuthenticationFilter.class);
|
||||||
|
// add default resource:
|
||||||
|
rc.registerClasses(UserResource.class);
|
||||||
|
rc.registerClasses(StateResource.class);
|
||||||
|
|
||||||
|
rc.registerClasses(HealthCheck.class);
|
||||||
|
rc.registerClasses(Front.class);
|
||||||
|
|
||||||
|
// add jackson to be discovenr when we are ins standalone server
|
||||||
|
rc.register(JacksonFeature.class);
|
||||||
|
// enable this to show low level request
|
||||||
|
//rc.property(LoggingFeature.LOGGING_FEATURE_LOGGER_LEVEL_SERVER, Level.WARNING.getName());
|
||||||
|
|
||||||
|
//System.out.println("Connect on the BDD:");
|
||||||
|
//System.out.println(" getDBHost: '" + ConfigVariable.getDBHost() + "'");
|
||||||
|
//System.out.println(" getDBPort: '" + ConfigVariable.getDBPort() + "'");
|
||||||
|
//System.out.println(" getDBLogin: '" + ConfigVariable.getDBLogin() + "'");
|
||||||
|
//System.out.println(" getDBPassword: '" + ConfigVariable.getDBPassword() + "'");
|
||||||
|
//System.out.println(" getDBName: '" + ConfigVariable.getDBName() + "'");
|
||||||
|
System.out.println(" ==> " + GlobalConfiguration.dbConfig);
|
||||||
|
System.out.println("OAuth service " + getBaseURI());
|
||||||
|
HttpServer server = GrizzlyHttpServerFactory.createHttpServer(getBaseURI(), rc);
|
||||||
|
Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
System.out.println("Stopping server..");
|
||||||
|
server.shutdownNow();
|
||||||
|
}
|
||||||
|
}, "shutdownHook"));
|
||||||
|
|
||||||
|
// ===================================================================
|
||||||
|
// start periodic update of the token ...
|
||||||
|
// ===================================================================
|
||||||
|
UpdateJwtPublicKey keyUpdater = new UpdateJwtPublicKey();
|
||||||
|
keyUpdater.start();
|
||||||
|
|
||||||
|
// ===================================================================
|
||||||
|
// run JERSEY
|
||||||
|
// ===================================================================
|
||||||
|
try {
|
||||||
|
server.start();
|
||||||
|
System.out.println("Jersey app started at " + getBaseURI());
|
||||||
|
System.out.println("Press CTRL^C to exit..");
|
||||||
|
Thread.currentThread().join();
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println("There was an error while starting Grizzly HTTP server.");
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
keyUpdater.kill();
|
||||||
|
try {
|
||||||
|
keyUpdater.join(4000, 0);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
16
back/src/org/kar/karanage/WebLauncherLocal.java
Executable file
16
back/src/org/kar/karanage/WebLauncherLocal.java
Executable file
@ -0,0 +1,16 @@
|
|||||||
|
package org.kar.karanage;
|
||||||
|
|
||||||
|
import org.kar.archidata.util.ConfigBaseVariable;
|
||||||
|
|
||||||
|
public class WebLauncherLocal {
|
||||||
|
private WebLauncherLocal() {}
|
||||||
|
|
||||||
|
public static void main(String[] args) throws InterruptedException {
|
||||||
|
if (true) {
|
||||||
|
// for local test:
|
||||||
|
ConfigBaseVariable.apiAdress = "http://0.0.0.0:20080/karanage/api/";
|
||||||
|
ConfigBaseVariable.ssoAdress = "https://atria-soft.org/karso/api/";
|
||||||
|
}
|
||||||
|
WebLauncher.main(args);
|
||||||
|
}
|
||||||
|
}
|
22
back/src/org/kar/karanage/api/Front.java
Normal file
22
back/src/org/kar/karanage/api/Front.java
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
package org.kar.karanage.api;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.kar.archidata.annotation.security.PermitAll;
|
||||||
|
import javax.ws.rs.*;
|
||||||
|
import javax.ws.rs.core.CacheControl;
|
||||||
|
import javax.ws.rs.core.PathSegment;
|
||||||
|
import javax.ws.rs.core.Response;
|
||||||
|
import javax.ws.rs.core.Response.ResponseBuilder;
|
||||||
|
|
||||||
|
import org.kar.archidata.api.FrontGeneric;
|
||||||
|
import org.kar.karanage.util.ConfigVariable;
|
||||||
|
|
||||||
|
@Path("/karanage")
|
||||||
|
public class Front extends FrontGeneric {
|
||||||
|
public Front() {
|
||||||
|
this.baseFrontFolder = ConfigVariable.getFrontFolder();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
28
back/src/org/kar/karanage/api/HealthCheck.java
Normal file
28
back/src/org/kar/karanage/api/HealthCheck.java
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
package org.kar.karanage.api;
|
||||||
|
|
||||||
|
import org.kar.archidata.annotation.security.PermitAll;
|
||||||
|
import javax.ws.rs.core.Response;
|
||||||
|
import javax.ws.rs.*;
|
||||||
|
import javax.ws.rs.core.MediaType;
|
||||||
|
|
||||||
|
import org.kar.archidata.util.JWTWrapper;
|
||||||
|
|
||||||
|
@Path("/health_check")
|
||||||
|
@Produces(MediaType.APPLICATION_JSON)
|
||||||
|
public class HealthCheck {
|
||||||
|
public class HealthResult {
|
||||||
|
public String value;
|
||||||
|
public HealthResult(String value) {
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// todo : do it better...
|
||||||
|
@GET
|
||||||
|
@PermitAll
|
||||||
|
public Response getHealth() {
|
||||||
|
if (JWTWrapper.getPublicKey() == null) {
|
||||||
|
return Response.status(500).entity(new HealthResult("Missing Jwt public token")).build();
|
||||||
|
}
|
||||||
|
return Response.status(200).entity(new HealthResult("alive and kicking")).build();
|
||||||
|
}
|
||||||
|
}
|
111
back/src/org/kar/karanage/api/StateResource.java
Normal file
111
back/src/org/kar/karanage/api/StateResource.java
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
package org.kar.karanage.api;
|
||||||
|
|
||||||
|
import org.kar.archidata.SqlWrapper;
|
||||||
|
import org.kar.karanage.model.DataInstant;
|
||||||
|
import org.kar.karanage.model.DataHistory;
|
||||||
|
import org.kar.karanage.model.Group;
|
||||||
|
import javax.ws.rs.core.Response;
|
||||||
|
|
||||||
|
|
||||||
|
import org.kar.archidata.annotation.security.PermitAll;
|
||||||
|
import javax.ws.rs.*;
|
||||||
|
import javax.ws.rs.core.MediaType;
|
||||||
|
|
||||||
|
import java.sql.Timestamp;
|
||||||
|
import java.time.Instant;
|
||||||
|
import java.time.OffsetDateTime;
|
||||||
|
import java.time.ZoneOffset;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
@Path("/state")
|
||||||
|
@Produces({MediaType.APPLICATION_JSON})
|
||||||
|
public class StateResource {
|
||||||
|
|
||||||
|
@GET
|
||||||
|
@Path("{group}/{topic:.*}")
|
||||||
|
//@RolesAllowed("USER")
|
||||||
|
@PermitAll
|
||||||
|
public static DataInstant getWithTopic(@PathParam("group") String groupName, @PathParam("topic") String topic) throws Exception {
|
||||||
|
Group group = SqlWrapper.getWhere(Group.class, "name", "=", groupName);
|
||||||
|
if (group == null) {
|
||||||
|
throw new Exception("Missing Group !!!");
|
||||||
|
}
|
||||||
|
return SqlWrapper.getWhere(DataInstant.class, "group", "=", group.id, "topic", "=", topic);
|
||||||
|
}
|
||||||
|
|
||||||
|
@GET
|
||||||
|
@Path("{group}")
|
||||||
|
//@RolesAllowed("USER")
|
||||||
|
@PermitAll
|
||||||
|
public List<DataInstant> get(@PathParam("group") String groupName) throws Exception {
|
||||||
|
Group group = SqlWrapper.getWhere(Group.class, "name", "=", groupName);
|
||||||
|
if (group == null) {
|
||||||
|
throw new Exception("Missing Group !!!");
|
||||||
|
}
|
||||||
|
return SqlWrapper.getsWhere(DataInstant.class, "group", "=", group.id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@POST
|
||||||
|
@Path("{group}/{topic:.*}")
|
||||||
|
//@RolesAllowed("ADMIN")
|
||||||
|
@PermitAll
|
||||||
|
@Consumes(MediaType.APPLICATION_JSON)
|
||||||
|
public Response post(@PathParam("group") String groupName, @PathParam("topic") String topic, String dataToInsert) throws Exception {
|
||||||
|
DataInstant previous = null;
|
||||||
|
Group group = SqlWrapper.getWhere(Group.class, "name", "=", groupName);
|
||||||
|
if (group != null) {
|
||||||
|
previous = SqlWrapper.getWhere(DataInstant.class, "group", "=", group.id, "topic", "=", topic, true);
|
||||||
|
}
|
||||||
|
if (previous == null) {
|
||||||
|
// insert new data
|
||||||
|
DataInstant data = new DataInstant();
|
||||||
|
data.group = group.id;
|
||||||
|
data.topic = topic;
|
||||||
|
data.data = dataToInsert;
|
||||||
|
previous = SqlWrapper.insert(data);
|
||||||
|
DataHistory dataHistory = new DataHistory(previous);
|
||||||
|
dataHistory.year = true;
|
||||||
|
dataHistory.month = true;
|
||||||
|
dataHistory.week = true;
|
||||||
|
dataHistory.day = true;
|
||||||
|
SqlWrapper.insert(dataHistory);
|
||||||
|
return Response.status(201).build();
|
||||||
|
}
|
||||||
|
// update Data
|
||||||
|
try {
|
||||||
|
previous.data = dataToInsert;
|
||||||
|
SqlWrapper.update(previous, previous.id, List.of("data"));
|
||||||
|
// add it in history:
|
||||||
|
DataHistory dataHistory = new DataHistory(previous);
|
||||||
|
OffsetDateTime now = OffsetDateTime.now( ZoneOffset.UTC );
|
||||||
|
OffsetDateTime sqlTime = OffsetDateTime.ofInstant(Instant.ofEpochMilli(previous.modify_date.getTime()), ZoneOffset.UTC);
|
||||||
|
//tstamp = Timestamp.valueOf(ofsdatetime.atZoneSameInstant(ZoneOffset.UTC).toLocalDateTime())
|
||||||
|
|
||||||
|
now.getDayOfMonth();
|
||||||
|
if (sqlTime.getYear() != now.getYear()) {
|
||||||
|
dataHistory.year = true;
|
||||||
|
}
|
||||||
|
if (sqlTime.getMonth() != now.getMonth()) {
|
||||||
|
dataHistory.month = true;
|
||||||
|
}
|
||||||
|
if (!sqlTime.getDayOfWeek().equals(now.getDayOfWeek())) {
|
||||||
|
dataHistory.week = true;
|
||||||
|
}
|
||||||
|
if (sqlTime.getDayOfYear() != now.getDayOfYear()) {
|
||||||
|
dataHistory.day = true;
|
||||||
|
}
|
||||||
|
if (sqlTime.getHour() != now.getHour()) {
|
||||||
|
dataHistory.hour = true;
|
||||||
|
}
|
||||||
|
dataHistory.modify_date = Timestamp.valueOf(now.atZoneSameInstant(ZoneOffset.UTC).toLocalDateTime());
|
||||||
|
|
||||||
|
SqlWrapper.insert(dataHistory);
|
||||||
|
} catch (Exception ex) {
|
||||||
|
System.out.print("get exception: " + ex);
|
||||||
|
}
|
||||||
|
return Response.status(204).build();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
101
back/src/org/kar/karanage/api/UserResource.java
Executable file
101
back/src/org/kar/karanage/api/UserResource.java
Executable file
@ -0,0 +1,101 @@
|
|||||||
|
package org.kar.karanage.api;
|
||||||
|
|
||||||
|
import org.kar.archidata.SqlWrapper;
|
||||||
|
import org.kar.archidata.filter.GenericContext;
|
||||||
|
import org.kar.archidata.model.User;
|
||||||
|
import org.kar.karanage.model.UserKaranage;
|
||||||
|
|
||||||
|
import org.kar.archidata.annotation.security.RolesAllowed;
|
||||||
|
import javax.ws.rs.*;
|
||||||
|
import javax.ws.rs.core.Context;
|
||||||
|
import javax.ws.rs.core.MediaType;
|
||||||
|
import javax.ws.rs.core.SecurityContext;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
@Path("/users")
|
||||||
|
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
|
||||||
|
public class UserResource {
|
||||||
|
|
||||||
|
public UserResource() {
|
||||||
|
}
|
||||||
|
|
||||||
|
// curl http://localhost:9993/api/users
|
||||||
|
@GET
|
||||||
|
@RolesAllowed("ADMIN")
|
||||||
|
public List<UserKaranage> getUsers() {
|
||||||
|
System.out.println("getUsers");
|
||||||
|
try {
|
||||||
|
return SqlWrapper.gets(UserKaranage.class, false);
|
||||||
|
} catch (Exception e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// curl http://localhost:9993/api/users/3
|
||||||
|
@GET
|
||||||
|
@Path("{id}")
|
||||||
|
@RolesAllowed("ADMIN")
|
||||||
|
public UserKaranage getUsers(@Context SecurityContext sc, @PathParam("id") long userId) {
|
||||||
|
System.out.println("getUser " + userId);
|
||||||
|
GenericContext gc = (GenericContext) sc.getUserPrincipal();
|
||||||
|
System.out.println("===================================================");
|
||||||
|
System.out.println("== USER ? " + gc.user);
|
||||||
|
System.out.println("===================================================");
|
||||||
|
try {
|
||||||
|
return SqlWrapper.get(UserKaranage.class, userId);
|
||||||
|
} catch (Exception e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// curl http://localhost:9993/api/users/3
|
||||||
|
@GET
|
||||||
|
@Path("me")
|
||||||
|
@RolesAllowed("USER")
|
||||||
|
public User getMe(@Context SecurityContext sc) {
|
||||||
|
System.out.println("getMe()");
|
||||||
|
GenericContext gc = (GenericContext) sc.getUserPrincipal();
|
||||||
|
System.out.println("===================================================");
|
||||||
|
System.out.println("== USER ? " + gc.user);
|
||||||
|
System.out.println("===================================================");
|
||||||
|
return gc.user;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
60
back/src/org/kar/karanage/internal/Log.java
Normal file
60
back/src/org/kar/karanage/internal/Log.java
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
package org.kar.karanage.internal;
|
||||||
|
|
||||||
|
//import io.scenarium.logger.LogLevel;
|
||||||
|
//import io.scenarium.logger.Logger;
|
||||||
|
|
||||||
|
public class Log {
|
||||||
|
// private static final String LIB_NAME = "logger";
|
||||||
|
// private static final String LIB_NAME_DRAW = Logger.getDrawableName(LIB_NAME);
|
||||||
|
// private static final boolean PRINT_CRITICAL = Logger.getNeedPrint(LIB_NAME, LogLevel.CRITICAL);
|
||||||
|
// private static final boolean PRINT_ERROR = Logger.getNeedPrint(LIB_NAME, LogLevel.ERROR);
|
||||||
|
// private static final boolean PRINT_WARNING = Logger.getNeedPrint(LIB_NAME, LogLevel.WARNING);
|
||||||
|
// private static final boolean PRINT_INFO = Logger.getNeedPrint(LIB_NAME, LogLevel.INFO);
|
||||||
|
// private static final boolean PRINT_DEBUG = Logger.getNeedPrint(LIB_NAME, LogLevel.DEBUG);
|
||||||
|
// private static final boolean PRINT_VERBOSE = Logger.getNeedPrint(LIB_NAME, LogLevel.VERBOSE);
|
||||||
|
// private static final boolean PRINT_TODO = Logger.getNeedPrint(LIB_NAME, LogLevel.TODO);
|
||||||
|
// private static final boolean PRINT_PRINT = Logger.getNeedPrint(LIB_NAME, LogLevel.PRINT);
|
||||||
|
//
|
||||||
|
// private Log() {}
|
||||||
|
//
|
||||||
|
// public static void print(String data) {
|
||||||
|
// if (PRINT_PRINT)
|
||||||
|
// Logger.print(LIB_NAME_DRAW, data);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public static void todo(String data) {
|
||||||
|
// if (PRINT_TODO)
|
||||||
|
// Logger.todo(LIB_NAME_DRAW, data);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public static void critical(String data) {
|
||||||
|
// if (PRINT_CRITICAL)
|
||||||
|
// Logger.critical(LIB_NAME_DRAW, data);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public static void error(String data) {
|
||||||
|
// if (PRINT_ERROR)
|
||||||
|
// Logger.error(LIB_NAME_DRAW, data);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public static void warning(String data) {
|
||||||
|
// if (PRINT_WARNING)
|
||||||
|
// Logger.warning(LIB_NAME_DRAW, data);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public static void info(String data) {
|
||||||
|
// if (PRINT_INFO)
|
||||||
|
// Logger.info(LIB_NAME_DRAW, data);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public static void debug(String data) {
|
||||||
|
// if (PRINT_DEBUG)
|
||||||
|
// Logger.debug(LIB_NAME_DRAW, data);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public static void verbose(String data) {
|
||||||
|
// if (PRINT_VERBOSE)
|
||||||
|
// Logger.verbose(LIB_NAME_DRAW, data);
|
||||||
|
// }
|
||||||
|
|
||||||
|
}
|
37
back/src/org/kar/karanage/model/ApplicationToken.java
Normal file
37
back/src/org/kar/karanage/model/ApplicationToken.java
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
package org.kar.karanage.model;
|
||||||
|
/*
|
||||||
|
CREATE TABLE `node` (
|
||||||
|
`id` bigint NOT NULL COMMENT 'table ID' AUTO_INCREMENT PRIMARY KEY,
|
||||||
|
`deleted` BOOLEAN NOT NULL DEFAULT false,
|
||||||
|
`create_date` datetime NOT NULL DEFAULT now() COMMENT 'Time the element has been created',
|
||||||
|
`modify_date` datetime NOT NULL DEFAULT now() COMMENT 'Time the element has been update',
|
||||||
|
`type` enum("TYPE", "UNIVERS", "SERIE", "SAISON", "MEDIA") NOT NULL DEFAULT 'TYPE',
|
||||||
|
`name` TEXT COLLATE 'utf8_general_ci' NOT NULL,
|
||||||
|
`description` TEXT COLLATE 'utf8_general_ci',
|
||||||
|
`parent_id` bigint
|
||||||
|
) AUTO_INCREMENT=10;
|
||||||
|
*/
|
||||||
|
|
||||||
|
import org.kar.archidata.annotation.SQLComment;
|
||||||
|
import org.kar.archidata.annotation.SQLForeignKey;
|
||||||
|
import org.kar.archidata.annotation.SQLIfNotExists;
|
||||||
|
import org.kar.archidata.annotation.SQLLimitSize;
|
||||||
|
import org.kar.archidata.annotation.SQLTableName;
|
||||||
|
import org.kar.archidata.model.GenericTable;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
|
||||||
|
@SQLTableName ("applicationToken")
|
||||||
|
@SQLIfNotExists
|
||||||
|
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
|
||||||
|
public class ApplicationToken extends GenericTable {
|
||||||
|
@SQLComment("Group of the element")
|
||||||
|
@SQLForeignKey("group")
|
||||||
|
public long group;
|
||||||
|
@SQLLimitSize(256)
|
||||||
|
@SQLComment("Token Of the application (must be use by only one application)")
|
||||||
|
public String token = null;
|
||||||
|
@SQLComment("Description of the Group")
|
||||||
|
@SQLLimitSize(1024)
|
||||||
|
public String description;
|
||||||
|
}
|
74
back/src/org/kar/karanage/model/DataHistory.java
Normal file
74
back/src/org/kar/karanage/model/DataHistory.java
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
package org.kar.karanage.model;
|
||||||
|
/*
|
||||||
|
CREATE TABLE `node` (
|
||||||
|
`id` bigint NOT NULL COMMENT 'table ID' AUTO_INCREMENT PRIMARY KEY,
|
||||||
|
`deleted` BOOLEAN NOT NULL DEFAULT false,
|
||||||
|
`create_date` datetime NOT NULL DEFAULT now() COMMENT 'Time the element has been created',
|
||||||
|
`modify_date` datetime NOT NULL DEFAULT now() COMMENT 'Time the element has been update',
|
||||||
|
`type` enum("TYPE", "UNIVERS", "SERIE", "SAISON", "MEDIA") NOT NULL DEFAULT 'TYPE',
|
||||||
|
`name` TEXT COLLATE 'utf8_general_ci' NOT NULL,
|
||||||
|
`description` TEXT COLLATE 'utf8_general_ci',
|
||||||
|
`parent_id` bigint
|
||||||
|
) AUTO_INCREMENT=10;
|
||||||
|
*/
|
||||||
|
|
||||||
|
import java.sql.Timestamp;
|
||||||
|
|
||||||
|
import org.kar.archidata.annotation.SQLAutoIncrement;
|
||||||
|
import org.kar.archidata.annotation.SQLComment;
|
||||||
|
import org.kar.archidata.annotation.SQLDefault;
|
||||||
|
import org.kar.archidata.annotation.SQLForeignKey;
|
||||||
|
import org.kar.archidata.annotation.SQLIfNotExists;
|
||||||
|
import org.kar.archidata.annotation.SQLLimitSize;
|
||||||
|
import org.kar.archidata.annotation.SQLNotNull;
|
||||||
|
import org.kar.archidata.annotation.SQLNotRead;
|
||||||
|
import org.kar.archidata.annotation.SQLPrimaryKey;
|
||||||
|
import org.kar.archidata.annotation.SQLTableName;
|
||||||
|
import org.kar.archidata.annotation.SQLUpdateTime;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
|
||||||
|
|
||||||
|
enum State {
|
||||||
|
OK, FAIL, UNSTABLE, RETREIVING, HAPPY, FULL, EMPTY
|
||||||
|
}
|
||||||
|
enum TypeData {
|
||||||
|
NUMBER, BOOLEAN, JSON, STRING
|
||||||
|
}
|
||||||
|
|
||||||
|
@SQLTableName ("dataHistory")
|
||||||
|
@SQLIfNotExists
|
||||||
|
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
|
||||||
|
public class DataHistory extends DataInstant {
|
||||||
|
// default constructor
|
||||||
|
public DataHistory() {
|
||||||
|
|
||||||
|
}
|
||||||
|
public DataHistory(DataInstant other) {
|
||||||
|
this.group = other.group;
|
||||||
|
this.topic = other.topic;
|
||||||
|
this.state = other.state;
|
||||||
|
this.data = other.data;
|
||||||
|
}
|
||||||
|
|
||||||
|
@SQLComment("First message of the years (in GMT time)")
|
||||||
|
@SQLNotNull
|
||||||
|
@SQLDefault("0")
|
||||||
|
public boolean year = false;
|
||||||
|
@SQLComment("First message of the month (in GMT time)")
|
||||||
|
@SQLNotNull
|
||||||
|
@SQLDefault("0")
|
||||||
|
public boolean month = false;
|
||||||
|
@SQLComment("First message of the week: monday (in GMT time)")
|
||||||
|
@SQLNotNull
|
||||||
|
@SQLDefault("0")
|
||||||
|
public boolean week = false;
|
||||||
|
@SQLComment("First message of the day (in GMT time)")
|
||||||
|
@SQLNotNull
|
||||||
|
@SQLDefault("0")
|
||||||
|
public boolean day = false;
|
||||||
|
@SQLComment("First message of the hour (in GMT time)")
|
||||||
|
@SQLNotNull
|
||||||
|
@SQLDefault("0")
|
||||||
|
public boolean hour = false;
|
||||||
|
}
|
59
back/src/org/kar/karanage/model/DataInstant.java
Normal file
59
back/src/org/kar/karanage/model/DataInstant.java
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
package org.kar.karanage.model;
|
||||||
|
/*
|
||||||
|
CREATE TABLE `node` (
|
||||||
|
`id` bigint NOT NULL COMMENT 'table ID' AUTO_INCREMENT PRIMARY KEY,
|
||||||
|
`deleted` BOOLEAN NOT NULL DEFAULT false,
|
||||||
|
`create_date` datetime NOT NULL DEFAULT now() COMMENT 'Time the element has been created',
|
||||||
|
`modify_date` datetime NOT NULL DEFAULT now() COMMENT 'Time the element has been update',
|
||||||
|
`type` enum("TYPE", "UNIVERS", "SERIE", "SAISON", "MEDIA") NOT NULL DEFAULT 'TYPE',
|
||||||
|
`name` TEXT COLLATE 'utf8_general_ci' NOT NULL,
|
||||||
|
`description` TEXT COLLATE 'utf8_general_ci',
|
||||||
|
`parent_id` bigint
|
||||||
|
) AUTO_INCREMENT=10;
|
||||||
|
*/
|
||||||
|
|
||||||
|
import java.sql.Timestamp;
|
||||||
|
|
||||||
|
import org.kar.archidata.annotation.SQLAutoIncrement;
|
||||||
|
import org.kar.archidata.annotation.SQLComment;
|
||||||
|
import org.kar.archidata.annotation.SQLForeignKey;
|
||||||
|
import org.kar.archidata.annotation.SQLIfNotExists;
|
||||||
|
import org.kar.archidata.annotation.SQLLimitSize;
|
||||||
|
import org.kar.archidata.annotation.SQLNotNull;
|
||||||
|
import org.kar.archidata.annotation.SQLNotRead;
|
||||||
|
import org.kar.archidata.annotation.SQLPrimaryKey;
|
||||||
|
import org.kar.archidata.annotation.SQLTableName;
|
||||||
|
import org.kar.archidata.annotation.SQLUpdateTime;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
|
||||||
|
@SQLTableName ("data")
|
||||||
|
@SQLIfNotExists
|
||||||
|
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
|
||||||
|
public class DataInstant {
|
||||||
|
@SQLAutoIncrement // Add AUTO_INCREMENT modifier
|
||||||
|
@SQLPrimaryKey // Create a PRIMARY KEY based on this field
|
||||||
|
@SQLNotNull
|
||||||
|
@SQLComment("Primary key of the base")
|
||||||
|
public Long id = null;
|
||||||
|
|
||||||
|
// TODO: werll managed of the not read and not set update time at @now() si c'est pas bon ..
|
||||||
|
|
||||||
|
//@SQLNotRead
|
||||||
|
@SQLUpdateTime
|
||||||
|
@SQLNotNull
|
||||||
|
@SQLComment("When update the object")
|
||||||
|
public Timestamp modify_date = null;
|
||||||
|
@SQLComment("Group of the element")
|
||||||
|
@SQLForeignKey("group")
|
||||||
|
public long group;
|
||||||
|
@SQLLimitSize(256)
|
||||||
|
@SQLComment("Topic of the message")
|
||||||
|
public String topic = null;
|
||||||
|
@SQLComment("State of the message")
|
||||||
|
@SQLLimitSize(25)
|
||||||
|
//public State state = null;
|
||||||
|
public String state = null;
|
||||||
|
@SQLComment("Message to store")
|
||||||
|
public String data = null;
|
||||||
|
}
|
24
back/src/org/kar/karanage/model/Group.java
Normal file
24
back/src/org/kar/karanage/model/Group.java
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
package org.kar.karanage.model;
|
||||||
|
|
||||||
|
import org.kar.archidata.annotation.SQLComment;
|
||||||
|
import org.kar.archidata.annotation.SQLIfNotExists;
|
||||||
|
import org.kar.archidata.annotation.SQLLimitSize;
|
||||||
|
import org.kar.archidata.annotation.SQLNotNull;
|
||||||
|
import org.kar.archidata.annotation.SQLTableName;
|
||||||
|
import org.kar.archidata.model.GenericTable;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
|
||||||
|
|
||||||
|
@SQLTableName ("group")
|
||||||
|
@SQLIfNotExists
|
||||||
|
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
|
||||||
|
public class Group extends GenericTable {
|
||||||
|
@SQLNotNull
|
||||||
|
@SQLLimitSize(256)
|
||||||
|
@SQLComment("Name of the group.")
|
||||||
|
public String name;
|
||||||
|
@SQLComment("Description of the Group")
|
||||||
|
@SQLLimitSize(1024)
|
||||||
|
public String description;
|
||||||
|
}
|
14
back/src/org/kar/karanage/model/UserKaranage.java
Normal file
14
back/src/org/kar/karanage/model/UserKaranage.java
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
package org.kar.karanage.model;
|
||||||
|
|
||||||
|
import org.kar.archidata.annotation.SQLIfNotExists;
|
||||||
|
import org.kar.archidata.annotation.SQLTableName;
|
||||||
|
import org.kar.archidata.model.User;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||||
|
|
||||||
|
@SQLTableName ("user")
|
||||||
|
@SQLIfNotExists
|
||||||
|
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
|
||||||
|
public class UserKaranage extends User {
|
||||||
|
|
||||||
|
}
|
15
back/src/org/kar/karanage/util/ConfigVariable.java
Normal file
15
back/src/org/kar/karanage/util/ConfigVariable.java
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
package org.kar.karanage.util;
|
||||||
|
|
||||||
|
public class ConfigVariable {
|
||||||
|
public static final String BASE_NAME = "ORG_KARUSIC_";
|
||||||
|
|
||||||
|
|
||||||
|
public static String getFrontFolder() {
|
||||||
|
String out = System.getenv(BASE_NAME + "FRONT_FOLDER");
|
||||||
|
if (out == null) {
|
||||||
|
return "/application/front";
|
||||||
|
}
|
||||||
|
return out;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
18
device_script/.karanage.json
Normal file
18
device_script/.karanage.json
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"cpu": "auto",
|
||||||
|
"memory": "auto",
|
||||||
|
"swap": "auto",
|
||||||
|
"drive": {
|
||||||
|
"include": [
|
||||||
|
"/",
|
||||||
|
"/home",
|
||||||
|
"/home/heero/HDD1",
|
||||||
|
"/home/heero/HDD2"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"network": {
|
||||||
|
"include": [
|
||||||
|
"enp34s0"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
177
device_script/inspect.py
Executable file
177
device_script/inspect.py
Executable file
@ -0,0 +1,177 @@
|
|||||||
|
#!/bin/python3
|
||||||
|
# Importing the library
|
||||||
|
import psutil
|
||||||
|
import argparse
|
||||||
|
import time
|
||||||
|
import subprocess
|
||||||
|
import json
|
||||||
|
from pathlib import Path
|
||||||
|
from typing import Dict, List
|
||||||
|
import requests
|
||||||
|
|
||||||
|
parser = argparse.ArgumentParser()
|
||||||
|
parser.add_argument("-c", "--config", type=str, default=".karanage.json", help="json configuration file")
|
||||||
|
parser.add_argument("-u", "--url", type=str, default="http://localhost:20080/karanage/api/state", help="Base URL of the web service")
|
||||||
|
parser.add_argument("-g", "--group", type=str, default="home", help="Group the the message")
|
||||||
|
parser.add_argument("-t", "--topic", type=str, default="PC/system", help="Topic of the message")
|
||||||
|
parser.add_argument("-s", "--sleep", type=int, default=10, help="Periodicity of the messages")
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
if Path(args.config).exists():
|
||||||
|
f = open(args.config, "r")
|
||||||
|
configuration = json.loads(f.read())
|
||||||
|
f.close()
|
||||||
|
else:
|
||||||
|
configuration = {
|
||||||
|
"cpu": "auto",
|
||||||
|
"memory": "auto",
|
||||||
|
"swap": "auto",
|
||||||
|
"drive": "auto",
|
||||||
|
"network": "auto",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def send_to_server(data: Dict) -> None:
|
||||||
|
ret = requests.post(f"{args.url}/{args.group}/{args.topic}", json=out)
|
||||||
|
if 200 <= ret.status_code <= 299:
|
||||||
|
pass # print(f" ==> done {ret}")
|
||||||
|
else:
|
||||||
|
print(f" ==> An error occured in sending message to the server !! {ret}")
|
||||||
|
|
||||||
|
|
||||||
|
cpu_core_count = psutil.cpu_count(logical=False)
|
||||||
|
cpu_thread_count = psutil.cpu_count()
|
||||||
|
|
||||||
|
|
||||||
|
def get_mounts() -> Dict:
|
||||||
|
process = subprocess.Popen(
|
||||||
|
["mount", "-v"], stdout=subprocess.PIPE, stderr=subprocess.PIPE
|
||||||
|
)
|
||||||
|
stdout, stderr = process.communicate()
|
||||||
|
"""get data format:
|
||||||
|
$ mount -v
|
||||||
|
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
|
||||||
|
sys on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
|
||||||
|
dev on /dev type devtmpfs (rw,nosuid,relatime,size=7049156k,nr_inodes=1762289,mode=755,inode64)
|
||||||
|
run on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755,inode64)
|
||||||
|
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)
|
||||||
|
/dev/nvme0n1p5 on / type ext4 (rw,relatime,stripe=32)
|
||||||
|
"""
|
||||||
|
out = {}
|
||||||
|
lines = stdout.decode("utf-8").split("\n")
|
||||||
|
for line in lines:
|
||||||
|
tmp = line.split(" ")
|
||||||
|
if len(tmp) <= 2:
|
||||||
|
continue
|
||||||
|
if tmp[0].startswith('/dev/'):
|
||||||
|
out[tmp[2]] = tmp[0][5:]
|
||||||
|
return out
|
||||||
|
|
||||||
|
mounting_points = get_mounts();
|
||||||
|
|
||||||
|
def filter(data: Dict, filter_list: List[str]) -> Dict:
|
||||||
|
out = {}
|
||||||
|
print(f"Request filter {data.keys()} with filter {filter_list}")
|
||||||
|
for key in data:
|
||||||
|
if key in filter_list:
|
||||||
|
out[key] = data[key]
|
||||||
|
return out
|
||||||
|
|
||||||
|
def need_process(data: Dict) -> Dict:
|
||||||
|
return configuration["cpu"] == "auto" or "include" in configuration["cpu"]
|
||||||
|
|
||||||
|
|
||||||
|
def create_cpu_data() -> Dict:
|
||||||
|
# scpufreq(current=1605.5205625000003, min=400.0, max=4372.0)
|
||||||
|
cpu_frequency = psutil.cpu_freq(percpu=False)
|
||||||
|
cpu_percent_use = psutil.cpu_percent()
|
||||||
|
return {
|
||||||
|
"core": cpu_core_count,
|
||||||
|
"thread": cpu_thread_count,
|
||||||
|
"frequency": cpu_frequency.current,
|
||||||
|
"use": cpu_percent_use,
|
||||||
|
"max": cpu_frequency.max,
|
||||||
|
}
|
||||||
|
|
||||||
|
def create_memory_data() -> Dict:
|
||||||
|
# svmem(total=14473519104, available=8289726464, percent=42.7, used=5380497408, free=3276263424, active=1775763456, inactive=8335540224, buffers=361771008, cached=5454987264, shared=243720192, slab=544526336)
|
||||||
|
mem = psutil.virtual_memory()
|
||||||
|
return {
|
||||||
|
"used": mem.used,
|
||||||
|
"total": mem.total,
|
||||||
|
}
|
||||||
|
|
||||||
|
def create_swap_data() -> Dict:
|
||||||
|
# sswap(total=17179865088, used=262144, free=17179602944, percent=0.0, sin=0, sout=0)
|
||||||
|
swap = psutil.swap_memory()
|
||||||
|
return {
|
||||||
|
"used": swap.used,
|
||||||
|
"total": swap.total,
|
||||||
|
}
|
||||||
|
def create_drive_data() -> Dict:
|
||||||
|
tmp_elem = {}
|
||||||
|
# nvme0n1p1 => sdiskio(read_count=187, write_count=3, read_bytes=6002176, write_bytes=5120, read_time=36, write_time=7, read_merged_count=504, write_merged_count=0, busy_time=67)
|
||||||
|
drive_access = psutil.disk_io_counters(perdisk=True)
|
||||||
|
for elem in mounting_points:
|
||||||
|
# sdiskusage(total=255162540032, used=112077000704, free=130049380352, percent=46.3)
|
||||||
|
drive_usage = psutil.disk_usage(elem)
|
||||||
|
# print(f"plop {mounting_points[elem]} ==> {drive_access.keys()}")
|
||||||
|
if mounting_points[elem] in drive_access:
|
||||||
|
tmp_elem[elem] = {
|
||||||
|
"read_bytes": drive_access[mounting_points[elem]].read_bytes,
|
||||||
|
"write_bytes": drive_access[mounting_points[elem]].write_bytes,
|
||||||
|
"used": drive_usage.used,
|
||||||
|
"total": drive_usage.total,
|
||||||
|
}
|
||||||
|
else:
|
||||||
|
tmp_elem[elem] = {
|
||||||
|
"used": drive_usage.used,
|
||||||
|
"total": drive_usage.total,
|
||||||
|
}
|
||||||
|
return tmp_elem
|
||||||
|
|
||||||
|
def create_network_data() -> Dict:
|
||||||
|
# eth0 => snetio(bytes_sent=0, bytes_recv=0, packets_sent=0, packets_recv=0, errin=0, errout=0, dropin=0, dropout=0)
|
||||||
|
data = psutil.net_io_counters(pernic=True)
|
||||||
|
tmp_elem = {}
|
||||||
|
for elem in data:
|
||||||
|
tmp_elem[elem] = {
|
||||||
|
"bytes_sent": data[elem].bytes_sent,
|
||||||
|
"bytes_recv": data[elem].bytes_recv,
|
||||||
|
}
|
||||||
|
return tmp_elem
|
||||||
|
|
||||||
|
def agglutinate(configuration, name, data):
|
||||||
|
if configuration[name] == "auto":
|
||||||
|
return data
|
||||||
|
elif "include" in configuration[name]:
|
||||||
|
return filter(data, configuration[name]["include"])
|
||||||
|
return none
|
||||||
|
|
||||||
|
while True:
|
||||||
|
out = {}
|
||||||
|
if need_process(configuration["cpu"]):
|
||||||
|
base_elem = create_cpu_data()
|
||||||
|
out["cpu"] = agglutinate(configuration, "cpu", base_elem)
|
||||||
|
|
||||||
|
if need_process(configuration["memory"]):
|
||||||
|
base_elem = create_memory_data()
|
||||||
|
out["memory"] = agglutinate(configuration, "memory", base_elem)
|
||||||
|
|
||||||
|
if need_process(configuration["swap"]):
|
||||||
|
base_elem = create_swap_data()
|
||||||
|
out["swap"] = agglutinate(configuration, "swap", base_elem)
|
||||||
|
|
||||||
|
if need_process(configuration["drive"]):
|
||||||
|
base_elem = create_drive_data()
|
||||||
|
out["drive"] = agglutinate(configuration, "drive", base_elem)
|
||||||
|
|
||||||
|
if configuration["network"] == "auto" or "include" in configuration["network"]:
|
||||||
|
base_elem = create_network_data()
|
||||||
|
out["network"] = agglutinate(configuration, "network", base_elem)
|
||||||
|
|
||||||
|
#print("Read new value:")
|
||||||
|
print(json.dumps(out, indent=4))
|
||||||
|
send_to_server(out)
|
||||||
|
time.sleep(args.sleep)
|
||||||
|
|
46
docker-compose.yaml
Normal file
46
docker-compose.yaml
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
version: '3'
|
||||||
|
|
||||||
|
services:
|
||||||
|
karusic_db_service:
|
||||||
|
image: mysql:latest
|
||||||
|
restart: always
|
||||||
|
command: --default-authentication-plugin=mysql_native_password
|
||||||
|
env_file:
|
||||||
|
- ./config.env
|
||||||
|
volumes:
|
||||||
|
- /workspace/data/karusic/db:/var/lib/mysql
|
||||||
|
mem_limit: 600m
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
|
||||||
|
timeout: 20s
|
||||||
|
retries: 10
|
||||||
|
|
||||||
|
karauth_adminer_service:
|
||||||
|
image: adminer:latest
|
||||||
|
restart: always
|
||||||
|
depends_on:
|
||||||
|
- karusic_db_service
|
||||||
|
ports:
|
||||||
|
- 19079:8080
|
||||||
|
links:
|
||||||
|
- karusic_db_service:db
|
||||||
|
read_only: false
|
||||||
|
mem_limit: 100m
|
||||||
|
|
||||||
|
karusic_back_service:
|
||||||
|
restart: always
|
||||||
|
image: gitea.atria-soft.org/kangaroo-and-rabbit/karusic:latest
|
||||||
|
depends_on:
|
||||||
|
- karusic_db_service
|
||||||
|
ports:
|
||||||
|
- 19080:18080
|
||||||
|
env_file:
|
||||||
|
- ./config.env
|
||||||
|
links:
|
||||||
|
- karusic_db_service:db
|
||||||
|
read_only: true
|
||||||
|
mem_limit: 1200m
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "wget" ,"http://localhost:18080/karusic/api/health_check", "-O", "/dev/null"]
|
||||||
|
timeout: 20s
|
||||||
|
retries: 3
|
Loading…
Reference in New Issue
Block a user