Example usage for javax.json JsonObjectBuilder add

List of usage examples for javax.json JsonObjectBuilder add

Introduction

In this page you can find the example usage for javax.json JsonObjectBuilder add.

Prototype

JsonObjectBuilder add(String name, JsonArrayBuilder builder);

Source Link

Document

Adds a name/ JsonArray pair to the JSON object associated with this object builder.

Usage

From source file:eu.forgetit.middleware.component.Extractor.java

public void executeImageAnalysis(Exchange exchange) {

    taskStep = "EXTRACTOR_IMAGE_ANALYSIS";

    logger.debug("New message retrieved for " + taskStep);

    JsonObjectBuilder job = Json.createObjectBuilder();

    JsonObject headers = MessageTools.getHeaders(exchange);

    long taskId = Long.parseLong(headers.getString("taskId"));
    scheduler.updateTask(taskId, TaskStatus.RUNNING, taskStep, null);

    JsonObject jsonBody = MessageTools.getBody(exchange);

    if (jsonBody != null) {

        String cmisServerId = jsonBody.getString("cmisServerId");
        JsonArray jsonEntities = jsonBody.getJsonArray("entities");

        job.add("cmisServerId", cmisServerId);
        job.add("entities", jsonEntities);

        for (JsonValue jsonValue : jsonEntities) {

            JsonObject jsonObject = (JsonObject) jsonValue;

            String type = jsonObject.getString("type");

            if (type.equals(Collection.class.getName()))
                continue;

            long pofId = jsonObject.getInt("pofId");

            try {

                String collectorStorageFolder = ConfigurationManager.getConfiguration()
                        .getString("collector.storage.folder");

                Path sipPath = Paths.get(collectorStorageFolder + File.separator + pofId);

                Path metadataPath = Paths.get(sipPath.toString(), "metadata");

                Path contentPath = Paths.get(sipPath.toString(), "content");

                Path imageAnalysisPath = Paths.get(metadataPath.toString(), "imageAnalysis.xml");

                String imagePaths = getImagePaths(contentPath, pofId);

                if (imagePaths != null && !imagePaths.isEmpty()) {

                    String response = service.img_request(imagePaths, "all", null);

                    FileUtils.writeStringToFile(imageAnalysisPath.toFile(), response);

                    logger.debug("Image Analysis completed for " + imagePaths);
                }//from w w w  .ja va  2s  . c  o  m

            } catch (IOException e) {

                e.printStackTrace();
            }

        }

        exchange.getOut().setBody(job.build().toString());
        exchange.getOut().setHeaders(exchange.getIn().getHeaders());

    } else {

        scheduler.updateTask(taskId, TaskStatus.FAILED, taskStep, null);

        job.add("Message", "Task " + taskId + " failed");

        scheduler.sendMessage("activemq:queue:ERROR.QUEUE", exchange.getIn().getHeaders(), job.build());
    }

}

From source file:io.bibleget.BibleGetDB.java

public boolean renewMetaData() {
    if (instance.connect()) {
        try {/* ww  w . j  a va 2 s  .  c o m*/
            DatabaseMetaData dbMeta;
            dbMeta = instance.conn.getMetaData();
            try (ResultSet rs3 = dbMeta.getTables(null, null, "METADATA", null)) {
                if (rs3.next()) {
                    //System.out.println("Table METADATA exists...");
                    try (Statement stmt = instance.conn.createStatement()) {
                        HTTPCaller myHTTPCaller = new HTTPCaller();
                        String myResponse;
                        myResponse = myHTTPCaller.getMetaData("biblebooks");
                        if (myResponse != null) {
                            JsonReader jsonReader = Json.createReader(new StringReader(myResponse));
                            JsonObject json = jsonReader.readObject();
                            JsonArray arrayJson = json.getJsonArray("results");
                            if (arrayJson != null) {
                                ListIterator pIterator = arrayJson.listIterator();
                                while (pIterator.hasNext()) {
                                    try (Statement stmt1 = instance.conn.createStatement()) {
                                        int index = pIterator.nextIndex();
                                        JsonArray currentJson = (JsonArray) pIterator.next();
                                        String biblebooks_str = currentJson.toString(); //.replaceAll("\"", "\\\\\"");
                                        //System.out.println("BibleGetDB line 267: BIBLEBOOKS"+Integer.toString(index)+"='"+biblebooks_str+"'");
                                        String stmt_str = "UPDATE METADATA SET BIBLEBOOKS"
                                                + Integer.toString(index) + "='" + biblebooks_str
                                                + "' WHERE ID=0";
                                        //System.out.println("executing update: "+stmt_str);
                                        int update = stmt1.executeUpdate(stmt_str);
                                        //System.out.println("executeUpdate resulted in: "+Integer.toString(update));
                                        stmt1.close();
                                    }
                                }
                            }

                            arrayJson = json.getJsonArray("languages");
                            if (arrayJson != null) {
                                try (Statement stmt2 = instance.conn.createStatement()) {
                                    String languages_str = arrayJson.toString(); //.replaceAll("\"", "\\\\\"");
                                    String stmt_str = "UPDATE METADATA SET LANGUAGES='" + languages_str
                                            + "' WHERE ID=0";
                                    int update = stmt2.executeUpdate(stmt_str);
                                    stmt2.close();
                                }
                            }
                        }

                        myResponse = myHTTPCaller.getMetaData("bibleversions");
                        if (myResponse != null) {
                            JsonReader jsonReader = Json.createReader(new StringReader(myResponse));
                            JsonObject json = jsonReader.readObject();
                            JsonObject objJson = json.getJsonObject("validversions_fullname");
                            if (objJson != null) {
                                String bibleversions_str = objJson.toString(); //.replaceAll("\"", "\\\\\"");
                                try (Statement stmt3 = instance.conn.createStatement()) {
                                    String stmt_str = "UPDATE METADATA SET VERSIONS='" + bibleversions_str
                                            + "' WHERE ID=0";
                                    int update = stmt3.executeUpdate(stmt_str);
                                    stmt3.close();
                                }

                                Set<String> versionsabbrev = objJson.keySet();
                                if (!versionsabbrev.isEmpty()) {
                                    String versionsabbrev_str = "";
                                    for (String s : versionsabbrev) {
                                        versionsabbrev_str += ("".equals(versionsabbrev_str) ? "" : ",") + s;
                                    }

                                    myResponse = myHTTPCaller
                                            .getMetaData("versionindex&versions=" + versionsabbrev_str);
                                    if (myResponse != null) {
                                        jsonReader = Json.createReader(new StringReader(myResponse));
                                        json = jsonReader.readObject();
                                        objJson = json.getJsonObject("indexes");
                                        if (objJson != null) {
                                            for (String name : objJson.keySet()) {
                                                JsonObjectBuilder tempBld = Json.createObjectBuilder();
                                                JsonObject book_num = objJson.getJsonObject(name);
                                                tempBld.add("book_num", book_num.getJsonArray("book_num"));
                                                tempBld.add("chapter_limit",
                                                        book_num.getJsonArray("chapter_limit"));
                                                tempBld.add("verse_limit",
                                                        book_num.getJsonArray("verse_limit"));
                                                JsonObject temp = tempBld.build();
                                                String versionindex_str = temp.toString(); //.replaceAll("\"", "\\\\\"");
                                                //add new column to METADATA table name+"IDX" VARCHAR(5000)
                                                //update METADATA table SET name+"IDX" = versionindex_str
                                                try (ResultSet rs1 = dbMeta.getColumns(null, null, "METADATA",
                                                        name + "IDX")) {
                                                    boolean updateFlag = false;
                                                    if (rs1.next()) {
                                                        //column already exists
                                                        updateFlag = true;
                                                    } else {
                                                        try (Statement stmt4 = instance.conn
                                                                .createStatement()) {
                                                            String sql = "ALTER TABLE METADATA ADD COLUMN "
                                                                    + name + "IDX VARCHAR(5000)";
                                                            boolean colAdded = stmt4.execute(sql);
                                                            if (colAdded == false) {
                                                                int count = stmt4.getUpdateCount();
                                                                if (count == -1) {
                                                                    //System.out.println("The result is a ResultSet object or there are no more results.");
                                                                } else if (count == 0) {
                                                                    //0 rows affected
                                                                    updateFlag = true;
                                                                }
                                                            }
                                                            stmt4.close();
                                                        }
                                                    }
                                                    if (updateFlag) {
                                                        try (Statement stmt5 = instance.conn
                                                                .createStatement()) {
                                                            String sql1 = "UPDATE METADATA SET " + name
                                                                    + "IDX='" + versionindex_str
                                                                    + "' WHERE ID=0";
                                                            boolean rowsUpdated = stmt5.execute(sql1);
                                                            stmt5.close();
                                                        }
                                                    }
                                                }
                                            }

                                        }
                                    }

                                }

                            }
                        }

                        stmt.close();
                    }
                }
                rs3.close();
            }
            instance.disconnect();
        } catch (SQLException ex) {
            Logger.getLogger(BibleGetDB.class.getName()).log(Level.SEVERE, null, ex);
            return false;
        }
        return true;
    }
    return false;
}

From source file:info.dolezel.jarss.rest.v1.FeedsService.java

private JsonObjectBuilder getFeed(EntityManager em, Feed feed) {
    JsonObjectBuilder objFeed = Json.createObjectBuilder();
    Date readAllBefore;//www  . j a va  2 s . c  o  m

    if (feed.getReadAllBefore() != null)
        readAllBefore = feed.getReadAllBefore();
    else
        readAllBefore = new Date(0);

    long count = (Long) em.createQuery(
            "select count(*) from FeedItemData fid left outer join fid.feedItems as fi where fid.feedData = :fd and (fi is null or (fi.feed = :feed and fi.read = false)) and fid.date > :readAllBefore",
            Long.class).setParameter("fd", feed.getData()).setParameter("feed", feed)
            .setParameter("readAllBefore", readAllBefore).getSingleResult();

    objFeed.add("id", feed.getId());
    objFeed.add("title", feed.getName());
    objFeed.add("unread", count);
    objFeed.add("isCategory", false);

    Date lastFetch = feed.getData().getLastFetch();
    if (lastFetch != null)
        objFeed.add("lastFetchTime", lastFetch.getTime());

    String lastError = feed.getData().getLastError();
    if (lastError != null)
        objFeed.add("lastError", lastError);

    return objFeed;
}

From source file:io.bibleget.BibleGetDB.java

public JsonObject getOptions() {
    if (instance.connect()) {
        try {//from  w  ww . ja v a 2 s . co m
            JsonObjectBuilder myOptionsTable;
            JsonArrayBuilder myRows;
            try (Statement stmt = instance.conn.createStatement();
                    ResultSet rsOps = stmt.executeQuery("SELECT * FROM OPTIONS")) {
                Iterator itColNames = colNames.iterator();
                Iterator itDataTypes = colDataTypes.iterator();
                myOptionsTable = Json.createObjectBuilder();
                myRows = Json.createArrayBuilder();
                while (rsOps.next()) {
                    //System.out.println("Getting a row from the table.");
                    JsonObjectBuilder thisRow = Json.createObjectBuilder();
                    while (itColNames.hasNext() && itDataTypes.hasNext()) {
                        String colName = (String) itColNames.next();
                        Class dataType = (Class) itDataTypes.next();
                        if (dataType == String.class) {
                            thisRow.add(colName, rsOps.getString(colName));
                        }
                        if (dataType == Integer.class) {
                            thisRow.add(colName, rsOps.getInt(colName));
                        }
                        if (dataType == Boolean.class) {
                            thisRow.add(colName, rsOps.getBoolean(colName));
                        }
                        //System.out.println(colName + " <" + dataType + ">");
                    }
                    thisRow.build();
                    myRows.add(thisRow);
                }
                rsOps.close();
                stmt.close();
                instance.disconnect();
                myRows.build();
                return myOptionsTable.add("rows", myRows).build();
            }
        } catch (SQLException ex) {
            Logger.getLogger(BibleGetDB.class.getName()).log(Level.SEVERE, null, ex);
            return null;
        }
    }
    return null;
}

From source file:searcher.CollStat.java

public String constructJSONForRetrievedSet(HashMap<Integer, Integer> indexOrder, String queryStr,
        ScoreDoc[] hits, int indexNum, int pageNum, int[] selection) throws Exception {

    System.out.println("Num Retrieved = " + hits.length);

    Query query = buildQuery(queryStr);

    IndexReader reader = multiReader != null ? multiReader : getReaderInOrder(indexOrder, indexNum);
    JsonArrayBuilder arrayBuilder = factory.createArrayBuilder();
    JsonObjectBuilder objectBuilder = factory.createObjectBuilder();

    if (selection != null) {
        for (int i : selection) {
            if (0 <= i && i < hits.length) {
                ScoreDoc hit = hits[i];/*from www . j a  v a 2s.c  om*/
                arrayBuilder.add(constructJSONForDoc(reader, query, hit.doc));
            }
        }
    } else {

        int start = (pageNum - 1) * pageSize;
        int end = start + pageSize;
        if (start < 0) {
            start = 0;
        }
        if (end >= hits.length) {
            end = hits.length;
        }

        int hasMore = end < hits.length ? 1 : 0;
        for (int i = start; i < end; i++) {
            ScoreDoc hit = hits[i];
            arrayBuilder.add(constructJSONForDoc(reader, query, hit.doc));
        }
        // append the hasMore flag and the number of hits for this query...
        objectBuilder.add("hasmore", hasMore);

    }

    objectBuilder.add("numhits", hits.length);
    arrayBuilder.add(objectBuilder);

    return arrayBuilder.build().toString();
}

From source file:io.bibleget.BibleGetDB.java

public boolean initialize() {

    try {//from   w  ww.  j a  va  2 s .c o m
        instance.conn = DriverManager.getConnection("jdbc:derby:BIBLEGET;create=true", "bibleget", "bibleget");
        if (instance.conn == null) {
            System.out.println("Careful there! Connection not established! BibleGetDB.java line 81");
        } else {
            System.out.println("conn is not null, which means a connection was correctly established.");
        }
        DatabaseMetaData dbMeta;
        dbMeta = instance.conn.getMetaData();
        try (ResultSet rs1 = dbMeta.getTables(null, null, "OPTIONS", null)) {
            if (rs1.next()) {
                //System.out.println("Table "+rs1.getString("TABLE_NAME")+" already exists !!");
                listColNamesTypes(dbMeta, rs1);
            } else {
                //System.out.println("Table OPTIONS does not yet exist, now attempting to create...");
                try (Statement stmt = instance.conn.createStatement()) {

                    String defaultFont = "";
                    if (SystemUtils.IS_OS_WINDOWS) {
                        defaultFont = "Times New Roman";
                    } else if (SystemUtils.IS_OS_MAC_OSX) {
                        defaultFont = "Helvetica";
                    } else if (SystemUtils.IS_OS_LINUX) {
                        defaultFont = "Arial";
                    }

                    String tableCreate = "CREATE TABLE OPTIONS (" + "PARAGRAPHALIGNMENT VARCHAR(15), "
                            + "PARAGRAPHLINESPACING INT, " + "PARAGRAPHFONTFAMILY VARCHAR(50), "
                            + "PARAGRAPHLEFTINDENT INT, " + "TEXTCOLORBOOKCHAPTER VARCHAR(15), "
                            + "BGCOLORBOOKCHAPTER VARCHAR(15), " + "BOLDBOOKCHAPTER BOOLEAN, "
                            + "ITALICSBOOKCHAPTER BOOLEAN, " + "UNDERSCOREBOOKCHAPTER BOOLEAN, "
                            + "FONTSIZEBOOKCHAPTER INT, " + "VALIGNBOOKCHAPTER VARCHAR(15), "
                            + "TEXTCOLORVERSENUMBER VARCHAR(15), " + "BGCOLORVERSENUMBER VARCHAR(15), "
                            + "BOLDVERSENUMBER BOOLEAN, " + "ITALICSVERSENUMBER BOOLEAN, "
                            + "UNDERSCOREVERSENUMBER BOOLEAN, " + "FONTSIZEVERSENUMBER INT, "
                            + "VALIGNVERSENUMBER VARCHAR(15), " + "TEXTCOLORVERSETEXT VARCHAR(15), "
                            + "BGCOLORVERSETEXT VARCHAR(15), " + "BOLDVERSETEXT BOOLEAN, "
                            + "ITALICSVERSETEXT BOOLEAN, " + "UNDERSCOREVERSETEXT BOOLEAN, "
                            + "FONTSIZEVERSETEXT INT, " + "VALIGNVERSETEXT VARCHAR(15), "
                            + "PREFERREDVERSIONS VARCHAR(50), " + "NOVERSIONFORMATTING BOOLEAN" + ")";

                    String tableInsert;
                    tableInsert = "INSERT INTO OPTIONS (" + "PARAGRAPHALIGNMENT," + "PARAGRAPHLINESPACING,"
                            + "PARAGRAPHFONTFAMILY," + "PARAGRAPHLEFTINDENT," + "TEXTCOLORBOOKCHAPTER,"
                            + "BGCOLORBOOKCHAPTER," + "BOLDBOOKCHAPTER," + "ITALICSBOOKCHAPTER,"
                            + "UNDERSCOREBOOKCHAPTER," + "FONTSIZEBOOKCHAPTER," + "VALIGNBOOKCHAPTER,"
                            + "TEXTCOLORVERSENUMBER," + "BGCOLORVERSENUMBER," + "BOLDVERSENUMBER,"
                            + "ITALICSVERSENUMBER," + "UNDERSCOREVERSENUMBER," + "FONTSIZEVERSENUMBER,"
                            + "VALIGNVERSENUMBER," + "TEXTCOLORVERSETEXT," + "BGCOLORVERSETEXT,"
                            + "BOLDVERSETEXT," + "ITALICSVERSETEXT," + "UNDERSCOREVERSETEXT,"
                            + "FONTSIZEVERSETEXT," + "VALIGNVERSETEXT," + "PREFERREDVERSIONS, "
                            + "NOVERSIONFORMATTING" + ") VALUES (" + "'justify',100,'" + defaultFont + "',0,"
                            + "'#0000FF','#FFFFFF',true,false,false,14,'initial',"
                            + "'#AA0000','#FFFFFF',false,false,false,10,'super',"
                            + "'#696969','#FFFFFF',false,false,false,12,'initial'," + "'NVBSE'," + "false"
                            + ")";
                    boolean tableCreated = stmt.execute(tableCreate);
                    boolean rowsInserted;
                    int count;
                    if (tableCreated == false) {
                        //is false when it's an update count!
                        count = stmt.getUpdateCount();
                        if (count == -1) {
                            //System.out.println("The result is a ResultSet object or there are no more results.");
                        } else {
                            //this is our expected behaviour: 0 rows affected
                            //System.out.println("The Table Creation statement produced results: "+count+" rows affected.");
                            try (Statement stmt2 = instance.conn.createStatement()) {
                                rowsInserted = stmt2.execute(tableInsert);
                                if (rowsInserted == false) {
                                    count = stmt2.getUpdateCount();
                                    if (count == -1) {
                                        //System.out.println("The result is a ResultSet object or there are no more results.");
                                    } else {
                                        //this is our expected behaviour: n rows affected
                                        //System.out.println("The Row Insertion statement produced results: "+count+" rows affected.");
                                        dbMeta = instance.conn.getMetaData();
                                        try (ResultSet rs2 = dbMeta.getTables(null, null, "OPTIONS", null)) {
                                            if (rs2.next()) {
                                                listColNamesTypes(dbMeta, rs2);
                                            }
                                            rs2.close();
                                        }
                                    }
                                } else {
                                    //is true when it returns a resultset, which shouldn't be the case here
                                    try (ResultSet rx = stmt2.getResultSet()) {
                                        while (rx.next()) {
                                            //System.out.println("This isn't going to happen anyways, so...");
                                        }
                                        rx.close();
                                    }
                                }
                                stmt2.close();
                            }
                        }

                    } else {
                        //is true when it returns a resultset, which shouldn't be the case here
                        try (ResultSet rx = stmt.getResultSet()) {
                            while (rx.next()) {
                                //System.out.println("This isn't going to happen anyways, so...");
                            }
                            rx.close();
                        }
                    }
                    stmt.close();
                }
            }
            rs1.close();
        }
        //System.out.println("Finished with first ResultSet resource, now going on to next...");
        try (ResultSet rs3 = dbMeta.getTables(null, null, "METADATA", null)) {
            if (rs3.next()) {
                //System.out.println("Table "+rs3.getString("TABLE_NAME")+" already exists !!");
            } else {
                //System.out.println("Table METADATA does not exist, now attempting to create...");
                try (Statement stmt = instance.conn.createStatement()) {
                    String tableCreate = "CREATE TABLE METADATA (";
                    tableCreate += "ID INT, ";
                    for (int i = 0; i < 73; i++) {
                        tableCreate += "BIBLEBOOKS" + Integer.toString(i) + " VARCHAR(2000), ";
                    }
                    tableCreate += "LANGUAGES VARCHAR(500), ";
                    tableCreate += "VERSIONS VARCHAR(2000)";
                    tableCreate += ")";
                    boolean tableCreated = stmt.execute(tableCreate);
                    boolean rowsInserted;
                    int count;
                    if (tableCreated == false) {
                        //this is the expected result, is false when it's an update count!
                        count = stmt.getUpdateCount();
                        if (count == -1) {
                            //System.out.println("The result is a ResultSet object or there are no more results.");
                        } else {
                            //this is our expected behaviour: 0 rows affected
                            //System.out.println("The Table Creation statement produced results: "+count+" rows affected.");
                            //Insert a dummy row, because you cannot update what has not been inserted!                                
                            try (Statement stmtX = instance.conn.createStatement()) {
                                stmtX.execute("INSERT INTO METADATA (ID) VALUES (0)");
                                stmtX.close();
                            }

                            HTTPCaller myHTTPCaller = new HTTPCaller();
                            String myResponse;
                            myResponse = myHTTPCaller.getMetaData("biblebooks");
                            if (myResponse != null) {
                                JsonReader jsonReader = Json.createReader(new StringReader(myResponse));
                                JsonObject json = jsonReader.readObject();
                                JsonArray arrayJson = json.getJsonArray("results");
                                if (arrayJson != null) {

                                    ListIterator pIterator = arrayJson.listIterator();
                                    while (pIterator.hasNext()) {
                                        try (Statement stmt2 = instance.conn.createStatement()) {
                                            int index = pIterator.nextIndex();
                                            JsonArray currentJson = (JsonArray) pIterator.next();
                                            String biblebooks_str = currentJson.toString(); //.replaceAll("\"", "\\\\\"");
                                            //System.out.println("BibleGetDB line 267: BIBLEBOOKS"+Integer.toString(index)+"='"+biblebooks_str+"'");
                                            String stmt_str = "UPDATE METADATA SET BIBLEBOOKS"
                                                    + Integer.toString(index) + "='" + biblebooks_str
                                                    + "' WHERE ID=0";
                                            try {
                                                //System.out.println("executing update: "+stmt_str);
                                                int update = stmt2.executeUpdate(stmt_str);
                                                //System.out.println("executeUpdate resulted in: "+Integer.toString(update));
                                            } catch (SQLException ex) {
                                                Logger.getLogger(BibleGetDB.class.getName()).log(Level.SEVERE,
                                                        null, ex);
                                            }
                                            stmt2.close();
                                        }
                                    }
                                }

                                arrayJson = json.getJsonArray("languages");
                                if (arrayJson != null) {
                                    try (Statement stmt2 = instance.conn.createStatement()) {

                                        String languages_str = arrayJson.toString(); //.replaceAll("\"", "\\\\\"");
                                        String stmt_str = "UPDATE METADATA SET LANGUAGES='" + languages_str
                                                + "' WHERE ID=0";
                                        try {
                                            int update = stmt2.executeUpdate(stmt_str);
                                        } catch (SQLException ex) {
                                            Logger.getLogger(BibleGetDB.class.getName()).log(Level.SEVERE, null,
                                                    ex);
                                        }
                                        stmt2.close();
                                    }
                                }
                            }

                            myResponse = myHTTPCaller.getMetaData("bibleversions");
                            if (myResponse != null) {
                                JsonReader jsonReader = Json.createReader(new StringReader(myResponse));
                                JsonObject json = jsonReader.readObject();
                                JsonObject objJson = json.getJsonObject("validversions_fullname");
                                if (objJson != null) {
                                    String bibleversions_str = objJson.toString(); //.replaceAll("\"", "\\\\\"");
                                    try (Statement stmt2 = instance.conn.createStatement()) {
                                        String stmt_str = "UPDATE METADATA SET VERSIONS='" + bibleversions_str
                                                + "' WHERE ID=0";
                                        try {
                                            int update = stmt2.executeUpdate(stmt_str);
                                        } catch (SQLException ex) {
                                            Logger.getLogger(BibleGetDB.class.getName()).log(Level.SEVERE, null,
                                                    ex);
                                        }
                                        stmt2.close();
                                    }

                                    Set<String> versionsabbrev = objJson.keySet();
                                    if (!versionsabbrev.isEmpty()) {
                                        String versionsabbrev_str = "";
                                        for (String s : versionsabbrev) {
                                            versionsabbrev_str += ("".equals(versionsabbrev_str) ? "" : ",")
                                                    + s;
                                        }

                                        myResponse = myHTTPCaller
                                                .getMetaData("versionindex&versions=" + versionsabbrev_str);
                                        if (myResponse != null) {
                                            jsonReader = Json.createReader(new StringReader(myResponse));
                                            json = jsonReader.readObject();
                                            objJson = json.getJsonObject("indexes");
                                            if (objJson != null) {

                                                for (String name : objJson.keySet()) {
                                                    JsonObjectBuilder tempBld = Json.createObjectBuilder();
                                                    JsonObject book_num = objJson.getJsonObject(name);
                                                    tempBld.add("book_num", book_num.getJsonArray("book_num"));
                                                    tempBld.add("chapter_limit",
                                                            book_num.getJsonArray("chapter_limit"));
                                                    tempBld.add("verse_limit",
                                                            book_num.getJsonArray("verse_limit"));
                                                    JsonObject temp = tempBld.build();
                                                    String versionindex_str = temp.toString(); //.replaceAll("\"", "\\\\\"");
                                                    //add new column to METADATA table name+"IDX" VARCHAR(5000)
                                                    //update METADATA table SET name+"IDX" = versionindex_str
                                                    try (Statement stmt3 = instance.conn.createStatement()) {
                                                        String sql = "ALTER TABLE METADATA ADD COLUMN " + name
                                                                + "IDX VARCHAR(5000)";
                                                        boolean colAdded = stmt3.execute(sql);
                                                        if (colAdded == false) {
                                                            count = stmt3.getUpdateCount();
                                                            if (count == -1) {
                                                                //System.out.println("The result is a ResultSet object or there are no more results.");
                                                            } else if (count == 0) {
                                                                //0 rows affected
                                                                stmt3.close();

                                                                try (Statement stmt4 = instance.conn
                                                                        .createStatement()) {
                                                                    String sql1 = "UPDATE METADATA SET " + name
                                                                            + "IDX='" + versionindex_str
                                                                            + "' WHERE ID=0";
                                                                    boolean rowsUpdated = stmt4.execute(sql1);
                                                                    if (rowsUpdated == false) {
                                                                        count = stmt4.getUpdateCount();
                                                                        if (count == -1) {
                                                                            //System.out.println("The result is a ResultSet object or there are no more results.");
                                                                        } else {
                                                                            //should have affected only one row
                                                                            if (count == 1) {
                                                                                //System.out.println(sql1+" seems to have returned true");
                                                                                stmt4.close();
                                                                            }
                                                                        }
                                                                    } else {
                                                                        //returns true only when returning a resultset; should not be the case here
                                                                    }

                                                                }

                                                            }
                                                        } else {
                                                            //returns true only when returning a resultset; should not be the case here
                                                        }

                                                        stmt3.close();
                                                    }
                                                }

                                            }
                                        }

                                    }

                                }
                            }

                        }
                    } else {
                        //is true when it returns a resultset, which shouldn't be the case here
                        ResultSet rx = stmt.getResultSet();
                        while (rx.next()) {
                            //System.out.println("This isn't going to happen anyways, so...");
                        }
                    }
                    stmt.close();
                }
            }
            rs3.close();
        }
        instance.conn.close();
        return true;
    } catch (SQLException ex) {
        if (ex.getSQLState().equals("X0Y32")) {
            Logger.getLogger(BibleGetDB.class.getName()).log(Level.INFO, null,
                    "Table OPTIONS or Table METADATA already exists.  No need to recreate");
            return true;
        } else if (ex.getNextException().getErrorCode() == 45000) {
            //this means we already have a connection, so this is good too
            return true;
        } else {
            //Logger.getLogger(BibleGetDB.class.getName()).log(Level.SEVERE, null, ex.getMessage() + " : " + Arrays.toString(ex.getStackTrace()));
            Logger.getLogger(BibleGetDB.class.getName()).log(Level.SEVERE, null, ex);
            return false;
        }
    }
}

From source file:com.seniorproject.semanticweb.services.WebServices.java

public String prepareFacetedSearchResult(ArrayList<String> data, String category) throws FileNotFoundException {
    JsonArrayBuilder out = Json.createArrayBuilder();
    JsonObjectBuilder resultObject = Json.createObjectBuilder();
    for (String line : data) {
        List<String> matchList = new ArrayList<>();
        Pattern regex = Pattern.compile("[^\\s\"']+|\"[^\"]*\"|'[^']*'");
        Matcher regexMatcher = regex.matcher(line);
        while (regexMatcher.find()) {
            matchList.add(regexMatcher.group());
        }//from  ww  w. ja va  2s.co  m
        if (matchList.size() >= 2) {
            try (BufferedReader br = new BufferedReader(new FileReader(servletContext
                    .getRealPath("/WEB-INF/classes/hadoop/modified_isValueOfQuery/modified_isValueOfQuery_"
                            + category + ".txt")))) {
                String sCurrentLine;
                while ((sCurrentLine = br.readLine()) != null) {
                    if (matchList.get(0).equalsIgnoreCase(sCurrentLine)) {
                        matchList.set(0, "is " + matchList.get(0) + " of");
                        break;
                    }
                }
                resultObject.add("value", matchList.get(0));
                if (matchList.size() >= 2) {
                    resultObject.add("head", matchList.get(1).replace("\"", ""));
                } else {
                    resultObject.add("head", matchList.get(0).replace("\"", ""));
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
            ;
        }
        out.add(resultObject);
    }
    return out.build().toString();
}

From source file:com.seniorproject.semanticweb.services.WebServices.java

public String prepareResultDetail(ArrayList<String> data, String category) throws FileNotFoundException {
    JsonArrayBuilder out = Json.createArrayBuilder();
    JsonObjectBuilder resultObject = Json.createObjectBuilder();
    for (String line : data) {
        List<String> matchList = new ArrayList<>();
        Pattern regex = Pattern.compile("[^\\s\"']+|\"[^\"]*\"|'[^']*'");
        Matcher regexMatcher = regex.matcher(line);
        while (regexMatcher.find()) {
            matchList.add(regexMatcher.group());
        }//w ww .  jav  a 2  s  .c  o  m
        if (matchList.size() >= 2) {
            try (BufferedReader br = new BufferedReader(new FileReader(servletContext
                    .getRealPath("/WEB-INF/classes/hadoop/modified_isValueOfQuery/modified_isValueOfQuery_"
                            + category + ".txt")))) {

                String sCurrentLine;

                while ((sCurrentLine = br.readLine()) != null) {

                    if (matchList.get(0).equalsIgnoreCase(sCurrentLine)) {
                        matchList.set(0, "is " + matchList.get(0) + " of");
                        break;
                    }
                }
                resultObject.add("name", matchList.get(0));
                resultObject.add("label", matchList.get(1).replace("\"", ""));

                if (matchList.size() >= 3) {
                    resultObject.add("url",
                            convertToNoPrefix(matchList.get(2)).replace("<", "").replace(">", ""));
                } else {
                    resultObject.add("url",
                            convertToNoPrefix(matchList.get(1)).replace("<", "").replace(">", ""));
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
            ;
        }
        out.add(resultObject);
    }
    return out.build().toString();
}

From source file:org.kuali.student.ap.coursesearch.service.impl.CourseDetailsViewHelperServiceImpl.java

/**
 * @see org.kuali.student.ap.coursesearch.service.CourseDetailsViewHelperService#createFilterValidRegGroupsForRemovalEvent(String, String, String, java.util.List, javax.json.JsonObjectBuilder)
 *//*ww  w  .  j av a2 s  . c om*/
@Override
public JsonObjectBuilder createFilterValidRegGroupsForRemovalEvent(String termId, String courseOfferingCode,
        String formatOfferingId, List<String> regGroupIds, JsonObjectBuilder eventList) {
    JsonObjectBuilder filterEvent = Json.createObjectBuilder();
    filterEvent.add("termId", termId.replace(".", "-"));
    filterEvent.add("courseOfferingCode", courseOfferingCode);
    filterEvent.add("formatOfferingId", formatOfferingId);

    // Deconstruct reg groups into list of AO and FO ids
    List<String> validActivities = new ArrayList<String>();
    for (String id : regGroupIds) {
        List<String> activityIds = new ArrayList<>();
        try {
            SearchRequestInfo request = new SearchRequestInfo(
                    CourseSearchConstants.KSAP_COURSE_SEARCH_AO_IDS_BY_OFFERED_REG_GROUP_ID_KEY);
            request.addParam(CourseSearchConstants.SearchParameters.REG_GROUP_ID, id);
            List<SearchResultRowInfo> rows = KsapFrameworkServiceLocator.getSearchService()
                    .search(request, KsapFrameworkServiceLocator.getContext().getContextInfo()).getRows();
            for (SearchResultRowInfo row : rows) {
                activityIds.add(KsapHelperUtil.getCellValue(row,
                        CourseSearchConstants.SearchResultColumns.ACTIVITY_OFFERING_ID));
            }
        } catch (InvalidParameterException e) {
            throw new IllegalArgumentException("Lui Service lookup error", e);
        } catch (MissingParameterException e) {
            throw new IllegalArgumentException("Lui Service lookup error", e);
        } catch (OperationFailedException e) {
            throw new IllegalArgumentException("Lui Service lookup error", e);
        } catch (PermissionDeniedException e) {
            throw new IllegalArgumentException("Lui Service lookup error", e);
        }
        if (activityIds != null && !activityIds.isEmpty()) {
            validActivities.addAll(activityIds);
        }
    }

    // Create json array of valid activity ids and add it to event
    JsonArrayBuilder activities = Json.createArrayBuilder();
    for (String activity : validActivities) {
        activities.add(activity);

    }
    filterEvent.add("activities", activities);

    eventList.add("FILTER_COURSE_OFFERING_FOR_REMOVAL", filterEvent);
    return eventList;
}

From source file:org.kuali.student.ap.coursesearch.service.impl.CourseDetailsViewHelperServiceImpl.java

/**
 * @see org.kuali.student.ap.coursesearch.service.CourseDetailsViewHelperService#createAddSectionEvent(String, String, String, String, java.util.List, javax.json.JsonObjectBuilder)
 *///from  w ww . ja  v a2s  . c om
@Override
public JsonObjectBuilder createAddSectionEvent(String termId, String courseOfferingCode,
        String courseOfferingId, String formatOfferingId, List<ActivityOfferingDetailsWrapper> activities,
        JsonObjectBuilder eventList) {
    JsonObjectBuilder addEvent = Json.createObjectBuilder();
    addEvent.add("courseOfferingId", courseOfferingId);
    addEvent.add("termId", termId.replace(".", "-"));
    addEvent.add("courseOfferingCode", courseOfferingCode);
    addEvent.add("formatOfferingId", formatOfferingId);
    addEvent.add("uid", UUID.randomUUID().toString());

    // Create json array of activity to add and add it to event
    String regGroupCode = "";
    JsonArrayBuilder activityEvents = Json.createArrayBuilder();
    for (ActivityOfferingDetailsWrapper activity : activities) {
        JsonObjectBuilder activityEvent = Json.createObjectBuilder();
        String instructor = "";
        String days = "";
        String time = "";
        String location = "";
        String classUrl = "";

        // activities in the reg group will have the same reg group code.
        regGroupCode = activity.getRegGroupCode();

        // if activity value is null use empty string
        if (activity.getInstructorName() != null)
            instructor = activity.getInstructorName();
        if (activity.getDays() != null)
            days = activity.getDays();
        if (activity.getTime() != null)
            time = activity.getTime();
        if (activity.getLocation() != null)
            location = activity.getLocation();
        if (activity.getClassUrl() != null)
            classUrl = activity.getClassUrl();

        // Add data to json for activity
        activityEvent.add("activityOfferingId", activity.getActivityOfferingId());
        activityEvent.add("activityFormatName", activity.getActivityFormatName());
        activityEvent.add("activityOfferingCode", activity.getActivityOfferingCode());

        activityEvent.add("instructor", instructor);
        activityEvent.add("days", days);
        activityEvent.add("time", time);
        activityEvent.add("location", location);
        activityEvent.add("currentEnrollment", activity.getCurrentEnrollment());
        activityEvent.add("maxEnrollment", activity.getMaxEnrollment());
        activityEvent.add("honors", activity.isHonors());
        activityEvent.add("classUrl", classUrl);
        JsonArrayBuilder jsonArrayBuilder = Json.createArrayBuilder();

        activityEvent.add("activityOfferingRequisites", activity.isHasActivityOfferingRequisites());
        activityEvents.add(activityEvent);
    }
    addEvent.add("activities", activityEvents);
    addEvent.add("regGroupCode", regGroupCode);

    eventList.add("COURSE_SECTION_ADDED", addEvent);
    return eventList;
}