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.wallellen.wechat.mp.api.WxMpServiceImpl.java

License:Open Source License

@Override
public List<WxMpUserCumulate> getUserCumulate(Date beginDate, Date endDate) throws WxErrorException {
    String url = "https://api.weixin.qq.com/datacube/getusercumulate";
    JsonObject param = new JsonObject();
    param.addProperty("begin_date", SIMPLE_DATE_FORMAT.format(beginDate));
    param.addProperty("end_date", SIMPLE_DATE_FORMAT.format(endDate));
    String responseContent = post(url, param.toString());
    JsonElement tmpJsonElement = Streams.parse(new JsonReader(new StringReader(responseContent)));
    return WxMpGsonBuilder.INSTANCE.create().fromJson(tmpJsonElement.getAsJsonObject().get("list"),
            new TypeToken<List<WxMpUserCumulate>>() {
            }.getType());// ww w . j av  a 2s  .  c  o  m
}

From source file:com.weebly.opus1269.clipman.model.BackupContents.java

License:Open Source License

/**
 * Get the contents from a raw byte array
 * @param data raw content/*from www  .  ja v  a  2 s .  c  o  m*/
 * @return content of a backup
 */
public static BackupContents get(@NonNull byte[] data) {
    final JsonReader reader = new JsonReader(new InputStreamReader(new ByteArrayInputStream(data)));
    final Gson gson = new Gson();
    final Type type = new TypeToken<BackupContents>() {
    }.getType();
    return gson.fromJson(reader, type);
}

From source file:com.xgx.dw.net.JsonConvert.java

License:Apache License

private T parseParameterizedType(Response response, ParameterizedType type) throws Exception {
    if (type == null)
        return null;
    ResponseBody body = response.body();
    if (body == null)
        return null;
    JsonReader jsonReader = new JsonReader(body.charStream());

    Type rawType = type.getRawType(); // 
    Type typeArgument = type.getActualTypeArguments()[0]; // ?
    if (rawType != LzyResponse.class) {
        // ? new JsonCallback<BaseBean<JavaBean>>(this)
        T t = Convert.fromJson(jsonReader, type);
        response.close();//from   w  w w .  j av a 2s  .  c o  m
        return t;
    } else {
        // ? new JsonCallback<LzyResponse<JavaBean>>(this)
        LzyResponse lzyResponse = Convert.fromJson(jsonReader, type);
        response.close();
        String code = lzyResponse.code;
        //0??
        //????
        if ("000".equals(code)) {
            //noinspection unchecked
            return (T) lzyResponse;
        } else if ("001".equals(code)) {
            ToastUtils.showShort(lzyResponse.message);
            throw new IllegalStateException(lzyResponse.message);
        } else {
            //??onError??
            throw new IllegalStateException(lzyResponse.message);

            // throw new IllegalStateException(lzyResponse.resultInfo);
        }
    }
}

From source file:com.yelinaung.hn.app.ui.MainActivity.java

License:Apache License

private void loadNews() {
    mSwipeView.setRefreshing(true);//from ww  w  .java2  s.  c  o m
    Ion.with(MainActivity.this).load("http://hnify.herokuapp.com/get/top").asString()
            .setCallback(new FutureCallback<String>() {
                @Override
                public void onCompleted(Exception e, String result) {
                    try {
                        if (e != null)
                            throw e;
                        mSwipeView.setRefreshing(false);
                        JsonParser p = new JsonParser();
                        try {
                            InputStream in = new ByteArrayInputStream(result.getBytes("UTF-8"));
                            JsonReader reader = new JsonReader(new InputStreamReader(in, "UTF-8"));
                            JsonObject storiesObject = (JsonObject) p.parse(reader);
                            JsonArray storiesJsonArray = storiesObject.getAsJsonArray("stories");
                            Gson gson = new GsonBuilder().create();

                            stories.clear();
                            storyDao.deleteAllStories();

                            for (int i = 0; i < storiesJsonArray.size(); i++) {
                                Story s = gson.fromJson((storiesJsonArray.get(i)).getAsJsonObject(),
                                        Story.class);
                                stories.add(s);
                                storyDao.create(s);
                            }

                            storyAdapter.notifyDataSetChanged();
                        } catch (UnsupportedEncodingException e1) {
                            e1.printStackTrace();
                        }
                    } catch (Exception ex) {
                        ex.printStackTrace();
                        Toast.makeText(MainActivity.this, "Can't connect", Toast.LENGTH_SHORT).show();
                        mSwipeView.setRefreshing(false);
                    }
                }
            });
}

From source file:com.zenome.bundlebus.Util.java

License:Open Source License

public static Object readJsonFromFile(@NonNull String aAbsolutePath, @NonNull Class aClass)
        throws FileNotFoundException {
    Gson gson = new Gson();
    JsonReader reader = new JsonReader(new FileReader(aAbsolutePath));
    Object object = gson.fromJson(reader, aClass);
    return object;
}

From source file:control.ServoControl.java

public void connect(String ip, int port) throws IOException {
    sock = new Socket();
    sock.connect(new InetSocketAddress(ip, port), 3000);
    pw = new PrintWriter(sock.getOutputStream(), true);
    outd = new DataOutputStream(sock.getOutputStream());
    jw = new JsonWriter(pw);
    reader = new InputStreamReader(sock.getInputStream());
    pr = new PushbackReader(reader);
    jr = new JsonReader(pr);
    isConnected = true;/*from w  w  w  . j  a v a 2s .  co m*/
}

From source file:controllers.ParseController.java

@RequestMapping("/show")
public String showParseForm(Map<String, Object> model) throws Exception {
    File file = new File("/usr/local/etc/newFile");
    if (file.exists()) {
        ArrayList<String> keys = new ArrayList();

        //FileReader flr = new FileReader(file);
        InputStream is = new FileInputStream(file);
        InputStreamReader isr = new InputStreamReader(is, "UTF-8");

        JsonReader reader = new JsonReader(isr);
        try {/*w ww  .j  a  v  a  2s  .  c  o  m*/
            int col = 0;
            int numbern = 1;
            BufferedReader br = new BufferedReader(new FileReader(file));
            /*br.skip(160584580);
            for(int i=0;i<100000;i++){
            keys.add(br.readLine());
            }*/
            reader.beginObject();
            while (reader.hasNext()) {
                String objectName = reader.nextName();
                keys.add("Mainobj - " + objectName);
                //if(objectName.equals("color_groups")||objectName.equals("colors")||objectName.equals("features")||objectName.equals("constants")){
                if (objectName.equals("color_groups")) {
                    reader.skipValue();
                } /*else if(objectName.equals("car_property_groups")){
                  reader.beginArray();
                  while(reader.hasNext()){
                  reader.beginObject();
                  CarPropertyGroup newCPG = new CarPropertyGroup();
                  Long cpgOldId = null;
                  List<CarProperty> propList = new ArrayList();
                  while(reader.hasNext()){
                  String carPropertyGroupParamName = reader.nextName();
                  switch (carPropertyGroupParamName){
                  case "id":
                  cpgOldId = reader.nextLong();
                  newCPG.setOldId(cpgOldId);
                  break;
                  case "parent_id":
                  newCPG.setParentId(reader.nextLong());
                  break;
                  case "title":
                  newCPG.setTitle(reader.nextString());
                  break;
                  case "sort":
                  newCPG.setSort(reader.nextLong());
                  break;
                  case "is_hidden":
                  switch (reader.nextInt()){
                  case 0:
                  newCPG.setIsHidden(false);
                  break;
                  case 1:
                  newCPG.setIsHidden(true);
                  break;
                  default :
                  newCPG.setIsHidden(null);
                  break;
                  }
                  break;
                  case "is_publish":
                  newCPG.setIsPublish(reader.nextBoolean());
                  break;
                  case "car_properties":
                  reader.beginArray();
                  while (reader.hasNext()) {
                  CarProperty cp = new CarProperty();
                  reader.beginObject();
                  while (reader.hasNext()) {
                  String cpParamName = reader.nextName();
                  switch (cpParamName) {
                  case "id":
                  cp.setOldId(reader.nextLong());
                  break;
                  case "title":
                  cp.setTitle(reader.nextString());
                  break;
                  case "sort":
                  cp.setSort(reader.nextLong());
                  break;
                  case "unit":
                  cp.setUnit(reader.nextString());
                  break;
                  case "type":
                  cp.setType(reader.nextString());
                  break;
                  case "key":
                  cp.setCpKey(reader.nextString());
                  break;
                  }
                  }
                  cp.setCPG(newCPG);
                  reader.endObject();
                  propList.add(cp);
                  }
                  reader.endArray();
                  }
                  }
                  reader.endObject();
                  //newCPG.setCPs(propList);
                  //+savecpg
                  carPropertyGroupService.create(newCPG);
                  for(CarProperty ncp:propList){
                  ncp.setCPG(carPropertyGroupService.findByOldId(cpgOldId));
                  carPropertyService.create(ncp);
                  }
                  }
                  reader.endArray();
                  }*//* else if (objectName.equals("car_completion_groups")) {
                      reader.beginArray();
                      //1 group
                      while (reader.hasNext()) {
                      reader.beginObject();
                      Long ccgId = null;
                      Long ccgPId = null;
                      String ccgTitle = "";
                      Long ccgSort = null;
                      Boolean ccgIsHidden = null;
                      Boolean ccgIsOptionReq = null;
                      Boolean ccgIsPublish = null;
                      while (reader.hasNext()) {
                      String ccgParamName = reader.nextName();
                      switch (ccgParamName) {
                      case "id":
                      ccgId = reader.nextLong();
                      break;
                      case "parent_id":
                      ccgPId = reader.nextLong();
                      break;
                      case "title":
                      ccgTitle = reader.nextString();
                      break;
                      case "sort":
                      ccgSort = reader.nextLong();
                      break;
                      case "is_hidden":
                      ccgIsHidden = reader.nextBoolean();
                      break;
                      case "is_option_require":
                      ccgIsOptionReq = reader.nextBoolean();
                      break;
                      case "is_publish":
                      ccgIsPublish = reader.nextBoolean();
                      break;
                      case "car_completion_options":
                      reader.beginArray();
                      while (reader.hasNext()) {
                      CarCompletionOption cco = new CarCompletionOption();
                      reader.beginObject();
                      while (reader.hasNext()) {
                      String ccoParamName = reader.nextName();
                      switch (ccoParamName) {
                      case "id":
                      cco.setOldId(reader.nextLong());
                      break;
                      case "title":
                      cco.setTitle(reader.nextString());
                      break;
                      case "sort":
                      cco.setSort(reader.nextLong());
                      break;
                      case "key":
                      cco.setCcoKey(reader.nextString());
                      break;
                      case "title_full":
                      cco.setTitleFull(reader.nextString());
                      break;
                      }
                      }
                      reader.endObject();
                                                  
                      cco.setCCG(carCompletionGroupService.findByOldId(ccgId));
                      carCompletionOptionService.createParam(cco);
                      }
                      reader.endArray();
                      break;
                      }
                      }
                      CarCompletionGroup ccg = new CarCompletionGroup();
                      ccg.setOldId(ccgId);
                      ccg.setIsHidden(ccgIsHidden);
                      ccg.setIsOptReq(ccgIsOptionReq);
                      ccg.setIsPublish(ccgIsPublish);
                      ccg.setParentId(ccgPId);
                      ccg.setSort(ccgSort);
                      ccg.setTitle(ccgTitle);
                      //save
                      carCompletionGroupService.create(ccg);
                                  
                      reader.endObject();
                      }
                      reader.endArray();
                      }*/ else if (objectName.equals("never"/*"cars"*/)) {
                    reader.beginArray();
                    while (reader.hasNext()) {
                        //keys.add("--{");
                        reader.beginObject();
                        Long markquto = null;
                        String markpop = "";
                        String marktitle = "";
                        String markrus = "";
                        String markdesc = "";
                        while (reader.hasNext()) {
                            String keyName = reader.nextName();
                            /*if (keyName.equals("title")) {
                             //keys.add("title: " + reader.nextString());
                             marktitle = reader.nextString();
                             } else if (keyName.equals("title_rus")) {
                             //keys.add("rus: " + reader.nextString());
                             markrus = reader.nextString();
                             } else if (keyName.equals("quto_id")) {
                             //keys.add("id: " + reader.nextInt());
                             markquto = reader.nextLong();
                             } else if (keyName.equals("description")) {
                             //keys.add("desc: " + reader.nextString());
                             markdesc = reader.nextString();
                             } else if (keyName.equals("is_popular")) {
                             //keys.add("pop: " + reader.nextString());
                             markpop = reader.nextString();
                             } else*/ if (keyName.equals("car_models")) {
                                //reader.skipValue();
                                reader.beginArray();
                                while (reader.hasNext()) {
                                    Long qutoMod = null;
                                    String popMod = "";
                                    String titleMod = "";
                                    String rusMod = "";
                                    //if (reader.peek().equals(JsonToken.BEGIN_OBJECT)) {
                                    reader.beginObject();
                                    while (reader.hasNext()) {
                                        //if (reader.peek().equals(JsonToken.NAME)) {
                                        String CarModelParamName = reader.nextName();
                                        /*if (CarModelParamName.equals("title")) {
                                         //keys.add("title: " + reader.nextString());
                                         titleMod = reader.nextString();
                                         } else if (CarModelParamName.equals("title_rus")) {
                                         //keys.add("rus: " + reader.nextString());
                                         rusMod = reader.nextString();
                                         } else */
                                        if (CarModelParamName.equals("quto_id")) {
                                            //keys.add("id: " + reader.nextInt());
                                            qutoMod = reader.nextLong();
                                        } /*else if (CarModelParamName.equals("is_popular")) {
                                          //keys.add("desc: " + reader.nextString());
                                          popMod = reader.nextString();
                                          }*/
                                        else if (CarModelParamName.equals("car_model_subs")) {
                                            reader.skipValue();
                                            /*reader.beginArray();
                                            while (reader.hasNext()) {
                                            reader.beginObject();
                                            SubModel sm = new SubModel();
                                            Long smquto_id = null;
                                            String url = "";
                                            String smtitle = null;
                                            String smtype = "";
                                            String smclass = "";
                                            String smbody = "";
                                            Integer doorsCount = null;
                                            keys.add("obj[");
                                            while (reader.hasNext()){
                                                String carModelSubParam = reader.nextName();
                                                if(carModelSubParam.equals("quto_id")){
                                                    smquto_id = reader.nextLong();
                                                }else if(carModelSubParam.equals("url")){
                                                    url=reader.nextString();
                                                }else if(carModelSubParam.equals("title")){
                                                    smtitle=reader.nextString();
                                                }else if(carModelSubParam.equals("type")){
                                                    smtype=reader.nextString();
                                                }else if(carModelSubParam.equals("class")){
                                                    smclass=reader.nextString();
                                                }else if(carModelSubParam.equals("body")){
                                                    smbody=reader.nextString();
                                                }else if(carModelSubParam.equals("doors_count")){
                                                    doorsCount = reader.nextInt();
                                                }else{
                                                    reader.skipValue();
                                                }
                                            }
                                            sm.setBody(smbody);
                                            sm.setCarClass(smclass);
                                            sm.setDoorsCount(doorsCount);
                                            sm.setQutoModelSubId(smquto_id);
                                            sm.setTitle(smtitle);
                                            sm.setType(smtype);
                                            sm.setUrl(url);
                                            keys.add(numbern+" url="+url+"; body="+smbody+"; class="+smclass+"; doors="+doorsCount+"; id="+smquto_id+"; title="+smtitle+"; type="+smtype+";");
                                            keys.add("]");
                                            subModelService.create(sm);
                                            reader.endObject();
                                            }
                                            reader.endArray();*/
                                        } else if (CarModelParamName
                                                .equals("never"/*"car_model_sub_generations"*/)) {
                                            reader.beginArray();
                                            while (reader.hasNext()) {
                                                reader.beginObject();
                                                Long qcmsgId = null;
                                                Long qcmsId = null;
                                                Long qcmgId = null;
                                                Boolean qisNew = null;
                                                Double cmsgprice = null;
                                                //List<CarColorValue> ccvList = new ArrayList();
                                                while (reader.hasNext()) {
                                                    String carModelSubGenParam = reader.nextName();
                                                    if (carModelSubGenParam.equals("quto_id")) {
                                                        qcmsgId = reader.nextLong();
                                                    } else if (carModelSubGenParam
                                                            .equals("quto_car_model_sub_id")) {
                                                        qcmsId = reader.nextLong();
                                                    } else if (carModelSubGenParam
                                                            .equals("quto_car_model_generation_id")) {
                                                        qcmgId = reader.nextLong();
                                                    } else if (carModelSubGenParam.equals("price_min")) {
                                                        cmsgprice = reader.nextDouble();
                                                    } else if (carModelSubGenParam.equals("is_new")) {
                                                        Integer supInt = reader.nextInt();
                                                        if (supInt == 0) {
                                                            qisNew = false;
                                                        } else if (supInt == 1) {
                                                            qisNew = true;
                                                        }
                                                    } else if (carModelSubGenParam.equals("colors")) {
                                                        reader.skipValue();
                                                        /*reader.beginArray();
                                                         while (reader.hasNext()) {
                                                        reader.beginObject();
                                                        //CarColorValue ccv = new CarColorValue();
                                                            String ColId = "";
                                                            String ColgId = "";
                                                            String colName = "";
                                                            String colSort = "";
                                                        while (reader.hasNext()) {
                                                            String colorParamName = reader.nextName();
                                                            switch (colorParamName){
                                                                case "car_color_id":
                                                                    ColId = reader.nextString();
                                                                    //keys.add(colorParamName+" = "+ColId);
                                                                    //reader.skipValue();
                                                                    break;
                                                                case "car_color_group_id":
                                                                    ColgId = reader.nextString();
                                                                    //keys.add(colorParamName+" = "+ColgId);
                                                                    //reader.skipValue();
                                                                    break;
                                                                case "title":
                                                                    colName = reader.nextString();
                                                                    //keys.add(colorParamName+" = "+colName);
                                                                    //reader.skipValue();
                                                                    break;
                                                                case "sort":
                                                                    colSort = reader.nextString();
                                                                    //keys.add(colorParamName+" = "+colSort);
                                                                    //reader.skipValue();
                                                                    break;
                                                                default:
                                                                    col++;
                                                                    keys.add("skippedColorP+"+reader.peek().name());
                                                                    reader.skipValue();
                                                                    break;
                                                            }
                                                        }
                                                                
                                                        reader.endObject();
                                                        ccv.setTitle(colName);
                                                        ccv.setColor(colorService.findByOldId(Long.valueOf(ColId)));
                                                        ccv.setColorGroup(colorGroupService.findByOldId(Long.valueOf(ColgId)));
                                                        ccvList.add(ccv);
                                                        //reader.skipValue();
                                                         }
                                                         reader.endArray();*/
                                                    } else if (carModelSubGenParam.equals("media")) {
                                                        reader.skipValue();
                                                    } else if (carModelSubGenParam.equals("car_completions")) {
                                                        reader.skipValue();
                                                        /*reader.beginArray();
                                                         while (reader.hasNext()) {
                                                         //keys.add(carModelSubGenParam+" - "+reader.peek().name());
                                                         reader.beginObject();
                                                         while (reader.hasNext()) {
                                                         String keyname = reader.nextName();
                                                         String token = "";
                                                         if (reader.peek().equals(JsonToken.BEGIN_ARRAY)) {
                                                         token = "array";
                                                         reader.skipValue();
                                                         } else if (reader.peek().equals(JsonToken.BEGIN_OBJECT)) {
                                                         token = "object";
                                                         reader.skipValue();
                                                         } else if (reader.peek().equals(JsonToken.NUMBER)) {
                                                         token = StringAdapter.getString(reader.nextLong());
                                                         } else {
                                                         token = reader.nextString();
                                                         }
                                                         keys.add("n: " + keyname + " - " + token);
                                                         //keys.add("ccname: "+reader.peek().name());
                                                         //reader.skipValue();
                                                         }
                                                         reader.endObject();
                                                         //reader.skipValue();
                                                         }
                                                         reader.endArray();**/
                                                    } else if (carModelSubGenParam
                                                            .equals("car_modifications")) {
                                                        reader.beginArray();
                                                        while (reader.hasNext()) {
                                                            //keys.add(carModelSubGenParam+" - "+reader.peek().name());

                                                            String carTitle = "";
                                                            Long cmqId = null;
                                                            Long completionOldId = null;
                                                            Double cmPrice = null;
                                                            boolean archive = false;

                                                            Boolean is_new = qisNew;
                                                            Long cmgqId = qcmsId;
                                                            Long cmsqId = qcmgId;
                                                            Long cmsgqId = qcmsgId;
                                                            Double cmsgPrice = cmsgprice;

                                                            //Model carMod = modelService.findByOldId(qutoMod);

                                                            List<PropertyName> propertyNames = new ArrayList();
                                                            ArrayList<Feature> features = new ArrayList();
                                                            ArrayList<CarOptionValue> carOptionValues = new ArrayList();
                                                            //keys.add("--" + titleMod);
                                                            reader.beginObject();

                                                            while (reader.hasNext()) {
                                                                /*if(reader.peek().equals(JsonToken.BEGIN_ARRAY)){
                                                                reader.beginArray();
                                                                while (reader.hasNext()) {
                                                                if(reader.peek().equals(JsonToken.BEGIN_OBJECT)){
                                                                    reader.beginObject();
                                                                    keys.add("object:");
                                                                    while(reader.hasNext()){
                                                                        if(reader.peek().equals(JsonToken.NAME)){
                                                                            keys.add("name: "+reader.nextName());
                                                                        }else{
                                                                            keys.add("other: "+reader.peek().name());
                                                                            reader.skipValue();
                                                                        }
                                                                        //String keyname = reader.peek().name();
                                                                        //keys.add("kn"+keyname);
                                                                    }
                                                                    reader.endObject();
                                                                }
                                                                //reader.skipValue();
                                                                        
                                                                }
                                                                reader.endArray();
                                                                }else{*/
                                                                //reader.skipValue();
                                                                /*if(reader.peek().equals(JsonToken.BEGIN_ARRAY)){
                                                                reader.beginArray();
                                                                }else if(reader.peek().equals(JsonToken.END_ARRAY)){
                                                                reader.endArray();
                                                                }else if(reader.peek().equals(JsonToken.BEGIN_OBJECT)){
                                                                reader.beginObject();
                                                                }else if(reader.peek().equals(JsonToken.END_OBJECT)){
                                                                reader.endObject();
                                                                }else{*/
                                                                String carParamName = reader.nextName();
                                                                switch (carParamName) {
                                                                case "quto_id":
                                                                    cmqId = reader.nextLong();
                                                                    break;
                                                                case "title":
                                                                    carTitle = reader.nextString();
                                                                    keys.add(carTitle);
                                                                    break;
                                                                case "completion_id":
                                                                    completionOldId = reader.nextLong();
                                                                    break;
                                                                case "price_min":
                                                                    cmPrice = reader.nextDouble();
                                                                    break;
                                                                case "is_archive":
                                                                    archive = reader.nextBoolean();
                                                                    break;
                                                                case "features":
                                                                    reader.skipValue();
                                                                    /*reader.beginArray();
                                                                     while(reader.hasNext()){
                                                                     if(reader.peek().equals(JsonToken.STRING)){
                                                                     Long num = Long.valueOf(reader.nextString());
                                                                     Feature f = featureService.findByOldId(num);
                                                                     features.add(f);
                                                                     }else{
                                                                     reader.skipValue();
                                                                     }
                                                                     }
                                                                     reader.endArray();*/
                                                                    break;
                                                                case "car_completion_options":
                                                                    reader.skipValue();
                                                                    /*if (archive) {
                                                                     reader.skipValue();
                                                                     } else {
                                                                     //List<CarOptionValue> ccoList = new ArrayList();
                                                                     //reader.skipValue();
                                                                     reader.beginArray();
                                                                     while (reader.hasNext()) {
                                                                     if (reader.peek().equals(JsonToken.BEGIN_OBJECT)) {
                                                                     reader.beginObject();
                                                                     CarOptionValue cov = new CarOptionValue();
                                                                     Long ccoOldId = null;
                                                                     while (reader.hasNext()) {
                                                                     if (reader.peek().equals(JsonToken.NAME)) {
                                                                     String ccoKey = reader.nextName();
                                                                     switch (ccoKey) {
                                                                     case "id":
                                                                     cov.setOldId(reader.nextLong());
                                                                     break;
                                                                     case "car_completion_option_id":
                                                                     ccoOldId = reader.nextLong();
                                                                     cov.setCcoOldId(ccoOldId);
                                                                     break;
                                                                     case "title":
                                                                     if(reader.peek().equals(JsonToken.NULL)){
                                                                     cov.setTitle(" ?");
                                                                     reader.skipValue();
                                                                     }else if (reader.peek().equals(JsonToken.STRING)) {
                                                                     String name = reader.nextString();
                                                                     if(name.equals("")||name.equals("null")||name.equals("NULL")){
                                                                     cov.setTitle(" ?");
                                                                     }else{
                                                                     cov.setTitle(name);
                                                                     }
                                                                     //keys.add("title == " + reader.nextString());
                                                                     } else {
                                                                     keys.add("title == " + reader.peek().name());
                                                                     cov.setTitle(" ?");
                                                                     reader.skipValue();
                                                                     }
                                                                     break;
                                                                     case "description":
                                                                     if (reader.peek().equals(JsonToken.STRING)) {
                                                                     cov.setDescription(reader.nextString());
                                                                     } else {
                                                                     reader.skipValue();
                                                                     }
                                                                     break;
                                                                     case "sort":
                                                                     cov.setSort(reader.nextLong());
                                                                     break;
                                                                     case "price":
                                                                     if (reader.peek().equals(JsonToken.NUMBER)) {
                                                                     keys.add(cov.getTitle()+" -- " + reader.nextDouble() + " -num-");
                                                                     cov.setPrice(reader.nextDouble());
                                                                     }else if(reader.peek().equals(JsonToken.STRING)){
                                                                     String stri = reader.nextString();
                                                                     keys.add(cov.getTitle()+" -- " + StringAdapter.toDouble(stri) + " -str-");
                                                                     cov.setPrice(StringAdapter.toDouble(stri));
                                                                     }else {
                                                                     keys.add("priceclass = -- " + reader.peek().name());
                                                                     cov.setPrice(Double.valueOf("0"));
                                                                     reader.skipValue();
                                                                     }
                                                                     break;
                                                                     case "is_package":
                                                                     Integer packKey = reader.nextInt();
                                                                     if (packKey == 0) {
                                                                     cov.setIsPack(false);
                                                                     } else if (packKey == 1) {
                                                                     cov.setIsPack(true);
                                                                     } else {
                                                                     reader.skipValue();
                                                                     }
                                                                     break;
                                                                     default:
                                                                     reader.skipValue();
                                                                     break;
                                                                     }
                                                                     }else{
                                                                     //keys.add("nename --- " + reader.peek().name());
                                                                     reader.skipValue();
                                                                     }
                                                                     }
                                                                     cov.setCCO(carCompletionOptionService.findByOldId(ccoOldId));
                                                                     cov.setCar(carService.findByOldId(cmqId));
                                                                     //model.put("error", carService.findByOldId(cmqId));
                                                                     model.put("error", carService.getResult().getErrors());
                                                                     //keys.add(cov.getTitle());
                                                                     carService.create(cov);
                                                                     reader.endObject();
                                                                     } else{
                                                                     //keys.add("-+-"+reader.peek().name());
                                                                     reader.skipValue();
                                                                     }
                                                                     }
                                                                     reader.endArray();
                                                                     }*/
                                                                    break;
                                                                case "car_properties":
                                                                    //reader.skipValue();
                                                                    if (!archive) {

                                                                        reader.beginArray();
                                                                        while (reader.hasNext()) {

                                                                            reader.beginObject();
                                                                            PropertyName pn = new PropertyName();
                                                                            /*Long pnId = Long.valueOf(0);
                                                                            String pnVal = "";*/
                                                                            while (reader.hasNext()) {
                                                                                String propKey = reader
                                                                                        .nextName();
                                                                                switch (propKey) {
                                                                                case "id":
                                                                                    CarProperty cp = carPropertyService
                                                                                            .findByOldId(reader
                                                                                                    .nextLong());
                                                                                    pn.setCarProperty(cp);
                                                                                    /*if(cp.getRadical()!=null){
                                                                                        pn.setRadical(cp.getRadical());
                                                                                    }*/
                                                                                    break;
                                                                                case "value":
                                                                                    pn.setPropertyNameValue(
                                                                                            reader.nextString());
                                                                                    break;
                                                                                default:
                                                                                    reader.skipValue();
                                                                                    break;
                                                                                }

                                                                                //propertyNames.add(pn);
                                                                            }
                                                                            pn.setCar(carService
                                                                                    .findByOldId(cmqId));
                                                                            keys.add(pn.getCar().getTitle()
                                                                                    + " - "
                                                                                    + pn.getCarProperty()
                                                                                            .getTitle()
                                                                                    + " - "
                                                                                    + pn.getPropertyNameValue()
                                                                                    + "-" + pn.getRadical());

                                                                            //propertyNameService.create(pn);
                                                                            reader.endObject();

                                                                        }
                                                                        reader.endArray();
                                                                    } else {
                                                                        reader.skipValue();
                                                                    }
                                                                    break;
                                                                default:
                                                                    reader.skipValue();
                                                                    break;

                                                                }

                                                                //}
                                                            }

                                                            /*if(!archive&&(cmPrice!=Double.valueOf(0)||cmsgPrice!=Double.valueOf(0))){
                                                             Car newCar = new Car();
                                                             keys.add("------------------");
                                                             keys.add("cmPrice="+cmPrice);
                                                             keys.add("cmgqId="+cmgqId);
                                                             keys.add("cmqId="+cmqId);
                                                             keys.add("cmsgPrice="+cmsgPrice);
                                                             keys.add("cmsgqId="+cmsgqId);
                                                             keys.add("cmsqId="+cmsqId);
                                                             keys.add("completionOldId="+completionOldId);
                                                             keys.add("qisNew="+is_new);
                                                             keys.add("carTitle="+carTitle);
                                                             keys.add("carMod="+carMod.getTitle());
                                                             keys.add("features:");
                                                             for(Feature f:features){
                                                             keys.add(f.getTitle());
                                                             }
                                                             keys.add("props:");
                                                                    
                                                                    
                                                             newCar.setCmPrice(cmPrice);
                                                             newCar.setCmgqId(cmgqId);
                                                             newCar.setCmqId(cmqId);
                                                             newCar.setCmsgPrice(cmsgPrice);
                                                             newCar.setCmsgqId(cmsgqId);
                                                             newCar.setCmsqId(cmsqId);
                                                             newCar.setCompletionOldId(completionOldId);
                                                             newCar.setIsNew(is_new);
                                                             newCar.setTitle(carTitle);
                                                             newCar.setModel(carMod);
                                                             carService.create(newCar);
                                                                    
                                                             if(!features.isEmpty()){
                                                             carService.updateFeaturesInCar(features, cmqId);
                                                             }
                                                                    
                                                             }*/
                                                            /*if (!propertyNames.isEmpty()) {
                                                            carService.updatePropertiesInCar(propertyNames, cmqId);
                                                            }*/

                                                            reader.endObject();
                                                            /*if(!archive){
                                                            for(CarColorValue c:ccvList){
                                                                Car car = carService.findByOldId(cmqId);
                                                                c.setCar(car);
                                                                keys.add("car="+car.getTitle());
                                                                keys.add("t="+c.getTitle());
                                                                keys.add("c="+c.getColorGroup().getTitle());
                                                                keys.add("cg="+c.getColor().getTitle());
                                                                carColorValueService.create(c);
                                                            }
                                                            }*/
                                                        }
                                                        reader.endArray();
                                                    } else {
                                                        reader.skipValue();
                                                    }

                                                }
                                                reader.endObject();

                                            }
                                            reader.endArray();
                                        } /* elseif (CarModelParamName.equals("car_model_generations")) {
                                          keys.add("---cmg---");
                                          reader.beginArray();
                                          while (reader.hasNext()) {
                                          reader.beginObject();
                                          while (reader.hasNext()) {
                                          keys.add("name: " + reader.nextName());
                                          reader.skipValue();
                                          }
                                          reader.endObject();
                                                  
                                          }
                                          reader.endArray();
                                          } else if (CarModelParamName.equals("car_model_sub_generations")) {
                                          keys.add("---cmsg---");
                                          reader.beginArray();
                                          while (reader.hasNext()) {
                                          reader.beginObject();
                                          while (reader.hasNext()) {
                                          keys.add("name: " + reader.nextName());
                                          reader.skipValue();
                                          }
                                          reader.endObject();
                                                  
                                          }
                                          reader.endArray();
                                          } */ else {
                                            reader.skipValue();
                                        }
                                        /*} else {
                                         keys.add("---NotName");
                                         reader.skipValue();
                                         }*/
                                    }
                                    /*keys.add("id: " + qutoMod);
                                     keys.add("pop: " + popMod);
                                     keys.add("title: " + titleMod);
                                     keys.add("rus " + rusMod);
                                     Model mod = new Model();
                                     mod.setMark(markService.getExistedMark(quto));
                                     mod.setPop(popMod);
                                     mod.setQutoId(qutoMod);
                                     mod.setTitle(titleMod);
                                     mod.setTitleRus(rusMod);
                                     modelService.create(mod);*/
                                    reader.endObject();
                                    /*} else {
                                     keys.add("-ElseName");
                                     reader.skipValue();
                                     }*/
                                }
                                reader.endArray();
                            } else {
                                reader.skipValue();
                            }

                            /*keys.add("--name: " + keyName);
                             if (reader.peek().equals(JsonToken.STRING)) {
                             keys.add(reader.nextString());
                             } else if (reader.peek().equals(JsonToken.BEGIN_ARRAY)) {
                             //reader.beginArray();
                             reader.skipValue();
                             keys.add("--:[array]");
                             //reader.endArray();
                             } else if (reader.peek().equals(JsonToken.BEGIN_OBJECT)) {
                             //reader.beginObject();
                             reader.skipValue();
                             keys.add("--:{object}");
                             //reader.beginObject();
                             } else if(reader.peek().equals(JsonToken.NULL)){
                             reader.skipValue();
                             keys.add("--:null");
                             } else if(reader.peek().equals(JsonToken.NUMBER)){
                             //reader.skipValue();
                             keys.add("--:number"+reader.nextInt());
                             } else if(reader.peek().equals(JsonToken.NAME)){
                             reader.skipValue();
                             keys.add("--:name");
                             }else {
                             keys.add("---smthwrong");
                             reader.skipValue();
                             }*/
                        }
                        /*Mark m = new Mark();
                         m.setQutoId(quto);
                         m.setDescription(desc);
                         m.setPop(pop);
                         m.setTitle(title);
                         m.setTitleRus(rus);
                         markService.create(m);*/
                        /*keys.add("id: " + quto);
                         keys.add("desc: " + desc);
                         keys.add("pop: " + pop);
                         keys.add("title: " + title);
                         keys.add("rus " + rus);*/

                        reader.endObject();
                        //keys.add("--}");

                        /*if (reader.peek().equals(JsonToken.NAME)) {
                         String keyName = reader.nextName();
                         keys.add("--name: " + keyName);
                         reader.skipValue();
                         }else if(reader.peek().equals(JsonToken.BEGIN_OBJECT)){
                         keys.add("--someObj");
                         reader.beginObject();
                         while (reader.hasNext()) {
                         if(reader.peek().equals(JsonToken.NAME)){
                         keys.add(reader.nextName());
                         if(reader.peek().equals(JsonToken.BEGIN_ARRAY)){
                         keys.add("---[Array]");
                         }else if(reader.peek().equals(JsonToken.STRING)){
                         keys.add("---"+reader.nextString());
                         }else{
                         keys.add("---notStringNontArr");
                         reader.skipValue();
                         }
                         reader.skipValue();
                         }else{
                         keys.add("not a name");
                         reader.skipValue();
                         }
                         }
                         reader.endObject();
                         }else{
                         keys.add("notName&notObj");
                         reader.skipValue();
                         }*/
                    }
                    reader.endArray();
                    //keys.add("-}");
                    /* } else {
                     keys.add("--notOnj&notArr");
                     reader.skipValue();
                     }*/
                } else {
                    reader.skipValue();
                }
            }
            reader.endObject();
            for (String err : carService.getResult().getErrors()) {
                keys.add(err);
            }
            //keys.add("col="+StringAdapter.getString(col));
            model.put("keys", keys);
            reader.close();
        } catch (Exception e) {
            model.put("error", "? ?  :"
                    + StringAdapter.getStackTraceException(e));
            reader.close();
            return "ParseShow";
        }
    }
    /*File file = new File("/usr/local/etc/newFile");
     if (file.exists()) {
     ArrayList<String> keys = new ArrayList();
     JsonReader reader = new JsonReader(new FileReader(file));
     try {
     reader.beginObject();
     while (reader.hasNext()) {
     String objectName = reader.nextName();
     if (objectName.equals("colors")) {
     reader.beginObject();
     while (reader.hasNext()) {
     String colorNameId = reader.nextName();
     reader.beginObject();
     Long oldColorId = Long.valueOf("0");
     String title = "0";
     String titleEng = "0";
     while (reader.hasNext()) {
     String objectField = reader.nextName();
     if (objectField.equals("id")) {
     oldColorId = reader.nextLong();
     }
     if (objectField.equals("title")) {
     title = reader.nextString();
     }
     if (objectField.equals("title_eng")) {
     titleEng = reader.nextString();
     }
     if (objectField.equals("aliases")) {
     String oldId = "";
     String name = "";
     if (reader.peek().equals(JsonToken.BEGIN_ARRAY)) {
     reader.beginArray();
     reader.endArray();
     oldId = "0";
     name = "? ";
            
     Color c = new Color();
     c.setName(name);
     c.setTitle(title);
     c.setTitleEng(titleEng);
     c.setOldGroupId(oldColorId);
     c.setOldId(Long.valueOf(oldId));
            
     colorService.createColor(c);
     //keys.add(oldColorId + " - " + title + " - " + titleEng + " - " + oldId + " - " + name);
            
     } else {
     reader.beginObject();
     while (reader.hasNext()) {
     oldId = reader.nextName();
     name = reader.nextString();
     Color c = new Color();
     c.setName(name);
     c.setTitle(title);
     c.setTitleEng(titleEng);
     c.setOldGroupId(oldColorId);
     c.setOldId(Long.valueOf(oldId));
            
     colorService.createColor(c);
     //keys.add(oldColorId + " - " + title + " - " + titleEng + " - " + oldId + " - " + name);
     }
     reader.endObject();
     }
     }
     }
     reader.endObject();
     }
     reader.endObject();
     } else if (objectName.equals("color_groups")) {
     reader.beginObject();
     while (reader.hasNext()) {
     String colorGroupNameId = reader.nextName();
     reader.beginObject();
     Long oldGroupId = Long.valueOf("0");
     String title = "";
     while (reader.hasNext()) {
     String objectField = reader.nextName();
     if (objectField.equals("id")) {
     oldGroupId = reader.nextLong();
     } else if (objectField.equals("title")) {
     title = reader.nextString();
     } else if (objectField.equals("aliases")) {
     reader.beginObject();
     while (reader.hasNext()) {
     String oldId = reader.nextName();
     String name = reader.nextString();
     ColorGroup cg = new ColorGroup();
     cg.setName(name);
     cg.setTitle(title);
     cg.setOldGroupId(oldGroupId);
     cg.setOldId(Long.valueOf(oldId));
            
     colorGroupService.createColorGroup(cg);
     //keys.add(oldGroupId + " - " + title + " - " + oldId + " - " + name);
     }
     reader.endObject();
     }
     }
     reader.endObject();
     }
     reader.endObject();
     //keys.add(name);
     } else if (objectName.equals("features")) {
     reader.beginObject();
     while (reader.hasNext()) {
     String featureNameId = reader.nextName();
     reader.beginObject();
     Long featureId = Long.valueOf("0");
     String title = "";
     String description = "";
     Long cmgId = null;
     Long ccoId = null;
     String media = "";
     while (reader.hasNext()) {
     String objectField = reader.nextName();
     if (objectField.equals("id")) {
     featureId = reader.nextLong();
     } else if (objectField.equals("title")) {
     title = reader.nextString();
     } else if (objectField.equals("description")) {
     description = reader.nextString();
     } else if (objectField.equals("car_model_generation_id")) {
     if (!reader.peek().equals(JsonToken.NULL)) {
     cmgId = reader.nextLong();
     } else {
     reader.skipValue();
     }
     } else if (objectField.equals("car_completion_option_id")) {
     if (!reader.peek().equals(JsonToken.NULL)) {
     ccoId = reader.nextLong();
     } else {
     reader.skipValue();
     }
     } else if (objectField.equals("media")) {
     //reader.skipValue();
     if (reader.peek().equals(JsonToken.BEGIN_OBJECT)) {
     reader.beginObject();
     while (reader.hasNext()) {
     if (reader.peek().equals(JsonToken.NAME)) {
     String mediaName = reader.nextName();
     media += mediaName + " : [ ";
     reader.beginArray();
     while (reader.hasNext()) {
     media += " { ";
     reader.beginObject();
     while (reader.hasNext()) {
     String mediaParamName = reader.nextName();
     media += mediaParamName + " : ";
     if (!mediaParamName.equals("url")) {
     if (!reader.peek().equals(JsonToken.NULL)) {
     media += reader.nextString();
     } else {
     reader.skipValue();
     media += "null";
     }
     } else {
     reader.beginObject();
     media += "{";
     while (reader.hasNext()) {
     media += reader.nextName() + " : " + reader.nextString();
     }
     media += "}";
     reader.endObject();
     }
     }
     reader.endObject();
     media += " } ";
     }
     reader.endArray();
     media += " ] ";
     }
     }
     reader.endObject();
     } else {
     reader.skipValue();
     }
     }
            
     }
     reader.endObject();
     Feature f = new Feature();
     f.setOldId(featureId);
     f.setTitle(title);
     f.setDescription(description);
     f.setCmgId(cmgId);
     f.setCcoId(ccoId);
     f.setMedia(media);
            
     //keys.add(featureId + " - " + title + " - " + description + " - " + cmgId + " - " + ccoId + " - " + media);
     featureService.createFeature(f);
     }
     reader.endObject();
     } else {
     reader.skipValue();
     }
     }
     reader.endObject();
     model.put("keys", keys);
     reader.close();
     } catch (Exception e) {
     model.put("error", "? ?  :" + StringAdapter.getStackTraceException(e));
     reader.close();
     return "ParseShow";
     }
            
     }*/
    return "ParseShow";
}

From source file:controllers.ParseController.java

@RequestMapping("/addFile")
public String addFile(Map<String, Object> model, @RequestParam("newFile") MultipartFile file)
        throws IOException {
    File newFile = new File("/usr/local/etc/newFile");
    if (!newFile.exists()) {
        FileUtils.writeByteArrayToFile(newFile, file.getBytes());
    } else {// w  ww.j  a  va 2s.  c om
        newFile.delete();
        FileUtils.writeByteArrayToFile(newFile, file.getBytes());
    }
    if (newFile.exists()) {
        JsonReader reader = new JsonReader(new FileReader(newFile));
        try {
            reader.beginObject();
            while (reader.hasNext()) {
                String objectName = reader.nextName();
                if (objectName.equals("colors")) {
                    reader.beginObject();
                    while (reader.hasNext()) {
                        String colorNameId = reader.nextName();
                        reader.beginObject();
                        Long oldColorId = Long.valueOf("0");
                        String title = "0";
                        String titleEng = "0";
                        while (reader.hasNext()) {
                            String objectField = reader.nextName();
                            if (objectField.equals("id")) {
                                oldColorId = reader.nextLong();
                            }
                            if (objectField.equals("title")) {
                                title = reader.nextString();
                            }
                            if (objectField.equals("title_eng")) {
                                titleEng = reader.nextString();
                            }
                            if (objectField.equals("aliases")) {
                                String oldId = "";
                                String name = "";
                                if (reader.peek().equals(JsonToken.BEGIN_ARRAY)) {
                                    reader.beginArray();
                                    reader.endArray();
                                    oldId = "0";
                                    name = "? ";

                                    Color c = new Color();
                                    c.setName(name);
                                    c.setTitle(title);
                                    c.setTitleEng(titleEng);
                                    c.setOldGroupId(oldColorId);
                                    c.setOldId(Long.valueOf(oldId));

                                    colorService.createColor(c);
                                    //keys.add(oldColorId + " - " + title + " - " + titleEng + " - " + oldId + " - " + name);

                                } else {
                                    reader.beginObject();
                                    while (reader.hasNext()) {
                                        oldId = reader.nextName();
                                        name = reader.nextString();
                                        Color c = new Color();
                                        c.setName(name);
                                        c.setTitle(title);
                                        c.setTitleEng(titleEng);
                                        c.setOldGroupId(oldColorId);
                                        c.setOldId(Long.valueOf(oldId));

                                        colorService.createColor(c);
                                        //keys.add(oldColorId + " - " + title + " - " + titleEng + " - " + oldId + " - " + name);
                                    }
                                    reader.endObject();
                                }
                            }
                        }
                        reader.endObject();
                    }
                    reader.endObject();
                } else if (objectName.equals("color_groups")) {
                    reader.beginObject();
                    while (reader.hasNext()) {
                        String colorGroupNameId = reader.nextName();
                        reader.beginObject();
                        Long oldGroupId = Long.valueOf("0");
                        String title = "";
                        while (reader.hasNext()) {
                            String objectField = reader.nextName();
                            if (objectField.equals("id")) {
                                oldGroupId = reader.nextLong();
                            } else if (objectField.equals("title")) {
                                title = reader.nextString();
                            } else if (objectField.equals("aliases")) {
                                reader.beginObject();
                                while (reader.hasNext()) {
                                    String oldId = reader.nextName();
                                    String name = reader.nextString();
                                    ColorGroup cg = new ColorGroup();
                                    cg.setName(name);
                                    cg.setTitle(title);
                                    cg.setOldGroupId(oldGroupId);
                                    cg.setOldId(Long.valueOf(oldId));

                                    colorGroupService.createColorGroup(cg);
                                    //keys.add(oldGroupId + " - " + title + " - " + oldId + " - " + name);
                                }
                                reader.endObject();
                            }
                        }
                        reader.endObject();
                    }
                    reader.endObject();
                    //keys.add(name);
                } else if (objectName.equals("features")) {
                    reader.beginObject();
                    while (reader.hasNext()) {
                        String featureNameId = reader.nextName();
                        reader.beginObject();
                        Long featureId = Long.valueOf("0");
                        String title = "";
                        String description = "";
                        Long cmgId = null;
                        Long ccoId = null;
                        String media = "";
                        while (reader.hasNext()) {
                            String objectField = reader.nextName();
                            if (objectField.equals("id")) {
                                featureId = reader.nextLong();
                            } else if (objectField.equals("title")) {
                                title = reader.nextString();
                            } else if (objectField.equals("description")) {
                                description = reader.nextString();
                            } else if (objectField.equals("car_model_generation_id")) {
                                if (!reader.peek().equals(JsonToken.NULL)) {
                                    cmgId = reader.nextLong();
                                } else {
                                    reader.skipValue();
                                }
                            } else if (objectField.equals("car_completion_option_id")) {
                                if (!reader.peek().equals(JsonToken.NULL)) {
                                    ccoId = reader.nextLong();
                                } else {
                                    reader.skipValue();
                                }
                            } else if (objectField.equals("media")) {
                                //reader.skipValue();
                                if (reader.peek().equals(JsonToken.BEGIN_OBJECT)) {
                                    reader.beginObject();
                                    while (reader.hasNext()) {
                                        if (reader.peek().equals(JsonToken.NAME)) {
                                            String mediaName = reader.nextName();
                                            media += mediaName + " : [ ";
                                            reader.beginArray();
                                            while (reader.hasNext()) {
                                                media += " { ";
                                                reader.beginObject();
                                                while (reader.hasNext()) {
                                                    String mediaParamName = reader.nextName();
                                                    media += mediaParamName + " : ";
                                                    if (!mediaParamName.equals("url")) {
                                                        if (!reader.peek().equals(JsonToken.NULL)) {
                                                            media += reader.nextString();
                                                        } else {
                                                            reader.skipValue();
                                                            media += "null";
                                                        }
                                                    } else {
                                                        reader.beginObject();
                                                        media += "{";
                                                        while (reader.hasNext()) {
                                                            media += reader.nextName() + " : "
                                                                    + reader.nextString();
                                                        }
                                                        media += "}";
                                                        reader.endObject();
                                                    }
                                                }
                                                reader.endObject();
                                                media += " } ";
                                            }
                                            reader.endArray();
                                            media += " ] ";
                                        }
                                    }
                                    reader.endObject();
                                } else {
                                    reader.skipValue();
                                }
                            }

                        }
                        reader.endObject();
                        Feature f = new Feature();
                        f.setOldId(featureId);
                        f.setTitle(title);
                        f.setDescription(description);
                        f.setCmgId(cmgId);
                        f.setCcoId(ccoId);
                        f.setMedia(media);

                        //keys.add(featureId + " - " + title + " - " + description + " - " + cmgId + " - " + ccoId + " - " + media);
                        featureService.createFeature(f);
                    }
                    reader.endObject();
                } else {
                    reader.skipValue();
                }
            }
            reader.endObject();
            reader.close();
        } catch (Exception e) {
            model.put("error", "? ?  :"
                    + StringAdapter.getStackTraceException(e));
            reader.close();
            return "ParseShow";
        }
    }
    return "redirect:/ParseController/show";
}

From source file:data.DataGetterActGoogle.java

@Override
public double readActualData(String tickerSymbol) {
    try {/*  w ww  . j  av a 2s.  c o  m*/
        StringBuilder urlBuilder = new StringBuilder();

        urlBuilder.append("http://finance.google.com/finance/info?client=ig&q=");

        urlBuilder.append(tickerSymbol);

        URL urlGoogle = new URL(urlBuilder.toString());
        DataGSON[] entryArray;
        try (BufferedReader in = new BufferedReader(new InputStreamReader(urlGoogle.openStream()))) {
            in.skip(3);
            Gson gson = new GsonBuilder().create();
            JsonReader reader = new JsonReader(in);
            reader.setLenient(true);
            entryArray = gson.fromJson(reader, DataGSON[].class);
        }

        return Double.parseDouble(entryArray[0].l.replaceAll(",", ""));

    } catch (IOException | NumberFormatException ex) {
        logger.warning("Failed to load actual data from google at once. Exception: " + ex.getMessage());
        return 0;
    }
}

From source file:data.DataGetterActGoogle.java

@Override
public Map<String, Double> readActualData(String[] tickerSymbols) {
    try {/*from   w  w  w. j  a  v a  2 s.  c o m*/
        StringBuilder urlBuilder = new StringBuilder();

        urlBuilder.append("http://finance.google.com/finance/info?client=ig&q=");

        for (String tickerSymbol : tickerSymbols) {
            urlBuilder.append(tickerSymbol);
            urlBuilder.append(",");
        }
        urlBuilder.deleteCharAt(urlBuilder.length() - 1); //remove last ,

        URL urlGoogle = new URL(urlBuilder.toString());
        DataGSON[] dataFromGSON;
        try (BufferedReader in = new BufferedReader(new InputStreamReader(urlGoogle.openStream()))) {
            in.skip(3);
            Gson gson = new GsonBuilder().create();
            JsonReader reader = new JsonReader(in);
            reader.setLenient(true);
            dataFromGSON = gson.fromJson(reader, DataGSON[].class);
        }

        Map<String, Double> valuesMap = new HashMap<>(dataFromGSON.length);

        for (DataGSON entryGSON : dataFromGSON) {
            String tickerSymbol = entryGSON.t;
            String strValue = entryGSON.l.replaceAll(",", "");
            valuesMap.put(tickerSymbol, Double.parseDouble(strValue));
        }

        return valuesMap;

    } catch (IOException | NumberFormatException ex) {
        logger.warning("Failed to load actual data from google at once. Exception: " + ex.getMessage());
        return null;
    }
}