EmbASP-Java
SPDAndroidService.java
1 package it.unical.mat.embasp.specializations.solver_planning_domains.android;
2 
3 import android.content.Context;
4 
5 import java.io.BufferedReader;
6 import java.io.FileReader;
7 import java.io.IOException;
8 import java.util.List;
9 
10 import it.unical.mat.embasp.base.Callback;
11 import it.unical.mat.embasp.base.InputProgram;
12 import it.unical.mat.embasp.base.OptionDescriptor;
13 import it.unical.mat.embasp.base.Output;
14 import it.unical.mat.embasp.platforms.android.AndroidService;
15 import it.unical.mat.embasp.platforms.android.AndroidUtility;
16 import it.unical.mat.embasp.specializations.solver_planning_domains.SPDPlan;
17 import it.unical.mat.embasp.specializations.solver_planning_domains.SPDUtility;
18 
19 public class SPDAndroidService extends AndroidService {
20 
21 
22 
23  private final SPDUtility spdu;
24 
25  public SPDAndroidService(final Context c) {
26  super(c);
27  spdu = new SPDUtility() {
28  @Override
29  protected String readFile(String s) throws IOException {
30  return AndroidUtility.getRawTextFileFromName(c,s);
31  }
32  };
33  }
34 
35  protected Output getOutput(final String output, final String error) {
36  return new SPDPlan(output, error);
37  }
38 
39  @Override
40  public void startAsync(final Callback callback, final List<InputProgram> programs,final List<OptionDescriptor> options) {
41 
42  new Thread() {
43  @Override
44  public void run() {
45  if (programs.isEmpty())
46  callback.callback(getOutput("", "PDDLInputProgram not defined"));
47  try {
48  callback.callback(getOutput(spdu.postJsonToURL(spdu.createJson(programs).toString()), ""));
49  } catch (final Exception e) {
50  callback.callback(getOutput("", "Error : " + e.getMessage()));
51  }
52  }
53  }.start();
54 
55  }
56 
57 }
it.unical.mat.embasp.base.Callback
Definition: Callback.java:8
it.unical.mat.embasp.specializations.solver_planning_domains.android.SPDAndroidService.startAsync
void startAsync(final Callback callback, final List< InputProgram > programs, final List< OptionDescriptor > options)
Definition: SPDAndroidService.java:40
it.unical.mat.embasp.base.Output
Definition: Output.java:4
it.unical.mat.embasp.specializations.solver_planning_domains.android.SPDAndroidService
Definition: SPDAndroidService.java:19
it.unical.mat.embasp.specializations.solver_planning_domains.SPDUtility
Definition: SPDUtility.java:14
it.unical.mat.embasp.platforms.android.AndroidService
Definition: AndroidService.java:13
it.unical.mat.embasp.specializations.solver_planning_domains.SPDPlan
Definition: SPDPlan.java:6
it.unical.mat.embasp.platforms.android.AndroidUtility
Definition: AndroidUtility.java:18