view src/begin/MakeNode.java @ 8:d8d0855bcdfd draft

add CharReader.java , WikiLinkParser.java
author one
date Wed, 22 Aug 2012 01:44:26 +0900
parents 86924c16b4df
children bf7863a55cd6
line wrap: on
line source

package begin;

import java.net.URI;

import javax.ws.rs.core.MediaType;

import org.json.simple.JSONObject;

import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.ClientResponse;
import com.sun.jersey.api.client.WebResource;

public class MakeNode {
	final static String SERVER_ROOT_URI = "http://localhost:7474";
	final static String nodeEntryPointUri = "http://localhost:7474/db/data/node";
	
	public static URI createNode() {
		WebResource resource = Client.create().resource(nodeEntryPointUri);
		ClientResponse response = resource.accept(MediaType.APPLICATION_JSON).post(ClientResponse.class);
			System.out.println(String.format(
				"POST to [%s], status code [%d], location header [%s]",
				nodeEntryPointUri, response.getStatus(), response.getLocation()
						.toString()));
		return response.getLocation();
	}

	public static ClientResponse getNode(String nodeUri) {
		WebResource resource = Client.create().resource(nodeUri);
		ClientResponse response = resource.accept(MediaType.APPLICATION_JSON).get(ClientResponse.class);
		System.out.println(String.format("GET on [%s], status code [%d]",nodeUri, response.getStatus() ));
		return response;
	}

	public static void setProperty(String uri,String propertyName,String propertyValue) {
		String propertyUri = uri + "/properties/" + propertyName;
		WebResource resource = Client.create().resource(propertyUri); // http://localhost:7474/db/data/node/(node_id)/properties/(property_name)
		ClientResponse response = resource.accept(MediaType.APPLICATION_JSON)
				.type(MediaType.APPLICATION_JSON)
				.entity(toJsonStringLiteral(propertyValue))
				.put(ClientResponse.class);
		System.out.println(String.format("PUT to [%s], status code [%d]",propertyUri, response.getStatus()));
	}

	public static void addProperty(URI nodeUri, String propertyName,
			String propertyValue) {
		setProperty(nodeUri.toString(), propertyName, propertyValue);
	}

	private static String toJsonStringLiteral(String str) {
		return "\"" + str + "\"";
	}

	public static void createRelationship(String uri1, String uri2, String typeValue) {
		String relationshipUri = uri1 + "/relationships";
		WebResource resource = Client.create().resource(relationshipUri);
		JSONObject obj = new JSONObject();
		obj.put("to",uri2);
		obj.put("type", typeValue);

		ClientResponse response = resource.accept(MediaType.APPLICATION_JSON).type(MediaType.APPLICATION_JSON)
				.entity(obj.toString())
				.post(ClientResponse.class);

		System.out.println(String.format("POST to [%s], status code [%d]",relationshipUri , response.getStatus()));
	}
	
	public static void main(String[] args) {

		final String uri1 = "http://localhost:7474/db/data/node/1"; 
		final String uri2 = "http://localhost:7474/db/data/node/2"; 
		
		getNode(uri1);
		getNode(uri2);
		createRelationship(uri1, uri2, "RELATED_TO");

		
		
/*
		URI firstNode = createNode();
		addProperty(firstNode, "name", "Joe Strummer");
*/
/*
		setProperty(uri1, "name", "Jason Kidd");
		setProperty(uri2, "name", "Magic");
*/		

	}

	public static void testCreateNodeWithProperty() {
		WebResource resource = Client.create().resource(nodeEntryPointUri);
		ClientResponse response = resource.accept(MediaType.APPLICATION_JSON)
				.type(MediaType.APPLICATION_JSON).entity("{ \"foo\" : \"hogehoge\" }"/* Empty Node */)
				.post(ClientResponse.class);
			System.out.println(String.format(
				"POST to [%s], status code [%d], location header [%s]",
				nodeEntryPointUri, response.getStatus(), response.getLocation()
						.toString()));
	}
	
	
	
	
}