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

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

Introduction

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

Prototype

public double nextDouble() throws IOException 

Source Link

Document

Returns the com.google.gson.stream.JsonToken#NUMBER double value of the next token, consuming it.

Usage

From source file:com.qdeve.oilprice.configuration.GsonMoneyTypeAdapter.java

License:Apache License

@Override
public Money read(JsonReader in) throws IOException {
    String currency = null;//from  w w  w.  ja va2 s.c  om
    Double price = null;
    in.beginObject();
    while (in.hasNext()) {
        switch (in.nextName()) {
        case CURRENTY_TAG:
            currency = in.nextString();
            break;
        case PRICE_TAG:
            price = in.nextDouble();
            break;
        }
    }
    in.endObject();
    return MonetaryUtils.newMoneyFrom(price, currency);
}

From source file:com.suny.whereami.service.google.Place.java

License:Open Source License

/**
 * Read fields from a result object./* www.ja  va 2s  .c o  m*/
 * 
 * @param fields
 *            to read or 0 if all fields should be read
 * @param maxResults
 *            maximum number of reviews, events, and photos to return
 */
Place(JsonReader in, int fields, int maxResults) throws IOException {
    in.beginObject();
    while (in.hasNext()) {
        Key key = Key.get(in.nextName());
        if (key == UNKNOWN || fields != 0 && key.mField != null && !key.mField.in(fields)) {
            /* unknown field or caller doesn't want it */
            in.skipValue();
            continue;
        }

        switch (key) {
        case id:
            mId = in.nextString();
            break;
        case reference:
            mReference = in.nextString();
            break;
        case icon:
            mIcon = in.nextString();
            break;
        case url:
            mUrl = in.nextString();
            break;
        case geometry:
            in.beginObject();
            while (in.hasNext()) {
                if (in.nextName().equals("location")) {
                    in.beginObject();
                    while (in.hasNext()) {
                        switch (Key.get(in.nextName())) {
                        case lat:
                            mLat = in.nextDouble();
                            break;
                        case lng:
                            mLong = in.nextDouble();
                            break;
                        default:
                            in.skipValue();
                        }
                    }
                    in.endObject();
                } else {
                    in.skipValue(); // "viewport"
                }
            }
            in.endObject();
            break;
        case name:
            mName = in.nextString();
            break;
        case address_components:
            mAddress = new Address(in);
            break;
        case formatted_address:
            mFmtAddress = in.nextString();
            break;
        case vicinity:
            mVicinity = in.nextString();
            break;
        case international_phone_number:
            mIntlPhone = in.nextString();
            break;
        case formatted_phone_number:
            mFmtPhone = in.nextString();
            break;
        case website:
            mWebsite = in.nextString();
            break;
        case types:
            types(in);
            break;
        case price_level:
            mPrice = in.nextInt();
            break;
        case rating:
            mRating = (float) in.nextDouble();
            break;
        case reviews:
            in.beginArray();
            while (in.hasNext()) {
                if (mReviews == null) {
                    int cap = Math.min(Math.max(0, maxResults), MAX_REVIEWS);
                    mReviews = new ArrayList<Review>(cap > 0 ? cap : MAX_REVIEWS);
                }
                if (maxResults <= 0 || mReviews.size() < maxResults) {
                    mReviews.add(new Review(in));
                } else {
                    in.skipValue();
                }
            }
            in.endArray();
            break;
        case opening_hours:
            in.beginObject();
            while (in.hasNext()) {
                switch (Key.get(in.nextName())) {
                case open_now:
                    mOpen = in.nextBoolean();
                    break;
                case periods:
                    in.beginArray();
                    while (in.hasNext()) {
                        if (mOpenHours == null) {
                            mOpenHours = new ArrayList<OpeningHours>();
                        }
                        mOpenHours.add(new OpeningHours(in));
                    }
                    in.endArray();
                    break;
                default:
                    in.skipValue();
                }
            }
            in.endObject();
            break;
        case events:
            in.beginArray();
            while (in.hasNext()) {
                if (mEvents == null) {
                    int cap = Math.min(Math.max(0, maxResults), MAX_EVENTS);
                    mEvents = new ArrayList<Event>(cap > 0 ? cap : MAX_EVENTS);
                }
                if (maxResults <= 0 || mEvents.size() < maxResults) {
                    mEvents.add(new Event(in));
                } else {
                    in.skipValue();
                }
            }
            in.endArray();
            break;
        case utc_offset:
            mUtcOffset = in.nextInt();
            break;
        case photos:
            in.beginArray();
            while (in.hasNext()) {
                if (mPhotos == null) {
                    int cap = Math.min(Math.max(0, maxResults), MAX_PHOTOS);
                    mPhotos = new ArrayList<Photo>(cap > 0 ? cap : MAX_PHOTOS);
                }
                if (maxResults <= 0 || mPhotos.size() < maxResults) {
                    mPhotos.add(new Photo(in));
                } else {
                    in.skipValue();
                }
            }
            in.endArray();
            break;
        default:
            in.skipValue();
        }
    }
    in.endObject();
}

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

public static VideoFile parseVideoFile(Gson gson, JsonReader reader) throws IOException {
    if (reader.peek() == com.google.gson.stream.JsonToken.NULL) {
        reader.nextNull();//  w  w w.ja  va 2 s  .com
        return null;
    }
    if (reader.peek() != com.google.gson.stream.JsonToken.BEGIN_OBJECT) {
        reader.skipValue();
        return null;
    }
    reader.beginObject();

    com.vimeo.networking.model.VideoFile object = new com.vimeo.networking.model.VideoFile();
    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 "token":
            if (jsonToken == com.google.gson.stream.JsonToken.STRING) {
                object.token = reader.nextString();
            } else {
                reader.skipValue();
            }
            break;
        case "size":
            if (jsonToken == com.google.gson.stream.JsonToken.NUMBER) {
                object.size = reader.nextLong();
            } else {
                reader.skipValue();
            }
            break;
        case "link_expiration_time":
            try {
                object.linkExpirationTime = Stag.readFromAdapter(gson, java.util.Date.class, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing VideoFile.linkExpirationTime JSON!", exception);
            }
            break;
        case "fps":
            if (jsonToken == com.google.gson.stream.JsonToken.NUMBER) {
                object.fps = reader.nextDouble();
            } else {
                reader.skipValue();
            }
            break;
        case "height":
            if (jsonToken == com.google.gson.stream.JsonToken.NUMBER) {
                object.height = reader.nextInt();
            } else {
                reader.skipValue();
            }
            break;
        case "quality":
            try {
                object.quality = Stag.readFromAdapter(gson,
                        com.vimeo.networking.model.VideoFile.VideoQuality.class, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing VideoFile.quality JSON!", exception);
            }
            break;
        case "link":
            if (jsonToken == com.google.gson.stream.JsonToken.STRING) {
                object.link = reader.nextString();
            } else {
                reader.skipValue();
            }
            break;
        case "license_link":
            if (jsonToken == com.google.gson.stream.JsonToken.STRING) {
                object.licenseLink = reader.nextString();
            } else {
                reader.skipValue();
            }
            break;
        case "width":
            if (jsonToken == com.google.gson.stream.JsonToken.NUMBER) {
                object.width = reader.nextInt();
            } else {
                reader.skipValue();
            }
            break;
        case "md5":
            if (jsonToken == com.google.gson.stream.JsonToken.STRING) {
                object.md5 = reader.nextString();
            } else {
                reader.skipValue();
            }
            break;
        case "log":
            try {
                object.log = ParseUtils.parseVideoLog(gson, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing VideoFile.log 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 VideoFile.createdTime JSON!", exception);
            }
            break;
        case "type":
            try {
                object.type = Stag.readFromAdapter(gson, com.vimeo.networking.model.VideoFile.MimeType.class,
                        reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing VideoFile.type JSON!", exception);
            }
            break;
        case "expires":
            try {
                object.expires = Stag.readFromAdapter(gson, java.util.Date.class, reader);
            } catch (Exception exception) {
                throw new IOException("Error parsing VideoFile.expires JSON!", exception);
            }
            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 {//ww  w .j a  va  2s  .  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:de.innovationgate.utils.GsonUtils.java

License:Open Source License

/**
 * Reads the next double value from the reader or null if it is a null value
 * @param reader The reader//w w w .ja  v  a2  s  .  c o m
 * @return Double value or null
 * @throws IOException
 */
public static Double nextDoubleOrNull(JsonReader reader) throws IOException {
    if (reader.peek() != JsonToken.NULL) {
        return reader.nextDouble();
    } else {
        reader.nextNull();
        return null;
    }
}

From source file:edu.isi.karma.modeling.alignment.GraphUtil.java

License:Apache License

private static DefaultLink readLink(JsonReader reader, Double[] weight) throws IOException {

    String id = null;//from  w  ww  . ja  v a2  s .c om
    Label label = null;
    LinkType type = null;
    String hNodeId = null;
    ObjectPropertyType objectPropertyType = null;
    String specializedLinkId = null;
    LinkStatus status = null;
    LinkKeyInfo keyInfo = null;
    Set<String> modelIds = null;
    if (weight == null)
        weight = new Double[1];

    reader.beginObject();
    while (reader.hasNext()) {
        String key = reader.nextName();
        if (key.equals("id") && reader.peek() != JsonToken.NULL) {
            id = reader.nextString();
        } else if (key.equals("label") && reader.peek() != JsonToken.NULL) {
            label = readLabel(reader);
        } else if (key.equals("type") && reader.peek() != JsonToken.NULL) {
            type = LinkType.valueOf(reader.nextString());
        } else if (key.equals("hNodeId") && reader.peek() != JsonToken.NULL) {
            hNodeId = reader.nextString();
        } else if (key.equals("objectPropertyType") && reader.peek() != JsonToken.NULL) {
            objectPropertyType = ObjectPropertyType.valueOf(reader.nextString());
        } else if (key.equals("specializedLinkId") && reader.peek() != JsonToken.NULL) {
            specializedLinkId = reader.nextString();
        } else if (key.equals("status") && reader.peek() != JsonToken.NULL) {
            status = LinkStatus.valueOf(reader.nextString());
        } else if (key.equals("keyInfo") && reader.peek() != JsonToken.NULL) {
            keyInfo = LinkKeyInfo.valueOf(reader.nextString());
        } else if (key.equals("modelIds") && reader.peek() != JsonToken.NULL) {
            modelIds = readModelIds(reader);
        } else if (key.equals("weight") && reader.peek() != JsonToken.NULL) {
            weight[0] = new Double(reader.nextDouble());
        } else {
            reader.skipValue();
        }
    }
    reader.endObject();

    DefaultLink l = null;
    if (type == LinkType.ClassInstanceLink) {
        l = new ClassInstanceLink(id, keyInfo);
    } else if (type == LinkType.ColumnSubClassLink) {
        l = new ColumnSubClassLink(id);
    } else if (type == LinkType.DataPropertyLink) {
        l = new DataPropertyLink(id, label);
    } else if (type == LinkType.DataPropertyOfColumnLink) {
        l = new DataPropertyOfColumnLink(id, hNodeId, specializedLinkId);
    } else if (type == LinkType.ObjectPropertyLink) {
        l = new ObjectPropertyLink(id, label, objectPropertyType);
    } else if (type == LinkType.ObjectPropertySpecializationLink) {
        l = new ObjectPropertySpecializationLink(hNodeId, specializedLinkId);
    } else if (type == LinkType.SubClassLink) {
        l = new SubClassLink(id);
    } else if (type == LinkType.CompactObjectPropertyLink) {
        l = new CompactObjectPropertyLink(id, objectPropertyType);
    } else if (type == LinkType.CompactSubClassLink) {
        l = new CompactSubClassLink(id);
    } else {
        logger.error("cannot instanciate a link from the type: " + type.toString());
        return null;
    }

    if (l instanceof LabeledLink) {
        ((LabeledLink) l).setStatus(status);
        ((LabeledLink) l).setModelIds(modelIds);
    }
    return l;
}

From source file:edu.isi.karma.modeling.alignment.GraphUtil.java

License:Apache License

private static SemanticType readSemanticType(JsonReader reader) throws IOException {

    String hNodeId = null;/* w w  w .  j  ava  2  s.  c  o m*/
    Label domain = null;
    Label type = null;
    Origin origin = null;
    Double confidenceScore = null;

    reader.beginObject();
    while (reader.hasNext()) {
        String key = reader.nextName();
        if (key.equals("hNodeId") && reader.peek() != JsonToken.NULL) {
            hNodeId = reader.nextString();
        } else if (key.equals("domain") && reader.peek() != JsonToken.NULL) {
            domain = readLabel(reader);
        } else if (key.equals("type") && reader.peek() != JsonToken.NULL) {
            type = readLabel(reader);
        } else if (key.equals("origin") && reader.peek() != JsonToken.NULL) {
            origin = Origin.valueOf(reader.nextString());
        } else if (key.equals("confidenceScore") && reader.peek() != JsonToken.NULL) {
            confidenceScore = reader.nextDouble();
        } else {
            reader.skipValue();
        }
    }
    reader.endObject();

    SemanticType semanticType = new SemanticType(hNodeId, type, domain, origin, confidenceScore);
    return semanticType;
}

From source file:edu.rpi.shuttles.data.RPIShuttleDataProvider.java

License:Apache License

private Stop readStop(JsonReader reader) throws IOException {
    Stop stop = new Stop();
    ArrayList<Integer> routes = new ArrayList<Integer>();
    reader.beginObject();//from   ww  w .j  a v a2  s  .  co  m
    reader.nextName();
    reader.beginObject();
    while (reader.hasNext()) {
        String key = reader.nextName();
        if (key.equals("id")) {
            stop.id = reader.nextInt();
        } else if (key.equals("name")) {
            stop.name = reader.nextString();
        } else if (key.equals("short_name")) {
            stop.short_name = reader.nextString();
        } else if (key.equals("enabled")) {
            stop.enabled = reader.nextBoolean();
        } else if (key.equals("latitude")) {
            stop.latitude = reader.nextDouble();
        } else if (key.equals("longitude")) {
            stop.longitude = reader.nextDouble();
        } else if (key.equals("routes")) {
            reader.beginArray();
            while (reader.hasNext()) {
                reader.beginObject();
                while (reader.hasNext()) {
                    if (reader.nextName().equals("id")) {
                        routes.add(reader.nextInt());
                    } else {
                        reader.skipValue();
                    }
                }
                reader.endObject();
            }
            reader.endArray();
        } else {
            stop.extraAttributes.put(key, reader.nextString());
        }

    }
    reader.endObject();
    reader.endObject();
    Log.d("RPIDataProvider", String.format("Pulling stop %S (%S)...", Integer.toString(stop.id), stop.name));
    for (int i = 0; i < routes.size(); i++) {
        ArrayList<Integer> route = mRouteStopsMap.get(routes.get(i), new ArrayList<Integer>());
        route.add(stop.id);
        mRouteStopsMap.put(routes.get(i), route);
    }
    return stop;
}

From source file:edu.rpi.shuttles.data.RPIShuttleDataProvider.java

License:Apache License

private void populateRoutePath(JsonReader reader) throws IOException {
    ArrayList<Coordinate> path = new ArrayList<Coordinate>();
    Integer path_id = 0;//from  w w w  . j a  v  a  2s . c  o m
    reader.beginObject();
    while (reader.hasNext()) {
        // Process attributes of a route.
        // We have the array of coordinates making up the path of the route on a map.
        String key = reader.nextName();
        if (key.equals("coords")) {
            Double latitude = 0.0;
            Double longitude = 0.0;
            reader.beginArray();
            // Read coordinate attributes and add to path.
            while (reader.hasNext()) {
                reader.beginObject();
                // Read coordinate attributes.
                while (reader.hasNext()) {
                    String coordinate_key = reader.nextName();
                    if (coordinate_key.equals("latitude")) {
                        latitude = reader.nextDouble();
                    } else if (coordinate_key.equals("longitude")) {
                        longitude = reader.nextDouble();
                    } else {
                        reader.skipValue();
                    }
                }
                reader.endObject();
                // Add coordinate to path.
                path.add(new Coordinate(latitude, longitude));
                Log.d("CreatePoint",
                        String.format("Inserting point %S, %S", latitude.toString(), longitude.toString()));
            }
            reader.endArray();
        } else if (key.equals("id")) {
            path_id = reader.nextInt();
        } else {
            reader.skipValue();
        }
    }
    reader.endObject();
    Route route = mRoutes.get(path_id);
    route.map_polyline = path;
    mRoutes.put(path_id, route);
    Log.d("RouteDataProvider", String.format("Pulling route %S (%S) with %s coordinates...",
            Integer.toString(route.id), route.name, Integer.valueOf(route.map_polyline.size()).toString()));
}

From source file:edu.rpi.shuttles.data.RPIShuttleDataProvider.java

License:Apache License

@SuppressLint("SimpleDateFormat")
private Vehicle readVehicleLocation(JsonReader reader) throws IOException {
    Vehicle shuttle = new Vehicle();
    reader.beginObject();/*  www.  j av  a  2s .c o  m*/
    reader.nextName();
    reader.beginObject();
    while (reader.hasNext()) {
        String key = reader.nextName();
        if (key.equals("id")) {
            shuttle.id = reader.nextInt();
        } else if (key.equals("name")) {
            shuttle.name = reader.nextString();
        } else if (key.equals("latest_position")) {
            reader.beginObject();
            while (reader.hasNext()) {
                key = reader.nextName();
                if (key.equals("heading")) {
                    shuttle.heading = reader.nextInt();
                } else if (key.equals("latitude")) {
                    shuttle.latitude = reader.nextDouble();
                } else if (key.equals("longitude")) {
                    shuttle.longitude = reader.nextDouble();
                } else if (key.equals("speed")) {
                    shuttle.speed = reader.nextInt();
                } else if (key.equals("timestamp")) {
                    SimpleDateFormat iso_format = new SimpleDateFormat("yyyy-MM-dd HH:mmZ");
                    try {
                        shuttle.timestamp = iso_format.parse(reader.nextString().replace("T", " "));
                    } catch (ParseException e) {
                        e.printStackTrace();
                    }
                } else if (key.equals("public_status_message")) {
                    shuttle.description = reader.nextString();
                } else if (key.equals("cardinal_point")) {
                    shuttle.cardinalPoint = reader.nextString();
                }
            }
            reader.endArray();
        } else {
            reader.skipValue();
        }
    }
    reader.endObject();
    reader.endObject();
    Log.d("RPIDataProvider",
            String.format("Updated Shuttle %S (%S) location...", Integer.toString(shuttle.id), shuttle.name));
    return shuttle;
}