Package com.dotmarketing.portlets.structure.struts

Source Code of com.dotmarketing.portlets.structure.struts.FieldForm

package com.dotmarketing.portlets.structure.struts;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import com.dotcms.repackage.org.apache.struts.Globals;
import com.dotcms.repackage.org.apache.struts.action.ActionErrors;
import com.dotcms.repackage.org.apache.struts.action.ActionMapping;
import com.dotcms.repackage.org.apache.struts.action.ActionMessage;
import com.dotcms.repackage.org.apache.struts.validator.ValidatorForm;

import com.dotmarketing.portlets.structure.business.FieldAPI;
import com.dotmarketing.portlets.structure.model.Field;
import com.dotmarketing.util.InodeUtils;
import com.dotmarketing.util.UtilMethods;

public class FieldForm extends ValidatorForm {
 
 
  private static final long serialVersionUID = 1L;
  private String inode;
  private String structureInode;
  private String fieldName;
  private String fieldType;
  private String fieldRelationType;
  private String fieldContentlet;
  private boolean required;
  private String velocityVarName;
  private int sortOrder;
  private String values;
  private String regexCheck;
  private List freeContentletFieldsName;
  private List freeContentletFieldsValue;
  private String validation;
  private String hint;
  private String defaultValue;
  private String dataType;
  private boolean indexed = false;
    private boolean listed = false;
    private boolean readOnly = false;
    private boolean fixed = false;
    private boolean searchable = false;
    private boolean unique = false;
    private String element;
       
  public boolean isSearchable() {
    return searchable;
  }

  public void setSearchable(boolean searchable) {
    this.searchable = searchable;
  }

  public String getFieldContentlet() {
    return fieldContentlet;
  }

  public void setFieldContentlet(String fieldContentlet) {
    this.fieldContentlet = fieldContentlet;
  }

  public String getFieldName() {
    return fieldName;
  }

  public void setFieldName(String fieldName) {
    this.fieldName = fieldName;
  }

  public String getFieldRelationType() {
    return fieldRelationType;
  }

  public void setFieldRelationType(String fieldRelationType) {
    this.fieldRelationType = fieldRelationType;
  }

  public String getFieldType() {
    return fieldType;
  }

  public void setFieldType(String fieldType) {
    this.fieldType = fieldType;
  }

  public String getInode() {
    if(InodeUtils.isSet(inode))
      return inode;
   
    return "";
  }

  public void setInode(String inode) {
    this.inode = inode;
  }

  public String getRegexCheck() {
    return regexCheck;
  }

  public void setRegexCheck(String regexCheck) {
    this.regexCheck = regexCheck;
  }

  public boolean isRequired() {
    return required;
  }
 
  public void setRequired(boolean required) {
    this.required = required;
  }

  public int getSortOrder() {
    return sortOrder;
  }

  public void setSortOrder(int sortOrder) {
    this.sortOrder = sortOrder;
  }

  public String getStructureInode() {
    return structureInode;
  }

  public void setStructureInode(String structureInode) {
    this.structureInode = structureInode;
  }

  public String getValues() {
    return values;
  }

  public void setValues(String values) {
    this.values = values;
  }

  public String getVelocityVarName() {
    return velocityVarName;
  }

  public void setVelocityVarName(String velocityVarName) {
    this.velocityVarName = velocityVarName;
  }
 
  public List getFreeContentletFieldsName() {
    return freeContentletFieldsName;
  }

  public void setFreeContentletFieldsName(List freeContentletFieldsName) {
    this.freeContentletFieldsName = freeContentletFieldsName;
  }

  public List getFreeContentletFieldsValue() {
    return freeContentletFieldsValue;
  }

  public void setFreeContentletFieldsValue(List freeContentletFieldsvalue) {
    this.freeContentletFieldsValue = freeContentletFieldsvalue;
  }
 
  /**
   * @return Returns the defaultValue.
   */
  public String getDefaultValue() {
    return defaultValue;
  }

  /**
   * @param defaultValue The defaultValue to set.
   */
  public void setDefaultValue(String defaultValue) {
    this.defaultValue = UtilMethods.isSet(defaultValue) ? defaultValue.trim() : defaultValue;
  }

  /**
   * @return Returns the hint.
   */
  public String getHint() {
    return hint;
  }

  /**
   * @param hint The hint to set.
   */
  public void setHint(String hint) {
    this.hint = hint;
  }

  /**
   * @return Returns the dataType.
   */
  public String getDataType() {
    return dataType;
  }

  /**
   * @param dataType The dataType to set.
   */
  public void setDataType(String dataType) {
    this.dataType = dataType;
  }

  /**
   * @return Returns the validation.
   */
  public String getValidation() {
    if (!UtilMethods.isSet(validation)) {
      return regexCheck;
    }
    return validation;
  }

  /**
   * @param validation The validation to set.
   */
  public void setValidation(String validation) {
    this.validation = validation;
  }

  public boolean isIndexed() {
    return indexed;
  }

  public void setIndexed(boolean indexed) {
    this.indexed = indexed;
  }

    public boolean isListed() {
        return listed;
    }

    public void setListed(boolean listed) {
        this.listed = listed;
    }
   
   
  public boolean isReadOnly() {
    return readOnly;
  }

  public void setReadOnly(boolean readOnly) {
    this.readOnly = readOnly;
  }

  public boolean isFixed() {
    return fixed;
  }

  public void setFixed(boolean fixed) {
    this.fixed = fixed;
  }
 
  public boolean isUnique() {
    return unique;
  }

  public void setUnique(boolean unique) {
    this.unique = unique;
  }

    public ActionErrors validate(ActionMapping arg0, HttpServletRequest arg1) {
    ActionErrors ae = new ActionErrors()
    ae = super.validate(arg0,arg1);
    if(!isFixed() && !isReadOnly() && !(fieldType == null) && !(fieldType.equals("line_divider") || fieldType.equals("tab_divider"))){
        if(fieldType.equals("select") || fieldType.equals("radio") || fieldType.equals("checkbox") || fieldType.equals("javascript")) {
            if (!UtilMethods.isSet(values)) {
                ae.add(Globals.ERROR_KEY,new ActionMessage("message.field.values"));
            }
        }
        if( !fieldType.equals("host or folder" )&& !fieldType.equals("relationships_tab") && !fieldType.equals("permissions_tab") && !fieldType.equals("categories_tab") && !fieldType.equals("image") && !fieldType.equals("link") && !fieldType.equals("file") && !element.equals(FieldAPI.ELEMENT_CONSTANT) && !fieldType.equals("hidden")) {
            if (!UtilMethods.isSet(dataType)) {
                ae.add(Globals.ERROR_KEY,new ActionMessage("message.field.dataType"));
            }
        }
    }
   
    if(dataType!=null && dataType.equals(Field.DataType.DATE.toString()) && !defaultValue.isEmpty() && !defaultValue.equals("now")) {
        DateFormat df=null;
        if(fieldType.equals(Field.FieldType.DATE.toString()))
            df=new SimpleDateFormat("yyyy-MM-dd");
        else if(fieldType.equals(Field.FieldType.DATE_TIME.toString()))
            df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        else if(fieldType.equals(Field.FieldType.TIME.toString()))
            df=new SimpleDateFormat("HH:mm:ss");
        if(df!=null) {
            try {
                    df.parse(defaultValue);
                } catch (ParseException e) {
                    ae.add(Globals.ERROR_KEY,new ActionMessage("message.field.defaultValue"));
                }
        }
    }
    return ae;
  }

  public String getElement() {
    return element;
  }

  public void setElement(String element) {
    this.element = element;
  }
 
}
TOP

Related Classes of com.dotmarketing.portlets.structure.struts.FieldForm

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.