List of usage examples for org.json.simple JSONObject containsKey
boolean containsKey(Object key);
From source file:ovh.tgrhavoc.aibot.protocol.v4x.Protocol4X.java
public String parseChatMessage(JSONObject messageData) { StringBuffer message = new StringBuffer(); if (messageData.get("bold") == Boolean.TRUE) message.append(ChatColor.BOLD);/*from w w w .j av a 2 s .c o m*/ if (messageData.get("italic") == Boolean.TRUE) message.append(ChatColor.ITALIC); if (messageData.get("underlined") == Boolean.TRUE) message.append(ChatColor.UNDERLINE); if (messageData.get("strikethrough") == Boolean.TRUE) message.append(ChatColor.STRIKETHROUGH); if (messageData.get("obfuscated") == Boolean.TRUE) message.append(ChatColor.OBFUSCATED); if (messageData.containsKey("color")) message.append(ChatColor.valueOf(messageData.get("color").toString().toUpperCase())); if (messageData.containsKey("translate")) { String key = (String) messageData.get("translate"); String text = lang.get(key); if (text == null) text = key; if (messageData.containsKey("with")) { JSONArray array = (JSONArray) messageData.get("with"); String[] translationValues = new String[array.size()]; for (int i = 0; i < translationValues.length; i++) { Object object = array.get(i); String value; if (object instanceof JSONObject) value = parseChatMessage((JSONObject) object); else value = (String) object; translationValues[i] = value; } text = String.format(text, (Object[]) translationValues); } message.append(text); } else if (messageData.containsKey("text")) message.append(messageData.get("text")); if (messageData.containsKey("extra")) { JSONArray extra = (JSONArray) messageData.get("extra"); for (Object object : extra) if (object instanceof JSONObject) message.append(parseChatMessage((JSONObject) object)); else message.append(object); } return message.toString(); }
From source file:ovh.tgrhavoc.aibot.protocol.v74.Protocol74.java
@EventHandler public void onPacketProcess(PacketProcessEvent event) { Packet packet = event.getPacket();/*from w w w. j a v a 2s . co m*/ ConnectionHandler connectionHandler = bot.getConnectionHandler(); EventBus eventBus = bot.getEventBus(); switch (packet.getId()) { // Awkward brace style to prevent accidental field name overlap, and // switch rather than instanceof for efficiency case 0: { Packet0KeepAlive keepAlivePacket = (Packet0KeepAlive) packet; connectionHandler.sendPacket(keepAlivePacket); break; } case 1: { Packet1Login loginPacket = (Packet1Login) packet; eventBus.fire(new LoginEvent(loginPacket.playerId, loginPacket.worldType, loginPacket.gameMode, loginPacket.dimension, loginPacket.difficulty, loginPacket.worldHeight, loginPacket.maxPlayers)); connectionHandler.sendPacket(new Packet204ClientInfo("en_US", 1, 0, true, 2, true)); break; } case 3: { Packet3Chat chatPacket = (Packet3Chat) packet; String message = chatPacket.message; try { JSONParser parser = new JSONParser(); JSONObject json = (JSONObject) parser.parse(message); // TODO: Actually attempt to handle new chat format if (json.containsKey("text")) eventBus.fire(new ChatReceivedEvent((String) json.get("text"))); } catch (Exception exception) { } break; } case 4: { Packet4UpdateTime timePacket = (Packet4UpdateTime) packet; eventBus.fire(new TimeUpdateEvent(timePacket.time, timePacket.otherTime)); break; } case 5: { Packet5PlayerInventory inventoryPacket = (Packet5PlayerInventory) packet; eventBus.fire(new PlayerEquipmentUpdateEvent(inventoryPacket.entityID, inventoryPacket.slot, inventoryPacket.item)); break; } case 8: { Packet8UpdateHealth updateHealthPacket = (Packet8UpdateHealth) packet; int health = (int) Math.ceil(updateHealthPacket.healthMP); eventBus.fire( new HealthUpdateEvent(health, updateHealthPacket.food, updateHealthPacket.foodSaturation)); break; } case 9: { Packet9Respawn respawnPacket = (Packet9Respawn) packet; eventBus.fire(new RespawnEvent(respawnPacket.respawnDimension, respawnPacket.difficulty, respawnPacket.gameMode, respawnPacket.worldType, respawnPacket.worldHeight)); break; } case 13: { Packet13PlayerLookMove lookMovePacket = (Packet13PlayerLookMove) packet; connectionHandler.sendPacket(lookMovePacket); eventBus.fire(new TeleportEvent(lookMovePacket.x, lookMovePacket.y, lookMovePacket.z, lookMovePacket.stance, lookMovePacket.yaw, lookMovePacket.pitch)); break; } case 17: { Packet17Sleep sleepPacket = (Packet17Sleep) packet; eventBus.fire( new SleepEvent(sleepPacket.entityID, sleepPacket.bedX, sleepPacket.bedY, sleepPacket.bedZ)); break; } case 18: { Packet18Animation animationPacket = (Packet18Animation) packet; if (animationPacket.animation == Animation.EAT_FOOD) eventBus.fire(new EntityEatEvent(animationPacket.entityId)); break; } case 20: { Packet20NamedEntitySpawn spawnPacket = (Packet20NamedEntitySpawn) packet; RotatedSpawnLocation location = new RotatedSpawnLocation(spawnPacket.xPosition / 32D, spawnPacket.yPosition / 32D, spawnPacket.zPosition / 32D, (spawnPacket.rotation * 360) / 256F, (spawnPacket.pitch * 360) / 256F); ItemStack heldItem = new BasicItemStack(spawnPacket.currentItem, 1, 0); eventBus.fire(new PlayerSpawnEvent(spawnPacket.entityId, spawnPacket.name, heldItem, location, spawnPacket.data)); break; } case 22: { Packet22Collect collectPacket = (Packet22Collect) packet; eventBus.fire(new EntityCollectEvent(collectPacket.collectedEntityId, collectPacket.collectorEntityId)); break; } case 23: { Packet23VehicleSpawn spawnPacket = (Packet23VehicleSpawn) packet; RotatedSpawnLocation location = new RotatedSpawnLocation(spawnPacket.xPosition / 32D, spawnPacket.yPosition / 32D, spawnPacket.zPosition / 32D, (spawnPacket.yaw * 360) / 256F, (spawnPacket.pitch * 360) / 256F); ObjectSpawnData spawnData; if (spawnPacket.throwerEntityId != 0) spawnData = new ThrownObjectSpawnData(spawnPacket.type, spawnPacket.throwerEntityId, spawnPacket.speedX / 8000D, spawnPacket.speedY / 8000D, spawnPacket.speedZ / 8000D); else spawnData = new ObjectSpawnData(spawnPacket.type); eventBus.fire(new ObjectEntitySpawnEvent(spawnPacket.entityId, location, spawnData)); break; } case 24: { Packet24MobSpawn spawnPacket = (Packet24MobSpawn) packet; LivingEntitySpawnLocation location = new LivingEntitySpawnLocation(spawnPacket.xPosition / 32D, spawnPacket.yPosition / 32D, spawnPacket.zPosition / 32D, (spawnPacket.yaw * 360) / 256F, (spawnPacket.pitch * 360) / 256F, (spawnPacket.headYaw * 360) / 256F); LivingEntitySpawnData data = new LivingEntitySpawnData(spawnPacket.type, spawnPacket.velocityX / 8000D, spawnPacket.velocityY / 8000D, spawnPacket.velocityZ / 8000D); eventBus.fire(new LivingEntitySpawnEvent(spawnPacket.entityId, location, data, spawnPacket.metadata)); break; } case 25: { Packet25EntityPainting spawnPacket = (Packet25EntityPainting) packet; PaintingSpawnLocation location = new PaintingSpawnLocation(spawnPacket.xPosition, spawnPacket.yPosition, spawnPacket.zPosition, spawnPacket.direction); eventBus.fire(new PaintingSpawnEvent(spawnPacket.entityId, location, spawnPacket.title)); break; } case 26: { Packet26EntityExpOrb spawnPacket = (Packet26EntityExpOrb) packet; SpawnLocation location = new SpawnLocation(spawnPacket.posX / 32D, spawnPacket.posY / 32D, spawnPacket.posZ / 32D); eventBus.fire(new ExpOrbSpawnEvent(spawnPacket.entityId, location, spawnPacket.xpValue)); break; } case 28: { Packet28EntityVelocity velocityPacket = (Packet28EntityVelocity) packet; eventBus.fire(new EntityVelocityEvent(velocityPacket.entityId, velocityPacket.motionX / 8000D, velocityPacket.motionY / 8000D, velocityPacket.motionZ / 8000D)); break; } case 29: { Packet29DestroyEntity destroyEntityPacket = (Packet29DestroyEntity) packet; for (int id : destroyEntityPacket.entityIds) eventBus.fire(new EntityDespawnEvent(id)); break; } case 30: case 31: case 32: case 33: { Packet30Entity entityPacket = (Packet30Entity) packet; if (packet instanceof Packet31RelEntityMove || packet instanceof Packet33RelEntityMoveLook) eventBus.fire(new EntityMoveEvent(entityPacket.entityId, entityPacket.xPosition / 32D, entityPacket.yPosition / 32D, entityPacket.zPosition / 32D)); if (packet instanceof Packet32EntityLook || packet instanceof Packet33RelEntityMoveLook) eventBus.fire(new EntityRotateEvent(entityPacket.entityId, (entityPacket.yaw * 360) / 256F, (entityPacket.pitch * 360) / 256F)); break; } case 34: { Packet34EntityTeleport teleportPacket = (Packet34EntityTeleport) packet; eventBus.fire(new EntityTeleportEvent(teleportPacket.entityId, teleportPacket.xPosition / 32D, teleportPacket.yPosition / 32D, teleportPacket.zPosition / 32D, (teleportPacket.yaw * 360) / 256F, (teleportPacket.pitch * 360) / 256F)); break; } case 35: { Packet35EntityHeadRotation headRotatePacket = (Packet35EntityHeadRotation) packet; eventBus.fire(new EntityHeadRotateEvent(headRotatePacket.entityId, (headRotatePacket.headRotationYaw * 360) / 256F)); break; } case 38: { Packet38EntityStatus statusPacket = (Packet38EntityStatus) packet; if (statusPacket.entityStatus == 2) eventBus.fire(new EntityHurtEvent(statusPacket.entityId)); else if (statusPacket.entityStatus == 3) eventBus.fire(new EntityDeathEvent(statusPacket.entityId)); else if (statusPacket.entityStatus == 9) eventBus.fire(new EntityStopEatingEvent(statusPacket.entityId)); break; } case 39: { Packet39AttachEntity attachEntityPacket = (Packet39AttachEntity) packet; if (attachEntityPacket.leashed) break; if (attachEntityPacket.vehicleEntityId != -1) eventBus.fire( new EntityMountEvent(attachEntityPacket.entityId, attachEntityPacket.vehicleEntityId)); else eventBus.fire(new EntityDismountEvent(attachEntityPacket.entityId)); break; } case 40: { Packet40EntityMetadata metadataPacket = (Packet40EntityMetadata) packet; eventBus.fire(new EntityMetadataUpdateEvent(metadataPacket.entityId, metadataPacket.metadata)); break; } case 43: { Packet43Experience experiencePacket = (Packet43Experience) packet; eventBus.fire( new ExperienceUpdateEvent(experiencePacket.experienceLevel, experiencePacket.experienceTotal)); break; } case 51: { Packet51MapChunk mapChunkPacket = (Packet51MapChunk) packet; processChunk(mapChunkPacket.x, mapChunkPacket.z, mapChunkPacket.chunkData, mapChunkPacket.bitmask, mapChunkPacket.additionalBitmask, true, mapChunkPacket.biomes); break; } case 52: { Packet52MultiBlockChange multiBlockChangePacket = (Packet52MultiBlockChange) packet; if (multiBlockChangePacket.metadataArray == null) return; DataInputStream in = new DataInputStream( new ByteArrayInputStream(multiBlockChangePacket.metadataArray)); try { for (int i = 0; i < multiBlockChangePacket.size; i++) { short word0 = in.readShort(); short word1 = in.readShort(); int id = (word1 & 0xfff) >> 4; int metadata = word1 & 0xf; int x = word0 >> 12 & 0xf; int z = word0 >> 8 & 0xf; int y = word0 & 0xff; eventBus.fire(new BlockChangeEvent(id, metadata, (multiBlockChangePacket.xPosition * 16) + x, y, (multiBlockChangePacket.zPosition * 16) + z)); } } catch (IOException exception) { exception.printStackTrace(); } break; } case 53: { Packet53BlockChange blockChangePacket = (Packet53BlockChange) packet; eventBus.fire(new BlockChangeEvent(blockChangePacket.type, blockChangePacket.metadata, blockChangePacket.xPosition, blockChangePacket.yPosition, blockChangePacket.zPosition)); break; } case 56: { if (bot.isMovementDisabled()) return; Packet56MapChunks chunkPacket = (Packet56MapChunks) packet; for (int i = 0; i < chunkPacket.primaryBitmap.length; i++) processChunk(chunkPacket.chunkX[i], chunkPacket.chunkZ[i], chunkPacket.chunkData[i], chunkPacket.primaryBitmap[i], chunkPacket.secondaryBitmap[i], chunkPacket.skylight, true); break; } case 100: { Packet100OpenWindow openWindowPacket = (Packet100OpenWindow) packet; eventBus.fire(new WindowOpenEvent(openWindowPacket.windowId, openWindowPacket.inventoryType, openWindowPacket.flag ? openWindowPacket.windowTitle : "", openWindowPacket.slotsCount)); break; } case 101: { Packet101CloseWindow closeWindowPacket = (Packet101CloseWindow) packet; eventBus.fire(new WindowCloseEvent(closeWindowPacket.windowId)); break; } case 103: { Packet103SetSlot slotPacket = (Packet103SetSlot) packet; eventBus.fire( new WindowSlotChangeEvent(slotPacket.windowId, slotPacket.itemSlot, slotPacket.itemStack)); break; } case 104: { Packet104WindowItems itemsPacket = (Packet104WindowItems) packet; eventBus.fire(new WindowUpdateEvent(itemsPacket.windowId, itemsPacket.itemStack)); break; } case 132: { Packet132TileEntityData tileEntityPacket = (Packet132TileEntityData) packet; eventBus.fire(new TileEntityUpdateEvent(tileEntityPacket.xPosition, tileEntityPacket.yPosition, tileEntityPacket.zPosition, tileEntityPacket.actionType, tileEntityPacket.compound)); break; } case 130: { Packet130UpdateSign signPacket = (Packet130UpdateSign) packet; eventBus.fire(new SignUpdateEvent(signPacket.x, signPacket.y, signPacket.z, signPacket.text)); break; } case 133: { Packet133OpenTileEditor editPacket = (Packet133OpenTileEditor) packet; eventBus.fire(new EditTileEntityEvent(editPacket.x, editPacket.y, editPacket.z)); break; } case 201: { Packet201PlayerInfo infoPacket = (Packet201PlayerInfo) packet; if (infoPacket.isConnected) eventBus.fire(new PlayerListUpdateEvent(infoPacket.playerName, infoPacket.ping)); else eventBus.fire(new PlayerListRemoveEvent(infoPacket.playerName)); break; } case 252: { connectionHandler.sendPacket(new Packet205ClientCommand(0)); break; } case 253: { handleServerAuthData((Packet253EncryptionKeyRequest) packet); break; } case 255: { Packet255KickDisconnect kickPacket = (Packet255KickDisconnect) packet; eventBus.fire(new KickEvent(kickPacket.reason)); break; } } }
From source file:piuk.blockchain.android.MyRemoteWallet.java
public void handleWalletPayloadObj(JSONObject obj) { Map<String, Object> symbol_local = (Map<String, Object>) obj.get("symbol_local"); boolean didUpdateCurrency = false; if (symbol_local != null && symbol_local.containsKey("code")) { String currencyCode = (String) symbol_local.get("code"); Double currencyConversion = (Double) symbol_local.get("conversion"); if (currencyConversion == null) currencyConversion = 0d;/*from w w w .ja v a 2 s . c o m*/ if (this.localCurrencyCode == null || !this.localCurrencyCode.equals(currencyCode) || this.localCurrencyConversion != currencyConversion) { this.localCurrencyCode = currencyCode; this.localCurrencyConversion = currencyConversion; didUpdateCurrency = true; } } Map<String, Object> symbol_btc = (Map<String, Object>) obj.get("symbol_btc"); if (symbol_btc != null && symbol_btc.containsKey("code")) { String currencyCode = (String) symbol_local.get("code"); Double currencyConversion = (Double) symbol_local.get("conversion"); if (currencyConversion == null) currencyConversion = 0d; if (this.btcCurrencyCode == null || !this.btcCurrencyCode.equals(currencyCode) || this.btcCurrencyConversion != currencyConversion) { this.btcCurrencyCode = currencyCode; this.btcCurrencyConversion = currencyConversion; //didUpdateCurrency = true; } } if (didUpdateCurrency) { EventListeners.invokeCurrencyDidChange(); } if (obj.containsKey("sync_pubkeys")) { sync_pubkeys = Boolean.valueOf(obj.get("sync_pubkeys").toString()); } }
From source file:qhindex.controller.ServerDataCacheController.java
public boolean cacheAuthorWorksFromServer(String authorUrl, Author author, ArrayList<AuthorWork> authorWorks) throws AppException { // Set results to null authorWorks.clear();//from w w w. j a v a 2 s . c om JSONObject data = new JSONObject(); data.put("authorUrl", authorUrl); data.put("username", "client_app_user"); data.put("password", "xPK81Kan1ejtN71Z4mKw"); JSONObject results = serverDataCache.sendRequest(data, cacheAuthorWorksFromServerUrl, false); resultsMsg += serverDataCache.getResultsMsg(); if (results.size() > 0 && results.containsKey("result") && results.get("result").toString().contains("ok")) { try { // Ensure it is a valid array of author works if (results.containsKey("authorWorks")) { // Extract author data if (results.containsKey("authorSelected")) { String authorStr = (String) results.get("authorSelected"); JSONObject authorJsonObj = null; try { authorJsonObj = (JSONObject) new JSONParser().parse(authorStr); } catch (ParseException pEx) { throw new AppException("Could not parse response.", pEx); } if (authorJsonObj != null) { AuthorJsonConverter authorJsonConverter = new AuthorJsonConverter(); Author authorFromJson = authorJsonConverter.jsonToAuthor(authorJsonObj); author.setName(authorFromJson.getName()); author.setAffiliation(authorFromJson.getAffiliation()); author.setUrl(authorFromJson.getUrl()); } } // Extract author works and citing works String authorWorksStr = (String) results.get("authorWorks"); JSONArray authorWorksJsonArray = null; try { authorWorksJsonArray = (JSONArray) new JSONParser().parse(authorWorksStr); } catch (ParseException pEx) { throw new AppException("Could not parse response.", pEx); } if (authorWorksJsonArray != null && authorWorksJsonArray.size() > 0) { for (int i = 0; i < authorWorksJsonArray.size(); i++) { JSONObject authorWorkJsonObj = (JSONObject) authorWorksJsonArray.get(i); AuthorWork authorWork = authorWorkJsonConverter.jsonToAuthorWork(authorWorkJsonObj); authorWorks.add(authorWork); } } } else { return false; } } catch (ClassCastException ccEx) { throw new AppException("Wrong formatted data recived.", ccEx); } } else { return false; } return true; }
From source file:qhindex.controller.ServerDataCacheController.java
public boolean saveAuthorWorksToServer(Author author, ArrayList<AuthorWork> authorWorks, String msg) throws AppException { JSONArray authorWorksJsonArray = new JSONArray(); AuthorWorkJsonConverter authorWorkJson = new AuthorWorkJsonConverter(); for (int i = 0; i < authorWorks.size(); i++) { AuthorWork authorWork = authorWorks.get(i); JSONObject citingWorkJsonObj = authorWorkJson.authorWorkToJson(authorWork); authorWorksJsonArray.add(citingWorkJsonObj); }/*from w w w. ja v a 2 s .com*/ JSONObject data = new JSONObject(); data.put("username", "client_app_user"); data.put("password", "xPK81Kan1ejtN71Z4mKw"); data.put("author", authorJsonConverter.AuthorToJson(author)); data.put("authorWorks", authorWorksJsonArray); JSONObject results = serverDataCache.sendRequest(data, saveAuthorWorksToServerurl, true); resultsMsg += serverDataCache.getResultsMsg(); if (results.containsKey("result")) { try { String resultStr = (String) results.get("result"); if (results.containsKey("msg")) { msg = (String) results.get("msg"); if (resultStr == "error") { return false; } } else { return false; } } catch (ClassCastException ccEx) { throw new AppException("Wrong formatted data recived.", ccEx); } } else { return false; } return true; }
From source file:sce.Main.java
public String addJob(JSONObject jsonObject) { try {//from w w w . ja va2s . com JobBuilder jobBuilder = buildJob(jsonObject); JobDetail jobDetail = jobBuilder.build(); //if storeDurably is not defined, set it to true boolean storeDurably = true; if (jsonObject.containsKey("storeDurably")) { storeDurably = jsonObject.get("storeDurably").equals("true"); } // store, and set overwrite flag to 'false', if an object with the same name.group already exists in the scheduler, this won't be added sched.addJob(jobDetail, false, storeDurably); return "true"; } catch (SchedulerException e) { return e.getMessage(); } }
From source file:se.trixon.jota.server.JobManager.java
void setJobs(JSONArray array) { mJobs.clear();// w ww .j a va 2 s.c o m for (Object arrayItem : array) { JSONObject object = (JSONObject) arrayItem; Job job = new Job(); job.setId(JsonHelper.getLong(object, KEY_ID)); job.setName((String) object.get(KEY_NAME)); job.setDescription((String) object.get(KEY_DESCRIPTION)); job.setHistory((String) object.get(KEY_HISTORY)); job.setDetails((String) object.get(KEY_DETAILS)); job.setLastRun(JsonHelper.getLong(object, KEY_LAST_RUN)); job.setLastRunExitCode(JsonHelper.getInt(object, KEY_LAST_RUN_EXIT_CODE)); String taskIds = (String) object.get(KEY_TASKS); job.setTasks(TaskManager.INSTANCE.getTasks(taskIds)); job.setCronActive(JsonHelper.optBoolean(object, KEY_CRON_ACTIVE)); job.setCronItems((String) object.get(KEY_CRON_ITEMS)); job.setColorBackground(JsonHelper.optString(object, KEY_COLOR_BACKGROUND)); job.setColorForeground(JsonHelper.optString(object, KEY_COLOR_FOREGROUND)); job.setLogOutput((boolean) object.get(KEY_LOG_OUTPUT)); job.setLogErrors((boolean) object.get(KEY_LOG_ERRORS)); job.setLogSeparateErrors((boolean) object.get(KEY_LOG_SEPARATE_ERRORS)); job.setLogMode(JsonHelper.getInt(object, KEY_LOG_MODE)); if (object.containsKey(JobExecuteSection.KEY)) { job.getExecuteSection().loadFromJson((JSONObject) object.get(JobExecuteSection.KEY)); } mJobs.add(job); } Collections.sort(mJobs); }
From source file:se.trixon.jota.server.TaskManager.java
public void setTasks(JSONArray array) { mTasks.clear();/*from w ww. j av a 2s . c o m*/ for (Object arrayItem : array) { JSONObject object = (JSONObject) arrayItem; Task task = new Task(); task.setId(JsonHelper.getLong(object, KEY_ID)); task.setName((String) object.get(KEY_NAME)); task.setDescription((String) object.get(KEY_DESCRIPTION)); task.setSource((String) object.get(KEY_SOURCE)); task.setDestination((String) object.get(KEY_DEST)); task.setNoAdditionalDir(JsonHelper.optBoolean(object, KEY_NO_ADDITIONAL_DIR)); task.setDetails((String) object.get(KEY_DETAILS)); task.setHistory((String) object.get(KEY_HISTORY)); if (object.containsKey(TaskExecuteSection.KEY)) { task.getExecuteSection().loadFromJson((JSONObject) object.get(TaskExecuteSection.KEY)); } if (object.containsKey(OptionSection.KEY)) { task.getOptionSection().loadFromJson((JSONObject) object.get(OptionSection.KEY)); } if (object.containsKey(ExcludeSection.KEY)) { task.getExcludeSection().loadFromJson((JSONObject) object.get(ExcludeSection.KEY)); } mTasks.add(task); } Collections.sort(mTasks); }
From source file:search.handler.Find.java
String digestCortex(String docid, String[] vid) throws SearchException { try {//from ww w .j a va 2 s . c om Connection conn = Connector.getConnection(); StringBuilder doc = new StringBuilder(); String bson = conn.getFromDb(Database.CORTEX, docid); JSONObject jDoc = (JSONObject) JSONValue.parse(bson); String format = (String) jDoc.get(JSONKeys.FORMAT); String body = (String) jDoc.get(JSONKeys.BODY); doc.append("{ "); if (format != null && format.startsWith("MVD") && vid != null && vid.length > 0) { MVD mvd = MVDFile.internalise(body); String encoding = mvd.getEncoding(); int version = mvd.getVersionByNameAndGroup(shortName(vid[0]), group(vid[0])); if (version != 0) { byte[] data = mvd.getVersion(version); body = new String(data, encoding); } } body = sample(body); doc.append("\"digest\": \""); doc.append(body); doc.append("\""); if (jDoc.containsKey(JSONKeys.TITLE)) { doc.append(", \"title\": \""); doc.append((String) jDoc.get(JSONKeys.TITLE)); doc.append("\""); } doc.append(", \"docid\": \""); doc.append(docid); doc.append("\""); if (vid != null) { doc.append(", \"vids\": [ "); for (int j = 0; j < vid.length; j++) { doc.append("\""); doc.append(vid[j]); doc.append("\""); if (j < vid.length - 1) doc.append(", "); } doc.append(" ]"); } doc.append(" }"); return doc.toString(); } catch (Exception e) { throw new SearchException(e); } }
From source file:search.handler.Find.java
/** * We add any kosher metadata fields - those indexed in the first place * @param docid the document identifier/*from w ww . ja v a 2s. c om*/ * @return the digest - a JSON document * @throws SearchException */ String digestMetadata(String docid) throws SearchException { try { Connection conn = Connector.getConnection(); StringBuilder doc = new StringBuilder(); String bson = conn.getFromDb(Database.METADATA, docid); JSONObject jDoc = (JSONObject) JSONValue.parse(bson); doc.append("{ "); doc.append(", \"docid\": \""); doc.append(docid); doc.append("\""); Iterator<String> iter = BuildIndex.metadataKeys.iterator(); while (iter.hasNext()) { String key = iter.next(); if (jDoc.containsKey(key)) { doc.append(", \""); doc.append(key); doc.append("\": \""); doc.append((String) jDoc.get(key)); doc.append("\""); } } return doc.toString(); } catch (Exception e) { throw new SearchException(e); } }