Examples of UpdateContainer


Examples of edu.isi.karma.controller.update.UpdateContainer

    MDBFileExport mdbFileExport = new MDBFileExport(worksheet);

    try {
      final String csvFileName = csvFileExport.publishCSV();
      if(csvFileName == null)
        return new UpdateContainer(new ErrorUpdate(
            "No data to export! Have you aligned the worksheet?"));
      final String fileName = mdbFileExport.publishMDB(csvFileName);

      return new UpdateContainer(new AbstractUpdate() {
        @Override
        public void generateJson(String prefix, PrintWriter pw,
            VWorkspace vWorkspace) {
          JSONObject outputObject = new JSONObject();
          try {
            outputObject.put(JsonKeys.updateType.name(),
                "PublishMDBUpdate");
            outputObject.put(JsonKeys.fileUrl.name(),
                fileName);
            outputObject.put(JsonKeys.worksheetId.name(),
                worksheetId);
            pw.println(outputObject.toString(4));
           
          } catch (JSONException e) {
            logger.error("Error occured while generating JSON!");
          }
        }
      });
    } catch (FileNotFoundException e) {
      logger.error("MDB folder not found!", e);
      return new UpdateContainer(new ErrorUpdate(
          "Error occurred while exporting MDB file!"));
    }
   
  }
View Full Code Here

Examples of edu.isi.karma.controller.update.UpdateContainer

    Worksheet worksheet = workspace.getWorksheet(worksheetId);

    //for now don't save a nested table (we may want to save it as multiple tables with foreign keys)
    if (worksheet.getHeaders().hasNestedTables()) {
      return new UpdateContainer(new ErrorUpdate("Saving of nested tables not supported!"));       
    }
   
    Connection conn = null;
    try{
      conn = dbUtil.getConnection(hostName, Integer.valueOf(port).intValue(), userName, password, dbName);

      //get a map of corresponding hNodeIds with their semantic types
      //if more than one sem type with same name append indices
      Map<String,String> colNamesMap = getDbColumnNames(worksheet);
      //all semanticTypes
      Collection<String> colNames = colNamesMap.values();
      //ONLY columns with given semantic types will be saved; unassigned columns are ignored
      if(colNames.isEmpty()){
        //no columns were modeled
        return new UpdateContainer(new ErrorUpdate("Please align the worksheet before saving."));       
      }
     
      //see if table exists
      if (dbUtil.tableExists(tableName, conn)) {
        if(!overwrite && !insert){
          if(conn!=null)
            conn.close();
          return new UpdateContainer(new ErrorUpdate(
          "Table exists! Please check one of \"Overwrite Table\" or \"Insert in Table\"."));         
        }
        else if(overwrite){
          logger.info("Overwrite table: " + tableName);
          //delete old table & create a new table
          dropTable(tableName,conn);
          createTable(tableName, colNames, conn);
          numRowsNotInserted= insertInTable(worksheet, tableName, colNamesMap,conn);
        }
        else if(insert){
          logger.info("Insert in table: " + tableName);
          //insert in existing table
          numRowsNotInserted=insertInTable(worksheet, tableName, colNamesMap,conn);
        }
      }
      else{
        logger.info("Create new table: " + tableName);
        //create a new table
        createTable(tableName, colNames, conn);
        numRowsNotInserted=insertInTable(worksheet, tableName, colNamesMap,conn);
      }

      if(conn!=null)
        conn.close();
     
      return new UpdateContainer(new AbstractUpdate() {
        @Override
        public void generateJson(String prefix, PrintWriter pw,
            VWorkspace vWorkspace) {
          JSONObject outputObject = new JSONObject();
          try {
            outputObject.put(JsonKeys.updateType.name(),
                "PublishDatabaseUpdate");
            outputObject.put(JsonKeys.worksheetId.name(),
                worksheetId);
            outputObject.put(JsonKeys.numRowsNotInserted.name(),
                numRowsNotInserted);
            pw.println(outputObject.toString(4));
          } catch (JSONException e) {
            logger.error("Error occured while generating JSON!");
          }
        }
      });
    } catch (Exception e) {
      try{
      if(conn!=null)
        conn.close();
      }catch(SQLException ex){}
      e.printStackTrace();
      return new UpdateContainer(new ErrorUpdate(e.getMessage()));
    }
  }
View Full Code Here

Examples of edu.isi.karma.controller.update.UpdateContainer

  private static Logger logger = LoggerFactory.getLogger(KarmaServlet.class);

  protected void doGet(HttpServletRequest request,
      HttpServletResponse response) throws ServletException, IOException {
    KarmaMetadataManager metadataManager = null;
    UpdateContainer updateContainer = new  UpdateContainer();
    try {
      metadataManager = new KarmaMetadataManager();
      metadataManager.register(new UserUploadedMetadata(), updateContainer);
      metadataManager.register(new UserPreferencesMetadata(), updateContainer);
      metadataManager.register(new UserConfigMetadata(), updateContainer);
    } catch (KarmaException e) {
      logger.error("Unable to complete Karma set up: ", e);
    }
   
    /* Check if any workspace id is set in cookies. */
    boolean hasWorkspaceCookieId = false;
    String hasPrefId = request.getParameter(Arguments.hasPreferenceId.name());
    if(hasPrefId != null && hasPrefId.equals("true"))
      hasWorkspaceCookieId = true;
    Workspace workspace = null;
    VWorkspace vwsp = null;
   
    /* If set, pick the right preferences and CRF Model file */
    if(hasWorkspaceCookieId) {
      String cachedWorkspaceId = request.getParameter(Arguments.workspacePreferencesId.name());
      workspace = WorkspaceManager.getInstance().createWorkspaceWithPreferencesId(cachedWorkspaceId);
      vwsp = new VWorkspace(workspace, cachedWorkspaceId);
    } else {
      workspace = WorkspaceManager.getInstance().createWorkspace();
      vwsp = new VWorkspace(workspace);
    }

    workspace.setMetadataManager(metadataManager);
    WorkspaceRegistry.getInstance().register(new ExecutionController(workspace));
    VWorkspaceRegistry.getInstance().registerVWorkspace(workspace.getId(), vwsp);
   
    logger.info("Start Metadata Setup");
    try {
      metadataManager.register(new SemanticTypeModelMetadata(workspace), updateContainer);
      metadataManager.register(new OntologyMetadata(workspace), updateContainer);
      metadataManager.register(new JSONModelsMetadata(workspace), updateContainer);
      metadataManager.register(new PythonTransformationMetadata(workspace), updateContainer);
      metadataManager.register(new GraphVizMetadata(workspace), updateContainer);
      metadataManager.register(new ModelLearnerMetadata(workspace), updateContainer);
      metadataManager.register(new R2RMLMetadata(workspace), updateContainer);
      metadataManager.register(new R2RMLPublishedMetadata(workspace), updateContainer);
      metadataManager.register(new RDFMetadata(workspace), updateContainer);
      metadataManager.register(new CSVMetadata(workspace), updateContainer);
      metadataManager.register(new JSONMetadata(workspace), updateContainer);
      metadataManager.register(new ReportMetadata(workspace), updateContainer);
      metadataManager.register(new AvroMetadata(workspace), updateContainer);
    } catch (KarmaException e) {
      logger.error("Unable to complete Karma set up: ", e);
    }

    CommandHistory.setIsHistoryEnabled(true);
    CommandHistory.setHistorySaver(workspace.getId(), new R2RMLAlignmentFileSaver(workspace));
           
    // Initialize the Outlier tag
    Tag outlierTag = new Tag(TagName.Outlier, Color.Red);
    workspace.getTagsContainer().addTag(outlierTag);

    // Put all created worksheet models in the view.
    updateContainer.add(new WorksheetListUpdate());
   
    for (Worksheet w : vwsp.getWorkspace().getWorksheets()) {
      updateContainer.append(WorksheetUpdateFactory.createWorksheetHierarchicalUpdates(w.getId(), SuperSelectionManager.DEFAULT_SELECTION));
    }

    updateContainer.add(new AbstractUpdate() {

      @Override
      public void generateJson(String prefix, PrintWriter pw,
          VWorkspace vWorkspace) {
        //1. Load all configurations
        UIConfiguration.Instance().loadConfig();
        ModelingConfiguration.load();
       
        //2 Return all settings related updates
        pw.println("{");
        pw.println("\"updateType\": \"UISettings\", ");
        pw.println("\"settings\": {");
        pw.println("  \"googleEarthEnabled\" : " + UIConfiguration.Instance().isGoogleEarthEnabled() + ",");
        pw.println("  \"maxLoadedClasses\" : " + UIConfiguration.Instance().getMaxClassesToLoad() + ",");
        pw.println("  \"maxLoadedProperties\" : " + UIConfiguration.Instance().getMaxPropertiesToLoad());
        pw.println("  }");
        pw.println("}");
      }
     
    });
    StringWriter sw = new StringWriter();
    PrintWriter pw = new PrintWriter(sw);
    updateContainer.applyUpdates(vwsp);
    updateContainer.generateJson("", pw, vwsp);
    response.setContentType("application/json");
    response.setStatus(HttpServletResponse.SC_OK);
    response.getWriter().println(sw.toString());
  }
View Full Code Here

Examples of edu.isi.karma.controller.update.UpdateContainer

          superSel.removeSelection(sel);
        }
      }
    }
    WorksheetUpdateFactory.detectSelectionStatusChange(worksheetId, workspace, this);
    UpdateContainer uc = WorksheetUpdateFactory.createWorksheetHierarchicalAndCleaningResultsUpdates(worksheetId, superSel);
    return uc;
  }
View Full Code Here

Examples of edu.isi.karma.controller.update.UpdateContainer

      outputColumns.addAll(entry.getValue().getInputColumns());
      superSel.addSelection(entry.getValue());
      worksheet.getSelectionManager().addSelection(entry.getValue());
    }
    WorksheetUpdateFactory.detectSelectionStatusChange(worksheetId, workspace, this);
    UpdateContainer uc = WorksheetUpdateFactory.createWorksheetHierarchicalAndCleaningResultsUpdates(worksheetId, superSel);
    uc.add(new WorksheetSuperSelectionListUpdate(worksheetId));
    return uc;
  }
View Full Code Here

Examples of edu.isi.karma.controller.update.UpdateContainer

    uc.add(new WorksheetSuperSelectionListUpdate(worksheetId));
    return uc;
  }

  public UpdateContainer getErrorUpdate(String msg) {
    return new UpdateContainer(new ErrorUpdate(msg));
  }
View Full Code Here

Examples of edu.isi.karma.controller.update.UpdateContainer

    Worksheet worksheet = workspace.getWorksheet(
        worksheetId);
   
    try{
      worksheet.addRow(workspace.getFactory());
      UpdateContainer c =  new UpdateContainer();   
      c.append(WorksheetUpdateFactory.createRegenerateWorksheetUpdates(worksheetId, SuperSelectionManager.DEFAULT_SELECTION));
      c.append(computeAlignmentAndSemanticTypesAndCreateUpdates(workspace));
      return c;
    } catch (Exception e) {
      logger.error("Error in AddRowCommand" + e.toString());
      Util.logException(logger, e);
      return new UpdateContainer(new ErrorUpdate(e.getMessage()));
    }
  }
View Full Code Here

Examples of edu.isi.karma.controller.update.UpdateContainer

        props.setPropertyValue(Property.baseURI,
            propertiesJson.getString(Property.baseURI.name()));
      }
    } catch (JSONException e) {
      e.printStackTrace();
      return new UpdateContainer(new ErrorUpdate("Malformed properties object received"));
    }
   
    return new UpdateContainer(new InfoUpdate("Properties set successfully"));
  }
View Full Code Here

Examples of edu.isi.karma.controller.update.UpdateContainer

      }

    } catch (Exception e) {
      logger.error("Error in ExtractEntitiesCommand" + e.toString());
      Util.logException(logger, e);
      return new UpdateContainer(new ErrorUpdate(e.getMessage()));
    }

    // print result
    logger.info("Got extractions:");
    logger.info(extractions);

    JSONArray result = (JSONArray) JSONUtil.createJson(extractions);

    //Final Data for AddValuesCommand
    JSONArray rowData = new JSONArray();

    // index for result iteration
    int index = 0;

    for(Table table : tables) {
      ArrayList<Row> rows = table.getRows(0, table.getNumRows(), selection);
      for (Row row : rows) {
 
        if (index < result.length()) {
          JSONObject extraction = (JSONObject) result.getJSONObject(index++).get("extractions");
         
          JSONObject extractionValues = new JSONObject();
         
          //Check if the user wants People entities
          if(entitiesReqd.contains("People")) {
          //***Extracting People***
          JSONArray peopleExtract = (JSONArray) extraction.get("people");
          JSONArray peopleValues = new JSONArray();
         
         
          for(int i=0; i<peopleExtract.length(); i++) {
            peopleValues.put(new JSONObject().put("extraction", ((JSONObject)peopleExtract.get(i)).getString("extraction")));
          }
         
          extractionValues.put("People", peopleValues);
          }
                 
         
          //Check if the user wants Places entities
          if(entitiesReqd.contains("Places")) {
          //***Extracting Places***
         
          JSONArray placesExtract = (JSONArray) extraction.get("places");
          JSONArray placesValues = new JSONArray();
         
         
          for(int i=0; i<placesExtract.length(); i++) {
            placesValues.put(new JSONObject().put("extraction", ((JSONObject)placesExtract.get(i)).getString("extraction")));
          }
         
         
          extractionValues.put("Places", placesValues);
          }
         
          //Check if the user wants Date entities
          if(entitiesReqd.contains("Dates")) {
          //***Extracting People***
         
          JSONArray datesExtract = (JSONArray) extraction.get("dates");
          JSONArray datesValues = new JSONArray();
           
         
          for(int i=0; i<datesExtract.length(); i++) {
            datesValues.put(new JSONObject().put("extraction", ((JSONObject)datesExtract.get(i)).getString("extraction")));
          }
         
          extractionValues.put("Dates", datesValues);
          }
         
          JSONObject extractionsObj = new JSONObject();
          extractionsObj.put("extractions", extractionValues);
         
          JSONObject rowDataObject = new JSONObject();
          rowDataObject.put("values", extractionsObj);
          rowDataObject.put("rowId", row.getId());
          rowData.put(rowDataObject);
        }
      }
    }

    JSONObject addValuesObj = new JSONObject();
    addValuesObj.put("name", "AddValues");
    addValuesObj.put("value", rowData.toString());
    addValuesObj.put("type", "other");
    JSONArray addValues = new JSONArray();
    addValues.put(addValuesObj);

    System.out.println(JSONUtil.prettyPrintJson(addValues.toString()));

   
    try {
      AddValuesCommandFactory factory = new AddValuesCommandFactory();
      cmd = (AddValuesCommand) factory.createCommand(addValues, workspace, hNodeId, worksheetId,
          ht.getId(), HNodeType.Transformation, selection.getName());
     
      HNode hnode = repFactory.getHNode(hNodeId);
      cmd.setColumnName(hnode.getColumnName()+" Extractions");
      cmd.doIt(workspace);

      newHNodeId = cmd.getNewHNodeId();
     
      UpdateContainer c = new UpdateContainer(new InfoUpdate("Extracted Entities"));
      c.append(WorksheetUpdateFactory
          .createRegenerateWorksheetUpdates(worksheetId, getSuperSelection(worksheet)));
      c.append(computeAlignmentAndSemanticTypesAndCreateUpdates(workspace));
      //c.append(new InfoUpdate("Extracted Entities"));
      return c;
    } catch (Exception e) {
      logger.error("Error in ExtractEntitiesCommand" + e.toString());
      Util.logException(logger, e);
      return new UpdateContainer(new ErrorUpdate(e.getMessage()));
    }


    // return new UpdateContainer(new InfoUpdate("Extracted Entities"));

View Full Code Here

Examples of edu.isi.karma.controller.update.UpdateContainer

    return CommandType.notInHistory;
  }

  @Override
  public UpdateContainer doIt(Workspace workspace) throws CommandException {
    return new UpdateContainer(new AllWorksheetHeadersUpdate(worksheetId, false));
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.