Currently doing a typestate project and I am having problems with importing the List class. When I try to compile the class it throws an error in command line saying cannot find symbol and points to the List symbol. I was wondering how you fix this. It seems to work for String and Integer but not for List.
The java file is automatically create via another program that translates .scr files. In the scr file I use the following line :
type <java> "java.lang.List" from "rt.jar" as List;
Java file:
package demos.Redis;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.ServerSocket;
import java.net.UnknownHostException;
public class ClientRole {
private BufferedReader socketServerIn = null;
private PrintWriter socketServerOut = null;
public ClientRole(){
ServerSocket serverServer = null;
try {
serverServer = new ServerSocket(20000);
}
catch(IOException e) {
System.out.println("Unable to listen on ports");
System.exit(+1);
}
Socket socketServer = null;
try {
System.out.println("Accepting...");
socketServer = serverServer.accept();
System.out.println("Server accepted");
}
catch(IOException e) {
System.out.println("Accept failed");
System.exit(+1);
}
try {
socketServerIn = new BufferedReader(new InputStreamReader(socketServer.getInputStream()));
socketServerOut = new PrintWriter(socketServer.getOutputStream(), true);
}
catch(IOException e) {
System.out.println("Read failed");
System.exit(+1);
}
}
public void send_WATCHListToServer(List payload) { HERE IS WHERE IT BREAKS!!
this.socketServerOut.println(payload);
}
public Choice1 send_Choice1LabelToServer(String payload) {
this.socketServerOut.println(payload);
int intLabelChoice1 = Integer.parseInt(payload);
switch(intLabelChoice1){
case 1:
return new Choice1(Choice1.GET);
case 2:
return new Choice1(Choice1.WATCH);
case 3:
default:
return new Choice1(Choice1.MULTI);
}
}
public void send_GETStringToServer(String payload) {
this.socketServerOut.println(payload);
}
public String receive_GET_respStringFromServer() {
String line = "";
try {
line = this.socketServerIn.readLine();
}
catch(IOException e) {
System.out.println("Input/Outpur error.");
System.exit(+1);
}
return line;
}
public void send_MULTIStringToServer(String payload) {
this.socketServerOut.println(payload);
}
public Choice2 send_Choice2LabelToServer(String payload) {
this.socketServerOut.println(payload);
int intLabelChoice2 = Integer.parseInt(payload);
switch(intLabelChoice2){
case 1:
return new Choice2(Choice2.SET);
case 2:
return new Choice2(Choice2.DISCARD);
case 3:
default:
return new Choice2(Choice2.EXEC);
}
}
public void send_SETStringToServer(String payload) {
this.socketServerOut.println(payload);
}
public void send_DISCARDStringToServer(String payload) {
this.socketServerOut.println(payload);
}
public void send_EXECStringToServer(String payload) {
this.socketServerOut.println(payload);
}
public Choice3 receive_Choice3LabelFromServer() {
String stringLabelChoice3 = "";
try {
stringLabelChoice3 = this.socketServerIn.readLine();
}
catch(IOException e) {
System.out.println("Input/Outpur error, unable to get label");
System.exit(+1);
}
int intLabelChoice3 = Integer.parseInt(stringLabelChoice3);
switch(intLabelChoice3){
case 1:
return new Choice3(Choice3.EXEC_OK);
case 2:
default:
return new Choice3(Choice3.EXEC_FAIL);
}
}
public String receive_EXEC_okStringFromServer() {
String line = "";
try {
line = this.socketServerIn.readLine();
}
catch(IOException e) {
System.out.println("Input/Outpur error.");
System.exit(+1);
}
return line;
}
public String receive_EXEC_failStringFromServer() {
String line = "";
try {
line = this.socketServerIn.readLine();
}
catch(IOException e) {
System.out.println("Input/Outpur error.");
System.exit(+1);
}
return line;
}
}
Command Line
java.util.Listinstead ofjava.lang.Listperhaps?