Package edu.isi.karma.rep

Source Code of edu.isi.karma.rep.Worksheet

/**
* *****************************************************************************
* Copyright 2012 University of Southern California
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*
* This code was developed by the Information Integration Group as part of the
* Karma project at the Information Sciences Institute of the University of
* Southern California. For more information, publications, and related
* projects, please see: http://www.isi.edu/integration
*****************************************************************************
*/
package edu.isi.karma.rep;

import java.io.PrintWriter;

import edu.isi.karma.controller.command.selection.SelectionManager;
import edu.isi.karma.controller.command.selection.SuperSelectionManager;
import edu.isi.karma.rep.HNode.HNodeType;
import edu.isi.karma.rep.alignment.SemanticTypes;
import edu.isi.karma.rep.metadata.MetadataContainer;

/**
* @author szekely
*
*/
public class Worksheet extends RepEntity {

    //MVS: add revision worksheet
    private Worksheet revisedWorksheet = null;
    private HTable headers;
    private Table dataTable;
    private SemanticTypes semanticTypes = new SemanticTypes();
    private MetadataContainer metadataContainer;
    private String encoding;
    private Object jsonAnnotation = null;
    private SuperSelectionManager superSelMgr;
    private SelectionManager selMgr;
    private Object msger = null;//used for holding session cleaning data
  private Object dpp = null; // data preprocessing for cleaning
    @Override
    public void prettyPrint(String prefix, PrintWriter pw, RepFactory factory) {
        pw.print(prefix);
        pw.println("Worksheet/" + id);
        headers.prettyPrint(prefix + "  ", pw, factory);
        dataTable.prettyPrint(prefix + "  ", pw, factory);
    }

    Worksheet(String id, HTable headers, Table dataTable, String encoding) {
        super(id);
        this.headers = headers;
        this.dataTable = dataTable;
        this.encoding = encoding;
        this.selMgr = new SelectionManager();
        this.superSelMgr = new SuperSelectionManager();       
    }
   
    /*
     * Method for accessing the revised file
     */
    public Worksheet getRevised() {
        return revisedWorksheet;
    }
   
    /*
     *
     */
    public void setRevisedWorksheet(Worksheet revisedWorksheet) {
        this.revisedWorksheet = revisedWorksheet;
    }

    /*
     * Check if this worksheet is revising another worksheet
     */
    public boolean hasRevision(){
        return getRevised() != null;
    }

    public HTable getHeaders() {
        return headers;
    }

    public Table getDataTable() {
        return dataTable;
    }

    public String getEncoding() {
      return this.encoding;
    }
   
    public String getTitle() {
        return headers.getTableName();
    }

    public SemanticTypes getSemanticTypes() {
        return semanticTypes;
    }

    public void clearSemanticTypes() {
        semanticTypes = new SemanticTypes();
    }

    public void setSemanticTypes(SemanticTypes t) {
        semanticTypes = t;
    }

    public MetadataContainer getMetadataContainer() {
        if (metadataContainer == null) {
            metadataContainer = new MetadataContainer();
        }
        return metadataContainer;
    }

    public void setMetadataContainer(MetadataContainer metadataContainer) {
        this.metadataContainer = metadataContainer;
    }

    /**
     * When a new HNode is added to a table or one of the nested tables, we need
     * to go through and add place holders in the data table to hold the values
     * for the new HNode.
     *
     * @param newHNode
     */
    void addNodeToDataTable(HNode newHNode, RepFactory factory) {
        dataTable.addNodeToDataTable(newHNode, factory);
    }

    //mariam
    /**
     * @param hNodeId
     */
    void removeNodeFromDataTable(String hNodeId) {
        dataTable.removeNodeFromDataTable(hNodeId);
    }

    /**
     * Convenience method to add rows to the top table.
     *
     * @param factory
     * @return the added row.
     */
    public Row addRow(RepFactory factory) {
        return dataTable.addRow(factory);
    }

    /**
     * Convenience method to add HNodes to the top table.
     *
     * @param columnName
     * @param factory
     * @return The added HNode.
     */
    public HNode addHNode(String columnName, HNodeType type, RepFactory factory) {
        return headers.addHNode(columnName, type, this, factory);
    }

    /**
     * This HNode received a new nested HTable. We need to go through the data
     * table and make sure we have placeholders to hold values for this table.
     *
     * @param hNode
     * @param factory
     */
    public void addNestedTableToDataTable(HNode hNode, RepFactory factory) {
        dataTable.addNestedTableToDataTable(hNode, factory);
    }

    public boolean containService() {
        if (this.getMetadataContainer() == null) {
            return false;
        }

        if (this.getMetadataContainer().getService() == null) {
            return false;
        }

        return true;
    }

    public boolean containSource() {
        if (this.getMetadataContainer() == null) {
            return false;
        }

        if (this.getMetadataContainer().getSource() == null) {
            return false;
        }

        return true;
    }
   
    public void setJsonAnnotation(Object json) {
      this.jsonAnnotation = json;
    }
   
    public Object getJsonAnnotation() {
      return this.jsonAnnotation;
    }
   
    public SuperSelectionManager getSuperSelectionManager() {
      return superSelMgr;
    }
   
    public SelectionManager getSelectionManager() {
      return selMgr;
    }
    public Object getMsg()
  {
    return msger;
  }
  public void setMsg(Object x)
  {
    this.msger = x;
  }
  public Object getDpp()
  {
    return dpp;
  }
  public void setDpp(Object x)
  {
    this.dpp = x;
  }
  public void clearSessionData()
  {
    this.msger = null;
    this.dpp = null;
  }
}
TOP

Related Classes of edu.isi.karma.rep.Worksheet

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.