EmbASP-Java
SPDDesktopService.java
1 package it.unical.mat.embasp.specializations.solver_planning_domains.desktop;
2 
3 import java.io.BufferedReader;
4 import java.io.FileReader;
5 import java.io.IOException;
6 import java.util.List;
7 
8 import it.unical.mat.embasp.base.InputProgram;
9 import it.unical.mat.embasp.base.OptionDescriptor;
10 import it.unical.mat.embasp.base.Output;
11 import it.unical.mat.embasp.platforms.desktop.DesktopService;
12 import it.unical.mat.embasp.specializations.solver_planning_domains.SPDPlan;
13 import it.unical.mat.embasp.specializations.solver_planning_domains.SPDUtility;
14 
15 public class SPDDesktopService extends DesktopService {
16 
17  private final SPDUtility spdu;
18 
19  public SPDDesktopService() {
20  super("");
21  spdu = new SPDUtility() {
22  @Override
23  protected String readFile(final String s) throws IOException {
24 
25  String everything = "";
26  BufferedReader br = null;
27  try {
28  br = new BufferedReader(new FileReader(s));
29  final StringBuilder sb = new StringBuilder();
30  String line = br.readLine();
31 
32  while (line != null) {
33  sb.append(line);
34  sb.append(System.lineSeparator());
35  line = br.readLine();
36  }
37  everything = sb.toString();
38  } finally {
39  if (br != null)
40  br.close();
41  }
42  return everything;
43  }
44  };
45  }
46 
47  @Override
48  protected Output getOutput(final String output, final String error) {
49  return new SPDPlan(output, error);
50  }
51 
52  @Override
53  public Output startSync(final List<InputProgram> programs, final List<OptionDescriptor> options) {
54 
55  if (programs.isEmpty())
56  return getOutput("", "PDDLInputProgram not defined");
57 
58  try {
59  return getOutput(spdu.postJsonToURL(spdu.createJson(programs)), "");
60  } catch (final Exception e) {
61  return getOutput("", "Error : " + e.getMessage());
62  }
63  }
64 
65 }
it.unical.mat.embasp.platforms.desktop.DesktopService
Definition: DesktopService.java:22
it.unical.mat.embasp.specializations.solver_planning_domains.desktop.SPDDesktopService.startSync
Output startSync(final List< InputProgram > programs, final List< OptionDescriptor > options)
Definition: SPDDesktopService.java:53
it.unical.mat.embasp.specializations.solver_planning_domains.desktop.SPDDesktopService
Definition: SPDDesktopService.java:15
it.unical.mat.embasp.base.Output
Definition: Output.java:4
it.unical.mat.embasp.specializations.solver_planning_domains.SPDUtility
Definition: SPDUtility.java:14
it.unical.mat.embasp.specializations.solver_planning_domains.SPDPlan
Definition: SPDPlan.java:6