root/SPARQLBuilderWWW/src/java/org/biohackathon/SPARQLBuilder/OWL/Path.java @ 214

リビジョン 212, 3.6 KB (コミッタ: atsuko, 10 年 前)

パスリストAPIのJSON形式を変更

  • 属性 svn:mime-type の設定値 text/plain
行番号 
1package org.biohackathon.SPARQLBuilder.OWL;
2
3import java.util.List;
4
5import org.json.JSONArray;
6import org.json.JSONException;
7import org.json.JSONObject;
8
9/**
10 * 襍キ轤ケ縺ィ縺ェ繧九Μ繧ス繝シ繧ケ縺九i騾先ャ。逧�↓隍�焚繝ェ繝ウ繧ッ縺ァ邨らせ繝ェ繧ス繝シ繧ケ縺セ縺ァ謗・邯壹&繧後k荳€縺、縺ョ繝代せ繧定ィ倩ソー縺吶k
11 *
12 * @author Yamaguchi
13 * @since 28.01.2014
14 * @version 29.01.2014
15 */
16public class Path implements Comparable<Path>{
17
18        /**
19         * 繝代せ縺ョ襍キ轤ケ縺ィ縺ェ繧九け繝ゥ繧ケ縺ョURI
20         */
21        private String startClass;
22        private int width;
23
24        /**
25         * 繝代せ縺ョ襍キ轤ケ縺九i邨らせ縺ォ蜷代°縺」縺ヲ騾先ャ。逧�↓縺、縺ェ縺後k繧ッ繝ゥ繧ケ髢薙Μ繝ウ繧ッ縺ョ繝ェ繧ケ繝�
26         */
27        private List<ClassLink> classLinks;
28
29        public JSONObject toJSON() {
30                JSONObject obj = new JSONObject();
31                try {
32                        obj.put("startClassURI", startClass);
33                obj.put("width", width);
34                if (classLinks != null && classLinks.size() != 0) {
35                        JSONArray array = new JSONArray();
36                        for (int i = 0; i < classLinks.size(); i++) {
37                                array.put(classLinks.get(i).toJSON());
38                        }
39                        obj.put("classLinks", array);
40                }
41                } catch (JSONException e) {
42                        // TODO Auto-generated catch block
43                        e.printStackTrace();
44                        System.out.println(e.toString());
45                }
46                return obj;
47        }
48       
49        public String toJSONString(){
50                return toJSON().toString();
51        }
52
53        public String toJSONString2(){
54                String json_str="";
55                json_str+="{\"startClassURI\":\""+ startClass+"\",";
56                //json_str+="\"width\":"+width+",";
57               
58                if (classLinks != null && classLinks.size() != 0) {
59                        json_str+="\"classLinks\":[";
60                       
61                        JSONObject[] classLinkObjs = new JSONObject[classLinks.size()];
62                        for (int i = 0; i < classLinks.size(); i++) {
63                                if(i>0){json_str += "," ;}
64                                json_str+= classLinks.get(i).toJSONString2();
65                        }
66                        json_str+="]";
67                }
68                json_str+="}";
69               
70                return json_str;
71        }
72
73        public String toJSONString3(SClass[] classes){
74                String json_str="";
75                //json_str+="{\"startClassURI\":\""+ startClass+"\",";
76                //json_str+="\"startClassLabel\":\""+QueryPathGenerator.getClassLabelfromList(startClass, classes)+"\",";
77                json_str+="{\"startClass\":\""+ startClass+"\",";
78                json_str+="\"label\":\""+QueryPathGenerator.getClassLabelfromList(startClass, classes)+"\",";
79                if (classLinks != null && classLinks.size() != 0) {
80                        json_str+="\"classLinks\":[";
81                       
82                        JSONObject[] classLinkObjs = new JSONObject[classLinks.size()];
83                        for (int i = 0; i < classLinks.size(); i++) {
84                                if(i>0){json_str += "," ;}
85                                json_str+= classLinks.get(i).toJSONString3(classes);
86                        }
87                        json_str+="]";
88                }
89                json_str+="}";
90               
91                return json_str;
92        }
93
94       
95        public String getStartClass() {
96                return startClass;
97        }
98
99        /*
100         * public String[] getProperties(){ return properties; }
101         *
102         * public String[] getObjectClasses(){ return objectClasses; }
103         *
104         * public Direction[] getDirections(){ return directions; }
105         */
106        public List<ClassLink> getClassLinks() {
107                return classLinks;
108        }
109
110        public int getWidth() {
111                return width;
112        }
113
114        public Path() {
115        }
116
117        public Path(String startClass, List<ClassLink> classLinks, int width) {
118                this.startClass = startClass;
119                this.classLinks = classLinks;
120                this.width = width;
121        }
122
123        public void setStartClass(String startClass) {
124                this.startClass = startClass;
125        }
126
127        public void setClassLinks(List<ClassLink> classLinks) {
128                this.classLinks = classLinks;
129        }
130
131        public void setWidth(int width) {
132                this.width = width;
133        }
134
135    @Override
136    public int compareTo(Path path) {
137        return this.width - path.getWidth();
138        //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
139    }
140
141}
Note: リポジトリブラウザについてのヘルプは TracBrowser を参照してください。