2017-07-25 19:10:31 +08:00
|
|
|
/*
|
|
|
|
|
* Copyright 2017 HugeGraph Authors
|
|
|
|
|
*
|
|
|
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
|
|
|
* contributor license agreements. See the NOTICE file distributed with this
|
|
|
|
|
* work for additional information regarding copyright ownership. The ASF
|
|
|
|
|
* licenses this file to You under the Apache License, Version 2.0 (the
|
|
|
|
|
* "License"); you may not use this file except in compliance with the License.
|
|
|
|
|
* You may obtain a copy of the License at
|
|
|
|
|
*
|
|
|
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
*
|
|
|
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
|
|
|
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
|
|
|
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
2017-08-16 16:13:20 +08:00
|
|
|
* License for the specific language governing permissions and limitations
|
|
|
|
|
* under the License.
|
2017-07-25 19:10:31 +08:00
|
|
|
*/
|
2017-08-17 16:26:01 +08:00
|
|
|
|
2017-05-17 21:16:40 +08:00
|
|
|
package com.baidu.hugegraph.api;
|
|
|
|
|
|
2017-05-18 16:29:08 +08:00
|
|
|
import java.util.Map;
|
|
|
|
|
|
2017-05-17 21:16:40 +08:00
|
|
|
import javax.ws.rs.NotFoundException;
|
2017-08-28 21:18:53 +08:00
|
|
|
import javax.ws.rs.core.MediaType;
|
2017-05-17 21:16:40 +08:00
|
|
|
|
|
|
|
|
import org.apache.tinkerpop.gremlin.structure.Graph;
|
|
|
|
|
|
|
|
|
|
import com.baidu.hugegraph.core.GraphManager;
|
|
|
|
|
|
|
|
|
|
public class API {
|
|
|
|
|
|
2017-08-31 19:42:18 +08:00
|
|
|
public static final String CHARSET = "UTF-8";
|
|
|
|
|
|
2017-08-28 21:18:53 +08:00
|
|
|
public static final String APPLICATION_JSON = MediaType.APPLICATION_JSON;
|
2017-08-31 19:42:18 +08:00
|
|
|
public static final String APPLICATION_JSON_WITH_CHARSET =
|
|
|
|
|
APPLICATION_JSON + ";charset=" + CHARSET;;
|
2017-08-28 21:18:53 +08:00
|
|
|
|
2017-10-26 13:13:31 +08:00
|
|
|
public static final String ACTION_APPEND = "append";
|
|
|
|
|
public static final String ACTION_ELIMINATE = "eliminate";
|
|
|
|
|
|
2017-05-17 21:16:40 +08:00
|
|
|
public static Graph graph(GraphManager manager, String graph) {
|
|
|
|
|
Graph g = manager.graph(graph);
|
|
|
|
|
if (g == null) {
|
2017-07-11 16:05:46 +08:00
|
|
|
String msg = String.format("Not found graph '%s'", graph);
|
2017-05-17 21:16:40 +08:00
|
|
|
throw new NotFoundException(msg);
|
|
|
|
|
}
|
|
|
|
|
return g;
|
|
|
|
|
}
|
2017-05-18 16:29:08 +08:00
|
|
|
|
2017-05-19 21:21:01 +08:00
|
|
|
public static Object[] properties(Map<String, Object> properties) {
|
2017-05-18 16:29:08 +08:00
|
|
|
Object[] list = new Object[properties.size() * 2];
|
|
|
|
|
int i = 0;
|
2017-05-19 21:21:01 +08:00
|
|
|
for (Map.Entry<String, Object> prop : properties.entrySet()) {
|
2017-05-18 16:29:08 +08:00
|
|
|
list[i++] = prop.getKey();
|
|
|
|
|
list[i++] = prop.getValue();
|
|
|
|
|
}
|
|
|
|
|
return list;
|
|
|
|
|
}
|
2017-05-17 21:16:40 +08:00
|
|
|
}
|