[ https://issues.apache.org/jira/browse/STREAMS-344?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15809574#comment-15809574 ]
ASF GitHub Bot commented on STREAMS-344: ---------------------------------------- Github user smarthi commented on a diff in the pull request: https://github.com/apache/incubator-streams/pull/348#discussion_r95082122 --- 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 -- Replace by Objects.requireNotNull() > 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)