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

Added JSON-RPC back-end to Project API and removed deprecated VFS classes #7380

Merged
merged 63 commits into from
Nov 20, 2017

Conversation

dkuleshov
Copy link

@dkuleshov dkuleshov commented Nov 15, 2017

Original issue: #6122

JSON-RPC project API back-end

Added new JSON-RPC back-end and reworked components according to #6219. Back-end is configured by this class: org.eclipse.che.api.project.server.ProjectJsonRpcServiceConfigurator

Get project

Request example:

{  
   "jsonrpc":"2.0",
   "id":"0",
   "method":"project/get",
   "params":{  
      "wsPath":"/ws/path"
   }
}

Response example

{  
   "jsonrpc":"2.0",
   "id":"0",
   "result":{  
      "projectConfigDto":{  

      }
   }
}

Create project

Request example:

{  
   "jsonrpc":"2.0",
   "id":"0",
   "method":"project/create",
   "params":{  
      "wsPath":"/ws/path",
      "projectConfigDto":{  

      }
   }
}

Response example

{  
   "jsonrpc":"2.0",
   "id":"0",
   "result":{  
      "projectConfigDto":{  

      }
   }
}

Update project

Request example:

{  
   "jsonrpc":"2.0",
   "id":"0",
   "method":"project/update",
   "params":{  
      "wsPath":"/ws/path",
      "projectConfigDto":{  

      }
   }
}

Response example

{  
   "jsonrpc":"2.0",
   "id":"0",
   "result":{  
      "projectConfigDto":{  

      }
   }
}

Delete project

Request example:

{  
   "jsonrpc":"2.0",
   "id":"0",
   "method":"project/delete",
   "params":{  
      "wsPath":"/ws/path"
   }
}

Response example

{  
   "jsonrpc":"2.0",
   "id":"0",
   "result":{  
      "projectConfigDto":{  

      }
   }
}

Recognize project

Request example:

{  
   "jsonrpc":"2.0",
   "id":"0",
   "method":"project/recognize",
   "params":{  
      "wsPath":"/ws/path"
   }
}

Response example

{  
   "jsonrpc":"2.0",
   "id":"0",
   "result":[  
      {  
         "type":"type1",
         "matched":true
      },
      {  
         "type":"type2",
         "matched":false
      }
   ]
}

Verify project

Request example:

{  
   "jsonrpc":"2.0",
   "id":"0",
   "method":"project/verify",
   "params":{  
      "wsPath":"/ws/path",
      "type":"type1"
   }
}

Response example

{  
   "jsonrpc":"2.0",
   "id":"0",
   "result": { 
      "sourceEstimation":{ 
         "type":"type1",
         "matched":true
      }
   }
}

Imort project

Request example:

{  
   "jsonrpc":"2.0",
   "id":"0",
   "method":"project/import",
   "params":{  
      "wsPath":"/ws/path",
      "sourceStorageDto": {

      }
   }
}

Response example

{  
   "jsonrpc":"2.0",
   "id":"0",
   "result": { 
      "projectConfigDto":{  

      }
   }
}

Changes to Project Service:

org.eclipse.che.api.project.server.ProjectService

  • Refactoring and decomposition
  • Reworked some places according to new FS API

Changes to Project Manager:

org.eclipse.che.api.project.server.ProjectManager

  • Refactoring and decomposition
  • Reworked package structure
  • Split Guice configuration into several classes
  • Reworked architecture (where it is possible) to comply DI pattern

Changes to VFS

org.eclipse.che.api.fs.server.FsManager

  • Removed all deprecated VFS related classes
  • Rearranged code accordingly
  • Provided new FS API where needed

Changes to Search

org.eclipse.che.api.search.server.Searcher

  • Reworked index classes that depend on VFS

Changes to Guice configurations

  • File system related (former VFS) stuff moved to a separated module: org.eclipse.che.api.fs.server.FsApiModule
  • File watcher bindings moved to a separate module: org.eclipse.che.api.watcher.server.FileWatcherApiModule
  • Created specific module for Searcher configuration:
    org.eclipse.che.api.search.server.SearchApiModule
  • Project API module cleaned of previously mentioned configurations along with new bindings for ProjectManager, ProjectQualifier and ProjectSynchronizer interfaces

What is yet to be done:

  • Pass selenium tests
  • Rework/add unit tests
  • Rework/add java docs

Dmytro Kulieshov and others added 30 commits October 19, 2017 15:48
Signed-off-by: Dmytro Kulieshov <dkuliesh@redhat.com>
Signed-off-by: Dmytro Kulieshov <dkuliesh@redhat.com>
…classes

Signed-off-by: Dmytro Kulieshov <dkuliesh@redhat.com>
Signed-off-by: Dmytro Kulieshov <dkuliesh@redhat.com>
Signed-off-by: Dmytro Kulieshov <dkuliesh@redhat.com>
Signed-off-by: Dmytro Kulieshov <dkuliesh@redhat.com>
Signed-off-by: Dmytro Kulieshov <dkuliesh@redhat.com>
Signed-off-by: Dmytro Kulieshov <dkuliesh@redhat.com>
Signed-off-by: Dmytro Kulieshov <dkuliesh@redhat.com>
Signed-off-by: Dmytro Kulieshov <dkuliesh@redhat.com>
Signed-off-by: Dmytro Kulieshov <dkuliesh@redhat.com>
Signed-off-by: Dmytro Kulieshov <dkuliesh@redhat.com>
Signed-off-by: Dmytro Kulieshov <dkuliesh@redhat.com>
Signed-off-by: Dmytro Kulieshov <dkuliesh@redhat.com>
Signed-off-by: Dmytro Kulieshov <dkuliesh@redhat.com>
Signed-off-by: Dmytro Kulieshov <dkuliesh@redhat.com>
Signed-off-by: Vitalii Parfonov <vparfonov@redhat.com>
Signed-off-by: Dmytro Kulieshov <dkuliesh@redhat.com>
Signed-off-by: Dmytro Kulieshov <dkuliesh@redhat.com>
Signed-off-by: Dmytro Kulieshov <dkuliesh@redhat.com>
Signed-off-by: Dmytro Kulieshov <dkuliesh@redhat.com>
Signed-off-by: Dmytro Kulieshov <dkuliesh@redhat.com>
Signed-off-by: Dmytro Kulieshov <dkuliesh@redhat.com>
Signed-off-by: Dmytro Kulieshov <dkuliesh@redhat.com>
Signed-off-by: Dmytro Kulieshov <dkuliesh@redhat.com>
Signed-off-by: Dmytro Kulieshov <dkuliesh@redhat.com>
@dkuleshov
Copy link
Author

I have no rights to reopen a PR, so I created a new one

@dkuleshov
Copy link
Author

ci-test

@dkuleshov dkuleshov requested review from svor, evidolob, RomanNikitenko and azatsarynnyy and removed request for evidolob November 16, 2017 09:22
Dmytro Kulieshov and others added 2 commits November 17, 2017 13:18
@codenvy-ci
Copy link

ci-test build report:
Build details
Test report
https://github.com/orgs/eclipse/teams/eclipse-che-qa please check this report.

@dkuleshov
Copy link
Author

ci-test

@codenvy-ci
Copy link

ci-test build report:
Build details
Test report
https://github.com/orgs/eclipse/teams/eclipse-che-qa please check this report.

@dkuleshov dkuleshov merged commit 0f635cf into che6 Nov 20, 2017
@dkuleshov dkuleshov deleted the che#6122 branch November 20, 2017 10:02
@benoitf benoitf removed the status/code-review This issue has a pull request posted for it and is awaiting code review completion by the community. label Nov 20, 2017
@benoitf benoitf added this to the 6.0.0-M2 milestone Nov 20, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement A feature request - must adhere to the feature request template.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

9 participants