List of usage examples for com.fasterxml.jackson.core JsonGenerator writeBinaryField
public final void writeBinaryField(String fieldName, byte[] data) throws IOException, JsonGenerationException
From source file:org.echocat.marquardt.common.serialization.PublicKeySerializer.java
@Override public void serialize(final PublicKey publicKey, final JsonGenerator jsonGenerator, final com.fasterxml.jackson.databind.SerializerProvider serializerProvider) throws IOException { final PublicKeyWithMechanism publicKeyWithMechanism = new PublicKeyWithMechanism(publicKey); jsonGenerator.writeStartObject();//from w w w . j a v a2 s .c o m jsonGenerator.writeBinaryField(KEY, publicKeyWithMechanism.getContent()); jsonGenerator.writeEndObject(); }
From source file:com.microsoft.azure.storage.core.WrappedContentKey.java
public void serialize(JsonGenerator generator) throws IOException { // write key id generator.writeStringField("KeyId", this.getKeyId()); // write encrypted key generator.writeBinaryField("EncryptedKey", this.getEncryptedKey()); // write algorithm generator.writeStringField("Algorithm", this.getAlgorithm()); }
From source file:name.osipov.alexey.server.ServerHandler.java
@Override public void channelRead(ChannelHandlerContext ctx, Object msg) throws IOException { if (msg instanceof HttpRequest) { HttpRequest req = (HttpRequest) msg; if (HttpHeaders.is100ContinueExpected(req)) { ctx.write(new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.CONTINUE)); return; }/*from w w w . j av a 2 s . c om*/ //String passkey = req.headers().get("passkey"); // in case of large output this buffer will demand memory // writing directly to channel maybe more efficient... ByteBufOutputStream bufstream = new ByteBufOutputStream(Unpooled.buffer()); JsonGenerator json = new JsonFactory().createGenerator(bufstream); json.writeStartObject(); HttpResponseStatus status = HttpResponseStatus.INTERNAL_SERVER_ERROR; switch (req.getUri()) { case "/register": { User u = users.Register(); json.writeNumberField("id", u.getId()); json.writeBinaryField("key", u.getKey().asBinary()); status = HttpResponseStatus.OK; } break; case "/statistics": { String hashed_key_base64 = req.headers().get("key"); byte[] hashed_key = Base64.decodeBase64(hashed_key_base64); long salt = System.currentTimeMillis() / 1000 / 30; User u = users.getBySaltedHash(hashed_key, salt); if (u != null) { u.requestHappen(); json.writeNumberField("id", u.getId()); json.writeNumberField("requests", u.getRequests()); status = HttpResponseStatus.OK; } else status = HttpResponseStatus.UNAUTHORIZED; } break; } json.writeEndObject(); json.close(); FullHttpResponse response = new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, status, bufstream.buffer()); response.headers().set(HttpHeaders.Names.CONTENT_TYPE, "text/plain"); response.headers().set(HttpHeaders.Names.CONTENT_LENGTH, response.content().readableBytes()); if (!HttpHeaders.isKeepAlive(req)) { ctx.write(response).addListener(ChannelFutureListener.CLOSE); } else { response.headers().set(HttpHeaders.Names.CONNECTION, Values.KEEP_ALIVE); ctx.write(response); } } }
From source file:com.microsoft.azure.storage.core.EncryptionData.java
public void serialize(JsonGenerator generator) throws IOException { // write wrapped content key generator.writeObjectFieldStart(Constants.EncryptionConstants.WRAPPED_CONTENT_KEY); this.getWrappedContentKey().serialize(generator); generator.writeEndObject();/*w ww. java2 s . c om*/ // write encryption agent generator.writeObjectFieldStart(Constants.EncryptionConstants.ENCRYPTION_AGENT); this.getEncryptionAgent().serialize(generator); generator.writeEndObject(); // write content encryption IV generator.writeBinaryField(Constants.EncryptionConstants.CONTENT_ENCRYPTION_IV, this.getContentEncryptionIV()); // write key wrapping metadata generator.writeObjectFieldStart(Constants.EncryptionConstants.KEY_WRAPPING_METADATA); for (String key : this.keyWrappingMetadata.keySet()) { generator.writeStringField(key, this.keyWrappingMetadata.get(key)); } generator.writeEndObject(); }
From source file:com.boundary.zoocreeper.Backup.java
private void dumpNode(JsonGenerator jgen, String path, Stat stat, List<ACL> acls, byte[] data) throws IOException { jgen.writeObjectFieldStart(path);//from www .j a v a2 s.c o m // The number of changes to the ACL of this znode. jgen.writeNumberField(FIELD_AVERSION, stat.getAversion()); // The time in milliseconds from epoch when this znode was created. jgen.writeNumberField(FIELD_CTIME, stat.getCtime()); // The number of changes to the children of this znode. jgen.writeNumberField(FIELD_CVERSION, stat.getCversion()); // The zxid of the change that caused this znode to be created. jgen.writeNumberField(FIELD_CZXID, stat.getCzxid()); // The length of the data field of this znode. // jgen.writeNumberField("dataLength", stat.getDataLength()); // The session id of the owner of this znode if the znode is an ephemeral node. If it is not an ephemeral node, // it will be zero. jgen.writeNumberField(FIELD_EPHEMERAL_OWNER, stat.getEphemeralOwner()); // The time in milliseconds from epoch when this znode was last modified. jgen.writeNumberField(FIELD_MTIME, stat.getMtime()); // The zxid of the change that last modified this znode. jgen.writeNumberField(FIELD_MZXID, stat.getMzxid()); // The number of children of this znode. jgen.writeNumberField("numChildren", stat.getNumChildren()); // last modified children? jgen.writeNumberField(FIELD_PZXID, stat.getPzxid()); // The number of changes to the data of this znode. jgen.writeNumberField(FIELD_VERSION, stat.getVersion()); if (data != null) { jgen.writeBinaryField(FIELD_DATA, data); } else { jgen.writeNullField(FIELD_DATA); } jgen.writeArrayFieldStart(FIELD_ACLS); for (ACL acl : acls) { jgen.writeStartObject(); jgen.writeStringField(FIELD_ACL_ID, acl.getId().getId()); jgen.writeStringField(FIELD_ACL_SCHEME, acl.getId().getScheme()); jgen.writeNumberField(FIELD_ACL_PERMS, acl.getPerms()); jgen.writeEndObject(); } jgen.writeEndArray(); jgen.writeEndObject(); }
From source file:pl.selvin.android.syncframework.content.TableInfo.java
public void GetChanges(SQLiteDatabase db, JsonGenerator gen, ArrayList<TableInfo> notifyTableInfo) throws IOException { String[] cols = new String[columns.length + 3]; int i = 0;//ww w . j av a 2 s. c om for (; i < columns.length; i++) cols[i] = columns[i].name; cols[i] = _.uri; cols[i + 1] = _.tempId; cols[i + 2] = _.isDeleted; Cursor c = db.query(name, cols, _.isDirtyP, new String[] { "1" }, null, null, null); //to fix startPos > actual rows for large cursors db operations should be done after cursor is closed ... final ArrayList<OperationHolder> operations = new ArrayList<OperationHolder>(); if (c.moveToFirst()) { if (!notifyTableInfo.contains(this)) notifyTableInfo.add(this); do { gen.writeStartObject(); gen.writeObjectFieldStart(_.__metadata); gen.writeBooleanField(_.isDirty, true); gen.writeStringField(_.type, scope_name); //Log.d("before", scope_name + ":" + c.getLong(i + 3)); String uri = c.getString(i); //Log.d("after", scope_name + ":" + c.getLong(i + 3)); if (uri == null) { gen.writeStringField(_.tempId, c.getString(i + 1)); } else { gen.writeStringField(_.uri, uri); final ContentValues update = new ContentValues(1); update.put(_.isDirty, 0); operations.add(new OperationHolder(name, OperationHolder.UPDATE, update, uri)); } boolean isDeleted = c.getInt(i + 2) == 1; if (isDeleted) { gen.writeBooleanField(_.isDeleted, true); gen.writeEndObject();// meta operations.add(new OperationHolder(name, OperationHolder.DELETE, null, uri)); } else { gen.writeEndObject();// meta for (i = 0; i < columns.length; i++) { if (columns[i].nullable && c.isNull(i)) { gen.writeNullField(columns[i].name); } else { switch (columns[i].type) { case ColumnType.BLOB: gen.writeBinaryField(columns[i].name, c.getBlob(i)); break; case ColumnType.BOOLEAN: gen.writeBooleanField(columns[i].name, c.getLong(i) == 1); break; case ColumnType.INTEGER: gen.writeNumberField(columns[i].name, c.getLong(i)); break; case ColumnType.DATETIME: try { gen.writeStringField(columns[i].name, String.format(msdate, sdf.parse(c.getString(i)).getTime())); } catch (Exception e) { if (BuildConfig.DEBUG) { Log.e("ListSync", e.getLocalizedMessage()); } } break; case ColumnType.NUMERIC: gen.writeNumberField(columns[i].name, c.getDouble(i)); break; default: gen.writeStringField(columns[i].name, c.getString(i)); break; } } } } gen.writeEndObject(); // end of row } while (c.moveToNext()); } c.close(); for (OperationHolder operation : operations) operation.execute(db); }