Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package id.pptik.panwasluvillage.features;
- import android.annotation.SuppressLint;
- import android.content.Context;
- import android.content.SharedPreferences;
- import android.graphics.Bitmap;
- import android.graphics.BitmapFactory;
- import android.os.Environment;
- import android.telephony.TelephonyManager;
- import android.text.Editable;
- import android.util.Log;
- import org.apache.commons.net.ftp.FTP;
- import org.apache.commons.net.ftp.FTPClient;
- import org.apache.commons.net.ftp.FTPReply;
- import org.json.JSONException;
- import org.json.JSONObject;
- import java.io.BufferedInputStream;
- import java.io.BufferedOutputStream;
- import java.io.ByteArrayInputStream;
- import java.io.ByteArrayOutputStream;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.net.SocketException;
- import java.net.URISyntaxException;
- import java.security.KeyManagementException;
- import java.security.NoSuchAlgorithmException;
- import java.util.UUID;
- import java.util.concurrent.TimeoutException;
- import id.pptik.panwasluvillage.globalVariable.GlobalVariable;
- import id.pptik.panwasluvillage.R;
- import id.pptik.panwasluvillage.helpers.RMQ;
- public class FileTransfer {
- GlobalVariable gb = new GlobalVariable();
- RMQ rmq = new RMQ();
- Long tsLong = System.currentTimeMillis()/1000;
- private static final String TAG = null;
- /**
- * Function register untuk menyimpan gambar ke ftp dan mengirimkan data ke RMQ
- * @param srcFilePath
- * @param Imei
- * @param nama
- * @param txtTelpText
- * @param kodeProv
- * @param context
- * @return
- */
- public boolean ftpConnect(String srcFilePath, String Imei, Editable nama, Editable txtTelpText,Editable txtTPS, String kodeProv,String kodeKab,String kodeKec,String kodeKel,Context context){
- try {
- File root = new File(String.valueOf(Environment.getExternalStorageDirectory())+"/tmpPanwaslu/Kelurahan");
- try {
- if (root.mkdir()){
- Log.d("FolderDone", "Succes Create Folder: "+root);
- }else{
- Log.d("FolderDone", "Succes exist Folder: "+root);
- }
- }catch (Exception e){
- Log.d("Arrgghghg", "ftpConnect: "+e);
- }
- String names = String.valueOf(nama);
- String telp = String.valueOf(txtTelpText);
- String tps = String.valueOf(txtTPS);
- String mBitmap =null;
- FTPClient ftpClient = new FTPClient();
- ftpClient.connect(gb.getHostFTP());
- if(FTPReply.isPositiveCompletion(ftpClient.getReplyCode())){
- boolean status1 = ftpClient.login(gb.getUserFTP(),gb.getPwFTP());
- ftpClient.enterLocalPassiveMode();
- Log.d("Connection success", "ftpConnect: berhasil status = "+status1);
- FileInputStream srcFileStream = new FileInputStream(srcFilePath);
- BufferedInputStream bis = new BufferedInputStream(srcFileStream);
- ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
- String ts = tsLong.toString();
- Bitmap bmp = BitmapFactory.decodeStream(bis);
- ByteArrayOutputStream stream = new ByteArrayOutputStream();
- bmp.compress(Bitmap.CompressFormat.JPEG,10,stream);
- InputStream iss = new ByteArrayInputStream(stream.toByteArray());
- BufferedInputStream bii = new BufferedInputStream(iss);
- TelephonyManager tMgr = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
- @SuppressLint("MissingPermission")
- boolean status = ftpClient.storeFile("Panwaslu/gambar/"+kodeProv+"/"+kodeKab+"/"+kodeKec+"/"+kodeKel+"/KTP-"+ts+"_"+Imei+".jpg", bii);
- SharedPreferences pref =context.getSharedPreferences("myToken", 0); // 0 - for private mode
- SharedPreferences.Editor editor = pref.edit();
- String randomUUID = UUID.randomUUID().toString();
- editor.putString(String.valueOf(R.string.pref_nama),names);
- editor.putString(String.valueOf(R.string.pref_tlp),telp);
- editor.putString(String.valueOf(R.string.pref_prov),kodeProv);
- editor.putString(String.valueOf(R.string.pref_guid),randomUUID);
- editor.putString(String.valueOf(R.string.prev_kab),kodeKab);
- editor.putString(String.valueOf(R.string.prev_kec),kodeKec);
- editor.putString(String.valueOf(R.string.prev_kel),kodeKel);
- editor.commit();
- rmq.setupConnectionFactory();
- JSONObject obj = new JSONObject();
- JSONObject gps = new JSONObject();
- gps.put("LONG","90001928219");
- gps.put("LAT","-8882717229");
- obj.put("MSG_TYPE",0);
- obj.put("CMD_TYPE",0);
- obj.put("TIMESTAMP",ts);
- obj.put("IMEI1",Imei);
- obj.put("IMEI2","");
- obj.put("TLP1","");
- obj.put("TLP2","");
- obj.put("GPS",gps);
- obj.put("NAMA",names);
- obj.put("TLP",telp);
- obj.put("PROVINSI",kodeProv);
- obj.put("KABUPATEN",kodeKab);
- obj.put("KECAMATAN",kodeKec);
- obj.put("KELURAHAN",kodeKel);
- obj.put("TPS",tps);
- obj.put("KTP","Panwaslu/gambar/"+kodeProv+"/"+kodeKab+"/"+kodeKec+"/"+kodeKel+"/KTP-"+pref.getString(String.valueOf(R.string.pref_guid),null)+".jpg");
- obj.put("GUID",pref.getString(String.valueOf(R.string.pref_guid),null));
- Log.d("DataPobjeck", "ftpConnect: "+obj.toString());
- rmq.publish(obj.toString());
- bis.close();
- return status;
- }
- } catch (SocketException e) {
- Log.d("FTP1", "Error: could not connect to socket " + e );
- } catch (IOException e) {
- Log.d("FTP2", "Error: could not connect to host " + e );
- } catch (JSONException e) {
- e.printStackTrace();
- Log.d("FTP3", "Error: could not connect to host " + e );
- } catch (NoSuchAlgorithmException e) {
- e.printStackTrace();
- } catch (URISyntaxException e) {
- e.printStackTrace();
- } catch (TimeoutException e) {
- e.printStackTrace();
- } catch (InterruptedException e) {
- e.printStackTrace();
- } catch (KeyManagementException e) {
- e.printStackTrace();
- }
- return false;
- }
- /**
- * Function Send Report dan menyimpan file gambar di FTP dan mengirim data ke RMQ
- * @param srcFilePath
- * @param comment
- * @param context
- * @param imei
- * @return
- */
- public boolean ftpReport(String srcFilePath, Editable comment, Context context,String imei){
- try {
- SharedPreferences pref = context.getSharedPreferences("myToken",0);
- String guid = pref.getString(String.valueOf(R.string.pref_guid),null);
- String tlp = pref.getString(String.valueOf(R.string.pref_tlp),null);
- String prov = pref.getString(String.valueOf(R.string.pref_prov),null);
- String kab =pref.getString(String.valueOf(R.string.prev_kab),null);
- String kec = pref.getString(String.valueOf(R.string.prev_kec),null);
- String kel = pref.getString(String.valueOf(R.string.prev_kel),null);
- String komentar = String.valueOf(comment);
- FTPClient ftpClient = new FTPClient();
- ftpClient.connect(gb.getHostFTP());
- Log.d("host11", "ftpReport: HOST "+gb.getHostFTP());
- Log.d("user11", "ftpReport: user "+gb.getUserFTP());
- Log.d("pw11", "ftpReport: Pw "+gb.getPwFTP());
- if(FTPReply.isPositiveCompletion(ftpClient.getReplyCode())){
- boolean status1 = ftpClient.login(gb.getUserFTP(),gb.getPwFTP());
- ftpClient.enterLocalPassiveMode();
- Log.d("Connectionsuccess", "ftpConnect: berhasil status = "+status1);
- FileInputStream srcFileStream = new FileInputStream(srcFilePath);
- BufferedInputStream bis = new BufferedInputStream(srcFileStream);
- Bitmap bmp = BitmapFactory.decodeStream(bis);
- ByteArrayOutputStream stream = new ByteArrayOutputStream();
- bmp.compress(Bitmap.CompressFormat.JPEG,10,stream);
- InputStream iss = new ByteArrayInputStream(stream.toByteArray());
- BufferedInputStream bii = new BufferedInputStream(iss);
- ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
- String ts = tsLong.toString();
- boolean status = ftpClient.storeFile("Panwaslu/gambar/"+prov+"/"+kab+"/"+kec+"/"+kel+"/"+ts+"-"+guid+".jpg",bii);
- rmq.setupConnectionFactory();
- JSONObject obj = new JSONObject();
- JSONObject gps = new JSONObject();
- gps.put("LONG","XXXXXXXXXXX");
- gps.put("LAT","XXXXXXXXXX");
- obj.put("MSG_TYPE",1);
- obj.put("CMD_TYPE",0);
- obj.put("TIMESTAMP",ts);
- obj.put("IMEI1",imei);
- obj.put("IMEI2","");
- obj.put("TLP",tlp);
- obj.put("TLP1","");
- obj.put("TLP2","");
- obj.put("GPS",gps);
- obj.put("KOMENTAR",komentar);
- obj.put("FILENAME","Panwaslu/gambar/"+prov+"/"+kab+"/"+kec+"/"+kel+"/"+ts+"-"+guid+".jpg");
- obj.put("PROVINSI",prov);
- obj.put("KABUPATEN",kab);
- obj.put("KECAMATAN",kec);
- obj.put("KELURAHAN",kel);
- obj.put("GUID",guid);
- Log.d("TAGJsonData", "ftpReport: "+obj.toString());
- rmq.publish(obj.toString());
- bis.close();
- return status;
- }
- } catch (SocketException e) {
- Log.d("FTP1", "Error: could not connect to socket " + e );
- } catch (IOException e) {
- Log.d("FTP2", "Error: could not connect to host " + e );
- } catch (JSONException e) {
- e.printStackTrace();
- Log.d("FTP3", "Error: could not connect to host " + e );
- } catch (NoSuchAlgorithmException e) {
- e.printStackTrace();
- } catch (URISyntaxException e) {
- e.printStackTrace();
- } catch (TimeoutException e) {
- e.printStackTrace();
- } catch (InterruptedException e) {
- e.printStackTrace();
- } catch (KeyManagementException e) {
- e.printStackTrace();
- }
- return false;
- }
- public boolean downloadAndSaveFile(String server, int portNumber,
- String user, String password, String filename, File localFile)
- throws IOException {
- FTPClient ftp = null;
- try {
- ftp = new FTPClient();
- try {
- ftp.connect(server, portNumber);
- Log.d("kasih_ibu", "Connected. Reply: " + ftp.getReplyString());
- ftp.login(user, password);
- Log.d("kasih_ibu", "Logged in");
- ftp.setFileType(FTP.BINARY_FILE_TYPE);
- Log.d("kasih_ibu", "Downloading");
- ftp.enterLocalPassiveMode();
- }
- catch (Exception ex) {
- Log.d("ibu_marah", "downloadAndSaveFile: "+ex.getMessage());
- }
- OutputStream outputStream = null;
- boolean success = false;
- try {
- outputStream = new BufferedOutputStream(new FileOutputStream(
- localFile));
- success = ftp.retrieveFile(filename, outputStream);
- } finally {
- if (outputStream != null) {
- outputStream.close();
- }
- }
- return success;
- } finally {
- if (ftp != null) {
- ftp.logout();
- ftp.disconnect();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment