Example usage for com.google.gson.stream JsonReader JsonReader

List of usage examples for com.google.gson.stream JsonReader JsonReader

Introduction

In this page you can find the example usage for com.google.gson.stream JsonReader JsonReader.

Prototype

public JsonReader(Reader in) 

Source Link

Document

Creates a new instance that reads a JSON-encoded stream from in .

Usage

From source file:com.berniesanders.fieldthebern.repositories.CollectionRepo.java

License:Apache License

private Observable<Collection> getFromFile() {

    return Observable.create(new Observable.OnSubscribe<Collection>() {

        @Override//  ww  w  . ja  v a  2 s  .  c om
        public void call(Subscriber<? super Collection> subscriber) {

            Timber.v("getFromFile()");
            File file = new File(context.getFilesDir(), JSON_FILE_PATH);
            Reader fileReader;

            try {
                fileReader = new FileReader(file);
            } catch (FileNotFoundException e) {
                Timber.e(e, "File not found? we're doomed");
                subscriber.onError(e);
                return;
            }

            JsonReader jsonReader = new JsonReader(fileReader);
            collectionMemCache = gson.fromJson(jsonReader, Collection.class);
            subscriber.onNext(collectionMemCache);
            subscriber.onCompleted();
        }
    });
}

From source file:com.boc.lfj.httpdemo.retrofit.gson.GsonResponseBodyConverter.java

License:Apache License

@Override
public T convert(ResponseBody value) throws IOException {
    JsonReader jsonReader = new JsonReader(value.charStream());
    try {//from w  w  w. jav  a 2s . c  o  m
        return adapter.read(jsonReader);
    } finally {
        value.close();
    }
}

From source file:com.buddycloud.friendfinder.HttpUtils.java

License:Apache License

public static JsonElement consumeJSON(String URL) throws Exception {
    HttpClient client = new DefaultHttpClient();
    HttpGet httpGet = new HttpGet(URL);
    HttpResponse httpResponse = client.execute(httpGet);

    JsonElement parse = new JsonParser()
            .parse(new JsonReader(new InputStreamReader(httpResponse.getEntity().getContent())));

    return parse;
}

From source file:com.builtbroken.builder.utils.Utils.java

/**
 * Reads a file from disk as a json element
 *
 * @param file - file to load, does not check if the
 *             file exists or is a json file.
 * @return element//from w  ww  .  j av  a  2  s. com
 */
public static JsonElement toJsonElement(final File file) {
    try {
        FileReader stream = new FileReader(file);
        BufferedReader reader = new BufferedReader(stream);

        JsonReader jsonReader = new JsonReader(reader);
        JsonElement element = Streams.parse(jsonReader);

        reader.close();
        stream.close();
        return element;
    } catch (Exception e) {
        throw new RuntimeException("Failed to parse file as json [" + file + "]", e);
    }
}

From source file:com.cdancy.artifactory.rest.fallbacks.ArtifactoryFallbacks.java

License:Apache License

public static RequestStatus createPromoteBuildFromError(String message) {
    List<Message> messages = new ArrayList<>();
    List<Error> errors = new ArrayList<>();

    JsonReader reader = new JsonReader(new StringReader(message));
    reader.setLenient(true);/*w w w . j  av  a2s  .com*/

    JsonElement possibleMessages = parser.parse(reader).getAsJsonObject().get("messages");
    if (possibleMessages != null) {
        JsonArray jsonArray = possibleMessages.getAsJsonArray();
        Iterator<JsonElement> iter = jsonArray.iterator();
        while (iter.hasNext()) {
            JsonElement jsonElement = iter.next();
            JsonObject jsonObject = jsonElement.getAsJsonObject();
            Message mess = Message.create(jsonObject.get("level").getAsString(),
                    jsonObject.get("message").getAsString());
            messages.add(mess);
        }
    }

    JsonElement possibleErrors = parser.parse(message).getAsJsonObject().get("errors");
    if (possibleErrors != null) {
        JsonArray jsonArray = possibleErrors.getAsJsonArray();
        Iterator<JsonElement> iter = jsonArray.iterator();
        while (iter.hasNext()) {
            JsonElement jsonElement = iter.next();
            JsonObject jsonObject = jsonElement.getAsJsonObject();
            Error error = Error.create(jsonObject.get("status").getAsInt(),
                    jsonObject.get("message").getAsString());
            errors.add(error);
        }
    }

    return RequestStatus.create(messages, errors);
}

From source file:com.cinchapi.concourse.util.Convert.java

License:Apache License

/**
 * Takes a JSON string representation of an object or an array of JSON
 * objects and returns a list of {@link Multimap multimaps} with the
 * corresponding data. Unlike {@link #jsonToJava(String)}, this method will
 * allow the top level element to be an array in the {code json} string.
 * /*from ww  w.j ava2  s. c  o m*/
 * @param json
 * @return A list of Java objects
 */
public static List<Multimap<String, Object>> anyJsonToJava(String json) {
    List<Multimap<String, Object>> result = Lists.newArrayList();
    try (JsonReader reader = new JsonReader(new StringReader(json))) {
        reader.setLenient(true);
        if (reader.peek() == JsonToken.BEGIN_ARRAY) {
            try {
                reader.beginArray();
                while (reader.peek() != JsonToken.END_ARRAY) {
                    result.add(jsonToJava(reader));
                }
                reader.endArray();
            } catch (IllegalStateException e) {
                throw new JsonParseException(e.getMessage());
            }
        } else {
            result.add(jsonToJava(reader));
        }
    } catch (IOException e) {
        throw Throwables.propagate(e);
    }
    return result;
}

From source file:com.cinchapi.concourse.util.Convert.java

License:Apache License

/**
 * Convert a JSON formatted string to a mapping that associates each key
 * with the Java objects that represent the corresponding values. This
 * method is designed to parse simple JSON structures that associate keys to
 * simple values or arrays without knowing the type of each element ahead of
 * time./*  w w w . j ava2 s. c  o m*/
 * <p>
 * This method can properly handle JSON strings that abide by the following
 * rules:
 * <ul>
 * <li>The top level element in the JSON string must be an Object</li>
 * <li>No nested objects (e.g. a key cannot map to an object)</li>
 * <li>No null values</li>
 * </ul>
 * </p>
 * 
 * @param json
 * @return the converted data
 */
public static Multimap<String, Object> jsonToJava(String json) {
    try (JsonReader reader = new JsonReader(new StringReader(json))) {
        reader.setLenient(true);
        return jsonToJava(reader);
    } catch (IOException e) {
        throw Throwables.propagate(e);
    }
}

From source file:com.cloud.agent.manager.SimulatorManagerImpl.java

License:Apache License

@DB
@Override/*  w ww  .j  a  v a 2  s .  c o  m*/
public Answer simulate(final Command cmd, final String hostGuid) {
    Answer answer = null;
    Exception exception = null;
    TransactionLegacy txn = TransactionLegacy.open(TransactionLegacy.SIMULATOR_DB);
    try {
        final MockHost host = _mockHost.findByGuid(hostGuid);
        String cmdName = cmd.toString();
        final int index = cmdName.lastIndexOf(".");
        if (index != -1) {
            cmdName = cmdName.substring(index + 1);
        }

        final SimulatorInfo info = new SimulatorInfo();
        info.setHostUuid(hostGuid);

        final MockConfigurationVO config = _mockConfigDao.findByNameBottomUP(host.getDataCenterId(),
                host.getPodId(), host.getClusterId(), host.getId(), cmdName);
        if (config != null && (config.getCount() == null || config.getCount().intValue() > 0)) {
            final Map<String, String> configParameters = config.getParameters();
            for (final Map.Entry<String, String> entry : configParameters.entrySet()) {
                if (entry.getKey().equalsIgnoreCase("enabled")) {
                    info.setEnabled(Boolean.parseBoolean(entry.getValue()));
                } else if (entry.getKey().equalsIgnoreCase("timeout")) {
                    try {
                        info.setTimeout(Integer.valueOf(entry.getValue()));
                    } catch (final NumberFormatException e) {
                        s_logger.debug("invalid timeout parameter: " + e.toString());
                    }
                }

                if (entry.getKey().equalsIgnoreCase("wait")) {
                    try {
                        final int wait = Integer.valueOf(entry.getValue());
                        Thread.sleep(wait);
                    } catch (final NumberFormatException e) {
                        s_logger.debug("invalid wait parameter: " + e.toString());
                    } catch (final InterruptedException e) {
                        s_logger.debug("thread is interrupted: " + e.toString());
                    }
                }

                if (entry.getKey().equalsIgnoreCase("result")) {
                    final String value = entry.getValue();
                    if (value.equalsIgnoreCase("fail")) {
                        answer = new Answer(cmd, false, "Simulated failure");
                    } else if (value.equalsIgnoreCase("fault")) {
                        exception = new Exception("Simulated fault");
                    }
                }
            }

            if (exception != null) {
                throw exception;
            }

            if (answer == null) {
                final String message = config.getJsonResponse();
                if (message != null) {
                    // json response looks like {"<Type>":....}
                    final String objectType = message.split(":")[0].substring(2).replace("\"", "");
                    final String objectData = message.substring(message.indexOf(':') + 1, message.length() - 1);
                    if (objectType != null) {
                        Class<?> clz = null;
                        try {
                            clz = Class.forName(objectType);
                        } catch (final ClassNotFoundException e) {
                        }
                        if (clz != null) {
                            final StringReader reader = new StringReader(objectData);
                            final JsonReader jsonReader = new JsonReader(reader);
                            jsonReader.setLenient(true);
                            answer = (Answer) s_gson.fromJson(jsonReader, clz);
                        }
                    }
                }
            }
        }

        if (answer == null) {
            if (cmd instanceof GetHostStatsCommand) {
                answer = _mockAgentMgr.getHostStatistic((GetHostStatsCommand) cmd);
            } else if (cmd instanceof CheckHealthCommand) {
                answer = _mockAgentMgr.checkHealth((CheckHealthCommand) cmd);
            } else if (cmd instanceof PingTestCommand) {
                answer = _mockAgentMgr.pingTest((PingTestCommand) cmd);
            } else if (cmd instanceof PrepareForMigrationCommand) {
                answer = _mockVmMgr.prepareForMigrate((PrepareForMigrationCommand) cmd);
            } else if (cmd instanceof MigrateCommand) {
                answer = _mockVmMgr.migrate((MigrateCommand) cmd, info);
            } else if (cmd instanceof StartCommand) {
                answer = _mockVmMgr.startVM((StartCommand) cmd, info);
            } else if (cmd instanceof CheckSshCommand) {
                answer = _mockVmMgr.checkSshCommand((CheckSshCommand) cmd);
            } else if (cmd instanceof CheckVirtualMachineCommand) {
                answer = _mockVmMgr.checkVmState((CheckVirtualMachineCommand) cmd);
            } else if (cmd instanceof SetStaticNatRulesCommand) {
                answer = _mockNetworkMgr.SetStaticNatRules((SetStaticNatRulesCommand) cmd);
            } else if (cmd instanceof SetFirewallRulesCommand) {
                answer = _mockNetworkMgr.SetFirewallRules((SetFirewallRulesCommand) cmd);
            } else if (cmd instanceof SetPortForwardingRulesCommand) {
                answer = _mockNetworkMgr.SetPortForwardingRules((SetPortForwardingRulesCommand) cmd);
            } else if (cmd instanceof NetworkUsageCommand) {
                answer = _mockNetworkMgr.getNetworkUsage((NetworkUsageCommand) cmd);
            } else if (cmd instanceof IpAssocCommand) {
                answer = _mockNetworkMgr.IpAssoc((IpAssocCommand) cmd);
            } else if (cmd instanceof LoadBalancerConfigCommand) {
                answer = _mockNetworkMgr.LoadBalancerConfig((LoadBalancerConfigCommand) cmd);
            } else if (cmd instanceof DhcpEntryCommand) {
                answer = _mockNetworkMgr.AddDhcpEntry((DhcpEntryCommand) cmd);
            } else if (cmd instanceof VmDataCommand) {
                answer = _mockVmMgr.setVmData((VmDataCommand) cmd);
            } else if (cmd instanceof CleanupNetworkRulesCmd) {
                answer = _mockVmMgr.cleanupNetworkRules((CleanupNetworkRulesCmd) cmd, info);
            } else if (cmd instanceof CheckNetworkCommand) {
                answer = _mockAgentMgr.checkNetworkCommand((CheckNetworkCommand) cmd);
            } else if (cmd instanceof StopCommand) {
                answer = _mockVmMgr.stopVM((StopCommand) cmd);
            } else if (cmd instanceof RebootCommand) {
                answer = _mockVmMgr.rebootVM((RebootCommand) cmd);
            } else if (cmd instanceof GetVncPortCommand) {
                answer = _mockVmMgr.getVncPort((GetVncPortCommand) cmd);
            } else if (cmd instanceof CheckConsoleProxyLoadCommand) {
                answer = _mockVmMgr.checkConsoleProxyLoad((CheckConsoleProxyLoadCommand) cmd);
            } else if (cmd instanceof WatchConsoleProxyLoadCommand) {
                answer = _mockVmMgr.watchConsoleProxyLoad((WatchConsoleProxyLoadCommand) cmd);
            } else if (cmd instanceof SecurityGroupRulesCmd) {
                answer = _mockVmMgr.addSecurityGroupRules((SecurityGroupRulesCmd) cmd, info);
            } else if (cmd instanceof SavePasswordCommand) {
                answer = _mockVmMgr.savePassword((SavePasswordCommand) cmd);
            } else if (cmd instanceof PrimaryStorageDownloadCommand) {
                answer = _mockStorageMgr.primaryStorageDownload((PrimaryStorageDownloadCommand) cmd);
            } else if (cmd instanceof CreateCommand) {
                answer = _mockStorageMgr.createVolume((CreateCommand) cmd);
            } else if (cmd instanceof AttachIsoCommand) {
                answer = _mockStorageMgr.AttachIso((AttachIsoCommand) cmd);
            } else if (cmd instanceof DeleteStoragePoolCommand) {
                answer = _mockStorageMgr.DeleteStoragePool((DeleteStoragePoolCommand) cmd);
            } else if (cmd instanceof ModifyStoragePoolCommand) {
                answer = _mockStorageMgr.ModifyStoragePool((ModifyStoragePoolCommand) cmd);
            } else if (cmd instanceof CreateStoragePoolCommand) {
                answer = _mockStorageMgr.CreateStoragePool((CreateStoragePoolCommand) cmd);
            } else if (cmd instanceof SecStorageSetupCommand) {
                answer = _mockStorageMgr.SecStorageSetup((SecStorageSetupCommand) cmd);
            } else if (cmd instanceof ListTemplateCommand) {
                answer = _mockStorageMgr.ListTemplates((ListTemplateCommand) cmd);
            } else if (cmd instanceof ListVolumeCommand) {
                answer = _mockStorageMgr.ListVolumes((ListVolumeCommand) cmd);
            } else if (cmd instanceof DestroyCommand) {
                answer = _mockStorageMgr.Destroy((DestroyCommand) cmd);
            } else if (cmd instanceof DownloadProgressCommand) {
                answer = _mockStorageMgr.DownloadProcess((DownloadProgressCommand) cmd);
            } else if (cmd instanceof DownloadCommand) {
                answer = _mockStorageMgr.Download((DownloadCommand) cmd);
            } else if (cmd instanceof GetStorageStatsCommand) {
                answer = _mockStorageMgr.GetStorageStats((GetStorageStatsCommand) cmd);
            } else if (cmd instanceof ManageSnapshotCommand) {
                answer = _mockStorageMgr.ManageSnapshot((ManageSnapshotCommand) cmd);
            } else if (cmd instanceof BackupSnapshotCommand) {
                answer = _mockStorageMgr.BackupSnapshot((BackupSnapshotCommand) cmd, info);
            } else if (cmd instanceof CreateVolumeFromSnapshotCommand) {
                answer = _mockStorageMgr.CreateVolumeFromSnapshot((CreateVolumeFromSnapshotCommand) cmd);
            } else if (cmd instanceof DeleteCommand) {
                answer = _mockStorageMgr.Delete((DeleteCommand) cmd);
            } else if (cmd instanceof SecStorageVMSetupCommand) {
                answer = _mockStorageMgr.SecStorageVMSetup((SecStorageVMSetupCommand) cmd);
            } else if (cmd instanceof CreatePrivateTemplateFromSnapshotCommand) {
                answer = _mockStorageMgr
                        .CreatePrivateTemplateFromSnapshot((CreatePrivateTemplateFromSnapshotCommand) cmd);
            } else if (cmd instanceof ComputeChecksumCommand) {
                answer = _mockStorageMgr.ComputeChecksum((ComputeChecksumCommand) cmd);
            } else if (cmd instanceof CreatePrivateTemplateFromVolumeCommand) {
                answer = _mockStorageMgr
                        .CreatePrivateTemplateFromVolume((CreatePrivateTemplateFromVolumeCommand) cmd);
            } else if (cmd instanceof UploadStatusCommand) {
                answer = _mockStorageMgr.getUploadStatus((UploadStatusCommand) cmd);
            } else if (cmd instanceof MaintainCommand) {
                answer = _mockAgentMgr.maintain((MaintainCommand) cmd);
            } else if (cmd instanceof GetVmStatsCommand) {
                answer = _mockVmMgr.getVmStats((GetVmStatsCommand) cmd);
            } else if (cmd instanceof CheckRouterCommand) {
                answer = _mockVmMgr.checkRouter((CheckRouterCommand) cmd);
            } else if (cmd instanceof GetDomRVersionCmd) {
                answer = _mockVmMgr.getDomRVersion((GetDomRVersionCmd) cmd);
            } else if (cmd instanceof CopyVolumeCommand) {
                answer = _mockStorageMgr.CopyVolume((CopyVolumeCommand) cmd);
            } else if (cmd instanceof PlugNicCommand) {
                answer = _mockNetworkMgr.plugNic((PlugNicCommand) cmd);
            } else if (cmd instanceof UnPlugNicCommand) {
                answer = _mockNetworkMgr.unplugNic((UnPlugNicCommand) cmd);
            } else if (cmd instanceof IpAssocVpcCommand) {
                answer = _mockNetworkMgr.ipAssoc((IpAssocVpcCommand) cmd);
            } else if (cmd instanceof SetSourceNatCommand) {
                answer = _mockNetworkMgr.setSourceNat((SetSourceNatCommand) cmd);
            } else if (cmd instanceof SetNetworkACLCommand) {
                answer = _mockNetworkMgr.setNetworkAcl((SetNetworkACLCommand) cmd);
            } else if (cmd instanceof SetupGuestNetworkCommand) {
                answer = _mockNetworkMgr.setUpGuestNetwork((SetupGuestNetworkCommand) cmd);
            } else if (cmd instanceof SetPortForwardingRulesVpcCommand) {
                answer = _mockNetworkMgr.setVpcPortForwards((SetPortForwardingRulesVpcCommand) cmd);
            } else if (cmd instanceof SetStaticNatRulesCommand) {
                answer = _mockNetworkMgr.setVPCStaticNatRules((SetStaticNatRulesCommand) cmd);
            } else if (cmd instanceof SetStaticRouteCommand) {
                answer = _mockNetworkMgr.setStaticRoute((SetStaticRouteCommand) cmd);
            } else if (cmd instanceof Site2SiteVpnCfgCommand) {
                answer = _mockNetworkMgr.siteToSiteVpn((Site2SiteVpnCfgCommand) cmd);
            } else if (cmd instanceof CheckS2SVpnConnectionsCommand) {
                answer = _mockNetworkMgr.checkSiteToSiteVpnConnection((CheckS2SVpnConnectionsCommand) cmd);
            } else if (cmd instanceof CreateVMSnapshotCommand) {
                answer = _mockVmMgr.createVmSnapshot((CreateVMSnapshotCommand) cmd);
            } else if (cmd instanceof DeleteVMSnapshotCommand) {
                answer = _mockVmMgr.deleteVmSnapshot((DeleteVMSnapshotCommand) cmd);
            } else if (cmd instanceof RevertToVMSnapshotCommand) {
                answer = _mockVmMgr.revertVmSnapshot((RevertToVMSnapshotCommand) cmd);
            } else if (cmd instanceof NetworkRulesVmSecondaryIpCommand) {
                answer = _mockVmMgr.plugSecondaryIp((NetworkRulesVmSecondaryIpCommand) cmd);
            } else if (cmd instanceof ScaleVmCommand) {
                answer = _mockVmMgr.scaleVm((ScaleVmCommand) cmd);
            } else if (cmd instanceof PvlanSetupCommand) {
                answer = _mockNetworkMgr.setupPVLAN((PvlanSetupCommand) cmd);
            } else if (cmd instanceof StorageSubSystemCommand) {
                answer = storageHandler.handleStorageCommands((StorageSubSystemCommand) cmd);
            } else if (cmd instanceof FenceCommand) {
                answer = _mockVmMgr.fence((FenceCommand) cmd);
            } else if (cmd instanceof GetRouterAlertsCommand || cmd instanceof VpnUsersCfgCommand
                    || cmd instanceof RemoteAccessVpnCfgCommand || cmd instanceof SetMonitorServiceCommand
                    || cmd instanceof AggregationControlCommand
                    || cmd instanceof SecStorageFirewallCfgCommand) {
                answer = new Answer(cmd);
            } else {
                s_logger.error("Simulator does not implement command of type " + cmd.toString());
                answer = Answer.createUnsupportedCommandAnswer(cmd);
            }
        }

        if (config != null && config.getCount() != null && config.getCount().intValue() > 0) {
            if (answer != null) {
                config.setCount(config.getCount().intValue() - 1);
                _mockConfigDao.update(config.getId(), config);
            }
        }

        return answer;
    } catch (final Exception e) {
        s_logger.error("Failed execute cmd: ", e);
        txn.rollback();
        return new Answer(cmd, false, e.toString());
    } finally {
        txn.close();
        txn = TransactionLegacy.open(TransactionLegacy.CLOUD_DB);
        txn.close();
    }
}

From source file:com.cloud.agent.transport.Request.java

License:Apache License

public Command[] getCommands() {
    if (_cmds == null) {
        try {//  w  w w  . j a  v a2 s.  c om
            StringReader reader = new StringReader(_content);
            JsonReader jsonReader = new JsonReader(reader);
            jsonReader.setLenient(true);
            _cmds = s_gson.fromJson(jsonReader, (Type) Command[].class);
        } catch (RuntimeException e) {
            s_logger.error("Caught problem with " + _content, e);
            throw e;
        }
    }
    return _cmds;
}

From source file:com.cloud.resource.AgentRoutingResource.java

License:Apache License

@Override
public PingCommand getCurrentStatus(long id) {
    TransactionLegacy txn = TransactionLegacy.open(TransactionLegacy.SIMULATOR_DB);
    try {//from  w w w . j a v  a 2  s.c  o m
        MockConfigurationVO config = _simMgr.getMockConfigurationDao().findByNameBottomUP(
                agentHost.getDataCenterId(), agentHost.getPodId(), agentHost.getClusterId(), agentHost.getId(),
                "PingCommand");
        if (config != null) {
            Map<String, String> configParameters = config.getParameters();
            for (Map.Entry<String, String> entry : configParameters.entrySet()) {
                if (entry.getKey().equalsIgnoreCase("result")) {
                    String value = entry.getValue();
                    if (value.equalsIgnoreCase("fail")) {
                        return null;
                    }
                }
            }
        }

        config = _simMgr.getMockConfigurationDao().findByNameBottomUP(agentHost.getDataCenterId(),
                agentHost.getPodId(), agentHost.getClusterId(), agentHost.getId(),
                "PingRoutingWithNwGroupsCommand");
        if (config != null) {
            String message = config.getJsonResponse();
            if (message != null) {
                // json response looks like {"<Type>":....}
                String objectType = message.split(":")[0].substring(2).replace("\"", "");
                String objectData = message.substring(message.indexOf(':') + 1, message.length() - 1);
                if (objectType != null) {
                    Class<?> clz = null;
                    try {
                        clz = Class.forName(objectType);
                    } catch (ClassNotFoundException e) {
                        s_logger.info("[ignored] ping returned class", e);
                    }
                    if (clz != null) {
                        StringReader reader = new StringReader(objectData);
                        JsonReader jsonReader = new JsonReader(reader);
                        jsonReader.setLenient(true);
                        return (PingCommand) s_gson.fromJson(jsonReader, clz);
                    }
                }
            }
        }
    } catch (Exception e) {
        txn.rollback();
    } finally {
        txn.close();
        txn = TransactionLegacy.open(TransactionLegacy.CLOUD_DB);
        txn.close();
    }

    if (isStopped()) {
        return null;
    }
    HashMap<String, Pair<Long, Long>> nwGrpStates = _simMgr.syncNetworkGroups(hostGuid);
    return new PingRoutingWithNwGroupsCommand(getType(), id, getHostVmStateReport(), nwGrpStates);
}