gvsig-tools / org.gvsig.tools / library / trunk / org.gvsig.tools / org.gvsig.tools.util / org.gvsig.tools.util.api / src / main / java / org / gvsig / simplehttpservice / commands / Help.java @ 2213
History | View | Annotate | Download (2.47 KB)
1 |
|
---|---|
2 |
package org.gvsig.simplehttpservice.commands; |
3 |
|
4 |
import java.util.Map; |
5 |
import javax.json.Json; |
6 |
import javax.json.JsonArrayBuilder; |
7 |
import javax.json.JsonObject; |
8 |
import javax.json.JsonObjectBuilder; |
9 |
import org.apache.commons.lang3.StringUtils; |
10 |
import org.gvsig.htmlbuilder.HTMLBuilder; |
11 |
import org.gvsig.htmlbuilder.HTMLBuilder.HTMLComplexElement; |
12 |
import org.gvsig.simplehttpservice.SimpleServer; |
13 |
import org.gvsig.tools.util.ToolsUtilLocator; |
14 |
|
15 |
/**
|
16 |
*
|
17 |
* @author gvSIG Team
|
18 |
*/
|
19 |
public class Help extends AbstractCommand { |
20 |
|
21 |
public Help(CommandFactory factory, SimpleServer server) {
|
22 |
super(factory,server);
|
23 |
} |
24 |
|
25 |
|
26 |
@Override
|
27 |
public Object call(int argc, String[] args) { |
28 |
Map<String, Command> commands = this.getServer().getCommands(); |
29 |
if( argc>0 && StringUtils.equalsIgnoreCase("asjson", args[1]) ) { |
30 |
JsonArrayBuilder builder = Json.createArrayBuilder(); |
31 |
for (Command command : commands.values()) {
|
32 |
builder.add(this.getCommandDescription(command));
|
33 |
} |
34 |
return builder.toString();
|
35 |
} else {
|
36 |
HTMLBuilder builder = ToolsUtilLocator.getToolsUtilManager().createHTMLBuilder(); |
37 |
HTMLComplexElement table = builder.table( |
38 |
0,1,4, |
39 |
builder.thead( |
40 |
builder.tr( |
41 |
builder.th("Return type"),
|
42 |
builder.th("Name"),
|
43 |
builder.th("Description")
|
44 |
) |
45 |
) |
46 |
); |
47 |
|
48 |
for (Command command : commands.values()) {
|
49 |
HTMLComplexElement tr = builder.tr(HTMLBuilder.valign_top).contents( |
50 |
builder.td(command.getMimeType()), |
51 |
builder.td(command.getName()), |
52 |
builder.td( |
53 |
builder.plainWithNl(command.getDescription()+"\n\n")
|
54 |
) |
55 |
); |
56 |
table.contents(tr); |
57 |
} |
58 |
return table.toHTML();
|
59 |
} |
60 |
} |
61 |
|
62 |
public JsonObject getCommandDescription(Command command) {
|
63 |
JsonObjectBuilder builder = Json.createObjectBuilder(); |
64 |
builder.add("Name", command.getName());
|
65 |
builder.add("NumArgs", command.getNumArgs().toString());
|
66 |
builder.add("MimeType", StringUtils.defaultString(command.getMimeType()));
|
67 |
builder.add("Description", StringUtils.defaultString(command.getDescription()));
|
68 |
return builder.build();
|
69 |
} |
70 |
} |