public static Set<String> fromString(String str) {
   TreeSet<String> result = new TreeSet<String>();
   if (str == null || str.isEmpty()) {
     return result;
   }
   try {
     JsonReader reader = new JsonReader(new StringReader(str));
     reader.beginObject();
     while (reader.hasNext()) {
       String key = reader.nextName();
       if (JSON_STARRED_SESSIONS_KEY.equals(key)) {
         reader.beginArray();
         while (reader.hasNext()) {
           result.add(reader.nextString());
         }
         reader.endArray();
       } else {
         reader.skipValue();
       }
     }
     reader.endObject();
     reader.close();
   } catch (Exception ex) {
     Log.w(TAG, "Ignoring invalid remote content.", ex);
     return null;
   }
   return result;
 }
  private Dependency readDependency(JsonReader in) throws IOException {
    DefaultDependency dep = new DefaultDependency();

    in.beginObject();
    while (in.hasNext()) {
      String name = in.nextName();
      switch (name) {
        case PACKAGE_PROPERTY:
          dep.setPackage(in.nextString());
          break;
        case VERSION_PROPERTY:
          dep.setVersion(in.nextString());
          break;
        case DEPENDNCY_OP_PROPERTY:
          dep.setDependencyOperator(RelationOperator.valueOf(in.nextString()));
          break;
        case ALTERNATIVES_PROPERTY:
          in.beginArray();
          while (in.hasNext()) {
            dep.getAlternatives().add(readDependency(in));
          }
          in.endArray();
          break;
        default:
          in.skipValue();
          break;
      }
    }
    in.endObject();

    return dep;
  }
 public Map<K, V> a(JsonReader paramJsonReader) throws IOException {
   Object localObject = paramJsonReader.peek();
   if (localObject == JsonToken.NULL) {
     paramJsonReader.nextNull();
     return null;
   }
   Map localMap = (Map) d.a();
   if (localObject == JsonToken.BEGIN_ARRAY) {
     paramJsonReader.beginArray();
     while (paramJsonReader.hasNext()) {
       paramJsonReader.beginArray();
       localObject = b.b(paramJsonReader);
       if (localMap.put(localObject, c.b(paramJsonReader)) != null) {
         throw new JsonSyntaxException("duplicate key: " + localObject);
       }
       paramJsonReader.endArray();
     }
     paramJsonReader.endArray();
     return localMap;
   }
   paramJsonReader.beginObject();
   while (paramJsonReader.hasNext()) {
     d.INSTANCE.promoteNameToValue(paramJsonReader);
     localObject = b.b(paramJsonReader);
     if (localMap.put(localObject, c.b(paramJsonReader)) != null) {
       throw new JsonSyntaxException("duplicate key: " + localObject);
     }
   }
   paramJsonReader.endObject();
   return localMap;
 }
  private void jsonReadCont(JsonReader jReader) throws IOException {
    jReader.beginObject();
    assertNotNull("cont1 is missing.", jReader.hasNext());

    // Cont dataFromJson = new Cont(jReader.nextName());
    jReader.nextName();
    jsonReadContElements(jReader);

    assertFalse("cont shouldn't have other element.", jReader.hasNext());
    jReader.endObject();
    // return dataFromJson;
  }
    @Override
    public TimeSeries<Location> read(JsonReader in) throws IOException {
      if (gson == null) {
        gson = Vinli.curApp().gson();
      }

      final TimeSeries.Builder<Location> b =
          new AutoParcel_TimeSeries.Builder<Location>().type(TIME_SERIES_TYPE);

      in.beginObject();
      while (in.hasNext()) {
        final String name = in.nextName();

        switch (name) {
          case "meta":
            b.meta(gson.<TimeSeries.Meta>fromJson(in, TimeSeries.Meta.class));
            break;
          case "locations":
            in.beginObject();
            while (in.hasNext()) {
              final String locName = in.nextName();

              switch (locName) {
                case "type":
                  in.skipValue();
                  break;
                case "features":
                  final List<Location> locations = new ArrayList<>();

                  in.beginArray();
                  while (in.hasNext()) {
                    locations.add(gson.<Location>fromJson(in, Location.class));
                  }
                  in.endArray();

                  b.items(locations);
                  break;
                default:
                  throw new JsonParseException(
                      "unrecognized key '" + locName + "' while parsing locations");
              }
            }
            in.endObject();
            break;
          default:
            throw new JsonParseException("unrecognized key '" + name + "' while parsing locations");
        }
      }
      in.endObject();

      return b.build();
    }
Beispiel #6
0
 @Override
 public QuestSet read(JsonReader in) throws IOException {
   String name = null, description = null;
   requirementMapping.clear();
   optionMapping.clear();
   List<Quest> quests = new ArrayList<Quest>();
   in.beginObject();
   while (in.hasNext()) {
     String next = in.nextName();
     if (next.equalsIgnoreCase(NAME)) {
       name = in.nextString();
     } else if (next.equalsIgnoreCase(DESCRIPTION)) {
       description = in.nextString();
     } else if (next.equalsIgnoreCase(QUESTS)) {
       in.beginArray();
       QUEST_ID = Quest.size();
       while (in.hasNext()) {
         Quest quest = QUEST_ADAPTER.read(in);
         if (quest != null) {
           quests.add(quest);
         }
       }
       in.endArray();
     }
   }
   in.endObject();
   for (QuestSet set : Quest.getQuestSets()) {
     if (set.getName().equals(name)) {
       return removeQuests(quests);
     }
   }
   if (name != null && description != null) {
     QuestSet set = new QuestSet(name, description);
     Quest.getQuestSets().add(set);
     SaveHelper.add(SaveHelper.EditType.SET_CREATE);
     for (Quest quest : quests) {
       quest.setQuestSet(set);
     }
     for (Map.Entry<Quest, List<Integer>> entry : requirementMapping.entrySet()) {
       for (int i : entry.getValue()) entry.getKey().addRequirement(i);
     }
     for (Map.Entry<Quest, List<Integer>> entry : optionMapping.entrySet()) {
       for (int i : entry.getValue()) entry.getKey().addOptionLink(i);
     }
     return set;
   }
   return removeQuests(quests);
 }
Beispiel #7
0
 @Override
 public Student read(JsonReader reader) throws IOException {
   Student student = new Student();
   reader.beginObject();
   String fieldname = null;
   while (reader.hasNext()) {
     JsonToken token = reader.peek();
     if (token.equals(JsonToken.NAME)) {
       // get the current token
       fieldname = reader.nextName();
     }
     if ("name".equals(fieldname)) {
       // move to next token
       token = reader.peek();
       student.setName(reader.nextString());
     }
     if ("rollNo".equals(fieldname)) {
       // move to next token
       token = reader.peek();
       student.setRollNo(reader.nextInt());
     }
   }
   reader.endObject();
   return student;
 }
Beispiel #8
0
 @Override
 public QuestTaskItems.ItemRequirement read(JsonReader in) throws IOException {
   in.beginObject();
   ItemStack item = null;
   Fluid fluid = null;
   int required = 1;
   ItemPrecision precision = ItemPrecision.PRECISE;
   while (in.hasNext()) {
     String next = in.nextName();
     if (next.equalsIgnoreCase(ITEM)) {
       item = MinecraftAdapter.ITEM_STACK.read(in);
     } else if (next.equalsIgnoreCase(FLUID)) {
       fluid = MinecraftAdapter.FLUID.read(in);
     } else if (next.equalsIgnoreCase(REQUIRED)) {
       required = in.nextInt();
     } else if (next.equalsIgnoreCase(PRECISION)) {
       ItemPrecision itemPrecision = ItemPrecision.valueOf(in.nextString());
       if (itemPrecision != null) {
         precision = itemPrecision;
       }
     }
   }
   in.endObject();
   QuestTaskItems.ItemRequirement result = null;
   if (item != null) {
     result = new QuestTaskItems.ItemRequirement(item, required);
   } else if (fluid != null) {
     result = new QuestTaskItems.ItemRequirement(fluid, required);
   } else {
     return null;
   }
   result.precision = precision;
   return result;
 }
  private int importFile(File importPath, ImporterExporter importer) {
    File file = new File(importPath, importer.getFileName());
    if (!file.exists() || !file.canRead()) {
      return ERROR_FILE_ACCESS;
    }

    importer.initializeImport(mContext);

    try {
      InputStream in = new FileInputStream(file);

      Gson gson = new Gson();

      JsonReader reader = new JsonReader(new InputStreamReader(in, "UTF-8"));
      reader.beginArray();

      while (reader.hasNext()) {
        importer.importRecord(mContext, gson, reader);
      }

      reader.endArray();
      reader.close();
    } catch (JsonParseException | IOException e) {
      // the given Json might not be valid or unreadable
      Timber.e(e, "JSON show import failed");
      return ERROR;
    }

    return SUCCESS;
  }
    @Override
    public T read(JsonReader in) throws IOException {
      if (in.peek() == JsonToken.NULL) {
        in.nextNull();
        return null;
      }

      T instance = constructor.construct();

      try {
        in.beginObject();
        while (in.hasNext()) {
          String name = in.nextName();
          BoundField field = boundFields.get(name);
          if (field == null || !field.deserialized) {
            in.skipValue();
          } else {
            field.read(in, instance);
          }
        }
      } catch (IllegalStateException e) {
        throw new JsonSyntaxException(e);
      } catch (IllegalAccessException e) {
        throw new AssertionError(e);
      }
      in.endObject();
      return instance;
    }
Beispiel #11
0
 @Override
 public QuestTaskReputation.ReputationSetting read(JsonReader in) throws IOException {
   in.beginObject();
   Reputation reputation = null;
   int low = Integer.MIN_VALUE, high = Integer.MIN_VALUE;
   boolean inverted = false;
   while (in.hasNext()) {
     String name = in.nextName();
     if (name.equalsIgnoreCase(REPUTATION)) {
       reputation = Reputation.getReputation(in.nextInt());
     } else if (name.equalsIgnoreCase(UPPER)) {
       high = in.nextInt();
     } else if (name.equalsIgnoreCase(LOWER)) {
       low = in.nextInt();
     } else if (name.equalsIgnoreCase(INVERTED)) {
       inverted = in.nextBoolean();
     }
   }
   if (reputation == null) {
     return null;
   }
   ReputationMarker lower = null, upper = null;
   if (low != Integer.MIN_VALUE) lower = reputation.getMarker(low);
   if (high != Integer.MIN_VALUE) upper = reputation.getMarker(high);
   in.endObject();
   return new QuestTaskReputation.ReputationSetting(reputation, lower, upper, inverted);
 }
Beispiel #12
0
 @Override
 public QuestTaskLocation.Location read(JsonReader in) throws IOException {
   in.beginObject();
   QuestTaskLocation.Location result = ((QuestTaskLocation) TASK).new Location();
   while (in.hasNext()) {
     String name = in.nextName();
     if (name.equalsIgnoreCase(NAME)) {
       ReflectionHelper.setPrivateValue(
           QuestTaskLocation.Location.class, result, in.nextString(), NAME);
     } else if (name.equalsIgnoreCase(X)) {
       result.setX(in.nextInt());
     } else if (name.equalsIgnoreCase(Y)) {
       result.setY(in.nextInt());
     } else if (name.equalsIgnoreCase(Z)) {
       result.setZ(in.nextInt());
     } else if (name.equalsIgnoreCase(DIM)) {
       result.setDimension(in.nextInt());
     } else if (name.equalsIgnoreCase(RADIUS)) {
       result.setRadius(in.nextInt());
     } else if (name.equalsIgnoreCase(ICON)) {
       ReflectionHelper.setPrivateValue(
           QuestTaskLocation.Location.class,
           result,
           MinecraftAdapter.ITEM_STACK.read(in),
           ICON);
     } else if (name.equalsIgnoreCase(VISIBLE)) {
       result.setVisible(QuestTaskLocation.Visibility.valueOf(in.nextString()));
     }
   }
   in.endObject();
   return result;
 }
Beispiel #13
0
 private ItemStack[] readItemStackArray(JsonReader in) throws IOException {
   List<ItemStack> stacks = new ArrayList<>();
   in.beginArray();
   while (in.hasNext()) {
     ItemStack stack = MinecraftAdapter.ITEM_STACK.read(in);
     if (stack != null) stacks.add(stack);
   }
   in.endArray();
   return stacks.toArray(new ItemStack[stacks.size()]);
 }
  @Override
  public ConnectionCollection read(JsonReader in) throws IOException {
    ConnectionCollection connectionDetails = new ConnectionCollection();
    in.beginObject();
    while (in.hasNext() && in.peek() != JsonToken.END_OBJECT) {
      addDetails(in, connectionDetails);
    }
    in.endObject();

    return connectionDetails;
  }
  public List<Map<String, Object>> parsePublicTimeline(InputStream inputStream) {

    List<Map<String, Object>> result = new ArrayList<Map<String, Object>>();

    try {
      JsonReader reader = new JsonReader(new InputStreamReader(inputStream, "UTF-8"));

      reader.beginArray();
      while (reader.hasNext()) {
        Map<String, Object> map = new HashMap<String, Object>();

        reader.beginObject();
        while (reader.hasNext()) {
          String name = reader.nextName();
          if ("user".equals(name)) {
            reader.beginObject();
            while (reader.hasNext()) {
              String name2 = reader.nextName();
              map.put("user." + name2, getValue(reader));
            }
            reader.endObject();
          } else {
            map.put(name, getValue(reader));
          }
        }

        reader.endObject();

        result.add(map);
      }
      reader.endArray();

    } catch (Exception e) {
      e.printStackTrace();
    }

    return result;
  }
Beispiel #16
0
 @Override
 public JsonElement read(JsonReader in) throws IOException {
   switch (in.peek()) {
     case STRING:
       return new JsonPrimitive(in.nextString());
     case NUMBER:
       String number = in.nextString();
       return new JsonPrimitive(new LazilyParsedNumber(number));
     case BOOLEAN:
       return new JsonPrimitive(in.nextBoolean());
     case NULL:
       in.nextNull();
       return JsonNull.INSTANCE;
     case BEGIN_ARRAY:
       JsonArray array = new JsonArray();
       in.beginArray();
       while (in.hasNext()) {
         array.add(read(in));
       }
       in.endArray();
       return array;
     case BEGIN_OBJECT:
       JsonObject object = new JsonObject();
       in.beginObject();
       while (in.hasNext()) {
         object.add(in.nextName(), read(in));
       }
       in.endObject();
       return object;
     case END_DOCUMENT:
     case NAME:
     case END_OBJECT:
     case END_ARRAY:
     default:
       throw new IllegalArgumentException();
   }
 }
 public Map<K, V> read(JsonReader in) throws IOException {
   Map<K, V> result = Maps.newHashMap();
   in.beginObject();
   while (in.hasNext()) {
     JsonReaderInternalAccess.INSTANCE.promoteNameToValue(in);
     K name = keyAdapter.read(in);
     V value = valueAdapter.read(in);
     if (value != null) {
       // If there are repeated keys, overwrite them to only keep the last one
       result.put(name, value);
     }
   }
   in.endObject();
   return ImmutableMap.copyOf(result);
 }
    public Collection<E> read(JsonReader in) throws IOException {
      if (in.peek() == JsonToken.NULL) {
        in.nextNull();
        return null;
      }

      Collection<E> collection = constructor.construct();
      in.beginArray();
      while (in.hasNext()) {
        E instance = elementTypeAdapter.read(in);
        collection.add(instance);
      }
      in.endArray();
      return collection;
    }
  @Override
  public QblECPublicKey read(JsonReader in) throws IOException {
    QblECPublicKey ecPublicKey = null;

    if (in.peek() == JsonToken.NULL) {
      in.nextNull();
      return null;
    }

    in.beginObject();
    if (in.hasNext() && in.nextName().equals("public_key")) {
      ecPublicKey = new QblECPublicKey(Hex.decode(in.nextString()));
    }
    in.endObject();
    return ecPublicKey;
  }
  private void getdata() throws IOException {

    // open URL for JSON parser:

    URL obj_URL = new URL(url);
    InputStream in = obj_URL.openStream();
    JsonReader reader = new JsonReader(new InputStreamReader(in, "UTF-8"));

    // read charge points array:

    reader.beginArray();
    while (!isCancelled() && reader.hasNext()) {
      ChargePoint chargePoint = gson.fromJson(reader, ChargePoint.class);
      chargePoints.add(chargePoint);
    }
    reader.endArray();
    reader.close();
  }
Beispiel #21
0
 @Override
 public Quest.ReputationReward read(JsonReader in) throws IOException {
   in.beginObject();
   int rep = 0, val = 0;
   while (in.hasNext()) {
     switch (in.nextName()) {
       case REPUTATION:
         rep = in.nextInt();
         break;
       case VALUE:
         val = in.nextInt();
         break;
     }
   }
   in.endObject();
   Reputation reputation = Reputation.getReputation(rep);
   return reputation != null ? new Quest.ReputationReward(reputation, val) : null;
 }
  public ArrayList<Clientes> leerFlujoJson(InputStream in) throws IOException {
    // Nueva instancia de la clase Gson
    Gson gson = new Gson();

    JsonReader reader = new JsonReader(new InputStreamReader(in, "UTF-8"));
    ArrayList<Clientes> animales = new ArrayList<>();

    // Iniciar el array
    reader.beginArray();

    while (reader.hasNext()) {
      // Lectura de objetos
      Clientes cliente = gson.fromJson(reader, Clientes.class);
      animales.add(cliente);
    }

    reader.endArray();
    reader.close();
    return animales;
  }
Beispiel #23
0
 @Override
 public RepeatInfo read(JsonReader in) throws IOException {
   RepeatType type = RepeatType.NONE;
   int days = 0, hours = 0;
   in.beginObject();
   while (in.hasNext()) {
     switch (in.nextName()) {
       case TYPE:
         type = RepeatType.valueOf(in.nextString());
         break;
       case HOURS:
         hours = in.nextInt();
         break;
       case DAYS:
         days = in.nextInt();
     }
   }
   in.endObject();
   return new RepeatInfo(type, days, hours);
 }
 public void addDetails(JsonReader in, ConnectionCollection collection) throws IOException {
   String detailsName = in.nextName();
   in.beginObject();
   JsonObject object = new JsonObject();
   while (in.hasNext() && in.peek() != JsonToken.END_OBJECT) {
     String name = in.nextName();
     object.addProperty(name, in.nextString());
   }
   String connectionType = object.get("connectionType").getAsString();
   ConnectionDefinition details =
       create(
           registeredExtensions.getConnectionNames(),
           detailsName,
           connectionType,
           registeredExtensions.getConnectionTypeForName(connectionType),
           object);
   details.setConnectionType(connectionType);
   details.setName(detailsName);
   in.endObject();
   collection.put(detailsName, details);
 }
Beispiel #25
0
 @Override
 public QuestTaskMob.Mob read(JsonReader in) throws IOException {
   in.beginObject();
   QuestTaskMob.Mob result = ((QuestTaskMob) TASK).new Mob();
   while (in.hasNext()) {
     String name = in.nextName();
     if (name.equalsIgnoreCase(NAME)) {
       result.setName(in.nextString());
     } else if (name.equalsIgnoreCase(ICON)) {
       result.setIcon(MinecraftAdapter.ITEM_STACK.read(in));
     } else if (name.equalsIgnoreCase(MOB)) {
       result.setMob(in.nextString());
     } else if (name.equalsIgnoreCase(EXACT)) {
       result.setExact(in.nextBoolean());
     } else if (name.equalsIgnoreCase(KILLS)) {
       result.setCount(in.nextInt());
     }
   }
   in.endObject();
   return result;
 }
  /**
   * {@inheritDoc}
   *
   * @see com.google.gson.TypeAdapter#read(com.google.gson.stream.JsonReader)
   */
  @Override
  public RestQueryRow read(final JsonReader in) throws IOException {
    final RestQueryRow queryRow = new RestQueryRow();
    in.beginObject();

    while (in.hasNext()) {
      final String name = in.nextName();

      switch (name) {
        case RestQueryRow.ROW_LABEL:
          String[] values = BUILDER.fromJson(in, String[].class);
          queryRow.setValues(values);
          break;
        default:
          throw new IOException(Messages.getString(UNEXPECTED_JSON_TOKEN, name));
      }
    }

    in.endObject();

    return queryRow;
  }
  @RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
  public String importData(Reader in, Model m) throws IOException {

    JsonReader reader = new JsonReader(in);

    reader.beginObject();

    while (reader.hasNext()) {
      JsonToken tok = reader.peek();
      switch (tok) {
        case NAME:
          String name = reader.nextName();
          if (name.equals(MITREidDataService.MITREID_CONNECT_1_0)) {
            dataService_1_0.importData(reader);
          } else if (name.equals(MITREidDataService.MITREID_CONNECT_1_1)) {
            dataService_1_1.importData(reader);
          } else if (name.equals(MITREidDataService.MITREID_CONNECT_1_2)) {
            dataService_1_2.importData(reader);
          } else if (name.equals(MITREidDataService.MITREID_CONNECT_1_3)) {
            dataService_1_3.importData(reader);
          } else {
            // consume the next bit silently for now
            logger.debug("Skipping value for " + name); // TODO: write these out?
            reader.skipValue();
          }
          break;
        case END_OBJECT:
          reader.endObject();
          break;
        case END_DOCUMENT:
          break;
      }
    }

    return "httpCodeView";
  }
  private void jsonReadContElements(JsonReader jReader) throws IOException {
    jReader.beginObject();
    List<String> loadedLfs = new ArrayList<>();
    boolean exceptForDecimal5Raised = false;
    boolean enumChecked = false;
    boolean bitsChecked = false;
    boolean lfdecimal6Checked = false;
    boolean lfdecimal4Checked = false;
    boolean lfdecimal3Checked = false;
    boolean lfdecimal2Checked = false;
    boolean lfdecimal1Checked = false;
    boolean lfbool1Checked = false;
    boolean lfbool2Checked = false;
    boolean lfstrChecked = false;
    boolean lfbinaryChecked = false;
    // boolean lfref1Checked = false;
    boolean lfemptyChecked = false;
    boolean lfstr1Checked = false;

    while (jReader.hasNext()) {
      String keyName = jReader.nextName();
      JsonToken peek = null;
      try {
        peek = jReader.peek();
      } catch (IOException e) {
        if (keyName.equals("lfdecimal5")) {
          exceptForDecimal5Raised = true;
        } else {
          assertTrue("Key " + keyName + " has incorrect value for specifed type", false);
        }
      }

      if (keyName.startsWith("lfnint") || keyName.startsWith("lfnuint")) {
        assertEquals("Key " + keyName + " has incorrect type", JsonToken.NUMBER, peek);
        try {
          jReader.nextLong();
        } catch (NumberFormatException e) {
          assertTrue("Key " + keyName + " has incorrect value - " + e.getMessage(), false);
        }
        loadedLfs.add(keyName.substring(3));
      } else if (keyName.equals("lfstr")) {
        assertEquals("Key " + keyName + " has incorrect type", JsonToken.STRING, peek);
        assertEquals("lfstr", jReader.nextString());
        lfstrChecked = true;
      } else if (keyName.equals("lfstr1")) {
        assertEquals("Key " + keyName + " has incorrect type", JsonToken.STRING, peek);
        assertEquals("", jReader.nextString());
        lfstr1Checked = true;
      } else if (keyName.equals("lfbool1")) {
        assertEquals("Key " + keyName + " has incorrect type", JsonToken.BOOLEAN, peek);
        assertEquals(true, jReader.nextBoolean());
        lfbool1Checked = true;
      } else if (keyName.equals("lfbool2")) {
        assertEquals("Key " + keyName + " has incorrect type", JsonToken.BOOLEAN, peek);
        assertEquals(false, jReader.nextBoolean());
        lfbool2Checked = true;
      } else if (keyName.equals("lfbool3")) {
        assertEquals("Key " + keyName + " has incorrect type", JsonToken.BOOLEAN, peek);
        assertEquals(false, jReader.nextBoolean());
      } else if (keyName.equals("lfdecimal1")) {
        assertEquals("Key " + keyName + " has incorrect type", JsonToken.NUMBER, peek);
        assertEquals(new Double(43.32), (Double) jReader.nextDouble());
        lfdecimal1Checked = true;
      } else if (keyName.equals("lfdecimal2")) {
        assertEquals("Key " + keyName + " has incorrect type", JsonToken.NUMBER, peek);
        assertEquals(new Double(-0.43), (Double) jReader.nextDouble());
        lfdecimal2Checked = true;
      } else if (keyName.equals("lfdecimal3")) {
        assertEquals("Key " + keyName + " has incorrect type", JsonToken.NUMBER, peek);
        assertEquals(new Double(43), (Double) jReader.nextDouble());
        lfdecimal3Checked = true;
      } else if (keyName.equals("lfdecimal4")) {
        assertEquals("Key " + keyName + " has incorrect type", JsonToken.NUMBER, peek);
        assertEquals(new Double(43E3), (Double) jReader.nextDouble());
        lfdecimal4Checked = true;
      } else if (keyName.equals("lfdecimal6")) {
        assertEquals("Key " + keyName + " has incorrect type", JsonToken.NUMBER, peek);
        assertEquals(new Double(33.12345), (Double) jReader.nextDouble());
        lfdecimal6Checked = true;
      } else if (keyName.equals("lfenum")) {
        assertEquals("enum3", jReader.nextString());
        enumChecked = true;
      } else if (keyName.equals("lfbits")) {
        assertEquals("bit3", jReader.nextString());
        bitsChecked = true;
      } else if (keyName.equals("lfbinary")) {
        assertEquals(
            "AAaacdabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ%%-#^",
            jReader.nextString());
        lfbinaryChecked = true;
      } else if (keyName.equals("lfempty")) {
        jReader.beginArray();
        jReader.nextNull();
        jReader.endArray();
        lfemptyChecked = true;
      } else if (keyName.startsWith("lfunion")) {
        checkLfUnion(jReader, keyName, peek);
      } else {
        assertTrue("Key " + keyName + " doesn't exists in yang file.", false);
      }
    }
    Collections.sort(loadedLfs);
    String expectedLfsStr =
        "[int16Max, int16Min, int32Max, int32Min, int64Max, int64Min, int8Max, int8Min, uint16Max, uint32Max, uint8Max]";
    String actualLfsStr = loadedLfs.toString();
    assertEquals("Some leaves are missing", expectedLfsStr, actualLfsStr);
    // assertTrue("For lfdecimal5 wasn't catch error",exceptForDecimal5Raised);
    assertTrue("Enum wasn't checked", enumChecked);
    assertTrue("Bits wasn't checked", bitsChecked);
    assertTrue("Decimal1 wasn't checked", lfdecimal1Checked);
    assertTrue("Decimal2 wasn't checked", lfdecimal2Checked);
    assertTrue("Decimal3 wasn't checked", lfdecimal3Checked);
    assertTrue("Decimal4 wasn't checked", lfdecimal4Checked);
    assertTrue("Decimal5 wasn't checked", lfdecimal6Checked);
    assertTrue("lfbool1 wasn't checked", lfbool1Checked);
    assertTrue("lfbool2 wasn't checked", lfbool2Checked);
    assertTrue("lfstr wasn't checked", lfstrChecked);
    assertTrue("lfstr1 wasn't checked", lfstr1Checked);
    assertTrue("lfbinary wasn't checked", lfbinaryChecked);
    assertTrue("lfempty wasn't checked", lfemptyChecked);
    // assertTrue("lfref1 wasn't checked", lfref1Checked);

    jReader.endObject();
  }
Beispiel #29
0
 @Override
 public QuestTask read(JsonReader in) throws IOException {
   in.beginObject();
   if (!in.nextName().equalsIgnoreCase(TYPE)) {
     throw new IOException("Tasks *MUST* start with the type");
   }
   String task = in.nextString();
   TaskType type = TaskType.valueOf(task);
   if (type == null) {
     throw new IOException("Invalid Task Type: " + task);
   }
   TASK = type.addTask(QUEST);
   while (in.hasNext()) {
     String name = in.nextName();
     if (name.equalsIgnoreCase(DESCRIPTION)) {
       TASK.description = in.nextString();
     } else if (name.equalsIgnoreCase(LONG_DESCRIPTION)) {
       TASK.setLongDescription(in.nextString());
     } else if (TASK instanceof QuestTaskItems && name.equalsIgnoreCase(ITEMS)) {
       List<QuestTaskItems.ItemRequirement> list = new ArrayList<>();
       in.beginArray();
       while (in.hasNext()) {
         QuestTaskItems.ItemRequirement entry = ITEM_REQUIREMENT_ADAPTER.read(in);
         if (entry != null) list.add(entry);
       }
       in.endArray();
       ((QuestTaskItems) TASK)
           .setItems(list.toArray(new QuestTaskItems.ItemRequirement[list.size()]));
     } else if (TASK instanceof QuestTaskDeath && name.equalsIgnoreCase(DEATHS)) {
       int death = in.nextInt();
       ((QuestTaskDeath) TASK).setDeaths(death);
     } else if (TASK instanceof QuestTaskLocation && name.equalsIgnoreCase(LOCATIONS)) {
       List<QuestTaskLocation.Location> list = new ArrayList<QuestTaskLocation.Location>();
       in.beginArray();
       while (in.hasNext()) {
         QuestTaskLocation.Location entry = LOCATION_ADAPTER.read(in);
         if (entry != null) list.add(entry);
       }
       in.endArray();
       ((QuestTaskLocation) TASK).locations =
           list.toArray(new QuestTaskLocation.Location[list.size()]);
     } else if (TASK instanceof QuestTaskMob && name.equalsIgnoreCase(MOBS)) {
       List<QuestTaskMob.Mob> list = new ArrayList<QuestTaskMob.Mob>();
       in.beginArray();
       while (in.hasNext()) {
         QuestTaskMob.Mob entry = MOB_ADAPTER.read(in);
         if (entry != null) list.add(entry);
       }
       in.endArray();
       ((QuestTaskMob) TASK).mobs = list.toArray(new QuestTaskMob.Mob[list.size()]);
     } else if (TASK instanceof QuestTaskReputation && name.equalsIgnoreCase(REPUTATION)) {
       List<QuestTaskReputation.ReputationSetting> list =
           new ArrayList<QuestTaskReputation.ReputationSetting>();
       in.beginArray();
       while (in.hasNext()) {
         list.add(REPUTATION_ADAPTER.read(in));
       }
       in.endArray();
       ReflectionHelper.setPrivateValue(
           QuestTaskReputation.class,
           (QuestTaskReputation) TASK,
           list.toArray(new QuestTaskReputation.ReputationSetting[list.size()]),
           "settings");
     } else if (name.equalsIgnoreCase(KILLS) && TASK instanceof QuestTaskReputationKill) {
       ((QuestTaskReputationKill) TASK).setKills(in.nextInt());
     }
   }
   in.endObject();
   type.addTaskData(QUEST);
   return null;
 }
Beispiel #30
0
 @Override
 public Quest read(JsonReader in) throws IOException {
   int ID_OFFSET = Quest.size();
   QUEST = new Quest(ID_OFFSET, "", "", 0, 0, false);
   List<Integer> requirement = new ArrayList<>(), options = new ArrayList<>();
   in.beginObject();
   while (in.hasNext()) {
     switch (in.nextName()) {
       case NAME:
         QUEST.setName(in.nextString());
         break;
       case DESCRIPTION:
         QUEST.setDescription(in.nextString());
         break;
       case X:
         ReflectionHelper.setPrivateValue(Quest.class, QUEST, in.nextInt(), X);
         break;
       case Y:
         ReflectionHelper.setPrivateValue(Quest.class, QUEST, in.nextInt(), Y);
         break;
       case TRIGGER_TASKS:
         QUEST.setTriggerTasks(in.nextInt());
         break;
       case PARENT_REQUIREMENT:
         QUEST.setParentRequirementCount(in.nextInt());
         break;
       case BIG_ICON:
         QUEST.setBigIcon(in.nextBoolean());
         break;
       case ICON:
         QUEST.setIcon(MinecraftAdapter.ITEM_STACK.read(in));
         break;
       case REQUIREMENTS:
         in.beginArray();
         while (in.hasNext()) {
           requirement.add(in.nextInt() + QUEST_ID);
         }
         in.endArray();
         break;
       case OPTIONS:
         in.beginArray();
         while (in.hasNext()) {
           options.add(in.nextInt() + QUEST_ID);
         }
         in.endArray();
         break;
       case REPEAT:
         QUEST.setRepeatInfo(REPEAT_INFO_ADAPTER.read(in));
         break;
       case TRIGGER:
         QUEST.setTriggerType(TriggerType.valueOf(in.nextString()));
         break;
       case TASKS:
         in.beginArray();
         while (in.hasNext()) {
           QuestTask task = TASK_ADAPTER.read(in);
           if (task != null) {
             QUEST.getTasks().add(task);
           }
         }
         in.endArray();
         break;
       case REWARDS:
         ReflectionHelper.setPrivateValue(
             Quest.class, QUEST, readItemStackArray(in), REWARDS);
         break;
       case REWARDS_CHOICE:
         ReflectionHelper.setPrivateValue(
             Quest.class, QUEST, readItemStackArray(in), REWARDS_CHOICE);
         break;
       case REWARDS_REPUTATION:
         in.beginArray();
         List<Quest.ReputationReward> reputationRewards = new ArrayList<>();
         while (in.hasNext()) {
           Quest.ReputationReward reward = REPUTATION_REWARD_ADAPTER.read(in);
           if (reward != null) reputationRewards.add(reward);
         }
         QUEST.setReputationRewards(reputationRewards);
         in.endArray();
         break;
     }
   }
   in.endObject();
   if (!QUEST.getName().isEmpty()) {
     requirementMapping.put(QUEST, requirement);
     optionMapping.put(QUEST, options);
     return QUEST;
   }
   QuestLine.getActiveQuestLine().quests.remove(QUEST.getId());
   return null;
 }