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

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

Introduction

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

Prototype

public void beginObject() throws IOException 

Source Link

Document

Consumes the next token from the JSON stream and asserts that it is the beginning of a new object.

Usage

From source file:com.vimeo.stag.generated.ParseUtils.java

public static Connection parseConnection(Gson gson, JsonReader reader) throws IOException {
    if (reader.peek() == com.google.gson.stream.JsonToken.NULL) {
        reader.nextNull();/*  w  w  w.  j  a va  2  s  . c  om*/
        return null;
    }
    if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_OBJECT) {
        reader.skipValue();
        return null;
    }
    reader.beginObject();

    com.vimeo.networking.model.Connection object = new com.vimeo.networking.model.Connection();
    while (reader.hasNext()) {
        String name = reader.nextName();
        com.google.gson.stream.JsonToken jsonToken = reader.peek();
        if (jsonToken == com.google.gson.stream.JsonToken.NULL) {
            reader.skipValue();
            continue;
        }
        switch (name) {
        case "extra_total":
            if (jsonToken == com.google.gson.stream.JsonToken.NUMBER) {
                object.extraTotal = reader.nextInt();
            } else {
                reader.skipValue();
            }
            break;
        case "viewable_total":
            if (jsonToken == com.google.gson.stream.JsonToken.NUMBER) {
                object.viewableTotal = reader.nextInt();
            } else {
                reader.skipValue();
            }
            break;
        case "uri":
            if (jsonToken == com.google.gson.stream.JsonToken.STRING) {
                object.uri = reader.nextString();
            } else {
                reader.skipValue();
            }
            break;
        case "options":
            if (jsonToken == com.google.gson.stream.JsonToken.BEGIN_ARRAY) {
                object.options = ParseUtils.parseArray(gson, reader, java.lang.String.class);
            } else {
                reader.skipValue();
            }
            break;
        case "total":
            if (jsonToken == com.google.gson.stream.JsonToken.NUMBER) {
                object.total = reader.nextInt();
            } else {
                reader.skipValue();
            }
            break;
        case "main_total":
            if (jsonToken == com.google.gson.stream.JsonToken.NUMBER) {
                object.mainTotal = reader.nextInt();
            } else {
                reader.skipValue();
            }
            break;
        default:
            reader.skipValue();
            break;
        }
    }

    reader.endObject();
    return object;
}

From source file:com.vimeo.stag.generated.ParseUtils.java

public static Privacy parsePrivacy(Gson gson, JsonReader reader) throws IOException {
    if (reader.peek() == com.google.gson.stream.JsonToken.NULL) {
        reader.nextNull();//  w  w w.j av  a  2  s  .c o m
        return null;
    }
    if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_OBJECT) {
        reader.skipValue();
        return null;
    }
    reader.beginObject();

    com.vimeo.networking.model.Privacy object = new com.vimeo.networking.model.Privacy();
    while (reader.hasNext()) {
        String name = reader.nextName();
        com.google.gson.stream.JsonToken jsonToken = reader.peek();
        if (jsonToken == com.google.gson.stream.JsonToken.NULL) {
            reader.skipValue();
            continue;
        }
        switch (name) {
        case "comments":
            try {
                object.comments = Stag.readFromAdapter(gson,
                        com.vimeo.networking.model.Privacy.PrivacyValue.class, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing Privacy.comments JSON!", exception);
            }
            break;
        case "view":
            try {
                object.view = Stag.readFromAdapter(gson, com.vimeo.networking.model.Privacy.PrivacyValue.class,
                        reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing Privacy.view JSON!", exception);
            }
            break;
        case "embed":
            if (jsonToken == com.google.gson.stream.JsonToken.STRING) {
                object.embed = reader.nextString();
            } else {
                reader.skipValue();
            }
            break;
        case "add":
            if (jsonToken == com.google.gson.stream.JsonToken.BOOLEAN) {
                object.add = reader.nextBoolean();
            } else {
                reader.skipValue();
            }
            break;
        case "download":
            if (jsonToken == com.google.gson.stream.JsonToken.BOOLEAN) {
                object.download = reader.nextBoolean();
            } else {
                reader.skipValue();
            }
            break;
        default:
            reader.skipValue();
            break;
        }
    }

    reader.endObject();
    return object;
}

From source file:com.vimeo.stag.generated.ParseUtils.java

public static VideoList parseVideoList(Gson gson, JsonReader reader) throws IOException {
    if (reader.peek() == com.google.gson.stream.JsonToken.NULL) {
        reader.nextNull();//from w w  w  . j  a  v  a2  s.  c o m
        return null;
    }
    if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_OBJECT) {
        reader.skipValue();
        return null;
    }
    reader.beginObject();

    com.vimeo.networking.model.VideoList object = new com.vimeo.networking.model.VideoList();
    while (reader.hasNext()) {
        String name = reader.nextName();
        com.google.gson.stream.JsonToken jsonToken = reader.peek();
        if (jsonToken == com.google.gson.stream.JsonToken.NULL) {
            reader.skipValue();
            continue;
        }
        switch (name) {
        case "total":
            if (jsonToken == com.google.gson.stream.JsonToken.NUMBER) {
                object.total = reader.nextInt();
            } else {
                reader.skipValue();
            }
            break;
        case "per_page":
            if (jsonToken == com.google.gson.stream.JsonToken.NUMBER) {
                object.perPage = reader.nextInt();
            } else {
                reader.skipValue();
            }
            break;
        case "page":
            if (jsonToken == com.google.gson.stream.JsonToken.NUMBER) {
                object.page = reader.nextInt();
            } else {
                reader.skipValue();
            }
            break;
        case "data":
            if (jsonToken == com.google.gson.stream.JsonToken.BEGIN_ARRAY) {
                object.data = ParseUtils.parseArray(gson, reader, com.vimeo.networking.model.Video.class);
            } else {
                reader.skipValue();
            }
            break;
        case "paging":
            try {
                object.paging = ParseUtils.parsePaging(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing VideoList.paging JSON!", exception);
            }
            break;
        default:
            reader.skipValue();
            break;
        }
    }

    reader.endObject();
    return object;
}

From source file:com.vimeo.stag.generated.ParseUtils.java

public static SearchFacet parseSearchFacet(Gson gson, JsonReader reader) throws IOException {
    if (reader.peek() == com.google.gson.stream.JsonToken.NULL) {
        reader.nextNull();/*from   ww w.  j ava  2s .c  om*/
        return null;
    }
    if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_OBJECT) {
        reader.skipValue();
        return null;
    }
    reader.beginObject();

    com.vimeo.networking.model.search.SearchFacet object = new com.vimeo.networking.model.search.SearchFacet();
    while (reader.hasNext()) {
        String name = reader.nextName();
        com.google.gson.stream.JsonToken jsonToken = reader.peek();
        if (jsonToken == com.google.gson.stream.JsonToken.NULL) {
            reader.skipValue();
            continue;
        }
        switch (name) {
        case "options":
            if (jsonToken == com.google.gson.stream.JsonToken.BEGIN_ARRAY) {
                object.mOptions = ParseUtils.parseArray(gson, reader,
                        com.vimeo.networking.model.search.FacetOption.class);
            } else {
                reader.skipValue();
            }
            break;
        case "name":
            if (jsonToken == com.google.gson.stream.JsonToken.STRING) {
                object.mName = reader.nextString();
            } else {
                reader.skipValue();
            }
            break;
        default:
            reader.skipValue();
            break;
        }
    }

    reader.endObject();
    return object;
}

From source file:com.vimeo.stag.generated.ParseUtils.java

public static Group parseGroup(Gson gson, JsonReader reader) throws IOException {
    if (reader.peek() == com.google.gson.stream.JsonToken.NULL) {
        reader.nextNull();//from  w w w .  j  a v a 2  s .c  om
        return null;
    }
    if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_OBJECT) {
        reader.skipValue();
        return null;
    }
    reader.beginObject();

    com.vimeo.networking.model.Group object = new com.vimeo.networking.model.Group();
    while (reader.hasNext()) {
        String name = reader.nextName();
        com.google.gson.stream.JsonToken jsonToken = reader.peek();
        if (jsonToken == com.google.gson.stream.JsonToken.NULL) {
            reader.skipValue();
            continue;
        }
        switch (name) {
        case "user":
            try {
                object.user = ParseUtils.parseUser(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing Group.user JSON!", exception);
            }
            break;
        case "created_time":
            try {
                object.createdTime = Stag.readFromAdapter(gson, java.util.Date.class, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing Group.createdTime JSON!", exception);
            }
            break;
        case "group_description":
            if (jsonToken == com.google.gson.stream.JsonToken.STRING) {
                object.groupDescription = reader.nextString();
            } else {
                reader.skipValue();
            }
            break;
        case "link":
            if (jsonToken == com.google.gson.stream.JsonToken.STRING) {
                object.link = reader.nextString();
            } else {
                reader.skipValue();
            }
            break;
        case "metadata":
            try {
                object.metadata = ParseUtils.parseMetadata(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing Group.metadata JSON!", exception);
            }
            break;
        case "uri":
            if (jsonToken == com.google.gson.stream.JsonToken.STRING) {
                object.uri = reader.nextString();
            } else {
                reader.skipValue();
            }
            break;
        case "name":
            if (jsonToken == com.google.gson.stream.JsonToken.STRING) {
                object.name = reader.nextString();
            } else {
                reader.skipValue();
            }
            break;
        case "picture_collection":
            try {
                object.pictureCollection = ParseUtils.parsePictureCollection(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing Group.pictureCollection JSON!", exception);
            }
            break;
        case "privacy":
            try {
                object.privacy = ParseUtils.parsePrivacy(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing Group.privacy JSON!", exception);
            }
            break;
        default:
            reader.skipValue();
            break;
        }
    }

    reader.endObject();
    return object;
}

From source file:com.vimeo.stag.generated.ParseUtils.java

public static Email parseEmail(Gson gson, JsonReader reader) throws IOException {
    if (reader.peek() == com.google.gson.stream.JsonToken.NULL) {
        reader.nextNull();//  w ww  . j av a  2 s .  co  m
        return null;
    }
    if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_OBJECT) {
        reader.skipValue();
        return null;
    }
    reader.beginObject();

    com.vimeo.networking.model.Email object = new com.vimeo.networking.model.Email();
    while (reader.hasNext()) {
        String name = reader.nextName();
        com.google.gson.stream.JsonToken jsonToken = reader.peek();
        if (jsonToken == com.google.gson.stream.JsonToken.NULL) {
            reader.skipValue();
            continue;
        }
        switch (name) {
        case "email":
            if (jsonToken == com.google.gson.stream.JsonToken.STRING) {
                object.email = reader.nextString();
            } else {
                reader.skipValue();
            }
            break;
        default:
            reader.skipValue();
            break;
        }
    }

    reader.endObject();
    return object;
}

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 w  w .j a  v a  2  s  .com
            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 {// ww w . j  a v  a 2 s .  com
        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.Task1bData.java

License:Apache License

public void readData(String jsonFile) throws IOException {

    int num_questions = 0;
    int num_triples = 0;
    int type_yesno = 0;
    int type_factoid = 0;
    int type_list = 0;
    int type_summary = 0;

    try {/*  w ww.ja va 2 s.co  m*/
        JsonReader reader = new JsonReader(new InputStreamReader(new FileInputStream(jsonFile)));
        //reader.setLenient(true);
        //    JsonToken peeknext = reader.peek();
        //    peeknext.

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

            String nextfield = reader.nextName();
            if (nextfield.equals("questions")) {
                reader.beginArray();
                while (reader.hasNext()) {

                    reader.beginObject();
                    num_questions++;

                    Question qst = new Question();

                    while (reader.hasNext()) {
                        String name = reader.nextName();
                        int k = 0;
                        if (name.equals("body")) {
                            String body = reader.nextString();
                            qst.setBody(body);
                        } else if (name.equals("triples")) {
                            num_triples++;
                            ArrayList<Triple> triples = readTriplesArray(reader);
                            qst.addTriples(triples);
                        } else if (name.equals("type")) {
                            String type = reader.nextString();

                            if (type.equals("yesno")) {
                                qst.setType(Question.YESNO);
                                type_yesno++;

                            } else if (type.equals("factoid")) {
                                qst.setType(Question.FACTOID);
                                type_factoid++;

                            }
                            if (type.equals("summary")) {
                                qst.setType(Question.SUMMARY);
                                type_summary++;

                            }
                            if (type.equals("list")) {
                                qst.setType(Question.LIST);
                                type_list++;

                            }
                        } else if (name.equals("id")) {
                            String id = reader.nextString();
                            qst.setId(id);
                        } else if (name.equals("concepts")) {
                            ArrayList<String> concepts = readConcepts(reader);
                            qst.addConcepts(concepts);
                        } else if (name.equals("documents")) {
                            ArrayList<String> docs = readDocuments(reader);

                            qst.addDocuments(docs);
                        } else if (name.equals("exact_answer")) {
                            ExactAnswer ea = new ExactAnswer();
                            JsonToken peek = reader.peek();
                            if (peek == JsonToken.BEGIN_ARRAY) //list or factoid
                            {
                                reader.beginArray();

                                JsonToken peek1 = reader.peek();
                                ArrayList<String> listOfAnswers = new ArrayList<String>();
                                ArrayList<ArrayList<String>> listofarrays = new ArrayList<ArrayList<String>>();

                                if (peek1 == JsonToken.BEGIN_ARRAY) // list (or factoid-list since BioASQ3)
                                {
                                    /*
                                     * Warning: changed the following for BioASQ 5
                                     * No synonyms in submissions anymore, only in gold files
                                    */
                                    if (VERSION_OF_CHALLENGE == evaluation.EvaluatorTask1b.BIOASQ2
                                            || VERSION_OF_CHALLENGE == evaluation.EvaluatorTask1b.BIOASQ3) {
                                        listofarrays = readExactAnswerListOfArraysv2(reader);
                                        ea.setLists(listofarrays);
                                    } else if (VERSION_OF_CHALLENGE == evaluation.EvaluatorTask1b.BIOASQ5) {
                                        if (!this.isGold) { // For submissions use restricted parsing : only first of synonyms taken into account
                                            listofarrays = readExactAnswerListOfArraysv3(reader);
                                        } else { // For golden read all synonyms normally
                                            listofarrays = readExactAnswerListOfArraysv2(reader);
                                        }
                                        ea.setLists(listofarrays);
                                    } else {
                                        System.out.println("Wrong challenge version. I will exit.");
                                        System.exit(0);
                                    }
                                } else if (peek1 == JsonToken.STRING) // factoid (for BioASQ1&2)
                                {
                                    /*
                                     * Warning: changed the following for BioASQ 3
                                     * we now have list of arrays for factoid 
                                    */
                                    if (VERSION_OF_CHALLENGE == evaluation.EvaluatorTask1b.BIOASQ2) {
                                        listOfAnswers = readExactAnswerArray(reader);
                                        ea.setAnswers(listOfAnswers);
                                    }
                                    //not reached!
                                    else if (VERSION_OF_CHALLENGE == evaluation.EvaluatorTask1b.BIOASQ3) {
                                        listofarrays = readExactAnswerListOfArraysv2(reader);
                                        ea.setLists(listofarrays);
                                    }
                                    /*
                                     * Warning: changed the following for BioASQ 5
                                     * No synonyms are submitted anymore by participants
                                    */
                                    //not reached!
                                    else if (VERSION_OF_CHALLENGE == evaluation.EvaluatorTask1b.BIOASQ5) {
                                        listofarrays = readExactAnswerListOfArraysv3(reader);
                                        ea.setLists(listofarrays);
                                    } else {
                                        System.out.println("Wrong challenge version. I will exit.");
                                        System.exit(0);
                                    }
                                }

                                //ea.setAnswers(listOfAnswers);
                                qst.setExact_answer(ea);
                                reader.endArray();

                            } else if (peek == JsonToken.STRING) //yesno
                            {
                                String yesno_answer = reader.nextString();
                                yesno_answer = yesno_answer.toLowerCase();
                                if (yesno_answer.contains("yes"))
                                    ea.setAnswer("yes");
                                else if (yesno_answer.contains("no"))
                                    ea.setAnswer("no");
                                else {
                                    ea.setAnswer("none");
                                    //  System.out.println("Unknown answer in yesno question: "+yesno_answer);
                                }
                                qst.setExact_answer(ea);
                            }

                        }

                        //                      Edited for BioASQ4 Evaluation (to solve format conflict with Rouge.py)            
                        //                      ideal answers are not evaluated with this code, so no need to read them(Rouge and manual queration is used instead)

                        //                      else if(name.equals("ideal_answer"))
                        //                      {
                        //                          String ideal="";
                        //                          try{ideal = reader.nextString();}catch(IllegalStateException ex){System.out.println(ex.toString());System.out.println(jsonFile);
                        //                          }
                        //                          qst.setIdeal_answer(ideal);
                        //                      }
                        else if (name.equals("snippets")) {
                            ArrayList<Snippet> snippets = readSnippets(reader);
                            qst.addSnippets(snippets);
                        } else {
                            reader.skipValue();

                        }
                    }
                    //reader.skipValue();
                    reader.endObject();
                    this.questions.add(qst);

                }
                reader.endArray();
            } else {
                reader.skipValue();

            }
        }
        reader.endObject();
        /*     System.out.println("Number of questions:"+num_questions);
             System.out.println("Number of triples:"+num_triples);
             System.out.println("Number of yesno:"+type_yesno);
             System.out.println("Number of factoid:"+type_factoid);
             System.out.println("Number of list:"+type_list);
             System.out.println("Number of summary:"+type_summary);*/

    } catch (FileNotFoundException ex) {
        System.out.println("Problem in JSONfile : " + jsonFile);
    }

}

From source file:data.Task1bData.java

License:Apache License

private ArrayList<Triple> readTriplesArray(JsonReader reader) {

    ArrayList<Triple> triples = new ArrayList<Triple>();

    try {//from ww  w .j a va  2  s  .  c  om
        reader.beginArray();
        while (reader.hasNext()) {

            reader.beginObject();
            String op = "", pre = "", sub = "";
            while (reader.hasNext()) {
                String name = reader.nextName();
                if (name.equals("o")) {
                    JsonToken peek = reader.peek();
                    if (peek.equals(JsonToken.NULL)) {
                        op = "";
                        reader.nextNull();
                    } else
                        op = reader.nextString();
                } else if (name.equals("p")) {
                    pre = reader.nextString();
                } else if (name.equals("s")) {
                    JsonToken peek = reader.peek();
                    if (peek.equals(JsonToken.NULL)) {
                        sub = "";
                        reader.nextNull();

                    } else
                        sub = reader.nextString();
                } else
                    reader.skipValue();
            }
            Triple tr = new Triple(pre, sub, op);
            reader.endObject();
            triples.add(tr);
        }
        reader.endArray();
    } catch (IOException ex) {
    }

    return triples;
}