Added TPS
This commit is contained in:
parent
b1847debbb
commit
045c154f6c
13
.idea/compiler.xml
generated
Normal file
13
.idea/compiler.xml
generated
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="CompilerConfiguration">
|
||||||
|
<annotationProcessing>
|
||||||
|
<profile name="Maven default annotation processors profile" enabled="true">
|
||||||
|
<sourceOutputDir name="target/generated-sources/annotations" />
|
||||||
|
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
|
||||||
|
<outputRelativeToContentRoot value="true" />
|
||||||
|
<module name="WebConsole" />
|
||||||
|
</profile>
|
||||||
|
</annotationProcessing>
|
||||||
|
</component>
|
||||||
|
</project>
|
467
.idea/dbnavigator.xml
generated
Normal file
467
.idea/dbnavigator.xml
generated
Normal file
@ -0,0 +1,467 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="DBNavigator.Project.DataEditorManager">
|
||||||
|
<record-view-column-sorting-type value="BY_INDEX" />
|
||||||
|
<value-preview-text-wrapping value="true" />
|
||||||
|
<value-preview-pinned value="false" />
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.DataExportManager">
|
||||||
|
<export-instructions>
|
||||||
|
<create-header value="true" />
|
||||||
|
<friendly-headers value="false" />
|
||||||
|
<quote-values-containing-separator value="true" />
|
||||||
|
<quote-all-values value="false" />
|
||||||
|
<value-separator value="" />
|
||||||
|
<file-name value="" />
|
||||||
|
<file-location value="" />
|
||||||
|
<scope value="GLOBAL" />
|
||||||
|
<destination value="FILE" />
|
||||||
|
<format value="EXCEL" />
|
||||||
|
<charset value="windows-1252" />
|
||||||
|
</export-instructions>
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.DatabaseBrowserManager">
|
||||||
|
<autoscroll-to-editor value="false" />
|
||||||
|
<autoscroll-from-editor value="true" />
|
||||||
|
<show-object-properties value="true" />
|
||||||
|
<loaded-nodes />
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.DatabaseFileManager">
|
||||||
|
<open-files />
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.EditorStateManager">
|
||||||
|
<last-used-providers />
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.ExecutionManager">
|
||||||
|
<retain-sticky-names value="false" />
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.MethodExecutionManager">
|
||||||
|
<method-browser />
|
||||||
|
<execution-history>
|
||||||
|
<group-entries value="true" />
|
||||||
|
<execution-inputs />
|
||||||
|
</execution-history>
|
||||||
|
<argument-values-cache />
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.ObjectDependencyManager">
|
||||||
|
<last-used-dependency-type value="INCOMING" />
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.ObjectQuickFilterManager">
|
||||||
|
<last-used-operator value="EQUAL" />
|
||||||
|
<filters />
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.ParserDiagnosticsManager">
|
||||||
|
<diagnostics-history />
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.ScriptExecutionManager" clear-outputs="true">
|
||||||
|
<recently-used-interfaces />
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.Settings">
|
||||||
|
<connections />
|
||||||
|
<browser-settings>
|
||||||
|
<general>
|
||||||
|
<display-mode value="TABBED" />
|
||||||
|
<navigation-history-size value="100" />
|
||||||
|
<show-object-details value="false" />
|
||||||
|
</general>
|
||||||
|
<filters>
|
||||||
|
<object-type-filter>
|
||||||
|
<object-type name="SCHEMA" enabled="true" />
|
||||||
|
<object-type name="USER" enabled="true" />
|
||||||
|
<object-type name="ROLE" enabled="true" />
|
||||||
|
<object-type name="PRIVILEGE" enabled="true" />
|
||||||
|
<object-type name="CHARSET" enabled="true" />
|
||||||
|
<object-type name="TABLE" enabled="true" />
|
||||||
|
<object-type name="VIEW" enabled="true" />
|
||||||
|
<object-type name="MATERIALIZED_VIEW" enabled="true" />
|
||||||
|
<object-type name="NESTED_TABLE" enabled="true" />
|
||||||
|
<object-type name="COLUMN" enabled="true" />
|
||||||
|
<object-type name="INDEX" enabled="true" />
|
||||||
|
<object-type name="CONSTRAINT" enabled="true" />
|
||||||
|
<object-type name="DATASET_TRIGGER" enabled="true" />
|
||||||
|
<object-type name="DATABASE_TRIGGER" enabled="true" />
|
||||||
|
<object-type name="SYNONYM" enabled="true" />
|
||||||
|
<object-type name="SEQUENCE" enabled="true" />
|
||||||
|
<object-type name="PROCEDURE" enabled="true" />
|
||||||
|
<object-type name="FUNCTION" enabled="true" />
|
||||||
|
<object-type name="PACKAGE" enabled="true" />
|
||||||
|
<object-type name="TYPE" enabled="true" />
|
||||||
|
<object-type name="TYPE_ATTRIBUTE" enabled="true" />
|
||||||
|
<object-type name="ARGUMENT" enabled="true" />
|
||||||
|
<object-type name="DIMENSION" enabled="true" />
|
||||||
|
<object-type name="CLUSTER" enabled="true" />
|
||||||
|
<object-type name="DBLINK" enabled="true" />
|
||||||
|
</object-type-filter>
|
||||||
|
</filters>
|
||||||
|
<sorting>
|
||||||
|
<object-type name="COLUMN" sorting-type="NAME" />
|
||||||
|
<object-type name="FUNCTION" sorting-type="NAME" />
|
||||||
|
<object-type name="PROCEDURE" sorting-type="NAME" />
|
||||||
|
<object-type name="ARGUMENT" sorting-type="POSITION" />
|
||||||
|
</sorting>
|
||||||
|
<default-editors>
|
||||||
|
<object-type name="VIEW" editor-type="SELECTION" />
|
||||||
|
<object-type name="PACKAGE" editor-type="SELECTION" />
|
||||||
|
<object-type name="TYPE" editor-type="SELECTION" />
|
||||||
|
</default-editors>
|
||||||
|
</browser-settings>
|
||||||
|
<navigation-settings>
|
||||||
|
<lookup-filters>
|
||||||
|
<lookup-objects>
|
||||||
|
<object-type name="SCHEMA" enabled="true" />
|
||||||
|
<object-type name="USER" enabled="false" />
|
||||||
|
<object-type name="ROLE" enabled="false" />
|
||||||
|
<object-type name="PRIVILEGE" enabled="false" />
|
||||||
|
<object-type name="CHARSET" enabled="false" />
|
||||||
|
<object-type name="TABLE" enabled="true" />
|
||||||
|
<object-type name="VIEW" enabled="true" />
|
||||||
|
<object-type name="MATERIALIZED VIEW" enabled="true" />
|
||||||
|
<object-type name="INDEX" enabled="true" />
|
||||||
|
<object-type name="CONSTRAINT" enabled="true" />
|
||||||
|
<object-type name="DATASET TRIGGER" enabled="true" />
|
||||||
|
<object-type name="DATABASE TRIGGER" enabled="true" />
|
||||||
|
<object-type name="SYNONYM" enabled="false" />
|
||||||
|
<object-type name="SEQUENCE" enabled="true" />
|
||||||
|
<object-type name="PROCEDURE" enabled="true" />
|
||||||
|
<object-type name="FUNCTION" enabled="true" />
|
||||||
|
<object-type name="PACKAGE" enabled="true" />
|
||||||
|
<object-type name="TYPE" enabled="true" />
|
||||||
|
<object-type name="DIMENSION" enabled="false" />
|
||||||
|
<object-type name="CLUSTER" enabled="false" />
|
||||||
|
<object-type name="DBLINK" enabled="true" />
|
||||||
|
</lookup-objects>
|
||||||
|
<force-database-load value="false" />
|
||||||
|
<prompt-connection-selection value="true" />
|
||||||
|
<prompt-schema-selection value="true" />
|
||||||
|
</lookup-filters>
|
||||||
|
</navigation-settings>
|
||||||
|
<dataset-grid-settings>
|
||||||
|
<general>
|
||||||
|
<enable-zooming value="true" />
|
||||||
|
<enable-column-tooltip value="true" />
|
||||||
|
</general>
|
||||||
|
<sorting>
|
||||||
|
<nulls-first value="true" />
|
||||||
|
<max-sorting-columns value="4" />
|
||||||
|
</sorting>
|
||||||
|
<tracking-columns>
|
||||||
|
<columnNames value="" />
|
||||||
|
<visible value="true" />
|
||||||
|
<editable value="false" />
|
||||||
|
</tracking-columns>
|
||||||
|
</dataset-grid-settings>
|
||||||
|
<dataset-editor-settings>
|
||||||
|
<text-editor-popup>
|
||||||
|
<active value="false" />
|
||||||
|
<active-if-empty value="false" />
|
||||||
|
<data-length-threshold value="100" />
|
||||||
|
<popup-delay value="1000" />
|
||||||
|
</text-editor-popup>
|
||||||
|
<values-actions-popup>
|
||||||
|
<show-popup-button value="true" />
|
||||||
|
<element-count-threshold value="1000" />
|
||||||
|
<data-length-threshold value="250" />
|
||||||
|
</values-actions-popup>
|
||||||
|
<general>
|
||||||
|
<fetch-block-size value="100" />
|
||||||
|
<fetch-timeout value="30" />
|
||||||
|
<trim-whitespaces value="true" />
|
||||||
|
<convert-empty-strings-to-null value="true" />
|
||||||
|
<select-content-on-cell-edit value="true" />
|
||||||
|
<large-value-preview-active value="true" />
|
||||||
|
</general>
|
||||||
|
<filters>
|
||||||
|
<prompt-filter-dialog value="true" />
|
||||||
|
<default-filter-type value="BASIC" />
|
||||||
|
</filters>
|
||||||
|
<qualified-text-editor text-length-threshold="300">
|
||||||
|
<content-types>
|
||||||
|
<content-type name="Text" enabled="true" />
|
||||||
|
<content-type name="Properties" enabled="true" />
|
||||||
|
<content-type name="XML" enabled="true" />
|
||||||
|
<content-type name="DTD" enabled="true" />
|
||||||
|
<content-type name="HTML" enabled="true" />
|
||||||
|
<content-type name="XHTML" enabled="true" />
|
||||||
|
<content-type name="CSS" enabled="true" />
|
||||||
|
<content-type name="Java" enabled="true" />
|
||||||
|
<content-type name="SQL" enabled="true" />
|
||||||
|
<content-type name="PL/SQL" enabled="true" />
|
||||||
|
<content-type name="JavaScript" enabled="true" />
|
||||||
|
<content-type name="JSON" enabled="true" />
|
||||||
|
<content-type name="JSON5" enabled="true" />
|
||||||
|
<content-type name="JSP" enabled="true" />
|
||||||
|
<content-type name="JSPx" enabled="true" />
|
||||||
|
<content-type name="Groovy" enabled="true" />
|
||||||
|
<content-type name="FTL" enabled="true" />
|
||||||
|
<content-type name="GSP" enabled="true" />
|
||||||
|
<content-type name="VTL" enabled="true" />
|
||||||
|
<content-type name="YAML" enabled="true" />
|
||||||
|
<content-type name="Manifest" enabled="true" />
|
||||||
|
</content-types>
|
||||||
|
</qualified-text-editor>
|
||||||
|
<record-navigation>
|
||||||
|
<navigation-target value="VIEWER" />
|
||||||
|
</record-navigation>
|
||||||
|
</dataset-editor-settings>
|
||||||
|
<code-editor-settings>
|
||||||
|
<general>
|
||||||
|
<show-object-navigation-gutter value="false" />
|
||||||
|
<show-spec-declaration-navigation-gutter value="true" />
|
||||||
|
<enable-spellchecking value="true" />
|
||||||
|
<enable-reference-spellchecking value="false" />
|
||||||
|
</general>
|
||||||
|
<confirmations>
|
||||||
|
<save-changes value="false" />
|
||||||
|
<revert-changes value="true" />
|
||||||
|
</confirmations>
|
||||||
|
</code-editor-settings>
|
||||||
|
<code-completion-settings>
|
||||||
|
<filters>
|
||||||
|
<basic-filter>
|
||||||
|
<filter-element type="RESERVED_WORD" id="keyword" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="function" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="parameter" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="datatype" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="exception" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="schema" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="role" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="user" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="privilege" selected="true" />
|
||||||
|
<user-schema>
|
||||||
|
<filter-element type="OBJECT" id="table" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="index" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="synonym" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="function" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="package" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="type" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||||
|
</user-schema>
|
||||||
|
<public-schema>
|
||||||
|
<filter-element type="OBJECT" id="table" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="view" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="materialized view" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="index" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="constraint" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="trigger" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="synonym" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="sequence" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="procedure" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="function" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="package" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="type" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="dimension" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="cluster" selected="false" />
|
||||||
|
<filter-element type="OBJECT" id="dblink" selected="false" />
|
||||||
|
</public-schema>
|
||||||
|
<any-schema>
|
||||||
|
<filter-element type="OBJECT" id="table" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="index" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="function" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="package" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="type" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||||
|
</any-schema>
|
||||||
|
</basic-filter>
|
||||||
|
<extended-filter>
|
||||||
|
<filter-element type="RESERVED_WORD" id="keyword" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="function" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="parameter" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="datatype" selected="true" />
|
||||||
|
<filter-element type="RESERVED_WORD" id="exception" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="schema" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="user" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="role" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="privilege" selected="true" />
|
||||||
|
<user-schema>
|
||||||
|
<filter-element type="OBJECT" id="table" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="index" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="function" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="package" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="type" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||||
|
</user-schema>
|
||||||
|
<public-schema>
|
||||||
|
<filter-element type="OBJECT" id="table" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="index" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="function" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="package" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="type" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||||
|
</public-schema>
|
||||||
|
<any-schema>
|
||||||
|
<filter-element type="OBJECT" id="table" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="index" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="function" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="package" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="type" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||||
|
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||||
|
</any-schema>
|
||||||
|
</extended-filter>
|
||||||
|
</filters>
|
||||||
|
<sorting enabled="true">
|
||||||
|
<sorting-element type="RESERVED_WORD" id="keyword" />
|
||||||
|
<sorting-element type="RESERVED_WORD" id="datatype" />
|
||||||
|
<sorting-element type="OBJECT" id="column" />
|
||||||
|
<sorting-element type="OBJECT" id="table" />
|
||||||
|
<sorting-element type="OBJECT" id="view" />
|
||||||
|
<sorting-element type="OBJECT" id="materialized view" />
|
||||||
|
<sorting-element type="OBJECT" id="index" />
|
||||||
|
<sorting-element type="OBJECT" id="constraint" />
|
||||||
|
<sorting-element type="OBJECT" id="trigger" />
|
||||||
|
<sorting-element type="OBJECT" id="synonym" />
|
||||||
|
<sorting-element type="OBJECT" id="sequence" />
|
||||||
|
<sorting-element type="OBJECT" id="procedure" />
|
||||||
|
<sorting-element type="OBJECT" id="function" />
|
||||||
|
<sorting-element type="OBJECT" id="package" />
|
||||||
|
<sorting-element type="OBJECT" id="type" />
|
||||||
|
<sorting-element type="OBJECT" id="dimension" />
|
||||||
|
<sorting-element type="OBJECT" id="cluster" />
|
||||||
|
<sorting-element type="OBJECT" id="dblink" />
|
||||||
|
<sorting-element type="OBJECT" id="schema" />
|
||||||
|
<sorting-element type="OBJECT" id="role" />
|
||||||
|
<sorting-element type="OBJECT" id="user" />
|
||||||
|
<sorting-element type="RESERVED_WORD" id="function" />
|
||||||
|
<sorting-element type="RESERVED_WORD" id="parameter" />
|
||||||
|
</sorting>
|
||||||
|
<format>
|
||||||
|
<enforce-code-style-case value="true" />
|
||||||
|
</format>
|
||||||
|
</code-completion-settings>
|
||||||
|
<execution-engine-settings>
|
||||||
|
<statement-execution>
|
||||||
|
<fetch-block-size value="100" />
|
||||||
|
<execution-timeout value="20" />
|
||||||
|
<debug-execution-timeout value="600" />
|
||||||
|
<focus-result value="false" />
|
||||||
|
<prompt-execution value="false" />
|
||||||
|
</statement-execution>
|
||||||
|
<script-execution>
|
||||||
|
<command-line-interfaces />
|
||||||
|
<execution-timeout value="300" />
|
||||||
|
</script-execution>
|
||||||
|
<method-execution>
|
||||||
|
<execution-timeout value="30" />
|
||||||
|
<debug-execution-timeout value="600" />
|
||||||
|
<parameter-history-size value="10" />
|
||||||
|
</method-execution>
|
||||||
|
</execution-engine-settings>
|
||||||
|
<operation-settings>
|
||||||
|
<transactions>
|
||||||
|
<uncommitted-changes>
|
||||||
|
<on-project-close value="ASK" />
|
||||||
|
<on-disconnect value="ASK" />
|
||||||
|
<on-autocommit-toggle value="ASK" />
|
||||||
|
</uncommitted-changes>
|
||||||
|
<multiple-uncommitted-changes>
|
||||||
|
<on-commit value="ASK" />
|
||||||
|
<on-rollback value="ASK" />
|
||||||
|
</multiple-uncommitted-changes>
|
||||||
|
</transactions>
|
||||||
|
<session-browser>
|
||||||
|
<disconnect-session value="ASK" />
|
||||||
|
<kill-session value="ASK" />
|
||||||
|
<reload-on-filter-change value="false" />
|
||||||
|
</session-browser>
|
||||||
|
<compiler>
|
||||||
|
<compile-type value="KEEP" />
|
||||||
|
<compile-dependencies value="ASK" />
|
||||||
|
<always-show-controls value="false" />
|
||||||
|
</compiler>
|
||||||
|
<debugger>
|
||||||
|
<debugger-type value="ASK" />
|
||||||
|
<use-generic-runners value="true" />
|
||||||
|
</debugger>
|
||||||
|
</operation-settings>
|
||||||
|
<ddl-file-settings>
|
||||||
|
<extensions>
|
||||||
|
<mapping file-type-id="VIEW" extensions="vw" />
|
||||||
|
<mapping file-type-id="TRIGGER" extensions="trg" />
|
||||||
|
<mapping file-type-id="PROCEDURE" extensions="prc" />
|
||||||
|
<mapping file-type-id="FUNCTION" extensions="fnc" />
|
||||||
|
<mapping file-type-id="PACKAGE" extensions="pkg" />
|
||||||
|
<mapping file-type-id="PACKAGE_SPEC" extensions="pks" />
|
||||||
|
<mapping file-type-id="PACKAGE_BODY" extensions="pkb" />
|
||||||
|
<mapping file-type-id="TYPE" extensions="tpe" />
|
||||||
|
<mapping file-type-id="TYPE_SPEC" extensions="tps" />
|
||||||
|
<mapping file-type-id="TYPE_BODY" extensions="tpb" />
|
||||||
|
</extensions>
|
||||||
|
<general>
|
||||||
|
<lookup-ddl-files value="true" />
|
||||||
|
<create-ddl-files value="false" />
|
||||||
|
<synchronize-ddl-files value="true" />
|
||||||
|
<use-qualified-names value="false" />
|
||||||
|
<make-scripts-rerunnable value="true" />
|
||||||
|
</general>
|
||||||
|
</ddl-file-settings>
|
||||||
|
<general-settings>
|
||||||
|
<regional-settings>
|
||||||
|
<date-format value="MEDIUM" />
|
||||||
|
<number-format value="UNGROUPED" />
|
||||||
|
<locale value="SYSTEM_DEFAULT" />
|
||||||
|
<use-custom-formats value="false" />
|
||||||
|
</regional-settings>
|
||||||
|
<environment>
|
||||||
|
<environment-types>
|
||||||
|
<environment-type id="development" name="Development" description="Development environment" color="-2430209/-12296320" readonly-code="false" readonly-data="false" />
|
||||||
|
<environment-type id="integration" name="Integration" description="Integration environment" color="-2621494/-12163514" readonly-code="true" readonly-data="false" />
|
||||||
|
<environment-type id="production" name="Production" description="Productive environment" color="-11574/-10271420" readonly-code="true" readonly-data="true" />
|
||||||
|
<environment-type id="other" name="Other" description="" color="-1576/-10724543" readonly-code="false" readonly-data="false" />
|
||||||
|
</environment-types>
|
||||||
|
<visibility-settings>
|
||||||
|
<connection-tabs value="true" />
|
||||||
|
<dialog-headers value="true" />
|
||||||
|
<object-editor-tabs value="true" />
|
||||||
|
<script-editor-tabs value="false" />
|
||||||
|
<execution-result-tabs value="true" />
|
||||||
|
</visibility-settings>
|
||||||
|
</environment>
|
||||||
|
</general-settings>
|
||||||
|
</component>
|
||||||
|
<component name="DBNavigator.Project.StatementExecutionManager">
|
||||||
|
<execution-variables />
|
||||||
|
</component>
|
||||||
|
</project>
|
7
.idea/discord.xml
generated
Normal file
7
.idea/discord.xml
generated
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="DiscordProjectSettings">
|
||||||
|
<option name="show" value="PROJECT_FILES" />
|
||||||
|
<option name="description" value="" />
|
||||||
|
</component>
|
||||||
|
</project>
|
30
.idea/jarRepositories.xml
generated
Normal file
30
.idea/jarRepositories.xml
generated
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="RemoteRepositoriesConfiguration">
|
||||||
|
<remote-repository>
|
||||||
|
<option name="id" value="central" />
|
||||||
|
<option name="name" value="Central Repository" />
|
||||||
|
<option name="url" value="https://repo.maven.apache.org/maven2" />
|
||||||
|
</remote-repository>
|
||||||
|
<remote-repository>
|
||||||
|
<option name="id" value="spigot-repo" />
|
||||||
|
<option name="name" value="spigot-repo" />
|
||||||
|
<option name="url" value="https://hub.spigotmc.org/nexus/content/repositories/snapshots/" />
|
||||||
|
</remote-repository>
|
||||||
|
<remote-repository>
|
||||||
|
<option name="id" value="central" />
|
||||||
|
<option name="name" value="Maven Central repository" />
|
||||||
|
<option name="url" value="https://repo1.maven.org/maven2" />
|
||||||
|
</remote-repository>
|
||||||
|
<remote-repository>
|
||||||
|
<option name="id" value="jboss.community" />
|
||||||
|
<option name="name" value="JBoss Community repository" />
|
||||||
|
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
|
||||||
|
</remote-repository>
|
||||||
|
<remote-repository>
|
||||||
|
<option name="id" value="bungeecord-repo" />
|
||||||
|
<option name="name" value="bungeecord-repo" />
|
||||||
|
<option name="url" value="https://oss.sonatype.org/content/repositories/snapshots" />
|
||||||
|
</remote-repository>
|
||||||
|
</component>
|
||||||
|
</project>
|
6
.idea/jsLibraryMappings.xml
generated
Normal file
6
.idea/jsLibraryMappings.xml
generated
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="JavaScriptLibraryMappings">
|
||||||
|
<file url="file://$PROJECT_DIR$" libraries="{bootstrap, jquery-3.3.1.slim, popper.js}" />
|
||||||
|
</component>
|
||||||
|
</project>
|
17
.idea/misc.xml
generated
Normal file
17
.idea/misc.xml
generated
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="EntryPointsManager">
|
||||||
|
<list size="1">
|
||||||
|
<item index="0" class="java.lang.String" itemvalue="org.bukkit.event.EventHandler" />
|
||||||
|
</list>
|
||||||
|
</component>
|
||||||
|
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||||
|
<component name="MavenProjectsManager">
|
||||||
|
<option name="originalFiles">
|
||||||
|
<list>
|
||||||
|
<option value="$PROJECT_DIR$/pom.xml" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="openjdk-17" project-jdk-type="JavaSDK" />
|
||||||
|
</project>
|
6
.idea/vcs.xml
generated
Normal file
6
.idea/vcs.xml
generated
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
@ -113,6 +113,17 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-sm-3 mb-2">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<h5 class="card-title" id="tps_title">TPS</h5>
|
||||||
|
<p class="card-text"><span id="tps">0</span> Ticks / <span id="maxTps">0</span> Ticks</p>
|
||||||
|
<div class="progress flat-progressbar">
|
||||||
|
<div class="progress-bar progress-bar-striped progress-bar-animated" role="progressbar" style="width: 0%;" id="TpsProgressBar"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="col-sm-3 mb-2">
|
<div class="col-sm-3 mb-2">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
|
@ -5,14 +5,14 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Global variables
|
* Global variables
|
||||||
*/
|
*/
|
||||||
var persistenceManager = new WebConsolePersistenceManager();
|
const persistenceManager = new WebConsolePersistenceManager();
|
||||||
var connectionManager = new WebConsoleManager();
|
const connectionManager = new WebConsoleManager();
|
||||||
var lang;
|
let lang;
|
||||||
var autoPasswordCompleted = false; //When true, saved password was used. If a 401 is received, then saved password is not correct
|
let autoPasswordCompleted = false; //When true, saved password was used. If a 401 is received, then saved password is not correct
|
||||||
var statusCommandsInterval = -1;
|
let statusCommandsInterval = -1;
|
||||||
var commandHistoryIndex = -1; //Saves current command history index. -1 when not browsing history.
|
let commandHistoryIndex = -1; //Saves current command history index. -1 when not browsing history.
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load list of servers in file servers.json
|
* Load list of servers in file servers.json
|
||||||
@ -61,10 +61,10 @@ function openServer(serverName){
|
|||||||
connectionManager.loadConnection(serverName);
|
connectionManager.loadConnection(serverName);
|
||||||
|
|
||||||
//Load saved messages
|
//Load saved messages
|
||||||
var i;
|
let i;
|
||||||
var messages = connectionManager.activeConnection.messages;
|
const messages = connectionManager.activeConnection.messages;
|
||||||
for(i = 0; i < messages.length; i++){
|
for(i = 0; i < messages.length; i++){
|
||||||
if(messages[i].status != 401){
|
if(messages[i].status !== 401){
|
||||||
onWebSocketsMessage(messages[i]);
|
onWebSocketsMessage(messages[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -88,7 +88,7 @@ function onWebSocketsMessage(message){
|
|||||||
$("#loggedUserTypeLabel").text(message.as);
|
$("#loggedUserTypeLabel").text(message.as);
|
||||||
|
|
||||||
//Disable command bar if user is viewer
|
//Disable command bar if user is viewer
|
||||||
if(message.as.toLowerCase() == "viewer"){
|
if(message.as.toLowerCase() === "viewer"){
|
||||||
$("#commandInput").prop("disabled", true);
|
$("#commandInput").prop("disabled", true);
|
||||||
$("#sendCommandButton").prop("disabled", true);
|
$("#sendCommandButton").prop("disabled", true);
|
||||||
}
|
}
|
||||||
@ -106,7 +106,7 @@ function onWebSocketsMessage(message){
|
|||||||
break;
|
break;
|
||||||
case 401:
|
case 401:
|
||||||
//Waiting for login. Show password modal or retrieve password
|
//Waiting for login. Show password modal or retrieve password
|
||||||
var savedPwd = persistenceManager.getServer(connectionManager.activeConnection.serverName).serverPassword;
|
const savedPwd = persistenceManager.getServer(connectionManager.activeConnection.serverName).serverPassword;
|
||||||
if(typeof savedPwd !== "undefined" && !autoPasswordCompleted){
|
if(typeof savedPwd !== "undefined" && !autoPasswordCompleted){
|
||||||
connectionManager.sendPassword(savedPwd);
|
connectionManager.sendPassword(savedPwd);
|
||||||
autoPasswordCompleted = true;
|
autoPasswordCompleted = true;
|
||||||
@ -127,13 +127,17 @@ function onWebSocketsMessage(message){
|
|||||||
//RAM Usage
|
//RAM Usage
|
||||||
writeRamInfo(message.free, message.used, message.max);
|
writeRamInfo(message.free, message.used, message.max);
|
||||||
break;
|
break;
|
||||||
|
case 1003:
|
||||||
|
//Server TPS
|
||||||
|
writeTpsInfo(message.tps, 20);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
console.log('Unknown server response:');
|
console.log('Unknown server response:');
|
||||||
}
|
}
|
||||||
console.log(message);
|
console.log(message);
|
||||||
|
|
||||||
//Add interval for Players, CPU and RAM info, if not set
|
//Add interval for Players, CPU and RAM info, if not set
|
||||||
if(statusCommandsInterval == -1 && message.status !== 401){
|
if(statusCommandsInterval === -1 && message.status !== 401){
|
||||||
statusCommandsInterval = setInterval(function(){
|
statusCommandsInterval = setInterval(function(){
|
||||||
connectionManager.askForInfo();
|
connectionManager.askForInfo();
|
||||||
}, 2500);
|
}, 2500);
|
||||||
@ -144,7 +148,7 @@ function onWebSocketsMessage(message){
|
|||||||
* Write to console
|
* Write to console
|
||||||
*/
|
*/
|
||||||
function writeToWebConsole(msg, time){
|
function writeToWebConsole(msg, time){
|
||||||
var isScrolledDown = document.getElementById("consoleTextArea").scrollHeight - document.getElementById("consoleTextArea").scrollTop - 40 == $("#consoleTextArea").height();
|
const isScrolledDown = document.getElementById("consoleTextArea").scrollHeight - document.getElementById("consoleTextArea").scrollTop - 40 === $("#consoleTextArea").height();
|
||||||
|
|
||||||
//Write to div, replacing < to < (to avoid XSS) and replacing new line to br.
|
//Write to div, replacing < to < (to avoid XSS) and replacing new line to br.
|
||||||
msg = msg.replace(/</g, "<");
|
msg = msg.replace(/</g, "<");
|
||||||
@ -209,7 +213,7 @@ function writeToWebConsole(msg, time){
|
|||||||
$("#consoleTextArea").append(msg + "<br>");
|
$("#consoleTextArea").append(msg + "<br>");
|
||||||
|
|
||||||
if(isScrolledDown){
|
if(isScrolledDown){
|
||||||
var textarea = document.getElementById('consoleTextArea');
|
const textarea = document.getElementById('consoleTextArea');
|
||||||
textarea.scrollTop = textarea.scrollHeight;
|
textarea.scrollTop = textarea.scrollHeight;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -221,7 +225,7 @@ function writePlayerInfo(connected, maximum){
|
|||||||
$("#connectedPlayers").text(connected);
|
$("#connectedPlayers").text(connected);
|
||||||
$("#maxPlayers").text(maximum);
|
$("#maxPlayers").text(maximum);
|
||||||
|
|
||||||
var percent = (connected/maximum)*100;
|
const percent = (connected / maximum) * 100;
|
||||||
$("#playerProgressBar").width(percent + "%");
|
$("#playerProgressBar").width(percent + "%");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -241,15 +245,29 @@ function writeRamInfo(free, used, total){
|
|||||||
$("#usedRam").text(used);
|
$("#usedRam").text(used);
|
||||||
$("#totalRam").text(total);
|
$("#totalRam").text(total);
|
||||||
|
|
||||||
var percent = (used/total)*100;
|
const percent = (used / total) * 100;
|
||||||
$("#RamProgressBar").width(percent + "%");
|
$("#RamProgressBar").width(percent + "%");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fill TPS info card
|
||||||
|
*/
|
||||||
|
function writeTpsInfo(tps, max){
|
||||||
|
if(tps > 20) {
|
||||||
|
tps = 20;
|
||||||
|
}
|
||||||
|
$("#tps").text(tps);
|
||||||
|
$("#maxTps").text(max);
|
||||||
|
|
||||||
|
const percent = (tps / max) * 100;
|
||||||
|
$("#TpsProgressBar").width(percent + "%");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called from WebConsoleConnector only.
|
* Called from WebConsoleConnector only.
|
||||||
*/
|
*/
|
||||||
function closedConnection(serverName){
|
function closedConnection(serverName){
|
||||||
if(connectionManager.activeConnection.serverName == serverName){
|
if(connectionManager.activeConnection.serverName === serverName){
|
||||||
//Disable command input and button
|
//Disable command input and button
|
||||||
$("#commandInput").prop("disabled", true);
|
$("#commandInput").prop("disabled", true);
|
||||||
$("#sendCommandButton").prop("disabled", true);
|
$("#sendCommandButton").prop("disabled", true);
|
||||||
@ -288,13 +306,13 @@ function updateServerList(){
|
|||||||
$('.servermenuitem').remove();
|
$('.servermenuitem').remove();
|
||||||
|
|
||||||
//Add all servers
|
//Add all servers
|
||||||
var servers = persistenceManager.getAllServers();
|
const servers = persistenceManager.getAllServers();
|
||||||
for(var i = 0; i < servers.length; i++){
|
for(let i = 0; i < servers.length; i++){
|
||||||
$('#ServerListDropDown').append('<a class="dropdown-item servermenuitem" href="#" onclick="openServer(\'' + servers[i].serverName + '\')">' + servers[i].serverName.replace(/</g,"<").replace(/>/g,">").replace(/'/g,"").replace(/"/g,"") + '</a>');
|
$('#ServerListDropDown').append('<a class="dropdown-item servermenuitem" href="#" onclick="openServer(\'' + servers[i].serverName + '\')">' + servers[i].serverName.replace(/</g,"<").replace(/>/g,">").replace(/'/g,"").replace(/"/g,"") + '</a>');
|
||||||
}
|
}
|
||||||
|
|
||||||
//Show a "no servers" message when no servers are added
|
//Show a "no servers" message when no servers are added
|
||||||
if(servers.length == 0){
|
if(servers.length === 0){
|
||||||
$('#ServerListDropDown').append('<a class="dropdown-item servermenuitem disabled" href="#" id="noServersAdded">No servers added</a>');
|
$('#ServerListDropDown').append('<a class="dropdown-item servermenuitem disabled" href="#" id="noServersAdded">No servers added</a>');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -97,6 +97,11 @@ class WebConsoleManager {
|
|||||||
command: "RAMUSAGE",
|
command: "RAMUSAGE",
|
||||||
token: this.activeConnection.token,
|
token: this.activeConnection.token,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
this.activeConnection.sendToServer({
|
||||||
|
command: "TPS",
|
||||||
|
token: this.activeConnection.token,
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -34,6 +34,9 @@ players-message = Connected {0} players for a maximum of {1}
|
|||||||
# RamUsageCommand.java
|
# RamUsageCommand.java
|
||||||
ram-usage-message = {0} free, {1} used, {2} maximum memory
|
ram-usage-message = {0} free, {1} used, {2} maximum memory
|
||||||
|
|
||||||
|
# TpsCommand.java
|
||||||
|
tps-message = {0} ticks from {1}
|
||||||
|
|
||||||
# WebConsoleCommand.java
|
# WebConsoleCommand.java
|
||||||
webconsole-version = WebConsole version {0}.
|
webconsole-version = WebConsole version {0}.
|
||||||
webconsole-no-connections = There are no logged in WebConsole connections now.
|
webconsole-no-connections = There are no logged in WebConsole connections now.
|
||||||
|
@ -34,6 +34,9 @@ players-message = Je připojeno {0} hráčů z maxima {1}
|
|||||||
# RamUsageCommand.java
|
# RamUsageCommand.java
|
||||||
ram-usage-message = {0} volné, {1} použité, {2} maximální paměti
|
ram-usage-message = {0} volné, {1} použité, {2} maximální paměti
|
||||||
|
|
||||||
|
# TpsCommand.java
|
||||||
|
tps-message = {0} ticks from {1}
|
||||||
|
|
||||||
# WebConsoleCommand.java
|
# WebConsoleCommand.java
|
||||||
webconsole-version = WebConsole verze {0}.
|
webconsole-version = WebConsole verze {0}.
|
||||||
webconsole-no-connections = Nejsou žádné WebConsole připojení.
|
webconsole-no-connections = Nejsou žádné WebConsole připojení.
|
||||||
|
@ -34,6 +34,9 @@ players-message = {0} von {1} Spieler sind verbunden.
|
|||||||
# RamUsageCommand.java
|
# RamUsageCommand.java
|
||||||
ram-usage-message = {0} frei, {1} benutzt, {2} maximal
|
ram-usage-message = {0} frei, {1} benutzt, {2} maximal
|
||||||
|
|
||||||
|
# TpsCommand.java
|
||||||
|
tps-message = {0} ticks von {1}
|
||||||
|
|
||||||
# WebConsoleCommand.java
|
# WebConsoleCommand.java
|
||||||
webconsole-version = Die WebConsole Version ist {0}.
|
webconsole-version = Die WebConsole Version ist {0}.
|
||||||
webconsole-no-connections = Aktuell ist niemand mit der WebConsole verbunden
|
webconsole-no-connections = Aktuell ist niemand mit der WebConsole verbunden
|
||||||
|
@ -34,6 +34,9 @@ players-message = Connected {0} players for a maximum of {1}
|
|||||||
# RamUsageCommand.java
|
# RamUsageCommand.java
|
||||||
ram-usage-message = {0} free, {1} used, {2} maximum memory
|
ram-usage-message = {0} free, {1} used, {2} maximum memory
|
||||||
|
|
||||||
|
# TpsCommand.java
|
||||||
|
tps-message = {0} ticks from {1}
|
||||||
|
|
||||||
# WebConsoleCommand.java
|
# WebConsoleCommand.java
|
||||||
webconsole-version = WebConsole version {0}.
|
webconsole-version = WebConsole version {0}.
|
||||||
webconsole-no-connections = There are no logged in WebConsole connections now.
|
webconsole-no-connections = There are no logged in WebConsole connections now.
|
||||||
|
@ -34,6 +34,9 @@ players-message = Actualmente conectados {0} jugadores de un máximo de {1}
|
|||||||
# RamUsageCommand.java
|
# RamUsageCommand.java
|
||||||
ram-usage-message = Memoria: {0} libre, {1} usada, {2} maxima
|
ram-usage-message = Memoria: {0} libre, {1} usada, {2} maxima
|
||||||
|
|
||||||
|
# TpsCommand.java
|
||||||
|
tps-message = {0} ticks from {1}
|
||||||
|
|
||||||
# WebConsoleCommand.java
|
# WebConsoleCommand.java
|
||||||
webconsole-version = WebConsole version {0}.
|
webconsole-version = WebConsole version {0}.
|
||||||
webconsole-no-connections = No hay ninguna conexión activa a WebConsole en este momento.
|
webconsole-no-connections = No hay ninguna conexión activa a WebConsole en este momento.
|
||||||
|
@ -34,6 +34,9 @@ players-message = Joueurs {0} connectés pour un maximum de {1}
|
|||||||
# RamUsageCommand.java
|
# RamUsageCommand.java
|
||||||
ram-usage-message = {0} gratuit, {1} utilisé, {2} mémoire maximale
|
ram-usage-message = {0} gratuit, {1} utilisé, {2} mémoire maximale
|
||||||
|
|
||||||
|
# TpsCommand.java
|
||||||
|
tps-message = {0} ticks from {1}
|
||||||
|
|
||||||
# WebConsoleCommand.java
|
# WebConsoleCommand.java
|
||||||
webconsole-version = version WebConsole {0}.
|
webconsole-version = version WebConsole {0}.
|
||||||
webconsole-no-connections = Aucune connexion WebConsole n'est connectée maintenant.
|
webconsole-no-connections = Aucune connexion WebConsole n'est connectée maintenant.
|
||||||
|
@ -34,6 +34,9 @@ players-message = Connessi {0} players su un massimo di {1}
|
|||||||
# RamUsageCommand.java
|
# RamUsageCommand.java
|
||||||
ram-usage-message = {0} Libera, {1} Usata, {2} Memoria massima
|
ram-usage-message = {0} Libera, {1} Usata, {2} Memoria massima
|
||||||
|
|
||||||
|
# TpsCommand.java
|
||||||
|
tps-message = {0} ticks from {1}
|
||||||
|
|
||||||
# WebConsoleCommand.java
|
# WebConsoleCommand.java
|
||||||
webconsole-version = Versione WebConsole {0}.
|
webconsole-version = Versione WebConsole {0}.
|
||||||
webconsole-no-connections = Non è stata effettuata ancora nessuna connessione tramite WebConsole.
|
webconsole-no-connections = Non è stata effettuata ancora nessuna connessione tramite WebConsole.
|
||||||
|
@ -34,6 +34,9 @@ players-message = 接続数 | {0} ,最大接続数 | {1}
|
|||||||
# RamUsageCommand.java
|
# RamUsageCommand.java
|
||||||
ram-usage-message = {0} 空き, {1} 使用済み, {2} 最大メモリ
|
ram-usage-message = {0} 空き, {1} 使用済み, {2} 最大メモリ
|
||||||
|
|
||||||
|
# TpsCommand.java
|
||||||
|
tps-message = {0} ticks from {1}
|
||||||
|
|
||||||
# WebConsoleCommand.java
|
# WebConsoleCommand.java
|
||||||
webconsole-version = WebConsoleのバージョン {0}.
|
webconsole-version = WebConsoleのバージョン {0}.
|
||||||
webconsole-no-connections = 現在、WebConsoleのログイン接続はありません。
|
webconsole-no-connections = 現在、WebConsoleのログイン接続はありません。
|
||||||
|
@ -34,6 +34,9 @@ players-message = {0}/{1}명의 플레이어를 연결하였습니다
|
|||||||
# RamUsageCommand.java
|
# RamUsageCommand.java
|
||||||
ram-usage-message = {0} 여유, {1} 사용, {2} 최대
|
ram-usage-message = {0} 여유, {1} 사용, {2} 최대
|
||||||
|
|
||||||
|
# TpsCommand.java
|
||||||
|
tps-message = {0} ticks from {1}
|
||||||
|
|
||||||
# WebConsoleCommand.java
|
# WebConsoleCommand.java
|
||||||
webconsole-version = WebConsole 버전 {0}.
|
webconsole-version = WebConsole 버전 {0}.
|
||||||
webconsole-no-connections = 현재 로그인된 사람이 없습니다.
|
webconsole-no-connections = 현재 로그인된 사람이 없습니다.
|
||||||
|
@ -34,6 +34,9 @@ players-message = {0} spelers verbonden voor een maximum van {1}
|
|||||||
# RamUsageCommand.java
|
# RamUsageCommand.java
|
||||||
ram-usage-message = {0} ongebruikt, {1} gebruikt, {2} maximaal geheugen
|
ram-usage-message = {0} ongebruikt, {1} gebruikt, {2} maximaal geheugen
|
||||||
|
|
||||||
|
# TpsCommand.java
|
||||||
|
tps-message = {0} ticks from {1}
|
||||||
|
|
||||||
# WebConsoleCommand.java
|
# WebConsoleCommand.java
|
||||||
webconsole-version = WebConsole versie {0}.
|
webconsole-version = WebConsole versie {0}.
|
||||||
webconsole-no-connections = Er zijn nu geen ingelogde Web Console-verbindingen.
|
webconsole-no-connections = Er zijn nu geen ingelogde Web Console-verbindingen.
|
||||||
|
@ -34,6 +34,9 @@ players-message = Atualmente tem {0} jogador(es) de um total de {1}
|
|||||||
# RamUsageCommand.java
|
# RamUsageCommand.java
|
||||||
ram-usage-message = Disponível: {0}, Consumo de RAM: {1} / {2}
|
ram-usage-message = Disponível: {0}, Consumo de RAM: {1} / {2}
|
||||||
|
|
||||||
|
# TpsCommand.java
|
||||||
|
tps-message = {0} ticks from {1}
|
||||||
|
|
||||||
# WebConsoleCommand.java
|
# WebConsoleCommand.java
|
||||||
webconsole-version = WebConsole versão {0}.
|
webconsole-version = WebConsole versão {0}.
|
||||||
webconsole-no-connections = Atualmente não tem nenhum usuário conectado.
|
webconsole-no-connections = Atualmente não tem nenhum usuário conectado.
|
||||||
|
@ -34,6 +34,9 @@ players-message = Подключено {0} игроков из максимум
|
|||||||
# RamUsageCommand.java
|
# RamUsageCommand.java
|
||||||
ram-usage-message = {0} свободно, {1} используется, {2} макс. памяти
|
ram-usage-message = {0} свободно, {1} используется, {2} макс. памяти
|
||||||
|
|
||||||
|
# TpsCommand.java
|
||||||
|
tps-message = {0} ticks from {1}
|
||||||
|
|
||||||
# WebConsoleCommand.java
|
# WebConsoleCommand.java
|
||||||
webconsole-version = Версия WebConsole {0}.
|
webconsole-version = Версия WebConsole {0}.
|
||||||
webconsole-no-connections = В настоящее время нет подключений к WebConsole.
|
webconsole-no-connections = В настоящее время нет подключений к WebConsole.
|
||||||
|
@ -34,6 +34,9 @@ players-message = {0} oyuncu bağlandı, toplam {1} oyuncu bağlanabilir.
|
|||||||
# RamUsageCommand.java
|
# RamUsageCommand.java
|
||||||
ram-usage-message = {0} boş, {1} kullanılıyor, {2} maksimum bellek
|
ram-usage-message = {0} boş, {1} kullanılıyor, {2} maksimum bellek
|
||||||
|
|
||||||
|
# TpsCommand.java
|
||||||
|
tps-message = {0} ticks from {1}
|
||||||
|
|
||||||
# WebConsoleCommand.java
|
# WebConsoleCommand.java
|
||||||
webconsole-version = WebConsole sürümü {0}.
|
webconsole-version = WebConsole sürümü {0}.
|
||||||
webconsole-no-connections = Şuanda oturum açılmış WebSocket bağlantısı yok.
|
webconsole-no-connections = Şuanda oturum açılmış WebSocket bağlantısı yok.
|
||||||
|
@ -34,6 +34,9 @@ players-message = {0}玩家連接,最多{1}
|
|||||||
# RamUsageCommand.java
|
# RamUsageCommand.java
|
||||||
ram-usage-message = 空閒{0} , 已使用{1} , 最大內存{2}
|
ram-usage-message = 空閒{0} , 已使用{1} , 最大內存{2}
|
||||||
|
|
||||||
|
# TpsCommand.java
|
||||||
|
tps-message = {0} ticks from {1}
|
||||||
|
|
||||||
# WebConsoleCommand.java
|
# WebConsoleCommand.java
|
||||||
webconsole-version = 網站控制台版本 {0}.
|
webconsole-version = 網站控制台版本 {0}.
|
||||||
webconsole-no-connections = 現在沒有連接登錄網站控制台。
|
webconsole-no-connections = 現在沒有連接登錄網站控制台。
|
||||||
|
@ -23,7 +23,8 @@ import es.mesacarlos.webconsole.websocket.response.LoggedIn;
|
|||||||
import es.mesacarlos.webconsole.websocket.response.UnknownCommand;
|
import es.mesacarlos.webconsole.websocket.response.UnknownCommand;
|
||||||
|
|
||||||
public class WSServer extends WebSocketServer {
|
public class WSServer extends WebSocketServer {
|
||||||
private HashMap<String, WSCommand> commands = WSCommandFactory.getCommandsHashMap();
|
|
||||||
|
private final HashMap<String, WSCommand> commands = WSCommandFactory.getCommandsHashMap();
|
||||||
|
|
||||||
public WSServer(InetSocketAddress address) {
|
public WSServer(InetSocketAddress address) {
|
||||||
super(address);
|
super(address);
|
||||||
|
@ -0,0 +1,47 @@
|
|||||||
|
package es.mesacarlos.webconsole.websocket.command;
|
||||||
|
|
||||||
|
//------------------------------
|
||||||
|
//
|
||||||
|
// This class was developed by Rafael K.
|
||||||
|
// On 1/8/2022 at 10:22 PM
|
||||||
|
// In the project WebConsole
|
||||||
|
//
|
||||||
|
//------------------------------
|
||||||
|
|
||||||
|
import es.mesacarlos.webconsole.util.Internationalization;
|
||||||
|
import es.mesacarlos.webconsole.websocket.WSServer;
|
||||||
|
import es.mesacarlos.webconsole.websocket.response.Tps;
|
||||||
|
import org.java_websocket.WebSocket;
|
||||||
|
|
||||||
|
import java.lang.reflect.Field;
|
||||||
|
import java.lang.reflect.InvocationTargetException;
|
||||||
|
import java.lang.reflect.Method;
|
||||||
|
|
||||||
|
public class TpsCommand implements WSCommand {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void execute(WSServer wsServer, WebSocket conn, String params) {
|
||||||
|
try {
|
||||||
|
double tps = getTps()[0];
|
||||||
|
wsServer.sendToClient(conn, new Tps(Internationalization.getPhrase("tps-message", tps), tps));
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return Current server Tps
|
||||||
|
*/
|
||||||
|
public double[] getTps() throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, IllegalAccessException, NoSuchFieldException {
|
||||||
|
Class<?> minecraftServerClass = Class.forName("net.minecraft.server.MinecraftServer");
|
||||||
|
Method getServerMethod = minecraftServerClass.getDeclaredMethod("getServer");
|
||||||
|
Object serverInstance = getServerMethod.invoke(null);
|
||||||
|
Field recentTpsField = serverInstance.getClass().getField("recentTps");
|
||||||
|
double[] recentTps = (double[]) recentTpsField.get(serverInstance);
|
||||||
|
for (int i = 0; i < recentTps.length; i++) {
|
||||||
|
recentTps[i] = Math.round(recentTps[i]);
|
||||||
|
}
|
||||||
|
return recentTps;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -11,6 +11,7 @@ public class WSCommandFactory {
|
|||||||
commands.put("PLAYERS", new PlayersCommand());
|
commands.put("PLAYERS", new PlayersCommand());
|
||||||
commands.put("CPUUSAGE", new CpuUsageCommand());
|
commands.put("CPUUSAGE", new CpuUsageCommand());
|
||||||
commands.put("RAMUSAGE", new RamUsageCommand());
|
commands.put("RAMUSAGE", new RamUsageCommand());
|
||||||
|
commands.put("TPS", new TpsCommand());
|
||||||
commands.put("READLOGFILE", new ReadLogFileCommand());
|
commands.put("READLOGFILE", new ReadLogFileCommand());
|
||||||
return commands;
|
return commands;
|
||||||
}
|
}
|
||||||
|
@ -2,9 +2,10 @@ package es.mesacarlos.webconsole.websocket.response;
|
|||||||
|
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
|
|
||||||
public class ConsoleOutput implements JSONOutput{
|
public class ConsoleOutput implements JSONOutput {
|
||||||
private String message;
|
|
||||||
private String time;
|
private final String message;
|
||||||
|
private final String time;
|
||||||
|
|
||||||
public ConsoleOutput(String message, String time) {
|
public ConsoleOutput(String message, String time) {
|
||||||
this.message = message;
|
this.message = message;
|
||||||
|
@ -2,9 +2,10 @@ package es.mesacarlos.webconsole.websocket.response;
|
|||||||
|
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
|
|
||||||
public class CpuUsage implements JSONOutput{
|
public class CpuUsage implements JSONOutput {
|
||||||
private String message;
|
|
||||||
private double usage;
|
private final String message;
|
||||||
|
private final double usage;
|
||||||
|
|
||||||
public CpuUsage(String message, double usage) {
|
public CpuUsage(String message, double usage) {
|
||||||
this.message = message;
|
this.message = message;
|
||||||
|
@ -4,8 +4,9 @@ import com.google.gson.JsonObject;
|
|||||||
|
|
||||||
import es.mesacarlos.webconsole.config.UserType;
|
import es.mesacarlos.webconsole.config.UserType;
|
||||||
|
|
||||||
public class LoggedIn implements JSONOutput{
|
public class LoggedIn implements JSONOutput {
|
||||||
private String message;
|
|
||||||
|
private final String message;
|
||||||
private String respondsTo;
|
private String respondsTo;
|
||||||
private String username;
|
private String username;
|
||||||
private UserType as;
|
private UserType as;
|
||||||
|
@ -2,8 +2,9 @@ package es.mesacarlos.webconsole.websocket.response;
|
|||||||
|
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
|
|
||||||
public class LoginRequired implements JSONOutput{
|
public class LoginRequired implements JSONOutput {
|
||||||
private String message;
|
|
||||||
|
private final String message;
|
||||||
|
|
||||||
public LoginRequired(String message) {
|
public LoginRequired(String message) {
|
||||||
this.message = message;
|
this.message = message;
|
||||||
|
@ -5,11 +5,12 @@ import java.util.List;
|
|||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
|
|
||||||
public class Players implements JSONOutput{
|
public class Players implements JSONOutput {
|
||||||
private String message;
|
|
||||||
private int connectedPlayers;
|
private final String message;
|
||||||
private int maxPlayers;
|
private final int connectedPlayers;
|
||||||
private List<String> connectedPlayersList;
|
private final int maxPlayers;
|
||||||
|
private final List<String> connectedPlayersList;
|
||||||
|
|
||||||
public Players(String message, int connectedPlayers, int maxPlayers, List<String> connectedPlayersList) {
|
public Players(String message, int connectedPlayers, int maxPlayers, List<String> connectedPlayersList) {
|
||||||
this.message = message;
|
this.message = message;
|
||||||
|
@ -3,10 +3,11 @@ package es.mesacarlos.webconsole.websocket.response;
|
|||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
|
|
||||||
public class RamUsage implements JSONOutput {
|
public class RamUsage implements JSONOutput {
|
||||||
private String message;
|
|
||||||
private long free;
|
private final String message;
|
||||||
private long used;
|
private final long free;
|
||||||
private long max;
|
private final long used;
|
||||||
|
private final long max;
|
||||||
|
|
||||||
public RamUsage(String message, long free, long used, long max) {
|
public RamUsage(String message, long free, long used, long max) {
|
||||||
this.message = message;
|
this.message = message;
|
||||||
|
51
src/es/mesacarlos/webconsole/websocket/response/Tps.java
Normal file
51
src/es/mesacarlos/webconsole/websocket/response/Tps.java
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
package es.mesacarlos.webconsole.websocket.response;
|
||||||
|
|
||||||
|
//------------------------------
|
||||||
|
//
|
||||||
|
// This class was developed by Rafael K.
|
||||||
|
// On 1/8/2022 at 10:23 PM
|
||||||
|
// In the project WebConsole
|
||||||
|
//
|
||||||
|
//------------------------------
|
||||||
|
|
||||||
|
import com.google.gson.JsonObject;
|
||||||
|
|
||||||
|
public class Tps implements JSONOutput {
|
||||||
|
|
||||||
|
private final String message;
|
||||||
|
private final double tps;
|
||||||
|
|
||||||
|
public Tps(String message, double tps) {
|
||||||
|
this.message = message;
|
||||||
|
this.tps = tps;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getStatusCode() {
|
||||||
|
return 1003;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getMessage() {
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets current server TPS
|
||||||
|
* @return Global Server TPS
|
||||||
|
*/
|
||||||
|
public double getTps() {
|
||||||
|
return tps;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toJSON() {
|
||||||
|
JsonObject object = new JsonObject();
|
||||||
|
object.addProperty("status", getStatusCode());
|
||||||
|
object.addProperty("statusDescription", "TPS Usage");
|
||||||
|
object.addProperty("tps", getTps());
|
||||||
|
object.addProperty("message", getMessage());
|
||||||
|
return object.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -2,9 +2,10 @@ package es.mesacarlos.webconsole.websocket.response;
|
|||||||
|
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
|
|
||||||
public class UnknownCommand implements JSONOutput{
|
public class UnknownCommand implements JSONOutput {
|
||||||
private String message;
|
|
||||||
private String respondsTo;
|
private final String message;
|
||||||
|
private final String respondsTo;
|
||||||
|
|
||||||
public UnknownCommand(String message, String respondsTo) {
|
public UnknownCommand(String message, String respondsTo) {
|
||||||
this.message = message;
|
this.message = message;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user