Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Perform Engineering Excellence #23

Closed
temanbrcom opened this issue Sep 19, 2019 · 0 comments · Fixed by #553
Closed

Perform Engineering Excellence #23

temanbrcom opened this issue Sep 19, 2019 · 0 comments · Fixed by #553
Assignees
Labels
documentation Improvements or additions to documentation good first issue Good for newcomers new feature New feature or request Rally tracked in Rally

Comments

@temanbrcom
Copy link
Contributor

Description

As a software engineer, I would like to have my code aligned to the code excellence standards so I can easily maintain code and introduce new features

Acceptance criteria

  • The code is aligned to the defined code style and naming convention (see below)
  • The packages are renamed to represent the Broadcom branding

Code style guide

  1. Interface names should not contain any markers (like "I" at the start) because it is not necessary for clients to know that type is an interface. Implementations should contain the interface name and a word that describes the purpose of this class, or "Impl" at the end if it is planned to have only one implementation at the moment (only if you cannot imagine something more descriptive).
    For example, CobolTextDocumentService implements TextDocumentService.

  2. If some class implements some pattern (i.e Singleton, Strategy, etc.) then it should be specified in the name.
    For example, CobolErrorStrategy.

  3. Class names should not be too generic or contain some "er"-words - Manager, Server, etc. unless it is some specification or domain requirement.
    For example, MessageManager is bad, Messages is good. If you have a problem with naming, maybe you should split the class, to let every part have only one purpose or abstraction level.

  4. Methods should contain only one responsibility and one abstraction level. Also, the names should be descriptive.

  5. Each public method should have a Javadoc comment that describes the parameters and the results (i.e. does it accept or return null if it may be important, that checks for the parameters does it apply). Also, if there is some complicated logic, it should be described in the comment. The best practice would be also to add code examples to the class Javadoc comment.

  6. There should be no author section at the comments.

  7. Unit tests that are use cases should contain the description and purpose of the case.

  8. You should avoid in-code comments unless it is necessary.

  9. Try to use as fewer method parameters as you can. The best practice is to make the method name describing why the parameters are necessary, for example - getUserBy(long id).
    Avoid (until is not strictly necessary) to pass null as parameter

  10. Always extract complicated logical sentences.

  11. Use Lombok where it is possible to reduce boilerplate code.

@temanbrcom temanbrcom self-assigned this Oct 11, 2019
@temanbrcom temanbrcom added documentation Improvements or additions to documentation new feature New feature or request good first issue Good for newcomers labels Oct 11, 2019
@zimlu02 zimlu02 added the Rally tracked in Rally label Oct 18, 2019
temanbrcom added a commit that referenced this issue Jan 10, 2020
An iteration of preparation for introducing dependecy injection for enginge core. Replace providing a listener with returning of result in a pair with found errors.
This allows to get rid of the shared state between classes.
temanbrcom added a commit that referenced this issue Jan 10, 2020
temanbrcom added a commit that referenced this issue Jan 10, 2020
The main purpose of the parser parameters was to pass the copybook analysis settings, but now we apply a different logic of parsing so this class is useless now and should be removed to simplify the dependencies.
temanbrcom added a commit that referenced this issue Jan 10, 2020
sergiuilie added a commit that referenced this issue Jan 28, 2020
* #89 - Enable Jacoco in build stage

* Exclude autogenerated file from sonar scan

* Update sonar-project.properties

* Update sonar-project.properties

* Update sonar-project.properties

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* Update Jenkinsfile

* target files not excluded from coverage 4 test

* Update sonar-project.properties

* add jacoco to pom and sonar properties

* retry with another config

* add surefire-reports

* update Jenkinsfile

* update Jenkinsfile

* Temporary check with light build without sonar coverage

* re-enabled unit test

* Increased heap memory

* re-enabled prev stages

* WIP - exclude antlr generated files from jacoco report

* WIP - Update sonar config with branch name

* WIP - exclude only generated code

* Increased heap size

* WIP - Increased MaxPermSize

* Fix maven opts

* WIP - Increase heap again

* Coverage configuration

* Update README.md

.CPY removed

* Convert copybook names to the upper case in order to make them case-insensitive #93.

* Lombok config #89 (#97)

* lombok generated code not to be scanned by jacoco

* second file with lombok for jacoco

* README update + gifs (#98)

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* update gifs and readme files

* update readme sonarcloud badge

* add sonarcloud-black.png

* add png to client README.md

* remove old gifs

* Make final field static too

Making a public constant just final as opposed to static final leads to duplicating its value for every instance of the class, uselessly increasing the amount of memory required to execute the application.

* Remove unused imports and unnecessary comment

In order to fix the code smell found by SonarCloud

* Rename the field to match the naming convention

* Make Analysis synchronized in order to avoid ConcurrentModificationException #79 (#115)

* Make Analysis synchronized in order to avoid ConcurrentModificationException #79

Signed-off-by: Kalugina Tatyana <strekoz-zka@mail.ru>

* Make Analysis synchronized in order to avoid ConcurrentModificationException #79

Signed-off-by: Kalugina Tatyana <strekoz-zka@mail.ru>

* improve performance time plus fix the missing DOT in MultiDocumentDefinitionTest

* paragraph counter

* Add check for line correctness in order to prevent StringIndexOutOfBoundsException #77

* replace usage of deprecated method #112

* Add uncaught exception handling for async operations #78

* Apply engineering excellence requirements for class in order to increase maintainability

* Add new notification message to make error reporting more precise

* Remove a circular dependency in the serive module GH-24
Make the Server a Client provider in order to remove circular binding LanguageServer->TextDocumentService->Communications->LanguageServer. The server instance is unnecesssary for communications because there is only a client proxy required.
The injection of Provider is needed for a lazy client resolution due to the client proxy is available only after a connection, not on a bootstrap stage.

* Cover server bootstrap with tests. In order to do this the unnecessary feature to accept multiple clients on a socket connection was removed.

* Decouple server and client proxy to simplify dependencies GH-24
Implement a separate client provider in order to be have access to a server without a client and vice versa. The reason is to simpify dependencies in tests.

* Provide binding for language engine entry point GH-24
The requirement to support different language types is out of date, so the infrastructure to create a language engine was simplified and replaced with injected engine.
Binding of CobolSourceFormat required its extraction to a separate class that have lead the severe renaming refactoring over the core module.

* Remove Nonnull annotation due to a lazy provider may not contain a client

* Refactor Bootstrap to keep a single repsoncibilty of methods

* Solve error coming from cleaning plus improve performance time

* Remove mock client from mock server to simplify dependencies GH-24

* Make use cases work with the language engine directly
With an ability to instantiate the language engine it is better for the tests to use it directly, without mocks of server and client.

* Move the service delegates to the separate packagesto make it clearer

* Provide dependency binding for formation delegates #24

* Provide binding for the completion delegate GH-24
Convert the Comletions entry point form util class to an injectable dependency in order to make it testable.
The common logic to retrieve the completion suggestions and resolve documentation is moved to the Completions class because the additional abstraction level is not needed anymore.
Now the type-specific resolvers are injected as a set instead of chain responsibility due to the resolution order doesn't matter in this case. The order of elements is specified using an order constant specific to an item kind.

* compress duplicates in a single rule

* correct version

* Increase model coverage for core domain

* Provide binding for occureence delegate GH-24
Bind the entire occurence resolution framework in order to make it testable and expandable.
Combined delegates for location requests with similar logic into one class. Provided documntation and applied engineering excellence.

* Remove duplicated code by providing default implementation of method #128

* Move compiler directives processing to line reader GH-116
Replace compiler directives removal with moving it to the content area. Change transformation order not to remove syntax errors of not fitting the fixed format.

* Remove unused field tokenIndex of Position  #23

* Remove unused fields of SyntaxError #23

* Add Mockito library (#130)

* #122 Add Mockito library -> tested and ip check submitted

* #122 Add first draft for mockito usage

* added test to the suite

* remove unused class and create a compact method to create a new token

* remove double asterisks

* create jUnit test for variable definition

* Close #130

* Increase coverage for core domain module

* removed test class with methods merged into CopybookEventsTest

* rename methods for a better understanding

* Return rule stack tracing due to it may be useful for debug #23

* Rename builder in order to keep naming convention #23

* Update dev dependency

* #105 add SKIP statement (#133)

close #105

* Remove preprocessor listener usages to make classes functional GH-23
An iteration of preparation for introducing dependecy injection for enginge core. Replace providing a listener with returning of result in a pair with found errors.
This allows to get rid of the shared state between classes.

* remove bunch of imports and add constants where math operations are in place (#135)

part of #23

* Fix merge conflicts after cleaning-up of data classes #23

* Remove useless parser parameters GH-23
The main purpose of the parser parameters was to pass the copybook analysis settings, but now we apply a different logic of parsing so this class is useless now and should be removed to simplify the dependencies.

* Remove duplicated error logging #23

* Remove duplicated setting of error suggestion #23

* re-arranged the structure of core domain module to better understanding and satisfy guice best practices requirements.

* fix SKIP3 bug (#138)

 fixed #105

* Move Position class into a brand new package common.model to clearly identify an object shared between multiple modules.

* Apply changes required by code review stage

* Apply changes required by code review stage + merge conflicts for Position's package move

* Changelog update / 0.10.0 (#140)

Update changelog to reflect all the increments for 0.10.0 releaase

* Update README.md

- reorganised the readme file for better readability
- added all autocomplete functionalities under one header
- included info about bitlang in the stuff about third party syntax coloring plugins.

* Revert "Update README.md" (#143)

* Provide issue templates (#144)

Provide issue templates in order to simplify bug reporting and feature requests for the users and creating internal issues for tracking project activity. 

Co-authored-by: Zeibura Kathau <zeibura.kathau@broadcom.com>
Co-authored-by: Lukas Zima <38490125+zimlu02@users.noreply.github.com>

* Update package.json

better description for VSIX file

* Add new event type to track analysis re-run requests GH-137
Add a signal event that shows that the analysis for all the registered documents is requested.

* Add watchers support to track if the workspace copybooks were changed or added GH-137
LanguageServer now supports a capability to dynamically register file system watcher. WorkspaceService is notified when a watcher is triggered. It invalidates cache and sends a notification to re-run the analysis for all the registered documents in order to always have actual semantic contexts of the copybooks for the open documents.
TextDoumentService is listening to re-run notificaions and runs the analysis for the whole list of the documents that were processed using didOpen request.

* Add files via upload

Signed-off-by: Daniel Statham <Daniel.Statham@Broadcom.com>

* Add files via upload

Signed-off-by: Daniel Statham <Daniel.Statham@Broadcom.com>

* Make ContinuationLineTransformation stateless to simplify DI #24

* Make CobolLineReader stateless to simplify DI #24

* Make CobolSemanticParser stateless to simplify DI #24

* Rename run analysis event to make it more generic #137

* Delete COBOL Language Support - Error Highlighting.gif

Signed-off-by: Daniel Statham <Daniel.Statham@Broadcom.com>

* Delete CLS Autocomplete Zoomed.gif

Signed-off-by: Daniel Statham <Daniel.Statham@Broadcom.com>

* Delete CLS Error Highlighting - Zoomed.gif

Signed-off-by: Daniel Statham <Daniel.Statham@Broadcom.com>

* Delete COBOL Language Support - Autocorrect.gif

Signed-off-by: Daniel Statham <Daniel.Statham@Broadcom.com>

* Updated Gifs

Signed-off-by: Daniel Statham <Daniel.Statham@Broadcom.com>

* Updated Gifs

Signed-off-by: Daniel Statham <Daniel.Statham@Broadcom.com>

* Update README.md (#145)

reorganised the readme file for better readability - converted bullet points into sections

grouped all autocomplete functionalities under one header

a few points compressed into fewer words or clarified

included info about bitlang being in the stacks+code4z in the stuff about third party syntax coloring plugins. We will be linking to this readme file from the foundation site, brightside doc and from the code4z readme so I think it's a good idea.

* Extract utils from CobolLine to keep SRP #23

* Remove dead code from CobolLine and related conditional branches #23

* Update bug template to make it more convenient for the submitter

* Create test for CobolLineUtils #24

* Update CHANGELOG with the watcher changes (#156)

* Change version before the release 0.10.0

* Increase test timeout to prevent false-negative result

* change version to 0.10.0 (#160)

* Update CHANGELOG.md

* Update the changelog (#162)

* Increase test timeout to prevent false-negative result

Co-authored-by: Andrea Zaccaro <andrea.zaccaro@broadcom.com>
Co-authored-by: abdrabrcom <52322307+abdrabrcom@users.noreply.github.com>
Co-authored-by: Filip Kroupa <54946415+filipkroupa@users.noreply.github.com>
Co-authored-by: Zeibura Kathau <zeibura.kathau@broadcom.com>
Co-authored-by: Andrei Temnikov <47776865+temanbrcom@users.noreply.github.com>
Co-authored-by: strekoz-zka <strekoz-zka@mail.ru>
Co-authored-by: Yuriy Shekochihin <iurii.shchekochikhin@broadcom.com>
Co-authored-by: Vaclav Nemecek <foxitaj@gmail.com>
Co-authored-by: Lukas Zima <38490125+zimlu02@users.noreply.github.com>
Co-authored-by: DStatWriter <Daniel.Statham@broadcom.com>
temanbrcom added a commit that referenced this issue Mar 4, 2020
sergiuilie added a commit that referenced this issue Apr 9, 2020
* Apply changes required by code review stage

* Base for copybook tracker. WIP

* Introduce default paths setting. WIP.

* zOSMF profile listing implementation. WIP.

* Implement member list. WIP.

* Fetch content of members. WIP.

* Add copyrights

* Add progress indication. WIP.

* Apply changes required by code review stage + merge conflicts for Position's package move

* Changelog update / 0.10.0 (#140)

Update changelog to reflect all the increments for 0.10.0 releaase

* Update README.md

- reorganised the readme file for better readability
- added all autocomplete functionalities under one header
- included info about bitlang in the stuff about third party syntax coloring plugins.

* Revert "Update README.md" (#143)

* Use zowe imperative for profiles and zOSMF access.

* Support .err files added

* Remove TODOs

* change extension to .dep

* Introduce new event RUN_ANALYSIS covered by unit test

* Generation dummy cobdeps folder with dep file for e2e test purpose

* Definition test class to cover end to end subscribe, unsubscribe and publish

* Provide issue templates (#144)

Provide issue templates in order to simplify bug reporting and feature requests for the users and creating internal issues for tracking project activity. 

Co-authored-by: Zeibura Kathau <zeibura.kathau@broadcom.com>
Co-authored-by: Lukas Zima <38490125+zimlu02@users.noreply.github.com>

* Update package.json

better description for VSIX file

* Set default profile as default selection option.

* Add new event type to track analysis re-run requests GH-137
Add a signal event that shows that the analysis for all the registered documents is requested.

* Add watchers support to track if the workspace copybooks were changed or added GH-137
LanguageServer now supports a capability to dynamically register file system watcher. WorkspaceService is notified when a watcher is triggered. It invalidates cache and sends a notification to re-run the analysis for all the registered documents in order to always have actual semantic contexts of the copybooks for the open documents.
TextDoumentService is listening to re-run notificaions and runs the analysis for the whole list of the documents that were processed using didOpen request.

* Add files via upload

Signed-off-by: Daniel Statham <Daniel.Statham@Broadcom.com>

* Add files via upload

Signed-off-by: Daniel Statham <Daniel.Statham@Broadcom.com>

* Make ContinuationLineTransformation stateless to simplify DI #24

* Make CobolLineReader stateless to simplify DI #24

* Make CobolSemanticParser stateless to simplify DI #24

* Rename run analysis event to make it more generic #137

* Delete COBOL Language Support - Error Highlighting.gif

Signed-off-by: Daniel Statham <Daniel.Statham@Broadcom.com>

* Delete CLS Autocomplete Zoomed.gif

Signed-off-by: Daniel Statham <Daniel.Statham@Broadcom.com>

* Delete CLS Error Highlighting - Zoomed.gif

Signed-off-by: Daniel Statham <Daniel.Statham@Broadcom.com>

* Delete COBOL Language Support - Autocorrect.gif

Signed-off-by: Daniel Statham <Daniel.Statham@Broadcom.com>

* Updated Gifs

Signed-off-by: Daniel Statham <Daniel.Statham@Broadcom.com>

* Updated Gifs

Signed-off-by: Daniel Statham <Daniel.Statham@Broadcom.com>

* Update README.md (#145)

reorganised the readme file for better readability - converted bullet points into sections

grouped all autocomplete functionalities under one header

a few points compressed into fewer words or clarified

included info about bitlang being in the stacks+code4z in the stuff about third party syntax coloring plugins. We will be linking to this readme file from the foundation site, brightside doc and from the code4z readme so I think it's a good idea.

* Extract utils from CobolLine to keep SRP #23

* Remove dead code from CobolLine and related conditional branches #23

* Update bug template to make it more convenient for the submitter

* Introduce unit test for dep file management

* Create test for CobolLineUtils #24

* Update CHANGELOG with the watcher changes (#156)

* Change version before the release 0.10.0

* Increase test timeout to prevent false-negative result

* change version to 0.10.0 (#160)

* Update CHANGELOG.md

* Update the changelog (#162)

* Increase test timeout to prevent false-negative result

* Refine implementation for a better error management in folder and dep file creation/update

* Pass a document URI to the engine to have the correct postions GH-141
Syntax errors and semantic elements, such as variables and copybooks, contain a document URI to be shown correctly over the workspace.
Previously a complicated logic used here to determine the correct position in the workspace, now the current URI is passed directly.

* Adjustment after merge with development branch

* Fix search for copybook only in COPYBOOKS folder

* Send the document URi with the copybook request GH-141
The current document URI is required to build the dependecy graph, so it should be sent with a copybook name in the databus request.

* Change the test document URI to make tests more descriptive #141

* Update header and provide E2E integration test for FileSystemService with databus

* Consume documentURI information sent on the databus by the preprocessor in order to generate dependency files with the same name as the cobol file scanned by the preprocessor.

* Make document extension check case-insensitive #154

* Coverage for core parser (#157)

* adding junit test for PreprocessorStringUtils

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* added junit tests to CobolTestSuite

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* adding junit test for CobolLineIndicatorProcessorImpl

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* increased coverage on CobolLineIndicatorProcessorImplTest

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* added coverage for CobolErrorStrategy class

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* corrected copyright and added missing test classes

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* fixed copyright in PreprocessorStringUtilsTest

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* adjusted CobolLineIndicatorProcessorImplTest after refactoring

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* converted fields to local variables and removed commented line and added javadoc

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* corrected formatting for CobolLineIndicatorProcessorImplTest

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* switched methods to camel-case naming in CobolErrorStrategyTest

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* adjusting CobolLineIndicatorProcessorImplTest work in progress

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* removed unused import

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* reworked CobolLineIndicatorProcessorImplTest.java

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* added javadoc format documentation for each test class

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* added javadoc comments for classes CobolErrorStrategyTest and CobolLineIndicatorProcessorImplTest

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* Modify write function to address issues related to the concurrent writing

* Fix failed test after the introduction of DocumentURI and improved write dependency of file checking for not empty values

* Remove unused COBOL dialects support #168

* Improve create and write on dependency file, cover edge cases that can happen due to failed sync with the filesystem

* Remove unused import from MyTextDocumentService

* Remove deprecated multiline comment entry support GH-170
Multiline comment entries is an old feature and is not supported by IBM compilers anymore and should be processed by a syntax analizer.

* Add notification message related to gitfs unsupported filesystem

* Fix duplicates in pom, removed old TODO and unused variables

* Remove deprecated REMARKS support GH-170
This is an old feature that is not supported by IBM anymore. The mentions are removed from the preprocessor and grammar to show an error if there are remarks used.

* Update extension.ts with correct language ID (#176)

Update correct information about language ID when calling LanguageClient constructor in order to have everything aligned "on the same page".

* 141 POC dependency file generation (#172)

This merge introduce as beta version the definition of dependency files that contains copybooks defined in an opened Cobol file. LSP Server delegates to the FileSystemService all the activities file-system related.

* Introduce new event RUN_ANALYSIS covered by unit test

* Generation dummy cobdeps folder with dep file for e2e test purpose

* Definition test class to cover end to end subscribe, unsubscribe and publish

* Introduce unit test for dep file management

* Refine implementation for a better error management in folder and dep file creation/update

* Adjustment after merge with development branch

* Fix search for copybook only in COPYBOOKS folder

* Update header and provide E2E integration test for FileSystemService with databus

* Consume documentURI information sent on the databus by the preprocessor in order to generate dependency files with the same name as the cobol file scanned by the preprocessor.

* Modify write function to address issues related to the concurrent writing

* Fix failed test after the introduction of DocumentURI and improved write dependency of file checking for not empty values

* Improve create and write on dependency file, cover edge cases that can happen due to failed sync with the filesystem

* Add notification message related to gitfs unsupported filesystem

* Fix duplicates in pom, removed old TODO and unused variables

* Address request changes

* Align positive test parameters

Co-authored-by: Sergiu Ilie <sergiu.ilie@broadcom.com>

* change copybooks folders name to .copybooks

* change variable access visibility (#179)

Path fix field visibility

* Fix failing positive tests by using a correct mock

* Enable client to server config file synchronization (#185)

* Align server with the client so it may use the information located in settings.json

* Resolve conflicts after merge

* remove unused imports

* apply required changes: update the header and remove problematic call

* apply required changes: remove extra class

* close #184

* Remove unused COBOL format support GH-178
Due to the only supported version is Enterprise COBOL for z/OS ver. 6.2, the only required format for the code lines is FIXED. According to this, passing format as a text parameter is unnecessary and should be deleted to reduce code complexity.
Warning: there was a floating issue with Lombok on this commit caused by some changes in plain java code. The exact reason was not localized, and it may repeat. Partial applying of the changes with intermediate builds helped.

* Remove copybook name from the variable list if copybook is missing GH-186
In the current solution, there are copybook marks that are used to build the variable structure using copybooks. The scenario when the copybook is missing and the structure cannot be built was not covered and the mark was not removed.
Now variable semantic context has the capability to remove these marks on demand.

* Make CobolCommentEntriesMarkerImpl stateless to make Di easier #24

* Create temporary solution in order to inform the user that gitfs is not supported. (#192)

The full implementation will be provided by the issue #173

* Copybooks autocomplete introduction (#189)

* added implementation for copybook autocomplete from cobol document and fixed tests

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* added junit test for CopybookCompletion class

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* adding CopybookCompletionsTest to AllTests

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* added javadocs annotation for both CopybookCompletion and CopybookCompletionTest

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* reverted back packagejson and packagelock fixing naming issue and adding missing entry to testmodule

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* fixed packagelock

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* Update change log (#193)

* Update changelog

Co-authored-by: Zeibura Kathau <zeibura.kathau@broadcom.com>

* Remove request library dependency and small refactoring

* WIP. Ask to get copybooks. Get profile name base on filepath

* Clean-up MyLanguageServerImpl to set only supported capabilities #23

* Store profiles for programs in settings.json

* Listen to settings cahnges

* Add redownload all command

* Introduce Code Action to Resolve Copybooks GH-197
Add logic to the text document service to collect a list of applicable code actions.
Add logic to the workspace service to resolve missing copybooks on the Quick Fix.
Add error code to determine the code action command type.
Register those capabilities on the server initialization.

* new look for package.json configuration structure

* update settings prefix in code

* Fix compilation error

* Update messages on configuration change

* Refactor MyTextDocumentService::observerCallback
Unnecessary map collection was removed.

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* Remove error listener from CobolVisitor to simpily DI #24

* Add the context shutdown to avoid shared state on tests #199

* Rename some variables

* Make CobolVisitor constructor-configurable to simplify DI GH-24
Replace configuring by setters with one by the constructor to simplify the binding for the DI. Extract keyword suggestions to make it easier to configure in the future.

* Add property to enable TCP connection to LSP server

* Copybook extension check fails #149
Add logic to ignore '*.cpy' files in didChange handler.
Change didOpen logic. Call registerDocument for register only processed documents.

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* Don't create dataset folder if copybook isn't in

* Improve error handling

* Update changelog

* Retrieve settings.json at initialize moment #187 (#207)

* Retrieve settings.json at initialize moment #187 

* adjust to the requested changes

* Suggest to edit path if there is a problem with dataset

* Refactoring pom.xml: putting the project version in property.
The current version is specified in the "revision" property.
Project version sets via the "revision" property.

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* Add null check for document after analysis to prevent NPE #212

* Update copyright year in all the classes (#214)

* Update copyright year in all the classes

* Modify dependency file creation/update flow (#209)

* Introduce textDocumentSyncType to track the document sync status (opened, changed, closed)

* Introduce document sync type with textDocumentSyncType enum

* Merge remote-tracking branch 'remotes/origin/master' into development

# Conflicts:
#	CHANGELOG.md
#	Jenkinsfile
#	clients/cobol-lsp-vscode-extension/CHANGELOG.md
#	clients/cobol-lsp-vscode-extension/package.json
#	clients/cobol-lsp-vscode-extension/server/note.md
#	clients/cobol-lsp-vscode-extension/src/extension.ts
#	com.ca.lsp.cobol/lsp-core-cobol-parser/pom.xml
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/engine/CobolLanguageEngine.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/parser/listener/VerboseListener.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/CobolPreprocessor.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/impl/CobolPreprocessorImpl.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/CobolLine.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/cleaner/CobolDocumentCleaner.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/cleaner/impl/CobolDocumentCleanerImpl.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/cleaner/impl/CobolDocumentCommentingCleanerListener.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/copybook/AnalyseCopybookTask.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/copybook/CopybookAnalysis.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/copybook/CopybookParallelAnalysis.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/document/CobolSemanticParser.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/document/impl/CobolSemanticParserImpl.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/document/impl/CobolSemanticParserListenerImpl.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/line/reader/CobolLineReader.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/line/reader/impl/CobolLineReaderImpl.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/line/reader/impl/CompilerDirectivesTransformation.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/line/rewriter/impl/CobolCommentEntriesMarkerImpl.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/line/rewriter/impl/CobolInlineCommentEntriesNormalizerImpl.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/util/CobolLineUtils.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/util/PreprocessorCleanerService.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/util/impl/PreprocessorCleanerServiceImpl.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/visitor/CobolVisitor.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/test/java/com/ca/lsp/core/cobol/AbstractCobolLinePreprocessorTest.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/test/java/com/ca/lsp/core/cobol/CobolTestSuite.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/test/java/com/ca/lsp/core/cobol/engine/CobolLanguageEngineTest.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/test/java/com/ca/lsp/core/cobol/preprocessor/sub/line/rewriter/impl/CobolCommentEntriesMarkerImplTest.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/test/java/com/ca/lsp/core/cobol/preprocessor/sub/util/CobolLineUtilsTest.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/test/java/com/ca/lsp/core/cobol/semantics/CobolCleanExtraLanguageTest.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/test/java/com/ca/lsp/core/cobol/semantics/CobolVariableCheckTest.java
#	com.ca.lsp.cobol/lsp-core-domain/pom.xml
#	com.ca.lsp.cobol/lsp-core-domain/src/main/java/com/broadcom/lsp/domain/cobol/event/api/CopybookEventFactory.java
#	com.ca.lsp.cobol/lsp-core-domain/src/main/java/com/broadcom/lsp/domain/cobol/event/model/DataEventType.java
#	com.ca.lsp.cobol/lsp-core-domain/src/main/java/com/broadcom/lsp/domain/cobol/event/model/RunAnalysisEvent.java
#	com.ca.lsp.cobol/lsp-core-domain/src/test/java/com/broadcom/lsp/domain/cobol/databus/impl/AbsDataBusImplTest.java
#	com.ca.lsp.cobol/lsp-core-domain/src/test/java/com/broadcom/lsp/domain/cobol/databus/impl/DataBusGetFromCacheBadTest.java
#	com.ca.lsp.cobol/lsp-core-domain/src/test/java/com/broadcom/lsp/domain/cobol/databus/impl/DataBusUnSubscribeTest.java
#	com.ca.lsp.cobol/lsp-core-domain/src/test/java/com/broadcom/lsp/domain/cobol/event/CopybookEventSubscribersTest.java
#	com.ca.lsp.cobol/lsp-core-domain/src/test/java/com/broadcom/lsp/domain/cobol/event/CopybookEventsTest.java
#	com.ca.lsp.cobol/lsp-service-cobol/pom.xml
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/broadcom/lsp/cdi/module/service/ServiceModule.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/ca/lsp/cobol/service/CobolWorkspaceService.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/ca/lsp/cobol/service/CobolWorkspaceServiceImpl.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/ca/lsp/cobol/service/MyLanguageServerImpl.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/ca/lsp/cobol/service/MyTextDocumentService.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/ca/lsp/cobol/service/delegates/completions/KeywordCompletion.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/ca/lsp/cobol/service/delegates/completions/SnippetCompletion.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/ca/lsp/cobol/service/delegates/references/SemanticElementOccurrences.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/ca/lsp/cobol/service/delegates/validations/CobolLanguageEngineFacade.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/test/java/com/ca/lsp/cobol/AllTests.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/test/java/com/ca/lsp/cobol/TestModule.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/test/java/com/ca/lsp/cobol/service/MyLanguageServerImplTest.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/test/java/com/ca/lsp/cobol/service/MyTextDocumentServiceTest.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/test/java/com/ca/lsp/cobol/service/WorkspaceServiceTest.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/test/java/com/ca/lsp/cobol/service/delegates/completions/CompletionsChainTest.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/test/java/com/ca/lsp/cobol/service/delegates/validations/UseCaseUtils.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/test/java/com/ca/lsp/cobol/usecases/AnalyzeCopybookCaching.java
#	com.ca.lsp.cobol/pom.xml

* Merge remote-tracking branch 'remotes/origin/master' into development

# Conflicts:
#	CHANGELOG.md
#	Jenkinsfile
#	clients/cobol-lsp-vscode-extension/CHANGELOG.md
#	clients/cobol-lsp-vscode-extension/package.json
#	clients/cobol-lsp-vscode-extension/server/note.md
#	clients/cobol-lsp-vscode-extension/src/extension.ts
#	com.ca.lsp.cobol/lsp-core-cobol-parser/pom.xml
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/engine/CobolLanguageEngine.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/parser/listener/VerboseListener.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/CobolPreprocessor.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/impl/CobolPreprocessorImpl.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/CobolLine.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/cleaner/CobolDocumentCleaner.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/cleaner/impl/CobolDocumentCleanerImpl.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/cleaner/impl/CobolDocumentCommentingCleanerListener.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/copybook/AnalyseCopybookTask.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/copybook/CopybookAnalysis.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/copybook/CopybookParallelAnalysis.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/document/CobolSemanticParser.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/document/impl/CobolSemanticParserImpl.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/document/impl/CobolSemanticParserListenerImpl.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/line/reader/CobolLineReader.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/line/reader/impl/CobolLineReaderImpl.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/line/reader/impl/CompilerDirectivesTransformation.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/line/rewriter/impl/CobolCommentEntriesMarkerImpl.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/line/rewriter/impl/CobolInlineCommentEntriesNormalizerImpl.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/util/CobolLineUtils.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/util/PreprocessorCleanerService.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/util/impl/PreprocessorCleanerServiceImpl.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/visitor/CobolVisitor.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/test/java/com/ca/lsp/core/cobol/AbstractCobolLinePreprocessorTest.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/test/java/com/ca/lsp/core/cobol/CobolTestSuite.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/test/java/com/ca/lsp/core/cobol/engine/CobolLanguageEngineTest.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/test/java/com/ca/lsp/core/cobol/preprocessor/sub/line/rewriter/impl/CobolCommentEntriesMarkerImplTest.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/test/java/com/ca/lsp/core/cobol/preprocessor/sub/util/CobolLineUtilsTest.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/test/java/com/ca/lsp/core/cobol/semantics/CobolCleanExtraLanguageTest.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/test/java/com/ca/lsp/core/cobol/semantics/CobolVariableCheckTest.java
#	com.ca.lsp.cobol/lsp-core-domain/pom.xml
#	com.ca.lsp.cobol/lsp-core-domain/src/main/java/com/broadcom/lsp/domain/cobol/event/api/CopybookEventFactory.java
#	com.ca.lsp.cobol/lsp-core-domain/src/main/java/com/broadcom/lsp/domain/cobol/event/model/DataEventType.java
#	com.ca.lsp.cobol/lsp-core-domain/src/main/java/com/broadcom/lsp/domain/cobol/event/model/RunAnalysisEvent.java
#	com.ca.lsp.cobol/lsp-core-domain/src/test/java/com/broadcom/lsp/domain/cobol/databus/impl/AbsDataBusImplTest.java
#	com.ca.lsp.cobol/lsp-core-domain/src/test/java/com/broadcom/lsp/domain/cobol/databus/impl/DataBusGetFromCacheBadTest.java
#	com.ca.lsp.cobol/lsp-core-domain/src/test/java/com/broadcom/lsp/domain/cobol/databus/impl/DataBusUnSubscribeTest.java
#	com.ca.lsp.cobol/lsp-core-domain/src/test/java/com/broadcom/lsp/domain/cobol/event/CopybookEventSubscribersTest.java
#	com.ca.lsp.cobol/lsp-core-domain/src/test/java/com/broadcom/lsp/domain/cobol/event/CopybookEventsTest.java
#	com.ca.lsp.cobol/lsp-service-cobol/pom.xml
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/broadcom/lsp/cdi/module/service/ServiceModule.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/ca/lsp/cobol/service/CobolWorkspaceService.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/ca/lsp/cobol/service/CobolWorkspaceServiceImpl.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/ca/lsp/cobol/service/MyLanguageServerImpl.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/ca/lsp/cobol/service/MyTextDocumentService.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/ca/lsp/cobol/service/delegates/completions/KeywordCompletion.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/ca/lsp/cobol/service/delegates/completions/SnippetCompletion.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/ca/lsp/cobol/service/delegates/references/SemanticElementOccurrences.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/ca/lsp/cobol/service/delegates/validations/CobolLanguageEngineFacade.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/test/java/com/ca/lsp/cobol/AllTests.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/test/java/com/ca/lsp/cobol/TestModule.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/test/java/com/ca/lsp/cobol/service/MyLanguageServerImplTest.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/test/java/com/ca/lsp/cobol/service/MyTextDocumentServiceTest.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/test/java/com/ca/lsp/cobol/service/WorkspaceServiceTest.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/test/java/com/ca/lsp/cobol/service/delegates/completions/CompletionsChainTest.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/test/java/com/ca/lsp/cobol/service/delegates/validations/UseCaseUtils.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/test/java/com/ca/lsp/cobol/usecases/AnalyzeCopybookCaching.java
#	com.ca.lsp.cobol/pom.xml

* implement logic to check the document sync type and disable the dep file creation/update if the text document sync type is DID_CHANGE

* update unit test to cover the scenario of different text document sync type DID_OPEN and DID_CHANGE

* Address merge conflict

* Address smelling and header fix

* Update changelog

* Update changelog change request

* Copybook references (#210)

* added implementation for copybook autocomplete from cobol document and fixed tests

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* added junit test for CopybookCompletion class

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* adding CopybookCompletionsTest to AllTests

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* added javadocs annotation for both CopybookCompletion and CopybookCompletionTest

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* reverted back packagejson and packagelock fixing naming issue and adding missing entry to testmodule

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* fixed packagelock

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* added implementation for copybook usage reference

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* adding implementation for copybook references

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* added test for copybook references and adjustted copybooks to show on usages

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* Make copybook processing work with usages, not with definitions #107

Co-authored-by: Andrei Temnikov <47776865+temanbrcom@users.noreply.github.com>

* add queue and tests for it

* Reset resolve field in queue

* Add missing text sync type for quick fix #215

* Add empty string as a default value when the copybook is empty #165

* Incapsulate cleaning service #23

* Cleanup PreprocessorStringUtils with Lombok annotation #23

* WIP download queue. Remove error files.

* Fix lsp start issue

* UX fixes

* Add codeaction to setup dataset paths

* Remove hardcoded version number from code

* Switch to default profile name for cb downloader

* Impreve error handling

* Add guice-assistInject dependency #24

* Add Lombok annotation to remove boilerplate code #23

* Initialize binding for language engine module #24

* Read ZOWE_CLI_HOME to load profiles

* fix tests

* Improve error handling

* Fix ZOWE_CLI_HOME to expect .zowe in it

* Fix error processing

* Setup Jest to collect coverage

* Remove unnecessary integration test GH-24
To be replaced with a proper unit test when the binding is finished

* Get 100% on download queue

* Refactor JavaCheck service

* Provide binding for copybook analysis GH-24
Change binding method to one that does not require custom application context. Change use case tests in order to meet the new binding requirements.

* PathUtils tests

* Small refactoring and tests for Profile service.

* Consume user settings in Copybook Service (#221)

* Define unit test that cover the scenario of search copybooks in a set of paths (defined by the profile and dataset name)

* Simplify logic and reorganize method definitions in the FileSystemServiceImpl

* Introduce ConfigurationSettingsStorable in unit test to retrieve user setting configuration for profile name and dataset list

* add support for observer callback in the SettingsProvider

* consume new settings in FileSystemServiceImpl

* fix issue with cache invalidation after didChange config. and modify copybook content API to search it only in configured folders

* Simplify unit test logic

* Address issue #218 + extract dependency file unit test to a proper unit test class

* Fix issue with initial configuration (no copybook no settings) that shown message to the user

* Update changelog

* Fix issue: dependency folder should be created in any case when the copybook analysis is activated

* Add unit test to verify that in any condition with/without copybooks and settings config the dependency file method is triggered from the copybookService

* Address request changes

* Address observelCallback test fail on MyTextDocumentServiceTest.java introducing timer

* Fix profile service

* Remove file not used (#224)

* Extract Language Client logic to service

* Finalize LRU algorithm #226 (#227)

* Finalize LRU algorithm by adding the time

* update CHANGELOG.md

* Add negative test and address requested changes

* close #227

* 225 No escape chars in filename (#228)

* decode URI to avoid issue with special chars
* Update changelog

* Extrack error handling to CopybookResolver

* Add quickfix for missing copybook on client site.

* Fix tests and some PR remarks.

* Test automation Integration with Eclipse pipeline #95 (#96)

Initial commit of functional tests

Signed-off-by: Aleksandr Sokolov <aleksandr.sokolov@broadcom.com>

Co-authored-by: DStatWriter <Daniel.Statham@broadcom.com>

* Small cleanups

* Fix quickfix scope

* Profile selection command

* Truncate copybook names #175

* Remove copybooks Quick Fix on the server side due to it is a client responsibility

* Update Chengelog

* Address Stack Overflow error on pipeline (#231)

* Update maven assembly from 2.2 to 3.2
* Update changelog

* StatusBar copybook downloader profile switcher #239

* Update changelog

* Update changelog

* Fix changelog

* Update server's changelog

* Update server's changelog

* Fix changelog in server folder

* A comma-separated list of datasets editor

* Remove profile selection if there less then two of them.

* Update changelog

* Update changelog

* Fix #177: Redefine WorkspaceService responsabilities in unit test

Fix #177: Redefine WorkspaceService responsabilities in unit test and update the changelog

* Fix wrong call to listPathDatasets (#250)

The method was invoked as this.listPathDatasets but should be this.pathsService.listPathDatasets

* PDS and PDSE 8 character informational message (#244)

* added a warning to user when copybook name is more than 8 characters

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* added copybook truncation to 8 characters when being added to the dependency file

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* fixing nullpointer exception found by sonarcloud

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* setting the 8 character notification as an informational message

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* New updates on Copybooks (#233)

* Update README.md

* copybooks now retrieved automatically

* add procedure for downloading copybooks

* specify > add, as this is the word on the button

* Update integration tests.

Change files panel title.
Change hint message according existing code.

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* Update .dep file (#249)

* Delete dependency file at didOpen moment

* update CHANGELOG.md

* Fix listDataset wrong call

* move deletion to didClose

* update .dep file by removing the copybooks present in the .copybooks directory

* clean

* clean

* add unit test

* update CHANGELOG.md

* apply required changes

* add sync and check if copybooks were added

* address required changes

Co-authored-by: zacanbrcom <andrea.zaccaro@broadcom.com>

* #251 - Fix nested copybook issue (#254)

Fix #251 - Retrieve nested copybooks and write them in dependency file

* Apply patch to PR #251

* Apply request of changes
* Address merge conflict

* Fix multiple error messages while downloading copybooks (#268)

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* Calculate and return a full URI containing Zowe profile (#267)

* Dummy inplementation of ConfigurationMiddleware for #247

* Fix tests

* Generate path list on request

* Fix compilation error

* Retrieve and use calculated path

* fix client test for all OS

* fix conflicts and update methods for the new implementation

* update CHANGELOG.md

* address required changes and fix merge conflicts

* address required changes

* add missing CHANGELOG.md

Co-authored-by: Iurii Shchekochikhin <iurii.shchekochikhin@broadcom.com>

* TI release preparation (#271)

* client readme update

* add link to zowe CLI zosmf profile config instructions

* add zowe CLI zosmf profile link to main readme

* revert img src change, unintended

* delete "setting profile" step from README.md

Co-authored-by: sergiuilie <sergiu.ilie@broadcom.com>

* Tip

* Tips

* add Tip

* format

* delete pointless changes

* Release 0.11 changelog simplification (#276)

* Update CHANGELOG.md

* revert change to 0.10.1 wording

* update CHANGELOG.md

* c/e

* z/OS Requirements added

* minor

* add more prereqs to client readme

* better wording

* Update README.md

* reword

Co-authored-by: sergiuilie <sergiu.ilie@broadcom.com>

Co-authored-by: zacanbrcom <andrea.zaccaro@broadcom.com>
Co-authored-by: Iurii Shchekochikhin <iurii.shchekochikhin@broadcom.com>
Co-authored-by: Vaclav Nemecek <foxitaj@gmail.com>
Co-authored-by: Zeibura Kathau <zeibura.kathau@broadcom.com>
Co-authored-by: Lukas Zima <38490125+zimlu02@users.noreply.github.com>
Co-authored-by: Andrei Temnikov <47776865+temanbrcom@users.noreply.github.com>
Co-authored-by: Andrei Temnikov <andrei.temnikov@broadcom.com>
Co-authored-by: DStatWriter <Daniel.Statham@broadcom.com>
Co-authored-by: abdrabrcom <52322307+abdrabrcom@users.noreply.github.com>
Co-authored-by: Anton Grigorev <anton.grigorev@broadcom.com>
Co-authored-by: Aleksandr Sokolov <avsokol@yandex.ru>
Co-authored-by: grianbrcom <60617592+grianbrcom@users.noreply.github.com>
sergiuilie added a commit that referenced this issue Apr 9, 2020
* Base for copybook tracker. WIP

* Introduce default paths setting. WIP.

* zOSMF profile listing implementation. WIP.

* Implement member list. WIP.

* Fetch content of members. WIP.

* Add copyrights

* Add progress indication. WIP.

* Apply changes required by code review stage + merge conflicts for Position's package move

* Changelog update / 0.10.0 (#140)

Update changelog to reflect all the increments for 0.10.0 releaase

* Update README.md

- reorganised the readme file for better readability
- added all autocomplete functionalities under one header
- included info about bitlang in the stuff about third party syntax coloring plugins.

* Revert "Update README.md" (#143)

* Use zowe imperative for profiles and zOSMF access.

* Support .err files added

* Remove TODOs

* change extension to .dep

* Introduce new event RUN_ANALYSIS covered by unit test

* Generation dummy cobdeps folder with dep file for e2e test purpose

* Definition test class to cover end to end subscribe, unsubscribe and publish

* Provide issue templates (#144)

Provide issue templates in order to simplify bug reporting and feature requests for the users and creating internal issues for tracking project activity. 

Co-authored-by: Zeibura Kathau <zeibura.kathau@broadcom.com>
Co-authored-by: Lukas Zima <38490125+zimlu02@users.noreply.github.com>

* Update package.json

better description for VSIX file

* Set default profile as default selection option.

* Add new event type to track analysis re-run requests GH-137
Add a signal event that shows that the analysis for all the registered documents is requested.

* Add watchers support to track if the workspace copybooks were changed or added GH-137
LanguageServer now supports a capability to dynamically register file system watcher. WorkspaceService is notified when a watcher is triggered. It invalidates cache and sends a notification to re-run the analysis for all the registered documents in order to always have actual semantic contexts of the copybooks for the open documents.
TextDoumentService is listening to re-run notificaions and runs the analysis for the whole list of the documents that were processed using didOpen request.

* Add files via upload

Signed-off-by: Daniel Statham <Daniel.Statham@Broadcom.com>

* Add files via upload

Signed-off-by: Daniel Statham <Daniel.Statham@Broadcom.com>

* Make ContinuationLineTransformation stateless to simplify DI #24

* Make CobolLineReader stateless to simplify DI #24

* Make CobolSemanticParser stateless to simplify DI #24

* Rename run analysis event to make it more generic #137

* Delete COBOL Language Support - Error Highlighting.gif

Signed-off-by: Daniel Statham <Daniel.Statham@Broadcom.com>

* Delete CLS Autocomplete Zoomed.gif

Signed-off-by: Daniel Statham <Daniel.Statham@Broadcom.com>

* Delete CLS Error Highlighting - Zoomed.gif

Signed-off-by: Daniel Statham <Daniel.Statham@Broadcom.com>

* Delete COBOL Language Support - Autocorrect.gif

Signed-off-by: Daniel Statham <Daniel.Statham@Broadcom.com>

* Updated Gifs

Signed-off-by: Daniel Statham <Daniel.Statham@Broadcom.com>

* Updated Gifs

Signed-off-by: Daniel Statham <Daniel.Statham@Broadcom.com>

* Update README.md (#145)

reorganised the readme file for better readability - converted bullet points into sections

grouped all autocomplete functionalities under one header

a few points compressed into fewer words or clarified

included info about bitlang being in the stacks+code4z in the stuff about third party syntax coloring plugins. We will be linking to this readme file from the foundation site, brightside doc and from the code4z readme so I think it's a good idea.

* Extract utils from CobolLine to keep SRP #23

* Remove dead code from CobolLine and related conditional branches #23

* Update bug template to make it more convenient for the submitter

* Introduce unit test for dep file management

* Create test for CobolLineUtils #24

* Update CHANGELOG with the watcher changes (#156)

* Change version before the release 0.10.0

* Increase test timeout to prevent false-negative result

* change version to 0.10.0 (#160)

* Update CHANGELOG.md

* Update the changelog (#162)

* Increase test timeout to prevent false-negative result

* Refine implementation for a better error management in folder and dep file creation/update

* Pass a document URI to the engine to have the correct postions GH-141
Syntax errors and semantic elements, such as variables and copybooks, contain a document URI to be shown correctly over the workspace.
Previously a complicated logic used here to determine the correct position in the workspace, now the current URI is passed directly.

* Adjustment after merge with development branch

* Fix search for copybook only in COPYBOOKS folder

* Send the document URi with the copybook request GH-141
The current document URI is required to build the dependecy graph, so it should be sent with a copybook name in the databus request.

* Change the test document URI to make tests more descriptive #141

* Update header and provide E2E integration test for FileSystemService with databus

* Consume documentURI information sent on the databus by the preprocessor in order to generate dependency files with the same name as the cobol file scanned by the preprocessor.

* Make document extension check case-insensitive #154

* Coverage for core parser (#157)

* adding junit test for PreprocessorStringUtils

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* added junit tests to CobolTestSuite

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* adding junit test for CobolLineIndicatorProcessorImpl

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* increased coverage on CobolLineIndicatorProcessorImplTest

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* added coverage for CobolErrorStrategy class

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* corrected copyright and added missing test classes

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* fixed copyright in PreprocessorStringUtilsTest

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* adjusted CobolLineIndicatorProcessorImplTest after refactoring

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* converted fields to local variables and removed commented line and added javadoc

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* corrected formatting for CobolLineIndicatorProcessorImplTest

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* switched methods to camel-case naming in CobolErrorStrategyTest

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* adjusting CobolLineIndicatorProcessorImplTest work in progress

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* removed unused import

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* reworked CobolLineIndicatorProcessorImplTest.java

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* added javadoc format documentation for each test class

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* added javadoc comments for classes CobolErrorStrategyTest and CobolLineIndicatorProcessorImplTest

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* Modify write function to address issues related to the concurrent writing

* Fix failed test after the introduction of DocumentURI and improved write dependency of file checking for not empty values

* Remove unused COBOL dialects support #168

* Improve create and write on dependency file, cover edge cases that can happen due to failed sync with the filesystem

* Remove unused import from MyTextDocumentService

* Remove deprecated multiline comment entry support GH-170
Multiline comment entries is an old feature and is not supported by IBM compilers anymore and should be processed by a syntax analizer.

* Add notification message related to gitfs unsupported filesystem

* Fix duplicates in pom, removed old TODO and unused variables

* Remove deprecated REMARKS support GH-170
This is an old feature that is not supported by IBM anymore. The mentions are removed from the preprocessor and grammar to show an error if there are remarks used.

* Update extension.ts with correct language ID (#176)

Update correct information about language ID when calling LanguageClient constructor in order to have everything aligned "on the same page".

* 141 POC dependency file generation (#172)

This merge introduce as beta version the definition of dependency files that contains copybooks defined in an opened Cobol file. LSP Server delegates to the FileSystemService all the activities file-system related.

* Introduce new event RUN_ANALYSIS covered by unit test

* Generation dummy cobdeps folder with dep file for e2e test purpose

* Definition test class to cover end to end subscribe, unsubscribe and publish

* Introduce unit test for dep file management

* Refine implementation for a better error management in folder and dep file creation/update

* Adjustment after merge with development branch

* Fix search for copybook only in COPYBOOKS folder

* Update header and provide E2E integration test for FileSystemService with databus

* Consume documentURI information sent on the databus by the preprocessor in order to generate dependency files with the same name as the cobol file scanned by the preprocessor.

* Modify write function to address issues related to the concurrent writing

* Fix failed test after the introduction of DocumentURI and improved write dependency of file checking for not empty values

* Improve create and write on dependency file, cover edge cases that can happen due to failed sync with the filesystem

* Add notification message related to gitfs unsupported filesystem

* Fix duplicates in pom, removed old TODO and unused variables

* Address request changes

* Align positive test parameters

Co-authored-by: Sergiu Ilie <sergiu.ilie@broadcom.com>

* change copybooks folders name to .copybooks

* change variable access visibility (#179)

Path fix field visibility

* Fix failing positive tests by using a correct mock

* Enable client to server config file synchronization (#185)

* Align server with the client so it may use the information located in settings.json

* Resolve conflicts after merge

* remove unused imports

* apply required changes: update the header and remove problematic call

* apply required changes: remove extra class

* close #184

* Remove unused COBOL format support GH-178
Due to the only supported version is Enterprise COBOL for z/OS ver. 6.2, the only required format for the code lines is FIXED. According to this, passing format as a text parameter is unnecessary and should be deleted to reduce code complexity.
Warning: there was a floating issue with Lombok on this commit caused by some changes in plain java code. The exact reason was not localized, and it may repeat. Partial applying of the changes with intermediate builds helped.

* Remove copybook name from the variable list if copybook is missing GH-186
In the current solution, there are copybook marks that are used to build the variable structure using copybooks. The scenario when the copybook is missing and the structure cannot be built was not covered and the mark was not removed.
Now variable semantic context has the capability to remove these marks on demand.

* Make CobolCommentEntriesMarkerImpl stateless to make Di easier #24

* Create temporary solution in order to inform the user that gitfs is not supported. (#192)

The full implementation will be provided by the issue #173

* Copybooks autocomplete introduction (#189)

* added implementation for copybook autocomplete from cobol document and fixed tests

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* added junit test for CopybookCompletion class

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* adding CopybookCompletionsTest to AllTests

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* added javadocs annotation for both CopybookCompletion and CopybookCompletionTest

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* reverted back packagejson and packagelock fixing naming issue and adding missing entry to testmodule

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* fixed packagelock

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* Update change log (#193)

* Update changelog

Co-authored-by: Zeibura Kathau <zeibura.kathau@broadcom.com>

* Remove request library dependency and small refactoring

* WIP. Ask to get copybooks. Get profile name base on filepath

* Clean-up MyLanguageServerImpl to set only supported capabilities #23

* Store profiles for programs in settings.json

* Listen to settings cahnges

* Add redownload all command

* Introduce Code Action to Resolve Copybooks GH-197
Add logic to the text document service to collect a list of applicable code actions.
Add logic to the workspace service to resolve missing copybooks on the Quick Fix.
Add error code to determine the code action command type.
Register those capabilities on the server initialization.

* new look for package.json configuration structure

* update settings prefix in code

* Fix compilation error

* Update messages on configuration change

* Refactor MyTextDocumentService::observerCallback
Unnecessary map collection was removed.

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* Remove error listener from CobolVisitor to simpily DI #24

* Add the context shutdown to avoid shared state on tests #199

* Rename some variables

* Make CobolVisitor constructor-configurable to simplify DI GH-24
Replace configuring by setters with one by the constructor to simplify the binding for the DI. Extract keyword suggestions to make it easier to configure in the future.

* Add property to enable TCP connection to LSP server

* Copybook extension check fails #149
Add logic to ignore '*.cpy' files in didChange handler.
Change didOpen logic. Call registerDocument for register only processed documents.

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* Don't create dataset folder if copybook isn't in

* Improve error handling

* Update changelog

* Retrieve settings.json at initialize moment #187 (#207)

* Retrieve settings.json at initialize moment #187 

* adjust to the requested changes

* Suggest to edit path if there is a problem with dataset

* Refactoring pom.xml: putting the project version in property.
The current version is specified in the "revision" property.
Project version sets via the "revision" property.

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* Add null check for document after analysis to prevent NPE #212

* Update copyright year in all the classes (#214)

* Update copyright year in all the classes

* Modify dependency file creation/update flow (#209)

* Introduce textDocumentSyncType to track the document sync status (opened, changed, closed)

* Introduce document sync type with textDocumentSyncType enum

* Merge remote-tracking branch 'remotes/origin/master' into development

# Conflicts:
#	CHANGELOG.md
#	Jenkinsfile
#	clients/cobol-lsp-vscode-extension/CHANGELOG.md
#	clients/cobol-lsp-vscode-extension/package.json
#	clients/cobol-lsp-vscode-extension/server/note.md
#	clients/cobol-lsp-vscode-extension/src/extension.ts
#	com.ca.lsp.cobol/lsp-core-cobol-parser/pom.xml
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/engine/CobolLanguageEngine.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/parser/listener/VerboseListener.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/CobolPreprocessor.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/impl/CobolPreprocessorImpl.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/CobolLine.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/cleaner/CobolDocumentCleaner.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/cleaner/impl/CobolDocumentCleanerImpl.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/cleaner/impl/CobolDocumentCommentingCleanerListener.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/copybook/AnalyseCopybookTask.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/copybook/CopybookAnalysis.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/copybook/CopybookParallelAnalysis.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/document/CobolSemanticParser.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/document/impl/CobolSemanticParserImpl.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/document/impl/CobolSemanticParserListenerImpl.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/line/reader/CobolLineReader.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/line/reader/impl/CobolLineReaderImpl.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/line/reader/impl/CompilerDirectivesTransformation.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/line/rewriter/impl/CobolCommentEntriesMarkerImpl.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/line/rewriter/impl/CobolInlineCommentEntriesNormalizerImpl.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/util/CobolLineUtils.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/util/PreprocessorCleanerService.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/util/impl/PreprocessorCleanerServiceImpl.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/visitor/CobolVisitor.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/test/java/com/ca/lsp/core/cobol/AbstractCobolLinePreprocessorTest.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/test/java/com/ca/lsp/core/cobol/CobolTestSuite.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/test/java/com/ca/lsp/core/cobol/engine/CobolLanguageEngineTest.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/test/java/com/ca/lsp/core/cobol/preprocessor/sub/line/rewriter/impl/CobolCommentEntriesMarkerImplTest.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/test/java/com/ca/lsp/core/cobol/preprocessor/sub/util/CobolLineUtilsTest.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/test/java/com/ca/lsp/core/cobol/semantics/CobolCleanExtraLanguageTest.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/test/java/com/ca/lsp/core/cobol/semantics/CobolVariableCheckTest.java
#	com.ca.lsp.cobol/lsp-core-domain/pom.xml
#	com.ca.lsp.cobol/lsp-core-domain/src/main/java/com/broadcom/lsp/domain/cobol/event/api/CopybookEventFactory.java
#	com.ca.lsp.cobol/lsp-core-domain/src/main/java/com/broadcom/lsp/domain/cobol/event/model/DataEventType.java
#	com.ca.lsp.cobol/lsp-core-domain/src/main/java/com/broadcom/lsp/domain/cobol/event/model/RunAnalysisEvent.java
#	com.ca.lsp.cobol/lsp-core-domain/src/test/java/com/broadcom/lsp/domain/cobol/databus/impl/AbsDataBusImplTest.java
#	com.ca.lsp.cobol/lsp-core-domain/src/test/java/com/broadcom/lsp/domain/cobol/databus/impl/DataBusGetFromCacheBadTest.java
#	com.ca.lsp.cobol/lsp-core-domain/src/test/java/com/broadcom/lsp/domain/cobol/databus/impl/DataBusUnSubscribeTest.java
#	com.ca.lsp.cobol/lsp-core-domain/src/test/java/com/broadcom/lsp/domain/cobol/event/CopybookEventSubscribersTest.java
#	com.ca.lsp.cobol/lsp-core-domain/src/test/java/com/broadcom/lsp/domain/cobol/event/CopybookEventsTest.java
#	com.ca.lsp.cobol/lsp-service-cobol/pom.xml
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/broadcom/lsp/cdi/module/service/ServiceModule.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/ca/lsp/cobol/service/CobolWorkspaceService.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/ca/lsp/cobol/service/CobolWorkspaceServiceImpl.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/ca/lsp/cobol/service/MyLanguageServerImpl.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/ca/lsp/cobol/service/MyTextDocumentService.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/ca/lsp/cobol/service/delegates/completions/KeywordCompletion.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/ca/lsp/cobol/service/delegates/completions/SnippetCompletion.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/ca/lsp/cobol/service/delegates/references/SemanticElementOccurrences.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/ca/lsp/cobol/service/delegates/validations/CobolLanguageEngineFacade.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/test/java/com/ca/lsp/cobol/AllTests.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/test/java/com/ca/lsp/cobol/TestModule.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/test/java/com/ca/lsp/cobol/service/MyLanguageServerImplTest.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/test/java/com/ca/lsp/cobol/service/MyTextDocumentServiceTest.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/test/java/com/ca/lsp/cobol/service/WorkspaceServiceTest.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/test/java/com/ca/lsp/cobol/service/delegates/completions/CompletionsChainTest.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/test/java/com/ca/lsp/cobol/service/delegates/validations/UseCaseUtils.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/test/java/com/ca/lsp/cobol/usecases/AnalyzeCopybookCaching.java
#	com.ca.lsp.cobol/pom.xml

* Merge remote-tracking branch 'remotes/origin/master' into development

# Conflicts:
#	CHANGELOG.md
#	Jenkinsfile
#	clients/cobol-lsp-vscode-extension/CHANGELOG.md
#	clients/cobol-lsp-vscode-extension/package.json
#	clients/cobol-lsp-vscode-extension/server/note.md
#	clients/cobol-lsp-vscode-extension/src/extension.ts
#	com.ca.lsp.cobol/lsp-core-cobol-parser/pom.xml
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/engine/CobolLanguageEngine.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/parser/listener/VerboseListener.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/CobolPreprocessor.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/impl/CobolPreprocessorImpl.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/CobolLine.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/cleaner/CobolDocumentCleaner.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/cleaner/impl/CobolDocumentCleanerImpl.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/cleaner/impl/CobolDocumentCommentingCleanerListener.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/copybook/AnalyseCopybookTask.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/copybook/CopybookAnalysis.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/copybook/CopybookParallelAnalysis.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/document/CobolSemanticParser.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/document/impl/CobolSemanticParserImpl.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/document/impl/CobolSemanticParserListenerImpl.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/line/reader/CobolLineReader.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/line/reader/impl/CobolLineReaderImpl.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/line/reader/impl/CompilerDirectivesTransformation.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/line/rewriter/impl/CobolCommentEntriesMarkerImpl.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/line/rewriter/impl/CobolInlineCommentEntriesNormalizerImpl.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/util/CobolLineUtils.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/util/PreprocessorCleanerService.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/preprocessor/sub/util/impl/PreprocessorCleanerServiceImpl.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/main/java/com/ca/lsp/core/cobol/visitor/CobolVisitor.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/test/java/com/ca/lsp/core/cobol/AbstractCobolLinePreprocessorTest.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/test/java/com/ca/lsp/core/cobol/CobolTestSuite.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/test/java/com/ca/lsp/core/cobol/engine/CobolLanguageEngineTest.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/test/java/com/ca/lsp/core/cobol/preprocessor/sub/line/rewriter/impl/CobolCommentEntriesMarkerImplTest.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/test/java/com/ca/lsp/core/cobol/preprocessor/sub/util/CobolLineUtilsTest.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/test/java/com/ca/lsp/core/cobol/semantics/CobolCleanExtraLanguageTest.java
#	com.ca.lsp.cobol/lsp-core-cobol-parser/src/test/java/com/ca/lsp/core/cobol/semantics/CobolVariableCheckTest.java
#	com.ca.lsp.cobol/lsp-core-domain/pom.xml
#	com.ca.lsp.cobol/lsp-core-domain/src/main/java/com/broadcom/lsp/domain/cobol/event/api/CopybookEventFactory.java
#	com.ca.lsp.cobol/lsp-core-domain/src/main/java/com/broadcom/lsp/domain/cobol/event/model/DataEventType.java
#	com.ca.lsp.cobol/lsp-core-domain/src/main/java/com/broadcom/lsp/domain/cobol/event/model/RunAnalysisEvent.java
#	com.ca.lsp.cobol/lsp-core-domain/src/test/java/com/broadcom/lsp/domain/cobol/databus/impl/AbsDataBusImplTest.java
#	com.ca.lsp.cobol/lsp-core-domain/src/test/java/com/broadcom/lsp/domain/cobol/databus/impl/DataBusGetFromCacheBadTest.java
#	com.ca.lsp.cobol/lsp-core-domain/src/test/java/com/broadcom/lsp/domain/cobol/databus/impl/DataBusUnSubscribeTest.java
#	com.ca.lsp.cobol/lsp-core-domain/src/test/java/com/broadcom/lsp/domain/cobol/event/CopybookEventSubscribersTest.java
#	com.ca.lsp.cobol/lsp-core-domain/src/test/java/com/broadcom/lsp/domain/cobol/event/CopybookEventsTest.java
#	com.ca.lsp.cobol/lsp-service-cobol/pom.xml
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/broadcom/lsp/cdi/module/service/ServiceModule.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/ca/lsp/cobol/service/CobolWorkspaceService.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/ca/lsp/cobol/service/CobolWorkspaceServiceImpl.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/ca/lsp/cobol/service/MyLanguageServerImpl.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/ca/lsp/cobol/service/MyTextDocumentService.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/ca/lsp/cobol/service/delegates/completions/KeywordCompletion.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/ca/lsp/cobol/service/delegates/completions/SnippetCompletion.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/ca/lsp/cobol/service/delegates/references/SemanticElementOccurrences.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/main/java/com/ca/lsp/cobol/service/delegates/validations/CobolLanguageEngineFacade.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/test/java/com/ca/lsp/cobol/AllTests.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/test/java/com/ca/lsp/cobol/TestModule.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/test/java/com/ca/lsp/cobol/service/MyLanguageServerImplTest.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/test/java/com/ca/lsp/cobol/service/MyTextDocumentServiceTest.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/test/java/com/ca/lsp/cobol/service/WorkspaceServiceTest.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/test/java/com/ca/lsp/cobol/service/delegates/completions/CompletionsChainTest.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/test/java/com/ca/lsp/cobol/service/delegates/validations/UseCaseUtils.java
#	com.ca.lsp.cobol/lsp-service-cobol/src/test/java/com/ca/lsp/cobol/usecases/AnalyzeCopybookCaching.java
#	com.ca.lsp.cobol/pom.xml

* implement logic to check the document sync type and disable the dep file creation/update if the text document sync type is DID_CHANGE

* update unit test to cover the scenario of different text document sync type DID_OPEN and DID_CHANGE

* Address merge conflict

* Address smelling and header fix

* Update changelog

* Update changelog change request

* Copybook references (#210)

* added implementation for copybook autocomplete from cobol document and fixed tests

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* added junit test for CopybookCompletion class

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* adding CopybookCompletionsTest to AllTests

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* added javadocs annotation for both CopybookCompletion and CopybookCompletionTest

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* reverted back packagejson and packagelock fixing naming issue and adding missing entry to testmodule

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* fixed packagelock

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* added implementation for copybook usage reference

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* adding implementation for copybook references

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* added test for copybook references and adjustted copybooks to show on usages

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* Make copybook processing work with usages, not with definitions #107

Co-authored-by: Andrei Temnikov <47776865+temanbrcom@users.noreply.github.com>

* add queue and tests for it

* Reset resolve field in queue

* Add missing text sync type for quick fix #215

* Add empty string as a default value when the copybook is empty #165

* Incapsulate cleaning service #23

* Cleanup PreprocessorStringUtils with Lombok annotation #23

* WIP download queue. Remove error files.

* Fix lsp start issue

* UX fixes

* Add codeaction to setup dataset paths

* Remove hardcoded version number from code

* Switch to default profile name for cb downloader

* Impreve error handling

* Add guice-assistInject dependency #24

* Add Lombok annotation to remove boilerplate code #23

* Initialize binding for language engine module #24

* Read ZOWE_CLI_HOME to load profiles

* fix tests

* Improve error handling

* Fix ZOWE_CLI_HOME to expect .zowe in it

* Fix error processing

* Setup Jest to collect coverage

* Remove unnecessary integration test GH-24
To be replaced with a proper unit test when the binding is finished

* Get 100% on download queue

* Refactor JavaCheck service

* Provide binding for copybook analysis GH-24
Change binding method to one that does not require custom application context. Change use case tests in order to meet the new binding requirements.

* PathUtils tests

* Small refactoring and tests for Profile service.

* Consume user settings in Copybook Service (#221)

* Define unit test that cover the scenario of search copybooks in a set of paths (defined by the profile and dataset name)

* Simplify logic and reorganize method definitions in the FileSystemServiceImpl

* Introduce ConfigurationSettingsStorable in unit test to retrieve user setting configuration for profile name and dataset list

* add support for observer callback in the SettingsProvider

* consume new settings in FileSystemServiceImpl

* fix issue with cache invalidation after didChange config. and modify copybook content API to search it only in configured folders

* Simplify unit test logic

* Address issue #218 + extract dependency file unit test to a proper unit test class

* Fix issue with initial configuration (no copybook no settings) that shown message to the user

* Update changelog

* Fix issue: dependency folder should be created in any case when the copybook analysis is activated

* Add unit test to verify that in any condition with/without copybooks and settings config the dependency file method is triggered from the copybookService

* Address request changes

* Address observelCallback test fail on MyTextDocumentServiceTest.java introducing timer

* Fix profile service

* Remove file not used (#224)

* Extract Language Client logic to service

* Finalize LRU algorithm #226 (#227)

* Finalize LRU algorithm by adding the time

* update CHANGELOG.md

* Add negative test and address requested changes

* close #227

* 225 No escape chars in filename (#228)

* decode URI to avoid issue with special chars
* Update changelog

* Extrack error handling to CopybookResolver

* Add quickfix for missing copybook on client site.

* Fix tests and some PR remarks.

* Test automation Integration with Eclipse pipeline #95 (#96)

Initial commit of functional tests

Signed-off-by: Aleksandr Sokolov <aleksandr.sokolov@broadcom.com>

Co-authored-by: DStatWriter <Daniel.Statham@broadcom.com>

* Small cleanups

* Fix quickfix scope

* Profile selection command

* Truncate copybook names #175

* Remove copybooks Quick Fix on the server side due to it is a client responsibility

* Update Chengelog

* Address Stack Overflow error on pipeline (#231)

* Update maven assembly from 2.2 to 3.2
* Update changelog

* StatusBar copybook downloader profile switcher #239

* Update changelog

* Update changelog

* Fix changelog

* Update server's changelog

* Update server's changelog

* Fix changelog in server folder

* A comma-separated list of datasets editor

* Remove profile selection if there less then two of them.

* Update changelog

* Update changelog

* Fix #177: Redefine WorkspaceService responsabilities in unit test

Fix #177: Redefine WorkspaceService responsabilities in unit test and update the changelog

* Fix wrong call to listPathDatasets (#250)

The method was invoked as this.listPathDatasets but should be this.pathsService.listPathDatasets

* PDS and PDSE 8 character informational message (#244)

* added a warning to user when copybook name is more than 8 characters

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* added copybook truncation to 8 characters when being added to the dependency file

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* fixing nullpointer exception found by sonarcloud

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* setting the 8 character notification as an informational message

Signed-off-by: Ramy Abdalla <ramy.abdalla@broadcom.com>

* New updates on Copybooks (#233)

* Update README.md

* copybooks now retrieved automatically

* add procedure for downloading copybooks

* specify > add, as this is the word on the button

* Update integration tests.

Change files panel title.
Change hint message according existing code.

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* Update .dep file (#249)

* Delete dependency file at didOpen moment

* update CHANGELOG.md

* Fix listDataset wrong call

* move deletion to didClose

* update .dep file by removing the copybooks present in the .copybooks directory

* clean

* clean

* add unit test

* update CHANGELOG.md

* apply required changes

* add sync and check if copybooks were added

* address required changes

Co-authored-by: zacanbrcom <andrea.zaccaro@broadcom.com>

* #251 - Fix nested copybook issue (#254)

Fix #251 - Retrieve nested copybooks and write them in dependency file

* Apply patch to PR #251

* Apply request of changes
* Address merge conflict

* Fix multiple error messages while downloading copybooks (#268)

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* Calculate and return a full URI containing Zowe profile (#267)

* Dummy inplementation of ConfigurationMiddleware for #247

* Fix tests

* Generate path list on request

* Fix compilation error

* Retrieve and use calculated path

* fix client test for all OS

* fix conflicts and update methods for the new implementation

* update CHANGELOG.md

* address required changes and fix merge conflicts

* address required changes

* add missing CHANGELOG.md

Co-authored-by: Iurii Shchekochikhin <iurii.shchekochikhin@broadcom.com>

* TI release preparation (#271)

* client readme update

* add link to zowe CLI zosmf profile config instructions

* add zowe CLI zosmf profile link to main readme

* revert img src change, unintended

* delete "setting profile" step from README.md

Co-authored-by: sergiuilie <sergiu.ilie@broadcom.com>

* Tip

* Tips

* add Tip

* format

* delete pointless changes

* Release 0.11 changelog simplification (#276)

* Update CHANGELOG.md

* revert change to 0.10.1 wording

* update CHANGELOG.md

* c/e

* z/OS Requirements added

* minor

* add more prereqs to client readme

* better wording

* Update README.md

* reword

Co-authored-by: sergiuilie <sergiu.ilie@broadcom.com>

* Release 0.11 changelog (#281)

* Update CHANGELOG.md

* revert change to 0.10.1 wording

* update CHANGELOG.md

* c/e

* z/OS Requirements added

* minor

* add more prereqs to client readme

* better wording

* Update README.md

* reword

* update version

Co-authored-by: Zeibura Kathau <zeibura.kathau@broadcom.com>

Co-authored-by: Iurii Shchekochikhin <iurii.shchekochikhin@broadcom.com>
Co-authored-by: zacanbrcom <andrea.zaccaro@broadcom.com>
Co-authored-by: Vaclav Nemecek <foxitaj@gmail.com>
Co-authored-by: Zeibura Kathau <zeibura.kathau@broadcom.com>
Co-authored-by: Lukas Zima <38490125+zimlu02@users.noreply.github.com>
Co-authored-by: Andrei Temnikov <47776865+temanbrcom@users.noreply.github.com>
Co-authored-by: Andrei Temnikov <andrei.temnikov@broadcom.com>
Co-authored-by: DStatWriter <Daniel.Statham@broadcom.com>
Co-authored-by: abdrabrcom <52322307+abdrabrcom@users.noreply.github.com>
Co-authored-by: Anton Grigorev <anton.grigorev@broadcom.com>
Co-authored-by: Aleksandr Sokolov <avsokol@yandex.ru>
Co-authored-by: grianbrcom <60617592+grianbrcom@users.noreply.github.com>
temanbrcom added a commit that referenced this issue Jun 4, 2020
temanbrcom added a commit that referenced this issue Jun 4, 2020
temanbrcom pushed a commit that referenced this issue Jun 4, 2020
grianbrcom added a commit to grianbrcom/che-che4z-lsp-for-cobol that referenced this issue Jun 17, 2020
Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>
temanbrcom added a commit that referenced this issue Jun 17, 2020
refactor: Delete unused plugin properties #23
sergiuilie added a commit that referenced this issue Jul 7, 2020
* Add test to parse json like settings

* Initialize workspace settings.json if not present

* fix: Change log archive path pattern to relate on the user directory #307

* fix: Hide 'no errors found' message GH-312
In order to limit showing pop-ups silently log notifications that document analyzed with no errors.

* doc: Add committing requirements for contributors

Some advice and requirements for contributors to the committing process.

* ci: Add integration tests into Jenkins pipeline (#260)

Add integration tests to CI/CD. Schedule nightly build conditionally. Ignore failed tests.

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* build: Change "-NEXT" suffix to "+NEXT"

Current "-NEXT" is pre-release identifier according the SemVer grammar.
After changing to "+NEXT" it will be a build metainfo.
This means that 0.11.1+NEXT and 0.11.1 will have the same precedence.

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* fix: Create a .gitignore file if it doesn't exist #329

Signed-off-by: as892333 <azat.satklichov@broadcom.com>

* ci: Fix Jenkins deploy stage

Using right "workspabe" variable.

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* revert changes

Signed-off-by: as892333 <azat.satklichov@broadcom.com>

* Add java path to prerequisites in the readme file (#334)

* java PATH variable

* .

* test: Add more test cases like copybooks etc. (#313)

Tag 8 failing tests as Unstable.

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* Resolve local URI from settings

* Add test to parse json like settings

* Add test related to path validation

* Refactor function to parse paths and exclude not valid URIs

* Introduce URI validation in the Local Copybook Resolver

* Add unit test to avoid duplicates in URI list

* Minor changes on API

* Fix setting key property

* Address merge conflicts with development

* Address conflict with existent path key in json definition

* Add URI normalize to avoid unexpected result - as double slashes

* Fix key in order to support zowe and local scenario under common key paths

* Fix workspace path

* Update API to return URI in the result array

* Apply minor enhancement

* Address request change

* Address request change to readability improvements

* ci: Limit the Number of Logs on the Pipeline

Logback configuration for unit tests was updated with level =
warning.
Maven flag do not display transfer progress when downloading
was enabled.
Fix "Failed to load class org.slf4j.impl.StaticLoggerBinder"

Closes #345

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* ci: Fix integration testing artifacts collecting

The folder 'theia_robot_output' was excluded from artifacts collecting set.
Artifacts collecting steps was moved from Jenkinsfile to *.sh file. If any 'cp' line fails the script will run to the end successfully.
Added copyright to scripts.
The selector was added to CopyArtifacts. Otherwise 'copyArtifacts' will copy artifact from the last successful build, not the current.

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* feat: Inform user about wrong credentials and stop sending other MF requests

User was correctly notified if:
* Zowe profile have empty password
* MF API not accessible
* Zowe profile have wrong credentials
* dataset not found

Closes #237

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* ci: Fix webdriver log name for collection

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* re-organize with .c4z folder and create .gitignore

Signed-off-by: as892333 <azat.satklichov@broadcom.com>

* "typo"

Signed-off-by: as892333 <azat.satklichov@broadcom.com>

* "fix: re-organize with .c4z folder and create .gitignore #331"

Signed-off-by: Azat Satklichov <azat.satklichov@broadcom.com>

* ci: Added Jenkins params to run integration tests (#357)

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* fix: refactor on review #331

Signed-off-by: Azat Satklichov <azat.satklichov@broadcom.com>

* Update package-lock

* fix: update activation event #331

Signed-off-by: Azat Satklichov <azat.satklichov@broadcom.com>

* fix: err-log #331

Signed-off-by: Azat Satklichov <azat.satklichov@broadcom.com>

* refactor: Introduce on-demand client configuration calls GH-327

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* feat: Fetch copybooks without .dep files GH-327

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* refactor: Clean-up ClientService GH-327

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* refactor: Move copybook fetch Quick Fix to the server GH-327

* refactor: Interrupt a thread that had an exception #355

* refactor: Remove deprecated settings provider #355

* feat: Introduce dynamic registration for watchers GH-355

* refactor: Make configuration calls async #355

* fix: Fix glob pattern for dynamic registration #355

* tests: Adjust tests to new requirements #355

* tests: Adjust Workspace Service unit test #355

* refactor:Make Watching Service a singleton #355

* test: Adjust Language Server test to the new requirements #355

* test: Remove deprecated tests #355

* test: Add test related to path validation GH-355

* refactor: Exclude invalid URIs on paths parsing GH-355

* refactor: Introduce URI validation in the Local Copybook Resolver GH-355

* refactor: Apply more descriptive name for class and test GH-23

* test: Add unit test to avoid duplicates in URI list GH-355

* test: Polish test suite and minor changes GH-23

* refactor: Minor changes on API naming and documentation GH-355

* refactor: Minor changes on API GH-355

* Address merge conflicts with development

* refactor: Address conflict with existent path key in json definition GH-327

* refactor: Add URI normalize to avoid unexpected result - as double slashes GH-355

* Update API to return URI in the result array

* feat: Retrieve local copybooks if exists GH-327

* refactor: Adjust variable declaration GH-23

* Test sending local URI from client to server GH-327

* Address request change to readability improvements

* Merge remote-tracking branch 'remotes/origin/copybooks-middleware' into fetch-priority

# Conflicts:
#	clients/cobol-lsp-vscode-extension/src/extension.ts
#	clients/cobol-lsp-vscode-extension/src/services/LanguageClientService.ts

* test: Clean unit test for Copybook Resolver GH-355

* refactor: Clean up client part GH-23

* refactor: Refactor Middleware client part (GH-364)

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* refactor: Clean up client part of copybook resolution GH-355

* refactor: Fix middleware issue (GH-365)

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* fix: Fix issue with indirect overwrite settings conf for dsn paths

* refactor: Remove obsolete prioritization on the client side

* refactor: Fix cobol name extraction (GH-366)

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* refactor: Introduce method to handle responsability for just add missing copybook in the internal queue

* test: Add client tests for middleware (GH-367)

Filtering fetch copybook events only for didOpen.

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* refactor: Remove unused methods GH-23

* fix: Fix issue related to copybook with extension that were not recognized as valid URI GH-355

* test: Provide a unit test for Watching Service #355

* test: Improve CopybookURI.ts code coverage and address lint of javadoc

* Merge branch 'development' into fetch-priority

* refactor: Remove deprected tests #355

* test: Improved SettingsUtils unit test

* refactor: Delete unused classes GH-23

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* Merge pull request GH-370 from grianbrcom/fp_fix

* refactor: Add File Service to simplify testing GH-355

* refactor: Make URI resolution work with .c4z folder #355

* refactor: Remove deprecated URI resolution #355

* test: Skip not finalized tests #355

* test: Define PathsService.ts unit test GH-355

* refactor: Add check for non-existing copybook file #355

* refactor: Remove unused files GH-23

* refactor: Add missing copyright header GH-23

Signed-off-by: Azat Satklichov <azat.satklichov@broadcom.com>

* test: Update test to work with temp folder GH-23

Signed-off-by: Azat Satklichov <azat.satklichov@broadcom.com>

* ci: Add Jest treshold for client tests

Signed-off-by: Azat Satklichov <azat.satklichov@broadcom.com>

* refactor: Remove duplicated method calls GH-23

Signed-off-by: Azat Satklichov <azat.satklichov@broadcom.com>

* refactor: Remove POC vsc commands GH-376

* refactor: Invoke handleQueue() from start() GH-376

* refactor: Remove unused function GH-376

* refactor: Use fs API for Node 10x and apply linting GH-376

* refactor: Apply linting GH-23 GH-376

* refactor: Don't resolve copybooks in unregistered local folders GH-355
Invalidate cached URIs when watcher list chagned.

* refactor: Rename ClientService to SettingsService

Add the header to Middleware.ts

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* refactor: Apply linting GH-23 GH-376

* refactor: Remove dead code #23

* refactor: Remove obsolete code #23

* refactor: Make watchers registration thread-safe GH-355

* refactor: Address request of change GH-376

* refactor: Address request of change GH-23 GH-376

* refactor: Extract monade method to reduce code duplication GH-23

* refactor: Address request of change GH-23 GH-376

* refactor: Move all the posiible settings parameters to one enum #327

* refactor: Make response parsing null safe #327

* refactor: Adjust class indentation #23

* test: Remove folder structure to avoid dirty state #23

* test: Improve code coverage foc CopybookDownloadService

* refactor: Adjust fetch copybook command action

* test: Improve code coverage for JavaCheck

Signed-off-by: Azat Satklichov <azat.satklichov@broadcom.com>

* refactor: negative cases extracted to a function

Signed-off-by: Azat Satklichov <azat.satklichov@broadcom.com>

* refactor: try catch replaced with inline alternative

Signed-off-by: Azat Satklichov <azat.satklichov@broadcom.com>

* test: improve code coverage for CopybookURI #23

* refactor: change outdated Java version message

Signed-off-by: Azat Satklichov <azat.satklichov@broadcom.com>

* Clarify copybook retrieval setup procedure (#359)

* Update README.md

* Update README.md

* enhance readme (#344)

* test: Add ZoweApi unit tests for client

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* fix: Use sync APIs to create folder and write on file to avoid unexpected behavior

* [Doc] Updates for local copybook support (#383)

* Updates for local copybook support

* minor format

* Update copybook support section

* Add copybook support GIF

* Delete cpygotodef.gif

* Add copybook support GIF

* Delete cpygotodef.gif

* Add copybook support GIF

* Update copybook support section and add new GIF

* Update copybook support section of readme

* Update copybook support section

* Update copybook support section

* Update copybook support section

* Update copybook support section

* Update copybook support section

* Update copybook support section

* Update copybook support section

* Update copybook support section

* Update copybook support section

* Update copybook support section

* Update copybook support section - remove GIF

Bitlang feature, not ours.

* Update copybook support section - add GIF

revert, this is our feature

* refactor: Move shared local variables in describe function for CopybookDownloadServiceTest #382

* doc: Update README.md file with Linux section (#377)

Add the Linux section.

Signed-off-by: Maryna Nalbandian <maryna.nalbandian@broadcom.com>
Co-authored-by: DStatWriter <Daniel.Statham@broadcom.com>
Co-authored-by: Zeibura Kathau <zeibura.kathau@broadcom.com>

* test: Fix unresolved promises

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* ci: Enable strict mode for jest unhandled rejections

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* ci: Update Jenkins file to run typescript test

* [Doc] Updates for local copybook support (#383)

* Updates for local copybook support

* minor format

* Update copybook support section

* Add copybook support GIF

* Delete cpygotodef.gif

* Add copybook support GIF

* Delete cpygotodef.gif

* Add copybook support GIF

* Update copybook support section and add new GIF

* Update copybook support section of readme

* Update copybook support section

* Update copybook support section

* Update copybook support section

* Update copybook support section

* Update copybook support section

* Update copybook support section

* Update copybook support section

* Update copybook support section

* Update copybook support section

* Update copybook support section

* Update copybook support section - remove GIF

Bitlang feature, not ours.

* Update copybook support section - add GIF

revert, this is our feature

* refactor: Rename stage to clarify responsibility #386

* test: Fix warnings

Signed-off-by: Maryna Nalbandian <maryna.nalbandian@broadcom.com>

Fix warnings, when robot is running.

* test: Change tags for tests need update and tests found defects

Now we will use tags NEED_UPDATE and DEFECT_OPEN
instead of UNSTABLE.
They are more strict and descriptive.

Signed-off-by: Maryna Nalbandian <maryna.nalbandian@broadcom.com>

* ci: Change excluding tags for Integration tests

Now we will use tags NEED_UPDATE and DEFECT_OPEN instead of UNSTABLE.
They are more strict and descriptive.

Signed-off-by: Maryna Nalbandian <maryna.nalbandian@broadcom.com>

* test: Fix warnings "syntax is deprecated"

Fix this warning:
[ WARN ] Accessing variable items using '@{LINES}[0]' syntax is
deprecated. Use '${LINES}[0]' instead.

Signed-off-by: Maryna Nalbandian <maryna.nalbandian@broadcom.com>

* feat: Adjust the info message about missing copybooks #391

The message was adjusted.
"Edit datasets" and "Change zowe profile"
buttons was replaced with "Change settings" button. The button opens the
settings page with and filter it to show only settings related to our
plugin.

Closes 391

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* ci: Add waiting to Theia is up

First test is always fails in CI because it takes ~30 seconds to Theia be
ready. Now it is ~ 3-4 seconds.

Signed-off-by: Maryna Nalbandian <maryna.nalbandian@broadcom.com>

* refactor: Delete unused plugin properties #23

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* fix: Avoid many error messages for copybook downloading #384

The middleware process two calls: resolve URI and download copybook.
The server synchronously resolves URI copybooks, not in the server cache
during document analysis. After the scan, the server sends one call to
middleware with a list of copybooks to download.
DoneAnalysisEvent was added to the databus.

Closes #384

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* fix: unexpected Java 8 expected error message #333 (#396)

fix: unexpected Java 8 expected error message #333

* fix: Fix representation of settings.json in Theia #393

Signed-off-by: Azat Satklichov <azat.satklichov@broadcom.com>

* refactor: Simplify UI for copybook management #384

* refactor: Remove async popup to ask user to select profile #384

* refactor: Remove UI components for handling resolution of copybooks from MF #384 

* refactor: update quickfix open settings action with reference to settings.json #382

* refactor: Define API to resolve profile from settings or document with unit tests #382

* refactor: Consume new API in CopybookURI to use new profile API #382

* refactor: Rename Fetch copybook command in Resolve Copybook Command #382

* fix: Avoid many error messages for copybook downloading #384

Doing existing profile check once for all list of downloading copybooks.
Not for each copybook individually.

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* fix: Remove popup message, track event in log file #318

* refactor: Change settings paths on the server side #393

* refactor: Add watchers also to folders #395

* test: Fix types of asserted events

* Doc: add compatibility section (#407)

* build: Remove unused dependency

* refactor: Fix sending download requests for nested copybooks #400

* Updates to Readme and Changelog for version 0.12.0 (#409)

* Update client readme file

* Update CHANGELOG.md

* Update CHANGELOG.md

* Remove compatibility section from client readme

* move to client changelog

* Update CHANGELOG.md

* Update CHANGELOG.md

* remove dupes

* changes

* chore(release): 0.12.0-alpha.1

# [0.12.0-alpha.1](0.11.1...0.12.0-alpha.1) (2020-07-03)

### Bug Fixes

* Avoid many error messages for copybook downloading [#384](#384) ([8f3ab6f](8f3ab6f))
* Avoid many error messages for copybook downloading [#384](#384) ([2e7e394](2e7e394))
* Change log archive path pattern to relate on the user directory [#307](#307) ([9c6c882](9c6c882))
* Create a .gitignore file if it doesn't exist [#329](#329) ([40ca9f7](40ca9f7))
* err-log [#331](#331) ([d830593](d830593))
* Fix glob pattern for dynamic registration [#355](#355) ([7117683](7117683))
* Fix issue related to copybook with extension that were not recognized as valid URI GH-355 ([39169e2](39169e2)), closes [#355](#355)
* Fix issue with indirect overwrite settings conf for dsn paths ([1afe039](1afe039))
* Fix representation of settings.json in Theia [#393](#393) ([b4cd52b](b4cd52b))
* Hide 'no errors found' message GH-312 ([6f19c9b](6f19c9b)), closes [#312](#312)
* refactor on review [#331](#331) ([4e8e8af](4e8e8af))
* Remove popup message, track event in log file [#318](#318) ([ba33f88](ba33f88))
* unexpected Java 8 expected error message [#333](#333) ([#396](#396)) ([9c224a6](9c224a6))
* update activation event [#331](#331) ([ac65f46](ac65f46))
* Use sync APIs to create folder and write on file to avoid unexpected behavior ([17b8908](17b8908))

### Features

* Adjust the info message about missing copybooks [#391](#391) ([54a3386](54a3386))
* Fetch copybooks without .dep files GH-327 ([098f4bc](098f4bc)), closes [#327](#327)
* Inform user about wrong credentials and stop sending other MF requests ([0dc0548](0dc0548)), closes [#237](#237)
* Introduce dynamic registration for watchers GH-355 ([0358b95](0358b95)), closes [#355](#355)
* Retrieve local copybooks if exists GH-327 ([7d3a068](7d3a068)), closes [#327](#327)

Signed-off-by: semantic-release-bot <semantic-release-bot@martynus.net>

* chore(release): Switch to development version

Signed-off-by: semantic-release-bot <semantic-release-bot@martynus.net>

* ci: disable too many notifications from semantic-release tool

Disable adding comments to each PR about it is included into the
release.

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

* reverse to original version of this release

* ci: Disable changelog updating on release (#418)

Signed-off-by: Anton Grigorev <anton.grigorev@broadcom.com>

Co-authored-by: zacanbrcom <andrea.zaccaro@broadcom.com>
Co-authored-by: Filip Kroupa <filip.kroupa@broadcom.com>
Co-authored-by: Andrei Temnikov <andrei.temnikov@broadcom.com>
Co-authored-by: Andrei Temnikov <47776865+temanbrcom@users.noreply.github.com>
Co-authored-by: Filip Kroupa <54946415+filipkroupa@users.noreply.github.com>
Co-authored-by: grianbrcom <60617592+grianbrcom@users.noreply.github.com>
Co-authored-by: Anton Grigorev <anton.grigorev@broadcom.com>
Co-authored-by: as892333 <azat.satklichov@broadcom.com>
Co-authored-by: Zeibura Kathau <zeibura.kathau@broadcom.com>
Co-authored-by: Iurii Shchekochikhin <iurii.shchekochikhin@broadcom.com>
Co-authored-by: Maryna Nalbandian <maryna.nalbandian@broadcom.com>
Co-authored-by: DStatWriter <Daniel.Statham@broadcom.com>
Co-authored-by: Azat Satklichov <63234298+asatklichov@users.noreply.github.com>
Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net>
asatklichov referenced this issue in asatklichov/che-che4z-lsp-for-cobol Jul 16, 2020
Signed-off-by: Azat Satklichov <azat.satklichov@broadcom.com>
@zimlu02 zimlu02 added this to the 0.16.0 milestone Oct 9, 2020
@zimlu02 zimlu02 added this to To do in Project board via automation Oct 9, 2020
temanbrcom added a commit that referenced this issue Oct 9, 2020
Change old CA package names to Broadcom ones to keep one vendor name for
all the classes in the project. Drop unnecessary packages to simplify
the project strucuture.
temanbrcom added a commit that referenced this issue Oct 12, 2020
Project board automation moved this from To do to Done / Ready for release Oct 13, 2020
temanbrcom added a commit that referenced this issue Oct 13, 2020
asatklichov pushed a commit that referenced this issue Jan 12, 2021
Add TestSqlAssociateLocatorsStatement, TestSqlCloseStatement, TestSql…
@zimlu02 zimlu02 moved this from Done / Ready for release to Released in Project board Sep 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation good first issue Good for newcomers new feature New feature or request Rally tracked in Rally
Projects
Project board
  
Released
Development

Successfully merging a pull request may close this issue.

2 participants