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

ASF GitHub Bot commented on STREAMS-344:
----------------------------------------

Github user steveblackmon commented on a diff in the pull request:

    https://github.com/apache/incubator-streams/pull/348#discussion_r95085434
  
    --- Diff: 
streams-contrib/streams-persist-neo4j/src/main/java/org/apache/streams/neo4j/http/Neo4jHttpClient.java
 ---
    @@ -0,0 +1,84 @@
    +package org.apache.streams.neo4j.http;
    +
    +import org.apache.streams.neo4j.Neo4jConfiguration;
    +
    +import com.google.common.base.Preconditions;
    +
    +import org.apache.http.client.HttpClient;
    +import org.slf4j.Logger;
    +import org.slf4j.LoggerFactory;
    +
    +import java.util.Map;
    +import java.util.concurrent.ConcurrentHashMap;
    +
    +public class Neo4jHttpClient {
    +
    +    private static final Logger LOGGER = LoggerFactory
    +            .getLogger(Neo4jHttpClient.class);
    +
    +    public Neo4jConfiguration config;
    +
    +    private HttpClient client;
    +
    +    private Neo4jHttpClient(Neo4jConfiguration neo4jConfiguration) {
    +        this.config = neo4jConfiguration;
    +        try {
    +            this.start();
    +        } catch (Exception e) {
    +            e.printStackTrace();
    +            this.client = null;
    +        }
    +    }
    +
    +    private static Map<Neo4jConfiguration, Neo4jHttpClient> INSTANCE_MAP = 
new ConcurrentHashMap<Neo4jConfiguration, Neo4jHttpClient>();
    +
    +    public static Neo4jHttpClient getInstance(Neo4jConfiguration 
neo4jConfiguration) {
    +        if (    INSTANCE_MAP != null &&
    +                INSTANCE_MAP.size() > 0 &&
    +                INSTANCE_MAP.containsKey(neo4jConfiguration)
    +                )
    +            return INSTANCE_MAP.get(neo4jConfiguration);
    +        else {
    +            Neo4jHttpClient instance = new 
Neo4jHttpClient(neo4jConfiguration);
    +            if( instance != null && instance.client != null ) {
    +                INSTANCE_MAP.put(neo4jConfiguration, instance);
    +                return instance;
    +            } else {
    +                return null;
    +            }
    +        }
    +    }
    +
    +    public void start() throws Exception {
    +
    +        Preconditions.checkNotNull(config);
    +        Preconditions.checkArgument(
    +                config.getScheme().startsWith("http")
    +        );
    +
    +        LOGGER.info("Neo4jConfiguration.start {}", config);
    +
    +        Preconditions.checkNotNull(client);
    --- End diff --
    
    ✔️ 


> Support binary protocol in streams-persist-graph
> ------------------------------------------------
>
>                 Key: STREAMS-344
>                 URL: https://issues.apache.org/jira/browse/STREAMS-344
>             Project: Streams
>          Issue Type: Improvement
>          Components: Persist
>            Reporter: Steve Blackmon
>            Assignee: Steve Blackmon
>             Fix For: 0.5
>
>
> Support batch writes in GraphHttpPersistWriter.
> Using a separate HTTP Post for every datum is inefficient.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to