Package com.dotmarketing.portlets.contentlet.business

Examples of com.dotmarketing.portlets.contentlet.business.DotContentletValidationException


          } catch (IOException e) {

          }
        }
        else if(field.isRequired()) {
            DotContentletValidationException cve = new DotContentletValidationException("Contentlet's fields are not valid");
            cve.addRequiredField(field);
            throw cve;
        }
         }
    }
View Full Code Here


        }
      }

      List<Map<String,Object>> fileParameters = new ArrayList<Map<String,Object>>();

      DotContentletValidationException cve = new DotContentletValidationException("Contentlet's fields are not valid");
      boolean hasError = false;

      /**
       * Get image fields
       */
      imageFields = StructureFactory.getImagesFieldsList(st, parametersfileName, filevalues);
      if(imageFields.size() > 0){

        for(Field f : imageFields){
          java.io.File uploadedFile = uploadReq.getFile(f.getVelocityVarName());
          String title = uploadReq.getFileName(f.getVelocityVarName());
          if(f.isRequired() && !UtilMethods.isSet(title)){
            cve.addRequiredField(f);
            hasError = true;
            continue;
          }
          if(uploadedFile!=null && uploadedFile.length()> 0){
            String contentType = uploadReq.getContentType(f.getVelocityVarName());
            if(contentType.equals("image/png") || contentType.equals("image/gif") || contentType.equals("image/jpeg")){
              Map<String,Object> temp = new HashMap<String,Object>();
              temp.put("field", f);
              temp.put("title", title);
              temp.put("file", uploadedFile);
              temp.put("host", host);
              fileParameters.add(temp);
            }else{
              cve.addBadTypeField(f);
              hasError = true;
              imageNames.add(title);
              continue;
            }
          }
        }
      }

      /**
       * Get file fields
       */
      //http://jira.dotmarketing.net/browse/DOTCMS-3463
      Map <String, Object> tempBinaryValues= new HashMap <String, Object>();
      fileFields = StructureFactory.getFilesFieldsList(st, parametersfileName, filevalues);
      List <Field> fields = st.getFields();
      for(Field field:fields){
        Map <String, Object> binaryvalues= new HashMap <String, Object>();
        if (field.getFieldType().equals("binary"))
        {
          tempBinaryValues=processBinaryTempFileUpload( field.getVelocityVarName(), request, field.getFieldContentlet()) ;
          binaryvalues.put("field", field);
          parametersName.add(tempBinaryValues.get("parameterName").toString());
          Object ob = tempBinaryValues.get("parameterValues");
          if(ob != null){
            File f = (File)ob;
            binaryvalues.put("file", f);
            values.add(new String []{f.getAbsolutePath()});
          }else{
            binaryvalues.put(field.getVelocityVarName(), null);
            values.add(new String []{""});
          }
          fileParameters.add(binaryvalues);
        }

      }
      if(fileFields.size() > 0){

        for(Field f : fileFields){
          java.io.File uploadedFile = uploadReq.getFile(f.getVelocityVarName());
          String title = uploadReq.getFileName(f.getVelocityVarName());
          fileNames.add(title);

          if(f.isRequired() && !UtilMethods.isSet(title)){
            cve.addRequiredField(f);
            hasError = true;
            continue;
          }
          if(uploadedFile!=null && uploadedFile.length()> 0) {
            Map<String,Object> temp = new HashMap<String,Object>();
View Full Code Here

                          }
                        }
                        contentlet.setBinary(velocityVarNm, newFile);
                      }
                  } catch (FileNotFoundException e) {
                      throw new DotContentletValidationException("Error occurred while processing the file:" + e.getMessage(),e);
                  } catch (IOException e) {
                      throw new DotContentletValidationException("Error occurred while processing the file:" + e.getMessage(),e);
                  }
              }
          }


          // lets update identifier's syspubdate & sysexpiredate
          if ((contentlet != null) && InodeUtils.isSet(contentlet.getIdentifier())) {
              Structure st=contentlet.getStructure();
              if(UtilMethods.isSet(st.getPublishDateVar()) || UtilMethods.isSet(st.getPublishDateVar())) {
                  Identifier ident=APILocator.getIdentifierAPI().find(contentlet);
                  boolean save=false;
                  if(UtilMethods.isSet(st.getPublishDateVar())) {
                      Date pdate=contentletRaw.getDateProperty(st.getPublishDateVar());
                      contentlet.setDateProperty(st.getPublishDateVar(), pdate);
                      if((ident.getSysPublishDate()==null && pdate!=null) || // was null and now we have a value
                          (ident.getSysPublishDate()!=null && //wasn't null and now is null or different
                             (pdate==null || !pdate.equals(ident.getSysPublishDate())))) {
                          ident.setSysPublishDate(pdate);
                          save=true;
                      }
                  }
                  if(UtilMethods.isSet(st.getExpireDateVar())) {
                            Date edate=contentletRaw.getDateProperty(st.getExpireDateVar());
                            contentlet.setDateProperty(st.getExpireDateVar(), edate);
                            if((ident.getSysExpireDate()==null && edate!=null) || // was null and now we have a value
                                (ident.getSysExpireDate()!=null && //wasn't null and now is null or different
                                   (edate==null || !edate.equals(ident.getSysExpireDate())))) {
                                ident.setSysExpireDate(edate);
                                save=true;
                            }
                        }
                  if (!contentlet.isLive() && UtilMethods.isSet( st.getExpireDateVar() ) ) {//Verify if the structure have a Expire Date Field set
                  if(UtilMethods.isSet(ident.getSysExpireDate()) && ident.getSysExpireDate().before( new Date())) {
                    throw new DotContentletValidationException( "message.contentlet.expired" );
                      }
                  }
                  if(save) {

                      // publish/expire dates changed
View Full Code Here

    public void setContentletProperty(Contentlet contentlet,Field field, Object value)throws DotContentletStateException {
        String[] dateFormats = new String[] { "yyyy-MM-dd HH:mm", "d-MMM-yy", "MMM-yy", "MMMM-yy", "d-MMM", "dd-MMM-yyyy", "MM/dd/yyyy hh:mm aa", "MM/dd/yy HH:mm",
                "MM/dd/yyyy HH:mm", "MMMM dd, yyyy", "M/d/y", "M/d", "EEEE, MMMM dd, yyyy", "MM/dd/yyyy",
                "hh:mm:ss aa", "HH:mm:ss", "yyyy-MM-dd"};
        if(contentlet == null){
            throw new DotContentletValidationException("The contentlet must not be null");
        }
        String stInode = contentlet.getStructureInode();
        if(!InodeUtils.isSet(stInode)){
            throw new DotContentletValidationException("The contentlet's structureInode must be set");
        }
        if(field.getFieldType().equals(Field.FieldType.CATEGORY.toString()) || field.getFieldType().equals(Field.FieldType.CATEGORIES_TAB.toString())){

        }else if(fAPI.isElementConstant(field)){
            Logger.debug(this, "Cannot set contentlet field value on field type constant. Value is saved to the field not the contentlet");
View Full Code Here

        return text;
    }

    public void validateContentlet(Contentlet contentlet,List<Category> cats)throws DotContentletValidationException {
        if(contentlet == null){
            throw new DotContentletValidationException("The contentlet must not be null");
        }
        String stInode = contentlet.getStructureInode();
        if(!InodeUtils.isSet(stInode)){
            throw new DotContentletValidationException("The contentlet: "+ (contentlet != null ? contentlet.getIdentifier() : "Unknown")
                +" structureInode must be set");
        }
        Structure st = StructureCache.getStructureByInode(contentlet.getStructureInode());
        if(Structure.STRUCTURE_TYPE_FILEASSET==st.getStructureType()){
            if(contentlet.getHost()!=null && contentlet.getHost().equals(Host.SYSTEM_HOST) && (!UtilMethods.isSet(contentlet.getFolder()) || contentlet.getFolder().equals(FolderAPI.SYSTEM_FOLDER))){
                DotContentletValidationException cve = new FileAssetValidationException("message.contentlet.fileasset.invalid.hostfolder");
                cve.addBadTypeField(st.getFieldVar(FileAssetAPI.HOST_FOLDER_FIELD));
                throw cve;
            }
            boolean fileNameExists = false;
            try {
                Host host = APILocator.getHostAPI().find(contentlet.getHost(), APILocator.getUserAPI().getSystemUser(), false);
                Folder folder = null;
                if(UtilMethods.isSet(contentlet.getFolder()))
                    folder=APILocator.getFolderAPI().find(contentlet.getFolder(), APILocator.getUserAPI().getSystemUser(), false);
                else
                    folder=APILocator.getFolderAPI().findSystemFolder();
                String fileName = contentlet.getBinary(FileAssetAPI.BINARY_FIELD)!=null?contentlet.getBinary(FileAssetAPI.BINARY_FIELD).getName():"";
                if(UtilMethods.isSet(contentlet.getStringProperty("fileName")))//DOTCMS-7093
                  fileName = contentlet.getStringProperty("fileName");
                if(UtilMethods.isSet(fileName)){
                    fileNameExists = APILocator.getFileAssetAPI().fileNameExists(host,folder,fileName,contentlet.getIdentifier());
                    if(!APILocator.getFolderAPI().matchFilter(folder, fileName)) {
                        DotContentletValidationException cve = new FileAssetValidationException("message.file_asset.error.filename.filters");
                        cve.addBadTypeField(st.getFieldVar(FileAssetAPI.HOST_FOLDER_FIELD));
                        throw cve;
                    }
                }

            } catch (Exception e) {
              if(e instanceof FileAssetValidationException)
                throw (FileAssetValidationException)e ;
                throw new FileAssetValidationException("Unable to validate field: " + FileAssetAPI.BINARY_FIELD,e);
            }
            if(fileNameExists){
                DotContentletValidationException cve = new FileAssetValidationException("message.contentlet.fileasset.filename.already.exists");
                cve.addBadTypeField(st.getFieldVar(FileAssetAPI.HOST_FOLDER_FIELD));
                throw cve;
            }


        }

        boolean hasError = false;
        DotContentletValidationException cve = new DotContentletValidationException("Contentlets' fields are not valid");
        List<Field> fields = FieldsCache.getFieldsByStructureInode(stInode);
        Structure structure = StructureCache.getStructureByInode(stInode);
        Map<String, Object> conMap = contentlet.getMap();
        for (Field field : fields) {
            Object o = conMap.get(field.getVelocityVarName());
            if(o != null){
                if(isFieldTypeString(field)){
                    if(!(o instanceof String)){
                        cve.addBadTypeField(field);
                        Logger.error(this,"A text contentlet must be of type String");
                    }
                }else if(isFieldTypeDate(field)){
                    if(!(o instanceof Date)){
                        cve.addBadTypeField(field);
                        Logger.error(this,"A date contentlet must be of type Date");
                    }
                }else if(isFieldTypeBoolean(field)){
                    if(!(o instanceof Boolean)){
                        cve.addBadTypeField(field);
                        Logger.error(this,"A bool contentlet must be of type Boolean");
                    }
                }else if(isFieldTypeFloat(field)){
                    if(!(o instanceof Float)){
                        cve.addBadTypeField(field);
                        Logger.error(this,"A float contentlet must be of type Float");
                    }
                }else if(isFieldTypeLong(field)){
                    if(!(o instanceof Long || o instanceof Integer)){
                        cve.addBadTypeField(field);
                        Logger.error(this,"A integer contentlet must be of type Long or Integer");
                    }
                    //  http://jira.dotmarketing.net/browse/DOTCMS-1073
                    //  binary field validation
                }else if(isFieldTypeBinary(field)){
                    if(!(o instanceof java.io.File)){
                        cve.addBadTypeField(field);
                        Logger.error(this,"A binary contentlet field must be of type File");
                    }
                }else if(isFieldTypeSystem(field) || isFieldTypeConstant(field)){

                }else{
                    Logger.error(this,"Found an unknown field type : This should never happen!!!");
                    throw new DotContentletStateException("Unknown field type");
                }
            }
            if (field.isRequired()) {
                if(o instanceof String){
                    String s1 = (String)o;
                    if(!UtilMethods.isSet(s1.trim()) || (field.getFieldType().equals(Field.FieldType.KEY_VALUE.toString())) && s1.equals("{}")) {
                        cve.addRequiredField(field);
                        hasError = true;
                        continue;
                    }
                }
                else if(o instanceof java.io.File){
                    String s1 = ((java.io.File) o).getPath();
                     if(!UtilMethods.isSet(s1.trim())||s1.trim().contains("-removed-")) {
                           cve.addRequiredField(field);
                           hasError = true;
                           continue;
                    }
                }
                else if(field.getFieldType().equals(Field.FieldType.DATE_TIME.toString())){
                  if(!UtilMethods.isSet(o)){
                     if(structure.getExpireDateVar() != null){
                      if(field.getVelocityVarName().equals(structure.getExpireDateVar())){
                        if(conMap.get("NeverExpire").equals("NeverExpire")){
                          continue;
                        }else{
                          cve.addRequiredField(field);
                                hasError = true;
                                continue;
                          }
                      }else{
                        cve.addRequiredField(field);
                              hasError = true;
                              continue;
                        }
                     }else{
                     cve.addRequiredField(field);
                           hasError = true;
                           continue;
                    }
                  }
                }
                else if( field.getFieldType().equals(Field.FieldType.CATEGORY.toString()) ) {
                    if( cats == null || cats.size() == 0 ) {
                        cve.addRequiredField(field);
                        hasError = true;
                        continue;
                    }
                    try {
                        User systemUser = APILocator.getUserAPI().getSystemUser();
                        if (field.getFieldType().equals(Field.FieldType.CATEGORY.toString())) {
                            CategoryAPI catAPI = APILocator.getCategoryAPI();
                            Category baseCat = catAPI.find(field.getValues(), systemUser, false);
                            List<Category> childrenCats = catAPI.getAllChildren(baseCat, systemUser, false);
                            boolean found = false;
                            for(Category cat : childrenCats) {
                                for(Category passedCat : cats) {
                                    try {
                                        if(passedCat.getInode().equalsIgnoreCase(cat.getInode()))
                                            found = true;
                                    } catch (NumberFormatException e) { }
                                }
                            }
                            if(!found) {
                                cve.addRequiredField(field);
                                hasError = true;
                                continue;
                            }
                        }
                    } catch (DotDataException e) {
                        throw new DotContentletValidationException("Unable to validate a category field: " + field.getVelocityVarName(), e);
                    } catch (DotSecurityException e) {
                        throw new DotContentletValidationException("Unable to validate a category field: " + field.getVelocityVarName(), e);
                    }
                } else if (field.getFieldType().equals(Field.FieldType.HOST_OR_FOLDER.toString())) {
                    if (!UtilMethods.isSet(contentlet.getHost()) && !UtilMethods.isSet(contentlet.getFolder())) {
                        cve.addRequiredField(field);
                        hasError = true;
                        continue;
                    }
                } else if(!UtilMethods.isSet(o)) {
                    cve.addRequiredField(field);
                    hasError = true;
                    continue;
                }
                if(field.getFieldType().equals(Field.FieldType.IMAGE.toString()) || field.getFieldType().equals(Field.FieldType.FILE.toString())){
                    if(o instanceof Number){
                        Number n = (Number)o;
                        if(n.longValue() == 0){
                            cve.addRequiredField(field);
                            hasError = true;
                            continue;
                        }
                    }else if(o instanceof String){
                        String s = (String)o;
                        if(s.trim().equals("0")){
                            cve.addRequiredField(field);
                            hasError = true;
                            continue;
                        }
                    }
                    //WYSIWYG patch for blank content
                }else if(field.getFieldType().equals(Field.FieldType.WYSIWYG.toString())){
                    if(o instanceof String){
                        String s = (String)o;
                        if (s.trim().toLowerCase().equals("<br>")){
                            cve.addRequiredField(field);
                            hasError = true;
                            continue;
                        }
                    }
                }
            }
            if(field.isUnique()){
              try{
                StringBuilder buffy = new StringBuilder();

                buffy.append(" +(live:true working:true)");
                buffy.append(" +structureInode:" + contentlet.getStructureInode());
                buffy.append(" +languageId:" + contentlet.getLanguageId());
                buffy.append(" +(working:true live:true)");
                if(UtilMethods.isSet(contentlet.getIdentifier())){
                    buffy.append(" -(identifier:" + contentlet.getIdentifier() + ")");
                }
                buffy.append(" +" + contentlet.getStructure().getVelocityVarName() + "." + field.getVelocityVarName() + ":\"" + escape(getFieldValue(contentlet, field).toString()) + "\"");
                List<ContentletSearch> contentlets = new ArrayList<ContentletSearch>();
                try {
                    contentlets = searchIndex(buffy.toString(), -1, 0, "inode", APILocator.getUserAPI().getSystemUser(), false);
                } catch (Exception e) {
                    Logger.error(this, e.getMessage(),e);
                    throw new DotContentletValidationException(e.getMessage(),e);
                }
                int size = contentlets.size();
                if(size > 0 && !hasError){

                  Boolean unique = true;
          for (ContentletSearch contentletSearch : contentlets) {
            Contentlet c = conFac.find(contentletSearch.getInode());
            Map<String, Object> cMap = c.getMap();
            Object obj = cMap.get(field.getVelocityVarName());

            if(((String) obj).equalsIgnoreCase(((String) o))) { //DOTCMS-7275
              unique = false;
              break;
            }

          }

          if(!unique) {
                      if(UtilMethods.isSet(contentlet.getIdentifier())){//DOTCMS-5409
                          Iterator<ContentletSearch> contentletsIter = contentlets.iterator();
                          while (contentletsIter.hasNext()) {
                              ContentletSearch cont = (ContentletSearch) contentletsIter.next();
                                  if(!contentlet.getIdentifier().equalsIgnoreCase(cont.getIdentifier()))
                                  {
                                      cve.addUniqueField(field);
                                      hasError = true;
                                      break;
                                  }

                          }
                      }else{
                          cve.addUniqueField(field);
                          hasError = true;
                          break;
                      }
          }
                }

              } catch (DotDataException e) {
          Logger.error(this,"Unable to get contentlets for structure: " + contentlet.getStructure().getName() ,e);
        } catch (DotSecurityException e) {
          Logger.error(this,"Unable to get contentlets for structure: " + contentlet.getStructure().getName() ,e);
        }
            }
            String dataType = (field.getFieldContentlet() != null) ? field.getFieldContentlet().replaceAll("[0-9]*", "") : "";
            if (UtilMethods.isSet(o) && dataType.equals("text")) {
                String s = "";
                try{
                    s = (String)o;
                }catch (Exception e) {
                    Logger.error(this,"Unable to get string value for text field in contentlet",e);
                    continue;
                }
                if (s.length() > 255) {
                    hasError = true;
                    cve.addMaxLengthField(field);
                    continue;
                }
            }
            String regext = field.getRegexCheck();
            if (UtilMethods.isSet(regext)) {
                if (UtilMethods.isSet(o)) {
                    if(o instanceof Number){
                        Number n = (Number)o;
                        String s = n.toString();
                        boolean match = Pattern.matches(regext, s);
                        if (!match) {
                            hasError = true;
                            cve.addPatternField(field);
                            continue;
                        }
                    }else if(o instanceof String && UtilMethods.isSet(((String)o).trim())){
                        String s = ((String)o).trim();
                        boolean match = Pattern.matches(regext, s);
                        if (!match) {
                            hasError = true;
                            cve.addPatternField(field);
                            continue;
                        }
                    }
                }
            }
View Full Code Here

      ContentletRelationships contentRelationships, List<Category> cats)
      throws DotContentletValidationException {
    if (contentlet.getMap().get(Contentlet.DONT_VALIDATE_ME) != null) {
      return;
    }
    DotContentletValidationException cve = new DotContentletValidationException(
        "Contentlet's fields are not valid");
    boolean hasError = false;
    String stInode = contentlet.getStructureInode();
    if (!InodeUtils.isSet(stInode)) {
      throw new DotContentletValidationException(
          "The contentlet's structureInode must be set");
    }
    try {
      validateContentlet(contentlet, cats);
    } catch (DotContentletValidationException ve) {
      cve = ve;
      hasError = true;
    }
    if (contentRelationships != null) {
      List<ContentletRelationshipRecords> records = contentRelationships
          .getRelationshipsRecords();
      for (ContentletRelationshipRecords cr : records) {
        Relationship rel = cr.getRelationship();
        List<Contentlet> cons = cr.getRecords();
        if (cons == null) {
          cons = new ArrayList<Contentlet>();
        }
       
        //There is a case when the Relationship is between same structures
        //We need to validate that case
        boolean isRelationshipParent = true;
       
        if(rel.getParentStructureInode().equalsIgnoreCase(rel.getChildStructureInode())){
          if(!cr.isHasParent()){
            isRelationshipParent = false;
          }
        }
       
        // if i am the parent
        if (rel.getParentStructureInode().equalsIgnoreCase(stInode) && isRelationshipParent) {
          if (rel.isChildRequired() && cons.isEmpty()) {
            hasError = true;
            cve.addRequiredRelationship(rel, cons);
          }
          for (Contentlet con : cons) {
            try {
              List<Contentlet> relatedCon = getRelatedContent(
                  con, rel, APILocator.getUserAPI()
                      .getSystemUser(), true);
              if (rel.getCardinality() == 0
                  && relatedCon.size() > 0
                  && !relatedCon.get(0).getIdentifier()
                      .equals(contentlet.getIdentifier())) {
                hasError = true;
                cve.addBadCardinalityRelationship(rel, cons);
              }
              if (!con.getStructureInode().equalsIgnoreCase(
                  rel.getChildStructureInode())) {
                hasError = true;
                cve.addInvalidContentRelationship(rel, cons);
              }
            } catch (DotSecurityException e) {
              Logger.error(this, "Unable to get system user", e);
            } catch (DotDataException e) {
              Logger.error(this, "Unable to get system user", e);
            }
          }
        } else if (rel.getChildStructureInode().equalsIgnoreCase(
            stInode)) {
          if (rel.isParentRequired() && cons.isEmpty()) {
            hasError = true;
            cve.addRequiredRelationship(rel, cons);
          }
          if (rel.getCardinality() == 0 && cons.size() > 1) {
            hasError = true;
            cve.addBadCardinalityRelationship(rel, cons);
          }
          for (Contentlet con : cons) {
            if (!con.getStructureInode().equalsIgnoreCase(
                rel.getParentStructureInode())) {
              hasError = true;
              cve.addInvalidContentRelationship(rel, cons);
            }
          }
        } else {
          hasError = true;
          cve.addBadRelationship(rel, cons);
        }
      }
    }
    if (hasError) {
      throw cve;
View Full Code Here

      currentContentlet.setIdentifier(currentContentident);
      if(UtilMethods.isSet(contentletFormData.get("new_owner_permissions"))) {
        currentContentlet.setOwner((String) contentletFormData.get("new_owner_permissions"));
      }
    }catch (DotContentletValidationException ve) {
      throw new DotContentletValidationException(ve.getMessage());
    }

    String subcmd = "";
    if(UtilMethods.isSet(contentletFormData.get("subcmd")))
      subcmd = (String) contentletFormData.get("subcmd");
View Full Code Here

    handleEventRecurrence(contentletFormData, contentlet);

    if(UtilMethods.isSet(contentletFormData.get("identifier")))
      if(UtilMethods.isSet(contentletFormData.get("identifier").toString()) && (!contentletFormData.get("identifier").toString().equalsIgnoreCase(contentlet.getIdentifier()))){
        //exceptionData.append("<li>The content form submission data id different from the content which is trying to be edited</li>");
        throw new DotContentletValidationException("The content form submission data id different from the content which is trying to be edited");
      }

    try {
      //IF EVENT HANDLE RECURRENCE
View Full Code Here

  @SuppressWarnings("deprecation")
  private boolean _populateContent(ActionRequest req, ActionResponse res, PortletConfig config, ActionForm form, User user, Contentlet contentlet) throws Exception, DotContentletValidationException {
    ContentletForm contentletForm = (ContentletForm) form;
    if(InodeUtils.isSet(contentletForm.getIdentifier()) && !contentletForm.getIdentifier().equals(contentlet.getIdentifier())){
      throw new DotContentletValidationException("The content form submission data id different from the content which is trying to be edited");
    }
    try {
      String structureInode = contentlet.getStructureInode();
      if (!InodeUtils.isSet(structureInode)) {
        String selectedStructure = req.getParameter("selectedStructure");
View Full Code Here

      //The form doesn't have the identifier in it. so the populate content was setting it to 0
      currentContentlet.setIdentifier(currentContentident);
    }catch (DotContentletValidationException ve) {
      ae.add(Globals.ERROR_KEY, new ActionMessage("message.contentlet.invalid.form"));
      req.setAttribute(Globals.ERROR_KEY, ae);
      throw new DotContentletValidationException(ve.getMessage());
    }

    //Saving interval review properties
    if (contentletForm.isReviewContent()) {
      currentContentlet.setReviewInterval(contentletForm.getReviewIntervalNum() + contentletForm.getReviewIntervalSelect());
View Full Code Here

TOP

Related Classes of com.dotmarketing.portlets.contentlet.business.DotContentletValidationException

Copyright © 2018 www.massapicom. 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.