Skip to content

Commit

Permalink
working now, added seperate classes for sending data
Browse files Browse the repository at this point in the history
  • Loading branch information
barrettkwise committed Mar 14, 2022
1 parent 79c4d2d commit 0ee899a
Show file tree
Hide file tree
Showing 12 changed files with 162 additions and 58 deletions.
Binary file modified javacode/chatinterface.class
Binary file not shown.
73 changes: 30 additions & 43 deletions javacode/chatinterface.java
Original file line number Diff line number Diff line change
@@ -1,20 +1,17 @@
package javacode;
import java.io.IOException;
import java.util.Scanner;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.util.ArrayList;

public class chatinterface {
public static void main(String args[]) throws IOException {
boolean flag = true;
Scanner input = new Scanner(System.in);

//intro and getting lang
System.out.println("Welcome to TranslateChat!");
System.out.println("This application allows for you to practice speaking in any language.");

//setting lang1 and lang2
String x = "en";
System.out.println("Choose the language you want to practice: ");
Expand All @@ -25,29 +22,26 @@ public static void main(String args[]) throws IOException {
y = lang.getLang();

//starting python script
System.out.println("Starting chatbot...");
String path = "E:/school/all programming files/translatechatbot/python/chatbot.exe";
ProcessBuilder pb = new ProcessBuilder(path);
//below statement starts script
Process p = pb.start();

//starting java server
InetAddress localhost = InetAddress.getByName("localhost");
Socket s = new Socket(localhost, 9000);
OutputStreamWriter out = new OutputStreamWriter(s.getOutputStream());
BufferedReader in = new BufferedReader(new
InputStreamReader(s.getInputStream()));

//translating user input and sending
System.out.println("Starting chatbot...\n");

//main loop
do {
//need to start new instance of script
//after first cycle of loop
System.out.println("Enter: ");
String phrase = input.nextLine();
//starts script
String path = "E:/school/all programming files/translatechatbot/python/chatbot.exe";
ProcessBuilder pb = new ProcessBuilder(path);
//below statement starts script
Process p = pb.start();

System.out.println("Type 'quit' to exit.\nEnter: ");
String userString = input.nextLine();

if (userString.contains("quit")) {
break;
}

//phrases
if (phrase.contains(" ")) {
String [] phrasearray = phrase.split(" ");
else if (userString.contains(" ")) {
String [] phrasearray = userString.split(" ");
ArrayList <String> translatedphrase = new ArrayList <String> ();

//translating phrase
Expand All @@ -56,15 +50,13 @@ public static void main(String args[]) throws IOException {
String temp = translate.translate(y, x, i);
translatedphrase.add(temp);
}

//sending phrase
for (String j : translatedphrase) {
out.write(j + " ");
}
out.flush();
sendphrase phrase = new sendphrase(translatedphrase);
phrase.setPhrase(translatedphrase);

//reading reponse
String response = in.readLine();
//reading response
String response = phrase.getResult();
chattranslate translate = new chattranslate(x, y, response);
response = translate.translate(x, y, response);
System.out.println("Computer response: " + response);
Expand All @@ -73,23 +65,18 @@ public static void main(String args[]) throws IOException {
//words
else {
//translating and sending word
chattranslate translate = new chattranslate(y, x, phrase);
String translatedtext = translate.translate (y, x, phrase);
out.write(translatedtext);
out.flush();
chattranslate translate = new chattranslate(y, x, userString);
String translatedtext = translate.translate (y, x, userString);
sendword word = new sendword(translatedtext);
word.setWord(translatedtext);

//reading response
String response = in.readLine();
String response = word.getResult();
response = translate.translate(x, y, response);
System.out.println("Computer response: " + response);
}

} while (flag);

//closing server
out.close();
s.close();
in.close();
input.close();
p.destroyForcibly();
}
}
Binary file modified javacode/chattranslate.class
Binary file not shown.
4 changes: 3 additions & 1 deletion javacode/chattranslate.ctxt
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,6 @@ comment5.params=langTo
comment5.target=void\ setEndLang(java.lang.String)
comment6.params=text
comment6.target=void\ setText(java.lang.String)
numComments=7
comment7.params=
comment7.target=java.lang.String\ getText()
numComments=8
2 changes: 1 addition & 1 deletion javacode/chattranslate.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package javacode;
package javacode;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
Expand Down
Binary file modified javacode/langsel.class
Binary file not shown.
34 changes: 21 additions & 13 deletions javacode/package.bluej
Original file line number Diff line number Diff line change
Expand Up @@ -2,40 +2,47 @@
dependency1.from=chatinterface
dependency1.to=langsel
dependency1.type=UsesDependency
dependency2.from=chatinterface
dependency2.to=chattranslate
dependency2.type=UsesDependency
dependency3.from=chatinterface
dependency3.to=sendword
dependency3.type=UsesDependency
editor.fx.0.height=737
editor.fx.0.width=814
editor.fx.0.x=616
editor.fx.0.y=124
objectbench.height=94
objectbench.width=761
objectbench.height=93
objectbench.width=760
package.divider.horizontal=0.6
package.divider.vertical=0.7994417862838915
package.editor.height=395
package.editor.width=674
package.divider.vertical=0.8
package.editor.height=393
package.editor.width=670
package.editor.x=148
package.editor.y=152
package.frame.height=600
package.frame.width=800
package.numDependencies=1
package.numDependencies=3
package.numTargets=5
package.showExtends=true
package.showUses=true
project.charset=windows-1252
readme.height=60
readme.name=@README
readme.width=48
readme.width=49
readme.x=10
readme.y=10
target1.height=70
target1.name=chattranslate
target1.showInterface=false
target1.type=ClassTarget
target1.width=120
target1.x=190
target1.y=90
target1.x=300
target1.y=110
target2.height=70
target2.name=lang.txt
target2.type=TextTarget
target2.name=sendword
target2.showInterface=false
target2.type=ClassTarget
target2.width=120
target2.x=130
target2.y=10
Expand All @@ -54,8 +61,9 @@ target4.width=120
target4.x=140
target4.y=170
target5.height=70
target5.name=lang2.txt
target5.type=TextTarget
target5.name=sendphrase
target5.showInterface=false
target5.type=ClassTarget
target5.width=120
target5.x=10
target5.y=90
Binary file added javacode/sendphrase.class
Binary file not shown.
48 changes: 48 additions & 0 deletions javacode/sendphrase.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
package javacode;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.util.ArrayList;

public class sendphrase {
private ArrayList <String> phrase = new ArrayList <String> ();
private String result;

public sendphrase() {
this.phrase = null;
this.result = "";
}

public sendphrase(ArrayList <String> phrase) {
try {
InetAddress localhost = InetAddress.getByName("localhost");
Socket s = new Socket(localhost, 9000);
OutputStreamWriter out = new OutputStreamWriter(s.getOutputStream());
BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));
//sending phrase
for (String word : phrase) {
out.write(word);
}
out.flush();

//getting result
String result = in.readLine();
this.result = result;

} catch (Exception e) {
System.err.println("Connection Error");
e.printStackTrace();
}
}

public void setPhrase(ArrayList <String> phrase) {
this.phrase = phrase;
}

public String getResult() {
return this.result;
}

}
Binary file added javacode/sendword.class
Binary file not shown.
11 changes: 11 additions & 0 deletions javacode/sendword.ctxt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#BlueJ class context
comment0.target=sendword
comment1.params=
comment1.target=sendword()
comment2.params=word
comment2.target=sendword(java.lang.String)
comment3.params=word
comment3.target=void\ setWord(java.lang.String)
comment4.params=
comment4.target=java.lang.String\ getResult()
numComments=5
48 changes: 48 additions & 0 deletions javacode/sendword.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
package javacode;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.InetAddress;
import java.net.Socket;

public class sendword {
private String word;
private String result;

public sendword() {
this.word = "";
this.result = "";
}


public sendword(String word) {
try {
InetAddress localhost = InetAddress.getByName("localhost");
Socket s = new Socket(localhost, 9000);
OutputStreamWriter out = new OutputStreamWriter(s.getOutputStream());
BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));
//sending word
out.write(word);
out.flush();

//getting result
String result = in.readLine();
this.result = result;

} catch (Exception e) {
System.err.println("Connection Error");
e.printStackTrace();
}
}

public void setWord(String word) {
this.word = word;
}

public String getResult() {
return this.result;
}

}

0 comments on commit 0ee899a

Please sign in to comment.