Package com.esri.gpt.catalog.publication

Source Code of com.esri.gpt.catalog.publication.ProcessedRecord

/* See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* Esri Inc. licenses this file to You 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.
*/
package com.esri.gpt.catalog.publication;

import java.util.ArrayList;
import java.util.List;

import com.esri.gpt.catalog.schema.ValidationException;
import com.esri.gpt.framework.jsf.MessageBroker;
import com.esri.gpt.framework.util.Val;

/**
* Maintains status information associated with a processed record.
*/
public class ProcessedRecord {

  /** instance variables ====================================================== */
  private List<String> exceptions;
  private String       sourceUri;
  private StatusType   statusType;
 
  /** constructors ============================================================ */

  /** Default constructor. */
  public ProcessedRecord() {}
 
  /** properties ============================================================== */
   
  /**
   * Sets the exception encountered during processing (if applicable).
   * <br/>This method will build the message list retrievable with getExceptions().
   * @param exception the processing exception
   * @param msgBroker the message broker for message resource lookup
   */
  public void setException(Throwable exception, MessageBroker msgBroker) {
    if (exception == null) {
      this.exceptions = null;
    } else {
      this.exceptions = new ArrayList<String>();
      String msg = Val.chkStr(exception.getMessage());
      if (msg.length() == 0) {
        msg = Val.chkStr(exception.toString());
      }
      this.exceptions.add(msg);
      if (msgBroker != null) {
        if (exception instanceof ValidationException) {
          ValidationException ve = (ValidationException)exception;
          ve.getValidationErrors().buildMessages(msgBroker,this.exceptions,true);
        }
      }
    }
  }
 
  /**
   * Gets the list of exception messages encountered during processing.
   * <br/>Can be null, more than one message will typically indicate validation issues.
   * @return the list of exception messages
   */
  public List<String> getExceptions() {
    return this.exceptions;
  }
 
  /**
   * Sets the list of exception messages encountered during processing.
   * <br/>Can be null, more than one message will typically indicate validation issues.
   * @param messages the list of exception messages
   */
  public void setExceptions(List<String> messages) {
    this.exceptions = messages;
  }
 
  /**
   * Gets the source URI associated with the record.
   * @return the source URI
   */
  public String getSourceUri() {
    return this.sourceUri;
  }
  /**
   * Sets the source URI associated with the record.
   * @param uri the source URI
   */
  public void setSourceUri(String uri) {
    this.sourceUri = uri;
  }
 
  /**
   * Gets the processing status associated with the record.
   * @return the status type
   */
  public StatusType getStatusType() {
    return this.statusType;
  }
  /**
   * Sets the processing status associated with the record.
   * @param type the status type
   */
  public void setStatusType(StatusType type) {
    this.statusType = type;
  }
 
  /** enumerations ============================================================ */
 
  /**
   * The processing status type.
   */
  public enum StatusType {
    CREATED,
    DELETED,
    FAILED,
    PENDING,
    REPLACED,
    UNCHNAGED,
    VALIDATED;
  }
 
}
TOP

Related Classes of com.esri.gpt.catalog.publication.ProcessedRecord

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.