List of usage examples for com.amazonaws.services.dynamodbv2.document DynamoDB DynamoDB
public DynamoDB(Regions regionEnum)
From source file:chatbot.ServiceAlertHandler.java
License:Open Source License
@Override public String handleRequest(ServiceData input, Context context) { String message_response = "_Hello"; try {// w ww . j av a 2 s . co m context.getLogger().log("Input: " + input.getTemperature()); int Min = 3000; int Max = 8000; int ID = 0; while (true) { ID = Min + (int) (Math.random() * ((Max - Min) + 1)); if (objIDList.containsKey(new Integer(ID))) { continue; } else break; } AmazonDynamoDBClient objClient = new AmazonDynamoDBClient(new EnvironmentVariableCredentialsProvider()); DynamoDB dynamoDB = new DynamoDB(objClient); //Get all data set status inactive DynamoDBMapper mapper = new DynamoDBMapper(objClient); FindCasesActive(mapper, input.getTeam_id()); Item objNewCase = new Item().withPrimaryKey("CASE_ID", ID).withString("USER", "unassigned") .withString("DESCRIPTION", "Blah").withString("STAGE", "0") .withString("TEAM_ID", input.getTeam_id()).withString("CASE_STATE", "ACTIVE"); Table tableCases = dynamoDB.getTable("CASES"); tableCases.putItem(objNewCase); message_response = "Service Alert : Priority - High"; String sURL = "https://slack.com/api/chat.postMessage"; HttpClient httpClient = HttpClients.createDefault(); String sTeamId = input.getTeam_id(); Entity objEntity = EntityHelper.getEntityObject(sTeamId); String sAuthToken = objEntity.getAccess_token(); List<NameValuePair> urlParameters = new ArrayList<NameValuePair>(); urlParameters.add(new BasicNameValuePair("token", sAuthToken)); urlParameters.add(new BasicNameValuePair("channel", objEntity.getChannel_1())); urlParameters.add(new BasicNameValuePair("text", message_response)); String sAttachment1 = "[\r\n {\r\n \"fallback\": \"Required plain-text summary of the attachment.\",\r\n \"color\": \"#F35A00\",\r\n \r\n \"author_name\": \"Excavator System\",\r\n \"author_link\": \"http://flickr.com/bobby/\",\r\n \"author_icon\": \"http://flickr.com/icons/bobby.jpg\",\r\n \"title\": \"Hydraulic Oil Temperature Alert\",\r\n \"title_link\": \"https://api.slack.com/\",\r\n \"text\": \"System detected abnormal rise in hydarulic oil temperature.\",\r\n \"fields\": [ \r\n {\r\n \"title\": \"Maximum\",\r\n \"value\": \"28\\u00B0 C\",\r\n \"short\": true\r\n },\r\n {\r\n \"title\": \"Recorded \",\r\n \"value\": \""; sAttachment1 += input.getTemperature(); String sAttachment2 = "\\u00B0 C\",\r\n \"short\": true\r\n }\r\n ],\r\n \"image_url\": \"http://servicebot.valueinnovation.co.in/slackhack/tempTrend1.jpg\",\r\n \"thumb_url\": \"http://noamusic.fr/wp-content/rising-sea-levels-graph-7411.gif\",\r\n \"footer\": \"MODEL 7830 L | SERIAL Number 8923901-23\",\r\n \"footer_icon\": \"http://www.freeiconspng.com/uploads/alert-storm-warning-weather-icon--icon-search-engine-0.png\",\r\n \"ts\":"; long unixTime = System.currentTimeMillis() / 1000L; sAttachment2 += unixTime; String sAttachment3 = "\r\n }\r\n ]"; urlParameters.add(new BasicNameValuePair("attachments", sAttachment1 + sAttachment2 + sAttachment3)); HttpPost httpPost = new HttpPost(sURL); httpPost.setEntity(new UrlEncodedFormEntity(urlParameters)); HttpResponse httpResponse = httpClient.execute(httpPost); System.out.println("POST Response Status:: " + httpResponse.getStatusLine().getStatusCode()); BufferedReader reader = new BufferedReader( new InputStreamReader(httpResponse.getEntity().getContent())); String inputLine; StringBuffer response = new StringBuffer(); while ((inputLine = reader.readLine()) != null) { response.append(inputLine); } reader.close(); List<NameValuePair> urlParameters1 = new ArrayList<NameValuePair>(); urlParameters1.add(new BasicNameValuePair("token", sAuthToken)); urlParameters1.add(new BasicNameValuePair("channel", objEntity.getChannel_1())); try { Thread.sleep(4000); } catch (Exception e) { } urlParameters1.add(new BasicNameValuePair("text", "I recommend, we order a new coolant pump. Do you wish to see vendor parts?")); httpPost.setEntity(new UrlEncodedFormEntity(urlParameters1)); httpResponse = httpClient.execute(httpPost); System.out.println("POST Response Status:: " + httpResponse.getStatusLine().getStatusCode()); // print result System.out.println(response.toString()); } catch (Exception e) { e.printStackTrace(); } // TODO: implement your handler return "Hello " + input.getTemperature(); }
From source file:com.achow101.bittipaddr.server.addressServiceImpl.java
License:Open Source License
@Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Get the id String requestURI = request.getRequestURI(); String id = requestURI.substring(requestURI.lastIndexOf("/") + 1); // Setup the aws dynamo db client AmazonDynamoDBClient client = new AmazonDynamoDBClient(); DynamoDB dynamoDB = new DynamoDB(client); // Setup blockcypher API BlockCypherContext blockCypherContext = new BlockCypherContext("v1", "btc", "main", "4d3109a5c07f426da9ccc2943da39244"); // Lookup ID and get current address, increment index String address = ""; Table table = dynamoDB.getTable("Bittipaddrs"); int currAddrInx = 0; try {/*from w w w.j a v a 2s. c o m*/ Item item = table.getItem("ID", id); currAddrInx = item.getInt("AddrIndex"); int origIndx = currAddrInx; List<String> addresses = item.getList("Addresses"); if (currAddrInx < addresses.size()) { address = addresses.get(currAddrInx); while (blockCypherContext.getAddressService().getAddress(address).getnTx() > 0 && currAddrInx < addresses.size()) { // Increment index and get next address currAddrInx++; address = addresses.get(currAddrInx); // Wait one third of a second to prevent rate limiting Thread.sleep(334); } } else { address = addresses.get(addresses.size() - 1); } // Update index if DB if it has changed if (currAddrInx != origIndx) { UpdateItemSpec updateItemSpec = new UpdateItemSpec().withPrimaryKey("ID", id) .withUpdateExpression("set AddrIndex=:i") .withValueMap(new ValueMap().withNumber(":i", currAddrInx)); table.updateItem(updateItemSpec); } } // Deal with rate limiting from BlockCypher catch (BlockCypherException e) { UpdateItemSpec updateItemSpec = new UpdateItemSpec().withPrimaryKey("ID", id) .withUpdateExpression("set AddrIndex=:i") .withValueMap(new ValueMap().withNumber(":i", currAddrInx)); table.updateItem(updateItemSpec); } catch (Exception e) { System.out.println("Error in getting item."); } // Send them a redirect to the bitcoin uri if redirect is set if (request.getParameter("redirect") != null) { response.sendRedirect("bitcoin:" + address); } else { // Set response content type response.setContentType("text/html"); // Actual logic goes here. PrintWriter out = response.getWriter(); out.println("<a href=bitcoin:" + address + ">" + address + "</a>"); } }
From source file:com.achow101.bittipaddr.server.bittipaddrServiceImpl.java
License:Open Source License
public String addAddresses(AddrReq req) { // Setup the aws dynamo db client AmazonDynamoDBClient client = new AmazonDynamoDBClient(); DynamoDB dynamoDB = new DynamoDB(client); Table table = dynamoDB.getTable("Bittipaddrs"); // Check that the request is for editing an existing one if (!req.getId().equals("NEW")) { try {// w ww .j a v a 2 s . c om Item item = table.getItem("ID", req.getId()); // Check the password if (getHash(req.getPassword()).equals(item.getString("passhash"))) { // If the req has been edited, update DB if (req.isEdited()) { // Recalculate addresses if xpub is set if (!req.getXpub().equals("NONE")) { try { // Check Xpub DeterministicKey xpub = DeterministicKey.deserializeB58(req.getXpub(), params); DeterministicKey external = HDKeyDerivation.deriveChildKey(xpub, 0); // Derive 1000 addresses and add to req String[] addrs = new String[1000]; for (int i = 0; i < 1000; i++) { addrs[i] = HDKeyDerivation.deriveChildKey(external, i).toAddress(params) .toBase58(); } req.setAddresses(addrs); } catch (Exception e) { return "<p style=\"color:red;\">Invalid xpub" + req.getXpub() + "</p>"; } } if (req.getAddresses()[0].isEmpty()) return "<p style=\"color:red;\">Must have at least one address</p>"; UpdateItemSpec updateItemSpec = new UpdateItemSpec().withPrimaryKey("ID", req.getId()) .withUpdateExpression("set AddrIndex=:i, Addresses=:a, bip32xpub=:x") .withValueMap(new ValueMap().withNumber(":i", 0) .withList(":a", Arrays.asList(req.getAddresses())) .withString(":x", req.getXpub())); table.updateItem(updateItemSpec); return req.getHtml(); } String[] addresses = new String[item.getList("Addresses").size()]; item.getList("Addresses").toArray(addresses); req.setAddresses(addresses); req.setXpub(item.getString("bip32xpub")); if (req.isEditable()) return req.getPlain(); else return req.getHtml(); } else return "<p style=\"color:red;\">Incorrect password</p>"; } catch (Exception e) { return "<p style=\"color:red;\">Could not find unit</p>"; } } // Check validity of addresses else if (req.getXpub().equals("NONE") && req.getAddresses().length != 0) { for (int i = 0; i < req.getAddresses().length; i++) { try { Address addr = Address.fromBase58(params, req.getAddresses()[i]); } catch (AddressFormatException e) { return "<p style=\"color:red;\">Invalid address" + req.getAddresses()[i] + "</p>"; } } } // Check validity of xpub else if (!req.getXpub().equals("NONE") && req.getAddresses().length == 0) { try { // Check Xpub DeterministicKey xpub = DeterministicKey.deserializeB58(req.getXpub(), params); DeterministicKey external = HDKeyDerivation.deriveChildKey(xpub, 0); // Derive 1000 addresses and add to req String[] addrs = new String[1000]; for (int i = 0; i < 1000; i++) { addrs[i] = HDKeyDerivation.deriveChildKey(external, i).toAddress(params).toBase58(); } req.setAddresses(addrs); } catch (Exception e) { return "<p style=\"color:red;\">Invalid xpub" + req.getXpub() + "</p>"; } } // Set the request ID and unique password req.setId(new BigInteger(40, random).toString(32)); req.setPassword(new BigInteger(256, random).toString(32)); // Add request to DynamoDB Item item = null; try { item = new Item().withPrimaryKey("ID", req.getId()).withInt("AddrIndex", 0) .withList("Addresses", Arrays.asList(req.getAddresses())).withString("bip32xpub", req.getXpub()) .withString("passhash", getHash(req.getPassword())); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } table.putItem(item); return req.getHtml(); }
From source file:com.clicktravel.infrastructure.persistence.aws.dynamodb.DynamoDocumentStoreTemplate.java
License:Apache License
@Override public void initialize(final AmazonDynamoDB amazonDynamoDbClient) { super.initialize(amazonDynamoDbClient); dynamoDBClient = new DynamoDB(amazonDynamoDbClient); }
From source file:com.eho.dynamodb.DynamoDBConnection.java
public static Item get_item_by_ID(String id) { DynamoDB dynamoDB = new DynamoDB(dynamoDBClient); Table table = dynamoDB.getTable(PATIENT_TABLE); Item retreived_item = table.getItem(PRIMARY_KEY, id); return retreived_item; }
From source file:com.eho.dynamodb.DynamoDBConnection.java
public static PutItemOutcome upload_resource_old(String resource) throws Exception { String id;/*from w w w . j a va 2 s . c om*/ JSONObject json_resource = new JSONObject(resource); //does the resource have a primary key? if (json_resource.has(PRIMARY_KEY))//if it does not have a primary key, create one using uuid id = json_resource.getString(PRIMARY_KEY); else id = UUID.randomUUID().toString(); DynamoDB dynamoDB = new DynamoDB(dynamoDBClient); Table table = dynamoDB.getTable(PATIENT_TABLE); //lets retreive based on the key. if key invalid (not assigned yet) nullis returned. Item retreived_item = table.getItem(PRIMARY_KEY, id); if (retreived_item == null)//if null instantiate it { retreived_item = new Item(); retreived_item.withPrimaryKey(PRIMARY_KEY, id); } Integer new_version = retreived_item.getInt("version") + 1; retreived_item.withInt("version", new_version); Item item_to_upload = Item.fromJSON(retreived_item.toJSONPretty()).withJSON("Document", resource); PutItemSpec putItemSpec = new PutItemSpec().withItem(item_to_upload).withReturnValues(ReturnValue.NONE); return table.putItem(putItemSpec); }
From source file:com.eho.dynamodb.DynamoDBConnection.java
public static String upload_resource(BaseResource resource, String primary_key /* if no primary key in case of post, send null*/ ) throws Exception { String id = add_primary_as_extension(resource, primary_key); String resource_string = DynamoDBConnection.fCtx.newJsonParser().setPrettyPrint(true) .encodeResourceToString(resource); ;/*w ww. j a v a2 s.c o m*/ DynamoDB dynamoDB = new DynamoDB(dynamoDBClient); Table table = dynamoDB.getTable(PATIENT_TABLE); //lets retreive based on the key. if key invalid (not assigned yet) nullis returned. Item retreived_item = table.getItem(PRIMARY_KEY, id); if (retreived_item == null)//if null instantiate it { retreived_item = new Item(); retreived_item.withPrimaryKey(PRIMARY_KEY, id); retreived_item.withInt("version", -1); } Integer new_version = retreived_item.getInt("version") + 1; retreived_item.withInt("version", new_version); Item item_to_upload = retreived_item//Item.fromJSON(retreived_item.toJSONPretty()) .withString("text" + new_version.toString(), resource_string) .withMap("json-document", new ObjectMapper().readValue(resource_string, LinkedHashMap.class)); PutItemSpec putItemSpec = new PutItemSpec().withItem(item_to_upload); table.putItem(putItemSpec); return id; }
From source file:com.eho.dynamodb.DynamoDBConnection.java
public static ItemCollection<QueryOutcome> query_dynamodb(QuerySpec spec) { DynamoDB dynamoDB = new DynamoDB(dynamoDBClient); Table table = dynamoDB.getTable(PATIENT_TABLE); ItemCollection<QueryOutcome> items = table.query(spec); return items; }
From source file:com.eho.dynamodb.DynamoDBConnection.java
public static UpdateItemOutcome update_resource(String resource) throws Exception { String id;/*from w ww . ja v a 2 s . co m*/ JSONObject json_resource = new JSONObject(resource); //does the resource have a primary key? if (json_resource.has(PRIMARY_KEY))//if it does not have a primary key, create one using uuid id = json_resource.getString(PRIMARY_KEY); else id = UUID.randomUUID().toString(); DynamoDB dynamoDB = new DynamoDB(dynamoDBClient); Table table = dynamoDB.getTable(PATIENT_TABLE); //lets retreive based on the key. if key invalid (not assigned yet) nullis returned. Item retreived_item = table.getItem(PRIMARY_KEY, id); if (retreived_item == null)//if null instantiate it { retreived_item = new Item(); retreived_item.withPrimaryKey(PRIMARY_KEY, id); } Integer new_version = retreived_item.getInt("version") + 1; retreived_item.withInt("version", new_version); String new_version_str = new_version.toString(); UpdateItemSpec updateItemSpec = new UpdateItemSpec().withPrimaryKey(PRIMARY_KEY, id) .withUpdateExpression("SET " + new_version_str + "= :newval") .withValueMap(new ValueMap().withString(":newval", resource)).withReturnValues(ReturnValue.ALL_NEW); return table.updateItem(updateItemSpec); }
From source file:com.envirover.spl.stream.DynamoDBOutputStream.java
License:Open Source License
@Override public void open() throws IOException { AmazonDynamoDB dynamoDBClient = AmazonDynamoDBClientBuilder.defaultClient(); if (TableUtils.createTableIfNotExists(dynamoDBClient, new CreateTableRequest().withTableName(tableName) .withKeySchema(new KeySchemaElement(ATTR_DEVICE_ID, KeyType.HASH), new KeySchemaElement(ATTR_TIME, KeyType.RANGE)) .withAttributeDefinitions(new AttributeDefinition(ATTR_DEVICE_ID, ScalarAttributeType.S), new AttributeDefinition(ATTR_TIME, ScalarAttributeType.N)) .withProvisionedThroughput(new ProvisionedThroughput().withReadCapacityUnits(READ_CAPACITY) .withWriteCapacityUnits(WRITE_CAPACITY)))) { try {/*from w w w.j a v a2 s .co m*/ TableUtils.waitUntilActive(dynamoDBClient, tableName); } catch (TableNeverTransitionedToStateException e) { throw new IOException(e); } catch (InterruptedException e) { throw new IOException(e); } logger.info(MessageFormat.format("DynamoDB table ''{0}'' created.", tableName)); } dynamoDB = new DynamoDB(dynamoDBClient); }