1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package com.ontotext.wsmo4j.parser.owl;
20
21 import java.io.IOException;
22 import java.io.Reader;
23 import java.io.StringReader;
24 import java.util.HashSet;
25 import java.util.List;
26 import java.util.Map;
27 import java.util.Set;
28
29 import org.wsmo.common.TopEntity;
30 import org.wsmo.common.exception.InvalidModelException;
31 import org.wsmo.factory.DataFactory;
32 import org.wsmo.factory.Factory;
33 import org.wsmo.factory.LogicalExpressionFactory;
34 import org.wsmo.factory.WsmoFactory;
35 import org.wsmo.wsml.Parser;
36 import org.wsmo.wsml.ParserException;
37
38
39
40
41
42
43
44
45
46
47
48 public class OWLParser implements Parser {
49
50 WsmoFactory _factory;
51 LogicalExpressionFactory _leFactory;
52 DataFactory _dataFactory;
53
54 public OWLParser(Map params) {
55 if (null == (_factory = (WsmoFactory)params.get(Factory.WSMO_FACTORY)))
56 _factory = Factory.createWsmoFactory(null);
57
58 if (null == (_leFactory = (LogicalExpressionFactory)params.get(Factory.LE_FACTORY)))
59 _leFactory = Factory.createLogicalExpressionFactory(null);
60
61 if (null == (_dataFactory = (DataFactory)params.get(Factory.DATA_FACTORY)))
62 _dataFactory = Factory.createDataFactory(null);
63
64 }
65
66
67
68 public TopEntity[] parse(Reader src) throws IOException, ParserException,
69 InvalidModelException {
70 try {
71 return new TopEntity[]{new WSMLFromOWL(_factory, _leFactory, _dataFactory).process(src, null)};
72 } catch (Exception e) {
73 throw new ParserException("on importing OWL", e);
74 }
75 }
76
77
78
79 public TopEntity[] parse(StringBuffer src) throws ParserException,
80 InvalidModelException {
81 StringReader r = new StringReader(src.toString());
82 try {
83 return parse(r);
84 }
85 catch (IOException e) {
86 throw new ParserException("IOException caught", e);
87 }
88 }
89
90
91
92 public TopEntity[] parse(Reader src, Map options) throws IOException, ParserException, InvalidModelException {
93
94 return parse(src);
95 }
96
97
98
99 public TopEntity[] parse(StringBuffer src, Map options) throws ParserException, InvalidModelException {
100
101 return parse(src);
102 }
103
104
105
106 public Set <String> listKeywords() {
107 return new HashSet <String>();
108 }
109
110
111
112
113
114 public List <Object> getWarnings() {
115 throw new UnsupportedOperationException("This method is not implemented for OWL parsing");
116 }
117
118
119
120
121
122 public List <Object> getErrors() {
123 throw new UnsupportedOperationException("This method is not implemented for OWL parsing");
124 }
125 }
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149