Java 类com.fasterxml.jackson.databind.ObjectReader 实例源码
项目:xm-uaa
文件:CaptchaService.java
public boolean checkCaptcha(String captcha) {
if (isBlank(captcha)) {
throw new ErrorCheckCaptcha("error.captcha.required", "Captcha is blank");
}
String url = getReCaptcha().getUrl() + "?secret=" + getReCaptcha().getSecretKey() + "&response=" + captcha;
log.debug("Check captcha by url {}", url);
final ObjectReader reader = new ObjectMapper().readerFor(Map.class);
try {
final MappingIterator<Map<String, Object>> result = reader.readValues(new URL(url));
Map<String, Object> resultMap = result.nextValue();
log.info("Captacha result map {}", resultMap);
Boolean success = (Boolean) resultMap.get("success");
return success;
} catch (IOException e) {
throw new ErrorCheckCaptcha(e);
}
}
项目:OAuth-2.0-Cookbook
文件:JweTokenSerializer.java
public Map<String, Object> decode(String base64EncodedKey, String content) {
try {
byte[] decodedKey = Base64.getDecoder().decode(base64EncodedKey);
SecretKey key = new SecretKeySpec(decodedKey, 0, decodedKey.length, "AES");
JWEObject jwe = JWEObject.parse(content);
jwe.decrypt(new AESDecrypter(key));
ObjectMapper objectMapper = new ObjectMapper();
ObjectReader reader = objectMapper.readerFor(Map.class);
return reader.with(DeserializationFeature.USE_LONG_FOR_INTS)
.readValue(jwe.getPayload().toString());
} catch (Exception e) {
throw new RuntimeException(e);
}
}
项目:OAuth-2.0-Cookbook
文件:JweTokenSerializer.java
public Map<String, Object> decode(String base64EncodedKey, String content) {
try {
byte[] decodedKey = Base64.getDecoder().decode(base64EncodedKey);
SecretKey key = new SecretKeySpec(decodedKey, 0, decodedKey.length, "AES");
JWEObject jwe = JWEObject.parse(content);
jwe.decrypt(new AESDecrypter(key));
ObjectMapper objectMapper = new ObjectMapper();
ObjectReader reader = objectMapper.readerFor(Map.class);
return reader.with(DeserializationFeature.USE_LONG_FOR_INTS)
.readValue(jwe.getPayload().toString());
} catch (Exception e) {
throw new RuntimeException(e);
}
}
项目:config
文件:MongoConfigRepository.java
@Override
public List<KeyValueConfigEntity> findAll(@Nonnull KeyValueConfigName configName) throws Exception {
Objects.requireNonNull(configName);
String collectionName = configName.getQualifiedName();
MongoCollection<RawBsonDocument> collection =
connector.getDatabase().getCollection(collectionName, RawBsonDocument.class);
MongoCursor<RawBsonDocument> it = collection.find().iterator();
if (!it.hasNext()) {
return Collections.emptyList();
}
RawBsonDocument document = it.next();
ByteArrayInputStream bin = new ByteArrayInputStream(document.getByteBuffer().array());
ObjectMapper objectMapper = MongoConfigObjectMapper.getInstance();
ObjectReader objectReader = objectMapper.readerFor(MongoConfigEntity.class);
List<KeyValueConfigEntity> result = ((MongoConfigEntity) objectReader.readValue(bin)).getConfig();
// set groupName on returned config key-value pairs
return result.stream().map(input -> input.setConfigName(configName)).collect(Collectors.toList());
}
项目:crnk-framework
文件:ClientResourceUpsert.java
protected void setMeta(Resource dataBody, Object instance, ResourceInformation resourceInformation) {
ResourceField metaField = resourceInformation.getMetaField();
if (dataBody.getMeta() != null && metaField != null) {
JsonNode metaNode = dataBody.getMeta();
Class<?> metaClass = metaField.getType();
ObjectReader metaMapper = objectMapper.readerFor(metaClass);
try {
Object meta = metaMapper.readValue(metaNode);
metaField.getAccessor().setValue(instance, meta);
} catch (IOException e) {
throw new ResponseBodyException("failed to parse links information", e);
}
}
}
项目:cyberduck
文件:CryptoOutputStream.java
@Override
public void close() throws IOException {
try {
final EncryptedDataContainer encrypted = cipher.doFinal();
super.write(encrypted.getContent());
final String tag = CryptoUtils.byteArrayToString(encrypted.getTag());
final ObjectReader reader = session.getClient().getJSON().getContext(null).readerFor(FileKey.class);
final FileKey fileKey = reader.readValue(status.getFilekey().array());
fileKey.setTag(tag);
final ObjectWriter writer = session.getClient().getJSON().getContext(null).writerFor(FileKey.class);
final ByteArrayOutputStream out = new ByteArrayOutputStream();
writer.writeValue(out, fileKey);
status.setFilekey(ByteBuffer.wrap(out.toByteArray()));
}
catch(CryptoSystemException e) {
throw new IOException(e);
}
finally {
super.close();
}
}
项目:bitsy
文件:ParallelRecordReader.java
public ParallelRecordReader(CommittableFileLog cfl, int numLinesPerBatch, ObjectReader vReader, ObjectReader eReader) {
super(cfl, vReader, eReader);
this.numLinesPerBatch = numLinesPerBatch;
this.numProcessors = Runtime.getRuntime().availableProcessors() - 1; // one to insert, read is not 100% busy
if (numProcessors < 1) {
this.numProcessors = 1;
} else if (numProcessors > 4) {
this.numProcessors = 4; // Don't need more than 4 threads
}
this.numBatchInQueue = QUEUE_TO_PROCESSOR_RATIO * numProcessors;
this.producerService = Executors.newSingleThreadExecutor();
this.deserializerService = Executors.newFixedThreadPool(numProcessors);
this.queue = new ArrayBlockingQueue<Batch>(numBatchInQueue);
// This keeps filling up the queue
producerService.submit(new ProducerTask());
}
项目:alfresco-remote-api
文件:JacksonHelper.java
/**
* Constructs the object based on the content as a List, the JSON can be an array or just a single value without the [] symbols
* @param content Reader
* @return A collection of the specified type
*/
public <T> List<T> constructList(Reader content, Class<T> requiredType)
{
ObjectReader reader = objectMapper.readerFor(TypeFactory.defaultInstance().constructParametricType(List.class, requiredType));
try
{
List<T> toReturn = reader.readValue(content);
if (toReturn == null || toReturn.isEmpty())
{
throw new InvalidArgumentException("Could not read content from HTTP request body, the list is empty");
}
return toReturn;
}
catch (IOException error)
{
throw new InvalidArgumentException("Could not read content from HTTP request body: "+error.getMessage());
}
}
项目:OHMS
文件:HmsInventoryConfiguration.java
/**
* Reload.
*
* @throws HmsException the hms exception
*/
public void reload()
throws HmsException
{
ObjectMapper objectMapper = new ObjectMapper();
ObjectReader objectReader = objectMapper.readerForUpdating( this );
try
{
objectReader.readValue( new File( filename ) );
}
catch ( IOException e )
{
logger.error( "Error reloading HMS inventory configuration file: {}.", filename, e );
throw new HmsException( "Error reloading HMS inventory configuration file: " + filename, e );
}
}
项目:katharsis-framework
文件:ClientResourceUpsert.java
protected void setMeta(Resource dataBody, Object instance, ResourceInformation resourceInformation) {
ResourceField metaField = resourceInformation.getMetaField();
if (dataBody.getMeta() != null && metaField != null) {
JsonNode metaNode = dataBody.getMeta();
Class<?> metaClass = metaField.getType();
ObjectReader metaMapper = objectMapper.readerFor(metaClass);
try {
Object meta = metaMapper.readValue(metaNode);
PropertyUtils.setProperty(instance, metaField.getUnderlyingName(), meta);
} catch (IOException e) {
throw new ResponseBodyException("failed to parse links information", e);
}
}
}
项目:play-redis-module
文件:PlayRedisImpl.java
/**
* Retrieves an object by key.
*
* @param key Item key
* @param reader The object reader
* @param <T> Generic type of something
* @return The object or null.
* @since 17.08.20
*/
private <T> T get(final String key, final ObjectReader reader) {
T object = null;
try {
final String rawData;
try (final Jedis jedis = this.getConnection()) {
rawData = jedis.get(key);
}
if (rawData != null) {
object = reader.readValue(rawData.getBytes());
}
} catch (final IOException ex) {
PlayRedisImpl.LOG.error("Can't get object", ex);
}
return object;
}
项目:play-redis-module
文件:PlayRedisImpl.java
/**
* Get values from a list.
*
* @param key The list key
* @param reader The object reader
* @param offset From where
* @param count The number of items to retrieve
* @param <T> Generic type of something implementing {@code java.io.Serializable}
* @return The values list
* @since 17.08.20
*/
private <T> List<T> getFromList(final String key, final ObjectReader reader, final int offset, final int count) {
final List<T> objects = new ArrayList<>();
try {
final List<String> rawData;
try (final Jedis jedis = this.getConnection()) {
rawData = jedis.lrange(key, offset, count > 0 ? count - 1 : count);
}
if (rawData != null) {
for (final String s : rawData) {
objects.add(reader.readValue(s));
}
}
} catch (IOException | NullPointerException ex) {
PlayRedisImpl.LOG.error("Can't get object from list", ex);
}
return objects;
}
项目:nexus-public
文件:JacksonMarshaller.java
@Override
public <T> T unmarshall(final Object marshalled, final Class<T> type) throws Exception {
checkNotNull(marshalled);
checkState(marshalled instanceof Map, "Marshalled data must be a Map; found: %s", marshalled.getClass());
// FIXME: This allows the top-level object to be created, but if any children objects of this are missing
// FIXME: ... no-arg CTOR then Jackson will fail to construct them.
// FIXME: Is there any way to configure the basic instance creation for Jackson?
Object value = instanceCreator.newInstance(type);
// performs same basic logic as ObjectMapper.convertValue(Object, Class) helper
ObjectReader reader = objectMapper.readerForUpdating(value);
TokenBuffer buff = new TokenBuffer(objectMapper, false);
objectMapper.writeValue(buff, marshalled);
reader.readValue(buff.asParser());
return type.cast(value);
}
项目:science-parse
文件:ParserGroundTruth.java
public ParserGroundTruth(final InputStream is) throws IOException {
try(final BufferedReader reader =
new BufferedReader(
new InputStreamReader(is, "UTF-8"))) {
ObjectMapper om = new ObjectMapper();
ObjectReader r = om.reader().forType(new TypeReference<Paper>() {});
papers = new ArrayList<Paper>();
while (true) {
final String line = reader.readLine();
if (line == null)
break;
papers.add(r.readValue(line));
}
}
log.info("Read " + papers.size() + " papers.");
buildLookup();
papers.forEach((Paper p) -> {
for (int i = 0; i < p.authors.length; i++)
p.authors[i] = invertAroundComma(p.authors[i]);
});
}
项目:ceeql
文件:CeeqlTemplate.java
Context apply(String s, Map<String, String> args, boolean isBatch, Handle dbiHandle, Map<String, String> parameters, NameList names) throws IOException {
ObjectReader mapper = new ObjectMapper().readerFor(Object.class);
HashMap<String, Object> parsedArgs = new HashMap<>();
for (Map.Entry<String, String> a : args.entrySet()) {
try {
parsedArgs.put(a.getKey(), mapper.readValue(a.getValue()));
} catch (Exception e) {
parsedArgs.put(a.getKey(), a.getValue());
}
}
Handlebars handlebars = new Handlebars().with(EscapingStrategy.NOOP);
this.parameters = parameters;
StringHelper.register(handlebars);
StringHelpers.register(handlebars);
FilterHelper.register(handlebars);
ConditionalHelper.register(handlebars);
new ParameterHelper(parameters, names).registerHelper(handlebars);
eh = new EachHelper(parameters, names, isBatch, dbiHandle).registerHelper(handlebars);
template = handlebars.compileInline(s);
sql = template.apply(parsedArgs);
return this;
}
项目:digdag
文件:TdPartialDeleteIT.java
private List<ArrayNode> downloadResult(String jobId)
{
return client.jobResult(jobId, TDResultFormat.JSON, input -> {
try {
List<String> lines = CharStreams.readLines(new InputStreamReader(input));
ObjectReader reader = objectMapper().readerFor(ArrayNode.class);
List<ArrayNode> result = new ArrayList<>();
for (String line : lines) {
result.add(reader.readValue(line));
}
return result;
}
catch (IOException e) {
throw Throwables.propagate(e);
}
});
}
项目:relax-dms
文件:CouchDbRepositoryImpl.java
@Override
public JsonNode getDocumentByIdAndRev(String id, String rev) {
String currentRev = getCurrentRevision(id);
JsonNode schema = null;
// current and needed revisions are the same so return current version of the schema
if (currentRev.equals(rev)) {
return this.find(id);
} else {
AttachmentInputStream ais = db.getAttachment(id, rev);
try {
byte[] data = IOUtils.toByteArray(ais);
ObjectReader reader = (new ObjectMapper()).reader();
schema = reader.readTree(new ByteArrayInputStream(data));
ais.close();
} catch (IOException ex) {
logger.error(ex);
}
return schema;
}
}
项目:armeria
文件:JacksonRequestConverterFunction.java
/**
* Converts the specified {@link AggregatedHttpMessage} to an object of {@code expectedResultType}.
*/
@Override
public Object convertRequest(ServiceRequestContext ctx, AggregatedHttpMessage request,
Class<?> expectedResultType) throws Exception {
final MediaType contentType = request.headers().contentType();
if (contentType != null && (contentType.is(MediaType.JSON) ||
contentType.subtype().endsWith("+json"))) {
final ObjectReader reader = readers.computeIfAbsent(expectedResultType, mapper::readerFor);
if (reader != null) {
final String content = request.content().toString(
contentType.charset().orElse(StandardCharsets.UTF_8));
try {
return reader.readValue(content);
} catch (JsonProcessingException e) {
throw new IllegalArgumentException("failed to parse a JSON document: " + e, e);
}
}
}
return RequestConverterFunction.fallthrough();
}
项目:tinyMediaManager
文件:MovieList.java
/**
* Load movies from database.
*/
void loadMoviesFromDatabase(MVMap<UUID, String> movieMap, ObjectMapper objectMapper) {
// load movies
ObjectReader movieObjectReader = objectMapper.readerFor(Movie.class);
for (UUID uuid : new ArrayList<>(movieMap.keyList())) {
String json = "";
try {
json = movieMap.get(uuid);
Movie movie = movieObjectReader.readValue(json);
movie.setDbId(uuid);
// for performance reasons we add movies directly
movieList.add(movie);
}
catch (Exception e) {
LOGGER.warn("problem decoding movie json string: " + e.getMessage());
LOGGER.info("dropping corrupt movie");
movieMap.remove(uuid);
}
}
LOGGER.info("found " + movieList.size() + " movies in database");
}
项目:tinyMediaManager
文件:MovieList.java
void loadMovieSetsFromDatabase(MVMap<UUID, String> movieSetMap, ObjectMapper objectMapper) {
// load movie sets
ObjectReader movieSetObjectReader = objectMapper.readerFor(MovieSet.class);
for (UUID uuid : new ArrayList<>(movieSetMap.keyList())) {
try {
MovieSet movieSet = movieSetObjectReader.readValue(movieSetMap.get(uuid));
movieSet.setDbId(uuid);
// for performance reasons we add movies sets directly
movieSetList.add(movieSet);
}
catch (Exception e) {
LOGGER.warn("problem decoding movie set json string: " + e.getMessage());
LOGGER.info("dropping corrupt movie set");
movieSetMap.remove(uuid);
}
}
LOGGER.info("found " + movieSetList.size() + " movieSets in database");
}
项目:tinyMediaManager
文件:TvShowList.java
/**
* Load tv shows from database.
*/
void loadTvShowsFromDatabase(MVMap<UUID, String> tvShowMap, ObjectMapper objectMapper) {
// load all TV shows from the database
ObjectReader tvShowObjectReader = objectMapper.readerFor(TvShow.class);
for (UUID uuid : new ArrayList<>(tvShowMap.keyList())) {
try {
TvShow tvShow = tvShowObjectReader.readValue(tvShowMap.get(uuid));
tvShow.setDbId(uuid);
// for performance reasons we add tv shows directly
tvShowList.add(tvShow);
}
catch (Exception e) {
LOGGER.warn("problem decoding TV show json string: " + e.getMessage());
LOGGER.info("dropping corrupt TV show");
tvShowMap.remove(uuid);
}
}
LOGGER.info("found " + tvShowList.size() + " TV shows in database");
}
项目:one-decision
文件:Ch11LoanExampleTest.java
@Test
public void testJsonDeserialization() throws Exception {
InputStream is = null;
try {
is = getClass().getResourceAsStream(
"/decisions/examples/Ch11LoanExample.json");
ObjectMapper mapper = new ObjectMapper();
// we'll be reading instances of MyBean
ObjectReader reader = mapper.readerFor(DmnModel.class);
// and then do other configuration, if any, and read:
DmnModel result = reader.readValue(is);
assertNotNull(result);
} catch (Exception e) {
e.printStackTrace();
// fail("unable to find test resource");
}
// DmnModel dmnModel = de.getRepositoryService().createModelForTenant(
// ch11LoanExample.getDmnModel());
// transformAndAssert(dmnModel, "applicationRiskScoreModel_bkm");
}
项目:Slide
文件:OfflineSubreddit.java
public static Submission getSubmissionFromStorage(String fullName, Context c, boolean offline,
ObjectReader reader) throws IOException {
String gotten = getStringFromFile(fullName, c);
if (!gotten.isEmpty()) {
if (gotten.startsWith("[") && offline) {
return (SubmissionSerializer.withComments(reader.readTree(gotten),
CommentSort.CONFIDENCE));
} else if (gotten.startsWith("[")) {
JsonNode elem = reader.readTree(gotten);
return (new Submission(elem.get(0).get("data").get("children").get(0).get("data")));
} else {
return (new Submission(reader.readTree(gotten)));
}
}
return null;
}
项目:QuizUpWinner
文件:DataFormatReaders.java
private Match _findFormat(AccessorForReader paramAccessorForReader)
{
Object localObject1 = null;
Object localObject2 = null;
for (ObjectReader localObjectReader : this._readers)
{
paramAccessorForReader.reset();
MatchStrength localMatchStrength = localObjectReader.getFactory().hasFormat(paramAccessorForReader);
if ((localMatchStrength != null) && (localMatchStrength.ordinal() >= this._minimalMatch.ordinal()) && ((localObject1 == null) || (localObject2.ordinal() < localMatchStrength.ordinal())))
{
localObject1 = localObjectReader;
localObject2 = localMatchStrength;
if (localMatchStrength.ordinal() >= this._optimalMatch.ordinal())
break;
}
}
return paramAccessorForReader.createMatcher(localObject1, localObject2);
}
项目:Stud.IP-FileSync
文件:JacksonRequest.java
/**
* Parse response into data model object.
*
* @param unwrap Unwrap datamodel
* @return Response datamodel
* @throws IOException
*/
public T parseResponse() throws IOException {
ObjectReader reader = MAPPER.readerFor(datamodel).without(Feature.AUTO_CLOSE_SOURCE);
if (datamodel.isAnnotationPresent(JsonRootName.class)) {
reader = reader.with(DeserializationFeature.UNWRAP_ROOT_VALUE);
}
try (final InputStream is = response.getStream()) {
final T result = reader.readValue(is);
/*
* ObjectReader.readValue might not consume the entire inputstream,
* we skip everything after the json root element.
* This is needed for proper http connection reuse (keep alive).
*/
is.skip(Long.MAX_VALUE);
return result;
}
}
项目:guja
文件:UnixTimestampObjectMapperProviderTest.java
@Test
public void testUnixTimestampDeserialize() throws Exception {
UnixTimestampObjectMapperProvider provider = new UnixTimestampObjectMapperProvider();
ObjectMapper mapper = provider.get();
ObjectReader reader = mapper.reader();
StupidPojo pojo = reader
.withType(StupidPojo.class)
.readValue(String.format("{\"message\" : \"Test message\", \"date\":%s}", timestamp / 1000));
LOGGER.info("{}", pojo);
DateTime refDate = new DateTime(date);
Interval interval = getInterval(new DateTime(pojo.getDate()), refDate);
assertTrue(Math.abs(interval.toDurationMillis()) < ALLOWED_DIFFERENCE);
}
项目:data-prep
文件:MixedContentMapTest.java
@Test
public void testRead() throws Exception {
final ObjectReader reader = mapper.reader(MixedContentMap.class);
final MixedContentMap map = reader.readValue(MixedContentMapTest.class.getResourceAsStream("mixedMapContent.json"));
assertThat(map, notNullValue());
assertThat(map.get("string"), is("string value"));
assertThat(map.get("numeric"), is("10"));
assertThat(map.get("boolean"), is("true"));
assertThat(map.get("double"), is("10.1"));
assertThat(map.get("null"), nullValue());
assertThat(map.get("empty"), is(""));
final String object = map.get("object");
assertThat(object, sameJSONAs("{\"eq\": { \"field\": \"nbCommands\",\"value\": \"13\" }}"));
final String array = map.get("array");
assertThat(array, sameJSONAs("[1, 2, 3]"));
}
项目:MLDS
文件:PartialCopyTest.java
@Test
public void applySomePropertiesToAnObject() throws JsonProcessingException, IOException {
ExtensionApplication extensionApplication = new ExtensionApplication();
extensionApplication.setAffiliateDetails(new AffiliateDetails());
extensionApplication.setNotesInternal("internalNotes");
String incomingJSON = "{ \"notesInternal\": \"new value\"}";
ObjectMapper objectMapper = new ObjectMapper();
ObjectReader readerForUpdating = objectMapper.readerForUpdating(extensionApplication);
JsonNode tree = objectMapper.readTree(incomingJSON);
readerForUpdating.readValue(tree);
Assert.assertEquals("new value", extensionApplication.getNotesInternal());
}
项目:pinpoint
文件:ObjectReaderIT.java
@Test
public void testReadValue() throws Exception {
String json_str = "{\"name\" : \"Jackson\"}";
byte[] json_b = json_str.getBytes(UTF_8);
ObjectReader reader = mapper.reader(__POJO.class);
__POJO pojo = reader.readValue(json_str);
pojo = reader.readValue(json_b);
PluginTestVerifier verifier = PluginTestVerifierHolder.getInstance();
verifier.printCache();
Method readval1 = ObjectReader.class.getMethod("readValue", String.class);
Method readval2 = ObjectReader.class.getMethod("readValue", byte[].class);
verifier.verifyTrace(event("JACKSON", readval1, Expectations.annotation("jackson.json.length", json_str.length())));
verifier.verifyTrace(event("JACKSON", readval2, Expectations.annotation("jackson.json.length", json_b.length)));
verifier.verifyTraceCount(0);
}
项目:ABRAID-MP
文件:ParseUtils.java
/**
* Reads a CSV file into a list of the specified type.
* @param csv The CSV file.
* @param responseClass The type of the returned list's elements.
* @param schema A schema representing the CSV file's structure.
* @param <T> The type of the returned list's elements.
* @return A list of parsed elements.
* @throws IOException if parsing failed.
*/
public static <T> List<T> readFromCsv(String csv, Class<T> responseClass, CsvSchema schema) throws IOException {
if (csv == null) {
// Protect against NullPointerException
csv = "";
}
ObjectReader reader = new CsvMapper().reader(responseClass).with(schema);
MappingIterator<T> iterator = reader.readValues(csv);
ArrayList<T> results = new ArrayList<>();
try {
while (iterator.hasNext()) {
results.add(iterator.next());
}
} catch (RuntimeException e) {
// ObjectReader throws (subclasses of) IOException, but MappingIterator wraps them in a RuntimeException.
// We unwrap them for consistency.
Throwable cause = e.getCause();
if (cause != null && cause instanceof IOException) {
throw (IOException) cause;
}
throw e;
}
return results;
}
项目:ABRAID-MP
文件:DiseaseOccurrenceGeoJsonIntegrationTest.java
@Test
public void deserializingADiseaseOccurrenceCollectionGivesCorrectResult() throws Exception {
// Arrange
GeoJsonDiseaseOccurrenceFeatureCollection occurrences = new GeoJsonDiseaseOccurrenceFeatureCollection(
Arrays.asList(defaultDiseaseOccurrence(), defaultDiseaseOccurrence()));
AbraidJsonObjectMapper objectMapper = new AbraidJsonObjectMapper();
OutputStream stream = new ByteArrayOutputStream();
objectMapper.writeValue(stream, occurrences);
String input = stream.toString();
// Act
ObjectReader reader = objectMapper.reader(GeoJsonDiseaseOccurrenceFeatureCollection.class);
GeoJsonDiseaseOccurrenceFeatureCollection result = reader.readValue(input);
// Assert
assertThat(result).isNotNull();
assertThat(result).isEqualTo(occurrences);
}
项目:thrift-swift-finagle-example
文件:Config.java
public static <T extends Config> T load(Class<T> configClazz, InputStream configInput, String configPath, InputStream defaultConfigInput) throws IOException, ConfigValidationException {
Objects.requireNonNull(configClazz);
Objects.requireNonNull(configInput);
final ObjectMapper mapper = createObjectMapper();
T defaultConfig;
ObjectReader updater = null;
if (defaultConfigInput != null) {
defaultConfig = mapper.readValue(defaultConfigInput, configClazz);
updater = mapper.readerForUpdating(defaultConfig);
}
T config;
if (updater != null) {
config = updater.readValue(configInput);
} else {
config = mapper.readValue(configInput, configClazz);
}
config.configFolder = Resource.from(configPath).getParent();
//validate(config);
return config;
}
项目:thrift-swift-finagle-example
文件:Config.java
public static <T extends Config> T load(TypeReference<?> configClazz, InputStream configInput, String configPath, InputStream defaultConfigInput) throws IOException, ConfigValidationException {
Objects.requireNonNull(configClazz);
Objects.requireNonNull(configInput);
final ObjectMapper mapper = createObjectMapper();
T defaultConfig;
ObjectReader updater = null;
if (defaultConfigInput != null) {
defaultConfig = mapper.readValue(defaultConfigInput, configClazz);
updater = mapper.readerForUpdating(defaultConfig);
}
T config;
if (updater != null) {
config = updater.readValue(configInput);
} else {
config = mapper.readValue(configInput, configClazz);
}
config.configFolder = Resource.from(configPath).getParent();
//validate(config);
return config;
}
项目:zookeeper-clients
文件:TraceEventIterator.java
public TraceEventIterator(
JsonParser json,
ObjectReader reader) throws JsonParseException, IOException {
this.json = json;
this.reader = reader;
if (! json.hasCurrentToken()) {
json.nextToken();
}
if (! json.isExpectedStartArrayToken()) {
throw new IllegalArgumentException(String.valueOf(json.getCurrentLocation()));
}
json.nextToken();
this.header = reader.readValue(json, TraceHeader.class);
json.nextToken();
if (! json.isExpectedStartArrayToken()) {
throw new IllegalArgumentException(String.valueOf(json.getCurrentLocation()));
}
json.clearCurrentToken();
}
项目:zookeeper-clients
文件:TraceIteratingClientBuilder.java
protected Iterator<Records.Request> getDefaultRequests() {
ObjectReader reader = getObjectMapper().reader();
File file = Tracing.getTraceInputFileConfiguration(getRuntimeModule().getConfiguration());
Iterator<TraceEvent> events;
if (getRuntimeModule().getConfiguration().getArguments().helpOptionSet()) {
events = Iterators.empty();
} else {
logger.info("Trace input: {}", file);
try {
events = TraceEventIterator.forFile(file, reader);
} catch (IOException e) {
throw Throwables.propagate(e);
}
}
return TraceRequestIterator.requestsOf(TraceRequestIterator.from(events));
}
项目:stagemonitor
文件:ElasticsearchClient.java
public <T> Collection<T> getAll(String path, int limit, Class<T> clazz) {
try {
final JsonNode json = getJson(path + "/_search?size=" + limit);
if (json != null) {
JsonNode hits = json.get("hits").get("hits");
List<T> all = new ArrayList<T>(hits.size());
ObjectReader reader = JsonUtils.getObjectReader(clazz);
for (JsonNode hit : hits) {
all.add(reader.<T>readValue(hit.get("_source")));
}
return all;
} else {
return Collections.emptyList();
}
} catch (IOException e) {
logger.warn(e.getMessage(), e);
return Collections.emptyList();
}
}
项目:libraft
文件:LocalStore.java
/**
* Flushes all {@code key=>value} pairs and replaces them with
* the values read from the given {@code snapshotInputStream}.
* This implementation expects the {@code InputStream} to contain
* a sequence of JSON {@link KeyValue} instances.
*
* @param lastAppliedIndex log index >= 0 of the last change contained in this snapshot
* @param snapshotInputStream {@code InputStream} from which all {@code key=> value} pairs should be read
* @throws IOException if valid {@code key=>value} pairs cannot be read from {@code snapshotInputStream}.
* Since no internal state is modified until the {@code snapshotInputStream} is completely read and
* parsed, {@code LocalStore} can still be used safely after an {@code IOException} is thrown
* @throws RuntimeException if the {@code key=>value} pairs in {@code snapshotInputStream} cannot be converted to JSON
*/
synchronized void loadState(long lastAppliedIndex, InputStream snapshotInputStream) throws IOException {
try {
// read values from the snapshot into a temporary map
Map<String, String> snapshotEntries = Maps.newHashMap();
ObjectMapper mapper = new ObjectMapper();
ObjectReader reader = mapper.reader(KeyValue.class);
MappingIterator<KeyValue> it = reader.readValues(snapshotInputStream);
while (it.hasNext()) {
KeyValue keyValue = it.next();
snapshotEntries.put(keyValue.getKey(), keyValue.getValue()); // values are read into this temporary map!
}
// update the index
// NOTE: AFAIU, we should never get a snapshot which contains fewer entries than we've applied
updateLastAppliedIndex(lastAppliedIndex);
// replace the old entries map with the new one generated from the snapshot
entries = snapshotEntries;
} finally {
Closeables.close(snapshotInputStream, true);
}
}
项目:GitHub
文件:JacksonParserFactory.java
@Override
public Object getObject(String string, Type type) {
try {
JavaType javaType = mapper.getTypeFactory().constructType(type);
ObjectReader objectReader = mapper.readerFor(javaType);
return objectReader.readValue(string);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
项目:GitHub
文件:JacksonConverterFactory.java
@Override
public Converter<ResponseBody, ?> responseBodyConverter(Type type, Annotation[] annotations,
Retrofit retrofit) {
JavaType javaType = mapper.getTypeFactory().constructType(type);
ObjectReader reader = mapper.readerFor(javaType);
return new JacksonResponseBodyConverter<>(reader);
}
项目:GitHub
文件:JacksonParserFactory.java
@Override
public Object getObject(String string, Type type) {
try {
JavaType javaType = mapper.getTypeFactory().constructType(type);
ObjectReader objectReader = mapper.readerFor(javaType);
return objectReader.readValue(string);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}