[ 
https://issues.apache.org/jira/browse/IGNITE-7421?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16380043#comment-16380043
 ] 

Vladimir Ozerov commented on IGNITE-7421:
-----------------------------------------

[~kukushal], I did preliminary review. Please address the following issues:
1) I do not think it makes sense to have separate module. Instead, it is better 
to store client inside {{ignite-core}} because it would simplify project 
configuration from user side (one jar instead of two). We already did this for 
thin JDBC driver. 
2) Once code is moved to the core, please make sure to remove all duplicated 
classes (QueryEntity, QueryIndex, etc)
3) Please pay attention to our common project structure - public classes and 
interfaces are stored inside {{org.apache.ignite}} subpackages. Internal 
classes are stored inside {{org.apache.ignite.*internal*}} packages. The same 
should be done for thin client - {{org.apache.ignite.client}} for public stuff, 
{{org.apache.ignite.internal.processors.odbc.thin}} for internal stuff ("odbc" 
in package name is an artifact, we will rename it to "client" later).
4) Please make sure that you follow our code convention rules. E.g., we 
disallow wildcards in package declarations. Every class should be defined 
explicitly. 

> Thin client Java API - data grid API
> ------------------------------------
>
>                 Key: IGNITE-7421
>                 URL: https://issues.apache.org/jira/browse/IGNITE-7421
>             Project: Ignite
>          Issue Type: New Feature
>          Components: thin client
>            Reporter: Alexey Kukushkin
>            Assignee: Alexey Kukushkin
>            Priority: Major
>              Labels: data, java, thin
>
> Implement below Java bindings for the thin client protocol. The client 
> configuration must support failover and encryption.
> Cache
>      JCache (limited)
>          getName(): String
>          put(key, val)
>          get(key): V
>          getAll(keys: Set): Map
>          containsKey(key): boolean
>          getAndPut(key, val): V
>          getAndReplace(key, val): V
>          getAndRemove(key): V
>          putIfAbsent
>          replace(key, val)
>          replace(key, oldVal, newVal)
>          putAll
>          clear
>          remove(key)
>          remove(key, val)
>          removeAll()
>          removeAll(keys: Set)
>          getConfiguration(clazz): Configuration
>          close()
>      size(modes: CachePeekMode...)
>      query(qry: Query): QueryCursor
>      query(qry: SqlFieldsQuery): FieldsQueryCursor<List>
>      withKeepBinary(): IgniteCache
>  Ignite
>      cache(name: String)
>      cacheNames(): Collection
>      binary(): IgniteBinary
>      createCache(name): Cache
>      getOrCreateCache(name): Cache
>      destroyCache(name)
>  Ignition
>      startClient(:ClientConfiguration): Ignite
>  ClientConfiguration(port, host, binaryConfiguration, sslConfiguration,
>  etc...)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to