List of usage examples for java.io ObjectOutputStream close
public void close() throws IOException
From source file:com.likya.myra.jef.utils.JobQueueOperations.java
public static boolean persistDisabledJobQueue(ConfigurationManager configurationManager, HashMap<String, String> jobQueue) { FileOutputStream fos = null;/*ww w. j a v a 2 s . c o m*/ ObjectOutputStream out = null; if (jobQueue.size() == 0) { return true; } try { File fileTemp = new File(configurationManager.getFileToPersist() + "_disabled.temp"); //$NON-NLS-1$ fos = new FileOutputStream(fileTemp); out = new ObjectOutputStream(fos); out.writeObject(jobQueue); out.close(); File file = new File(configurationManager.getFileToPersist() + "_disabled"); if (file.exists()) { file.delete(); } fileTemp.renameTo(file); } catch (IOException ex) { ex.printStackTrace(); } return true; }
From source file:com.amazon.sqs.javamessaging.message.SQSObjectMessage.java
/** * Serialize the <code>Serializable</code> object to <code>String</code>. *//* ww w . ja v a2s. c om*/ protected static String serialize(Serializable serializable) throws JMSException { if (serializable == null) { return null; } String serializedString; ObjectOutputStream objectOutputStream = null; try { ByteArrayOutputStream bytesOut = new ByteArrayOutputStream(); objectOutputStream = new ObjectOutputStream(bytesOut); objectOutputStream.writeObject(serializable); objectOutputStream.flush(); serializedString = Base64.encodeAsString(bytesOut.toByteArray()); } catch (IOException e) { LOG.error("IOException: cannot serialize objectMessage", e); throw convertExceptionToMessageFormatException(e); } finally { if (objectOutputStream != null) { try { objectOutputStream.close(); } catch (IOException e) { LOG.warn(e.getMessage()); } } } return serializedString; }
From source file:com.uberspot.storageutils.StorageUtils.java
/** Save the given object to a file in external storage * @param obj the object to save/*w w w . j a v a 2 s .c o m*/ * @param directory the directory in the SD card to save it into * @param fileName the name of the file * @param overwrite if set to true the file will be overwritten if it already exists * @return true if the file was written successfully, false otherwise */ public static boolean saveObjectToExternalStorage(Object obj, String directory, String fileName, boolean overwrite) { if (!directory.startsWith(File.separator)) directory = File.separator + directory; File dir = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + directory); if (!dir.exists()) dir.mkdirs(); File file = new File(dir, fileName); if (file.exists() && !overwrite) return false; ObjectOutputStream output = null; try { output = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream(file))); output.writeObject(obj); output.flush(); return true; } catch (Exception e) { e.printStackTrace(System.out); } finally { if (output != null) try { output.close(); } catch (IOException e) { e.printStackTrace(System.out); } } return false; }
From source file:com.conwet.silbops.model.JSONvsRMIPerfT.java
public static void externalizeSeveralObjects(Externalizable[] objects, ByteArrayOutputStream baos) { long start = 0, end = 0; try {/*from w w w . j av a 2 s. com*/ ObjectOutputStream out = new ObjectOutputStream(baos); //Measure the elapsed time start = System.nanoTime(); for (Externalizable object : objects) { out.writeObject(object); } end = System.nanoTime(); out.close(); } catch (IOException ex) { ex.printStackTrace(); } long elapsed = (end - start); long elapsedPerMessage = elapsed / objects.length; System.out.println(" Elapsed Time " + objects.length + " messages - Externalize: " + elapsed + " nanoseconds (" + elapsedPerMessage + " nanoseconds/msg)"); }
From source file:com.ery.ertc.estorm.util.ToolUtil.java
public static String serialObject(Object obj, boolean isGzip, boolean urlEnCode) throws IOException { ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); ObjectOutputStream objectOutputStream = new ObjectOutputStream(byteArrayOutputStream); objectOutputStream.writeObject(obj); String serStr = null;/*w ww. j av a 2 s. co m*/ byte[] bts = null; if (isGzip) { bts = GZIPUtils.zip(byteArrayOutputStream.toByteArray()); } else { bts = byteArrayOutputStream.toByteArray(); } if (urlEnCode) { serStr = new String(org.apache.commons.codec.binary.Base64.encodeBase64(bts), "ISO-8859-1"); } else { serStr = new String(bts, "ISO-8859-1"); } objectOutputStream.close(); byteArrayOutputStream.close(); return serStr; }
From source file:SystemUtils.java
public static void StoreObject(Object target, String filePath) throws IOException { FileOutputStream fos = null;/* w ww .ja v a2s. com*/ ObjectOutputStream oos = null; try { fos = new FileOutputStream(filePath); oos = new ObjectOutputStream(fos); oos.writeObject(target); } finally { if (oos != null) { try { oos.close(); } catch (Exception e) { } oos = null; } if (fos != null) { try { fos.close(); } catch (Exception e) { } fos = null; } } }
From source file:com.linkedin.sample.test.java
public static void main1(String[] args) { /*// ww w. jav a2 s .c o m we need a OAuthService to handle authentication and the subsequent calls. Since we are going to use the REST APIs we need to generate a request token as the first step in the call. Once we get an access toke we can continue to use that until the API key changes or auth is revoked. Therefore, to make this sample easier to re-use we serialize the AuthHandler (which stores the access token) to disk and then reuse it. When you first run this code please insure that you fill in the API_KEY and API_SECRET above with your own credentials and if there is a service.dat file in the code please delete it. */ //The Access Token is used in all Data calls to the APIs - it basically says our application has been given access //to the approved information in LinkedIn Token accessToken = null; //Using the Scribe library we enter the information needed to begin the chain of Oauth2 calls. OAuthService service = new ServiceBuilder().provider(LinkedInApi.class).apiKey(API_KEY) .apiSecret(API_SECRET).build(); /************************************* * This first piece of code handles all the pieces needed to be granted access to make a data call */ try { File file = new File("service.dat"); if (file.exists()) { //if the file exists we assume it has the AuthHandler in it - which in turn contains the Access Token ObjectInputStream inputStream = new ObjectInputStream(new FileInputStream(file)); AuthHandler authHandler = (AuthHandler) inputStream.readObject(); accessToken = authHandler.getAccessToken(); } else { System.out.println("There is no stored Access token we need to make one"); //In the constructor the AuthHandler goes through the chain of calls to create an Access Token AuthHandler authHandler = new AuthHandler(service); ObjectOutputStream outputStream = new ObjectOutputStream(new FileOutputStream("service.dat")); outputStream.writeObject(authHandler); outputStream.close(); accessToken = authHandler.getAccessToken(); } } catch (Exception e) { System.out.println("Threw an exception when serializing: " + e.getClass() + " :: " + e.getMessage()); } /* * We are all done getting access - time to get busy getting data *************************************/ /************************** * * Querying the LinkedIn API * **************************/ System.out.println(); System.out.println("********A basic user profile call********"); //The ~ means yourself - so this should return the basic default information for your profile in XML format //https://developer.linkedin.com/documents/profile-api String url = "http://api.linkedin.com/v1/people/~"; OAuthRequest request = new OAuthRequest(Verb.GET, url); service.signRequest(accessToken, request); Response response = request.send(); System.out.println(response.getBody()); System.out.println(); System.out.println(); System.out.println("********Get the profile in JSON********"); //This basic call profile in JSON format //You can read more about JSON here http://json.org url = "http://api.linkedin.com/v1/people/~"; request = new OAuthRequest(Verb.GET, url); request.addHeader("x-li-format", "json"); service.signRequest(accessToken, request); response = request.send(); System.out.println(response.getBody()); System.out.println(); System.out.println(); System.out.println("********Get the profile in JSON using query parameter********"); //This basic call profile in JSON format. Please note the call above is the preferred method. //You can read more about JSON here http://json.org url = "http://api.linkedin.com/v1/people/~"; request = new OAuthRequest(Verb.GET, url); request.addQuerystringParameter("format", "json"); service.signRequest(accessToken, request); response = request.send(); System.out.println(response.getBody()); System.out.println(); System.out.println(); System.out.println("********Get my connections - going into a resource********"); //This basic call gets all your connections each one will be in a person tag with some profile information //https://developer.linkedin.com/documents/connections-api url = "http://api.linkedin.com/v1/people/~/connections"; request = new OAuthRequest(Verb.GET, url); service.signRequest(accessToken, request); response = request.send(); System.out.println(response.getBody()); System.out.println(); System.out.println(); System.out.println("********Get only 10 connections - using parameters********"); //This basic call gets only 10 connections - each one will be in a person tag with some profile information //https://developer.linkedin.com/documents/connections-api //more basic about query strings in a URL here http://en.wikipedia.org/wiki/Query_string url = "http://api.linkedin.com/v1/people/~/connections"; request = new OAuthRequest(Verb.GET, url); request.addQuerystringParameter("count", "10"); service.signRequest(accessToken, request); response = request.send(); System.out.println(response.getBody()); System.out.println(); System.out.println(); System.out.println("********GET network updates that are CONN and SHAR********"); //This basic call get connection updates from your connections //https://developer.linkedin.com/documents/get-network-updates-and-statistics-api //specifics on updates https://developer.linkedin.com/documents/network-update-types url = "http://api.linkedin.com/v1/people/~/network/updates"; request = new OAuthRequest(Verb.GET, url); request.addQuerystringParameter("type", "SHAR"); request.addQuerystringParameter("type", "CONN"); service.signRequest(accessToken, request); response = request.send(); System.out.println(response.getBody()); System.out.println(); System.out.println(); System.out.println("********People Search using facets and Encoding input parameters i.e. UTF8********"); //This basic call get connection updates from your connections //https://developer.linkedin.com/documents/people-search-api#Facets //Why doesn't this look like //people-search?title=developer&location=fr&industry=4 //url = "http://api.linkedin.com/v1/people-search?title=D%C3%A9veloppeur&facets=location,industry&facet=location,fr,0"; url = "http://api.linkedin.com/v1/people-search:(people:(first-name,last-name,headline),facets:(code,buckets))"; request = new OAuthRequest(Verb.GET, url); request.addQuerystringParameter("title", "Dveloppeur"); request.addQuerystringParameter("facet", "industry,4"); request.addQuerystringParameter("facets", "location,industry"); System.out.println(request.getUrl()); service.signRequest(accessToken, request); response = request.send(); System.out.println(response.getBody()); System.out.println(); System.out.println(); /////////////////field selectors System.out.println("********A basic user profile call with field selectors********"); //The ~ means yourself - so this should return the basic default information for your profile in XML format //https://developer.linkedin.com/documents/field-selectors url = "http://api.linkedin.com/v1/people/~:(first-name,last-name,positions)"; request = new OAuthRequest(Verb.GET, url); service.signRequest(accessToken, request); response = request.send(); System.out.println(response.getHeaders().toString()); System.out.println(response.getBody()); System.out.println(); System.out.println(); System.out .println("********A basic user profile call with field selectors going into a subresource********"); //The ~ means yourself - so this should return the basic default information for your profile in XML format //https://developer.linkedin.com/documents/field-selectors url = "http://api.linkedin.com/v1/people/~:(first-name,last-name,positions:(company:(name)))"; request = new OAuthRequest(Verb.GET, url); service.signRequest(accessToken, request); response = request.send(); System.out.println(response.getHeaders().toString()); System.out.println(response.getBody()); System.out.println(); System.out.println(); System.out.println("********A basic user profile call into a subresource return data in JSON********"); //The ~ means yourself - so this should return the basic default information for your profile //https://developer.linkedin.com/documents/field-selectors url = "https://api.linkedin.com/v1/people/~/connections:(first-name,last-name,headline)?format=json"; request = new OAuthRequest(Verb.GET, url); service.signRequest(accessToken, request); response = request.send(); System.out.println(response.getHeaders().toString()); System.out.println(response.getBody()); System.out.println(); System.out.println(); System.out.println("********A more complicated example using postings into groups********"); //https://developer.linkedin.com/documents/field-selectors //https://developer.linkedin.com/documents/groups-api url = "http://api.linkedin.com/v1/groups/3297124/posts:(id,category,creator:(id,first-name,last-name),title,summary,creation-timestamp,site-group-post-url,comments,likes)"; request = new OAuthRequest(Verb.GET, url); service.signRequest(accessToken, request); response = request.send(); System.out.println(response.getHeaders().toString()); System.out.println(response.getBody()); System.out.println(); System.out.println(); /************************** * * Wrting to the LinkedIn API * **************************/ /* * Commented out so we don't write into your LinkedIn/Twitter feed while you are just testing out * some code. Uncomment if you'd like to see writes in action. * * System.out.println("********Write to the share - using XML********"); //This basic shares some basic information on the users activity stream //https://developer.linkedin.com/documents/share-api url = "http://api.linkedin.com/v1/people/~/shares"; request = new OAuthRequest(Verb.POST, url); request.addHeader("Content-Type", "text/xml"); //Make an XML document Document doc = DocumentHelper.createDocument(); Element share = doc.addElement("share"); share.addElement("comment").addText("Guess who is testing the LinkedIn REST APIs"); Element content = share.addElement("content"); content.addElement("title").addText("A title for your share"); content.addElement("submitted-url").addText("http://developer.linkedin.com"); share.addElement("visibility").addElement("code").addText("anyone"); request.addPayload(doc.asXML()); service.signRequest(accessToken, request); response = request.send(); //there is no body just a header System.out.println(response.getBody()); System.out.println(response.getHeaders().toString()); System.out.println();System.out.println(); System.out.println("********Write to the share and to Twitter - using XML********"); //This basic shares some basic information on the users activity stream //https://developer.linkedin.com/documents/share-api url = "http://api.linkedin.com/v1/people/~/shares"; request = new OAuthRequest(Verb.POST, url); request.addQuerystringParameter("twitter-post","true"); request.addHeader("Content-Type", "text/xml"); //Make an XML document doc = DocumentHelper.createDocument(); share = doc.addElement("share"); share.addElement("comment").addText("Guess who is testing the LinkedIn REST APIs and sending to twitter"); content = share.addElement("content"); content.addElement("title").addText("A title for your share"); content.addElement("submitted-url").addText("http://developer.linkedin.com"); share.addElement("visibility").addElement("code").addText("anyone"); request.addPayload(doc.asXML()); service.signRequest(accessToken, request); response = request.send(); //there is no body just a header System.out.println(response.getBody()); System.out.println(response.getHeaders().toString()); System.out.println();System.out.println(); System.out.println("********Write to the share and to twitter - using JSON ********"); //This basic shares some basic information on the users activity stream //https://developer.linkedin.com/documents/share-api //NOTE - a good troubleshooting step is to validate your JSON on jsonlint.org url = "http://api.linkedin.com/v1/people/~/shares"; request = new OAuthRequest(Verb.POST, url); //set the headers to the server knows what we are sending request.addHeader("Content-Type", "application/json"); request.addHeader("x-li-format", "json"); //make the json payload using json-simple Map<String, Object> jsonMap = new HashMap<String, Object>(); jsonMap.put("comment", "Posting from the API using JSON"); JSONObject contentObject = new JSONObject(); contentObject.put("title", "This is a another test post"); contentObject.put("submitted-url","http://www.linkedin.com"); contentObject.put("submitted-image-url", "http://press.linkedin.com/sites/all/themes/presslinkedin/images/LinkedIn_WebLogo_LowResExample.jpg"); jsonMap.put("content", contentObject); JSONObject visibilityObject = new JSONObject(); visibilityObject.put("code", "anyone"); jsonMap.put("visibility", visibilityObject); request.addPayload(JSONValue.toJSONString(jsonMap)); service.signRequest(accessToken, request); response = request.send(); //again no body - just headers System.out.println(response.getBody()); System.out.println(response.getHeaders().toString()); System.out.println();System.out.println(); */ /************************** * * Understanding the response, creating logging, request and response headers * **************************/ System.out.println(); System.out.println("********A basic user profile call and response dissected********"); //This sample is mostly to help you debug and understand some of the scaffolding around the request-response cycle //https://developer.linkedin.com/documents/debugging-api-calls url = "https://api.linkedin.com/v1/people/~"; request = new OAuthRequest(Verb.GET, url); service.signRequest(accessToken, request); response = request.send(); //get all the headers System.out.println("Request headers: " + request.getHeaders().toString()); System.out.println("Response headers: " + response.getHeaders().toString()); //url requested System.out.println("Original location is: " + request.getHeaders().get("content-location")); //Date of response System.out.println("The datetime of the response is: " + response.getHeader("Date")); //the format of the response System.out.println("Format is: " + response.getHeader("x-li-format")); //Content-type of the response System.out.println("Content type is: " + response.getHeader("Content-Type") + "\n\n"); //get the HTTP response code - such as 200 or 404 int responseNumber = response.getCode(); if (responseNumber >= 199 && responseNumber < 300) { System.out.println("HOORAY IT WORKED!!"); System.out.println(response.getBody()); } else if (responseNumber >= 500 && responseNumber < 600) { //you could actually raise an exception here in your own code System.out.println("Ruh Roh application error of type 500: " + responseNumber); System.out.println(response.getBody()); } else if (responseNumber == 403) { System.out.println("A 403 was returned which usually means you have reached a throttle limit"); } else if (responseNumber == 401) { System.out.println("A 401 was returned which is a Oauth signature error"); System.out.println(response.getBody()); } else if (responseNumber == 405) { System.out.println( "A 405 response was received. Usually this means you used the wrong HTTP method (GET when you should POST, etc)."); } else { System.out.println("We got a different response that we should add to the list: " + responseNumber + " and report it in the forums"); System.out.println(response.getBody()); } System.out.println(); System.out.println(); System.out.println("********A basic error logging function********"); // Now demonstrate how to make a logging function which provides us the info we need to // properly help debug issues. Please use the logged block from here when requesting // help in the forums. url = "https://api.linkedin.com/v1/people/FOOBARBAZ"; request = new OAuthRequest(Verb.GET, url); service.signRequest(accessToken, request); response = request.send(); responseNumber = response.getCode(); if (responseNumber < 200 || responseNumber >= 300) { logDiagnostics(request, response); } else { System.out.println("You were supposed to submit a bad request"); } System.out.println("******Finished******"); }
From source file:com.exalttech.trex.util.Util.java
/** * Serialize object to string/*from w w w . ja v a2 s . co m*/ * * @param objectToSer * @return * @throws IOException */ public static String serializeObjectToString(Serializable objectToSer) throws IOException { try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(baos); oos.writeObject(objectToSer); oos.close(); return Base64.getEncoder().encodeToString(baos.toByteArray()); } catch (IOException ex) { LOG.error("Error serializing object", ex); return ""; } }
From source file:net.librec.util.FileUtil.java
public static void serialize(Object obj, String filePath) throws Exception { FileOutputStream fos = new FileOutputStream(filePath); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeObject(obj);/*from ww w.j av a 2 s .c o m*/ oos.flush(); oos.close(); fos.close(); }
From source file:backtype.storm.utils.Utils.java
public static byte[] javaSerialize(Object obj) { if (obj instanceof byte[]) { return (byte[]) obj; }//from w w w . j a v a2 s. c o m try { ByteArrayOutputStream bos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(bos); oos.writeObject(obj); oos.close(); return bos.toByteArray(); } catch (IOException e) { throw new RuntimeException(e); } }