-
Notifications
You must be signed in to change notification settings - Fork 467
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #282 from Avadhut-Shedage/main
Added Currency Convertor Java Project
- Loading branch information
Showing
1 changed file
with
127 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,127 @@ | ||
/* | ||
* To change this template, choose Tools | Templates | ||
* and open the template in the editor. | ||
*/ | ||
package com.exchange; | ||
|
||
import java.io.*; | ||
import java.net.*; | ||
import java.util.*; | ||
import javax.servlet.*; | ||
import javax.servlet.http.*; | ||
import java.io.InputStream; | ||
import java.net.*; | ||
import com.google.gson.*; | ||
|
||
/** | ||
* | ||
* @author pakallis | ||
*/ | ||
class Recv | ||
{ | ||
private String lhs; | ||
private String rhs; | ||
private String error; | ||
private String icc; | ||
public Recv( | ||
{ | ||
} | ||
public String getLhs() | ||
{ | ||
return lhs; | ||
} | ||
public String getRhs() | ||
{ | ||
return rhs; | ||
} | ||
} | ||
public class Convert extends HttpServlet { | ||
/** | ||
* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods. | ||
* @param request servlet request | ||
* @param response servlet response | ||
* @throws ServletException if a servlet-specific error occurs | ||
* @throws IOException if an I/O error occurs | ||
*/ | ||
protected void processRequest(HttpServletRequest req, HttpServletResponse resp) | ||
throws ServletException, IOException { | ||
String query = ""; | ||
String amount = ""; | ||
String curTo = ""; | ||
String curFrom = ""; | ||
String submit = ""; | ||
String res = ""; | ||
HttpSession session; | ||
resp.setContentType("text/html;charset=UTF-8"); | ||
PrintWriter out = resp.getWriter(); | ||
/*Read request parameters*/ | ||
amount = req.getParameter("amount"); | ||
curTo = req.getParameter("to"); | ||
curFrom = req.getParameter("from"); | ||
/*Open a connection to google and read the result*/ | ||
|
||
try { | ||
query = "http://www.google.com/ig/calculator?hl=en&q=" + amount + curFrom + "=?" + curTo; | ||
URL url = new URL(query); | ||
InputStreamReader stream = new InputStreamReader(url.openStream()); | ||
BufferedReader in = new BufferedReader(stream); | ||
String str = ""; | ||
String temp = ""; | ||
while ((temp = in.readLine()) != null) { | ||
str = str + temp; | ||
} | ||
|
||
/*Parse the result which is in json format*/ | ||
Gson gson = new Gson(); | ||
Recv st = gson.fromJson(str, Recv.class); | ||
String rhs = st.getRhs(); | ||
rhs = rhs.replaceAll("�", ""); | ||
/*we do the check in order to print the additional word(millions,billions etc)*/ | ||
StringTokenizer strto = new StringTokenizer(rhs); | ||
String nextToken; | ||
|
||
out.write(strto.nextToken()); | ||
nextToken = strto.nextToken(); | ||
|
||
if( nextToken.equals("million") || nextToken.equals("billion") || nextToken.equals("trillion")) | ||
{ | ||
out.println(" "+nextToken); | ||
} | ||
} catch (NumberFormatException e) { | ||
out.println("The given amount is not a valid number"); | ||
} | ||
} | ||
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."> | ||
/** | ||
* Handles the HTTP <code>GET</code> method. | ||
* @param request servlet request | ||
* @param response servlet response | ||
* @throws ServletException if a servlet-specific error occurs | ||
* @throws IOException if an I/O error occurs | ||
*/ | ||
@Override | ||
protected void doGet(HttpServletRequest request, HttpServletResponse response) | ||
throws ServletException, IOException { | ||
processRequest(request, response); | ||
} | ||
/** | ||
* Handles the HTTP <code>POST</code> method. | ||
* @param request servlet request | ||
* @param response servlet response | ||
* @throws ServletException if a servlet-specific error occurs | ||
* @throws IOException if an I/O error occurs | ||
*/ | ||
@Override | ||
protected void doPost(HttpServletRequest request, HttpServletResponse response) | ||
throws ServletException, IOException { | ||
processRequest(request, response); | ||
} | ||
/** | ||
* Returns a short description of the servlet. | ||
* @return a String containing servlet description | ||
*/ | ||
@Override | ||
public String getServletInfo() { | ||
return "Short description"; | ||
}// </editor-fold> | ||
} |