Package org.infoglue.cms.entities.management

Examples of org.infoglue.cms.entities.management.ContentTypeAttribute


    List localAttributes = ContentTypeDefinitionController.getController().getContentTypeAttributes(localSchemaValue);

    Iterator remoteAttributesIterator = remoteAttributes.iterator();
    while(remoteAttributesIterator.hasNext())
    {
      ContentTypeAttribute conentTypeAttribute = (ContentTypeAttribute)remoteAttributesIterator.next();
      //logger.info("conentTypeAttribute:" + conentTypeAttribute.getName());
      Iterator localAttributesIterator = localAttributes.iterator();
      boolean attributeExisted = false;
      while(localAttributesIterator.hasNext())
      {
        ContentTypeAttribute localConentTypeAttribute = (ContentTypeAttribute)localAttributesIterator.next();
        if(localConentTypeAttribute.getName().equals(conentTypeAttribute.getName()))
          attributeExisted = true;
      }
      if(!attributeExisted)
        deviatingAttributes.add(conentTypeAttribute);
    }
View Full Code Here


        sb.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?><article xmlns=\"x-schema:ArticleSchema.xml\"><attributes>");
        List contentTypeAttributes = ContentTypeDefinitionController.getController().getContentTypeAttributes(createContentTypeDefinitionVO, true);
        Iterator contentTypeAttributesIterator = contentTypeAttributes.iterator();
        while(contentTypeAttributesIterator.hasNext())
        {
          ContentTypeAttribute contentTypeAttribute = (ContentTypeAttribute)contentTypeAttributesIterator.next();
          String initialValue = null;
          if(contentTypeAttribute.getContentTypeAttribute("initialData") != null && contentTypeAttribute.getContentTypeAttribute("initialData").getContentTypeAttributeParameterValue() != null)
          {
            initialValue = contentTypeAttribute.getContentTypeAttribute("initialData").getContentTypeAttributeParameterValue().getValue("label");
          }
         
          boolean skip = false;
          if(contentTypeAttribute.getContentTypeAttribute("enableRelationEditor") != null && contentTypeAttribute.getContentTypeAttribute("enableRelationEditor").getContentTypeAttributeParameterValue() != null && contentTypeAttribute.getContentTypeAttribute("enableRelationEditor").getContentTypeAttributeParameterValue().getValue("label").equals("true"))
          {
            skip = true;
          }
          if(contentTypeAttribute.getContentTypeAttribute("enableContentRelationEditor") != null && contentTypeAttribute.getContentTypeAttribute("enableContentRelationEditor").getContentTypeAttributeParameterValue() != null && contentTypeAttribute.getContentTypeAttribute("enableContentRelationEditor").getContentTypeAttributeParameterValue().getValue("label").equals("true"))
          {
            skip = true;
          }
          if(contentTypeAttribute.getContentTypeAttribute("enableStructureRelationEditor") != null && contentTypeAttribute.getContentTypeAttribute("enableStructureRelationEditor").getContentTypeAttributeParameterValue() != null && contentTypeAttribute.getContentTypeAttribute("enableStructureRelationEditor").getContentTypeAttributeParameterValue().getValue("label").equals("true"))
          {
            skip = true;
          }
          if(!skip)
          {
            if(initialValue == null || initialValue.trim().equals(""))
              initialValue = "State " + contentTypeAttribute.getName();
            sb.append("<" + contentTypeAttribute.getName() + "><![CDATA[" + initialValue + "]]></" + contentTypeAttribute.getName() + ">");
          }
          else
            logger.info("Skipping:" + contentTypeAttribute.getName());
        }
        sb.append("</attributes></article>");
       
        String defaultValue = sb.toString();
View Full Code Here

  public Map<ContentTypeAttribute,List<ContentTypeAttribute>> getTabbedContentTypeAttributes(ContentTypeDefinitionVO contentTypeDefinitionVO, Boolean includeInherited, String languageCode)
  {
    Map<ContentTypeAttribute,List<ContentTypeAttribute>> tabbedAttributes = new LinkedHashMap<ContentTypeAttribute,List<ContentTypeAttribute>>();
   
    ContentTypeAttribute currentTab = new ContentTypeAttribute();
    currentTab.setName("default");
    List<ContentTypeAttribute> currentAttributes = new ArrayList<ContentTypeAttribute>();
   
    List<ContentTypeAttribute> attributes = getContentTypeAttributes(contentTypeDefinitionVO, includeInherited, languageCode);
    for(ContentTypeAttribute attribute : attributes)
    {
      if(!attribute.getInputType().equalsIgnoreCase("tab"))
      {
        currentAttributes.add(attribute);
      }
      else
      {
        if(currentAttributes.size() > 0 && currentTab.getName().equals("default"))
          tabbedAttributes.put(currentTab, currentAttributes);
       
        currentTab = attribute;
        currentAttributes = new ArrayList<ContentTypeAttribute>();
        tabbedAttributes.put(currentTab, currentAttributes);
View Full Code Here

        org.dom4j.Element child = (org.dom4j.Element)anlIterator.next();
       
        String attributeName = child.attributeValue("name");
        String attributeType = child.attributeValue("type");

        ContentTypeAttribute contentTypeAttribute = new ContentTypeAttribute();
        contentTypeAttribute.setPosition(i);
        contentTypeAttribute.setName(attributeName);
        contentTypeAttribute.setInputType(attributeType);

        String validatorsXPath = "/xs:schema/xs:complexType[@name = 'Validation']/xs:annotation/xs:appinfo/form-validation/formset/form/field[@property = '"+ attributeName +"']";

        String dataProviderClass = null;
        String dataProviderParameters = null;
       
        // Get validators
        List validatorNodeList = document.getRootElement().selectNodes(validatorsXPath);
        Iterator validatorNodeListIterator = validatorNodeList.iterator();
        while(validatorNodeListIterator.hasNext())
        {
          org.dom4j.Element validatorNode = (org.dom4j.Element)validatorNodeListIterator.next();

          if (validatorNode != null)
          {
              Map arguments = new HashMap();
             
              List varNodeList = validatorNode.elements("var");
            Iterator varNodeListIterator = varNodeList.iterator();
            while(varNodeListIterator.hasNext())
            {
              org.dom4j.Element varNode = (org.dom4j.Element)varNodeListIterator.next();

              String varName = getElementValue(varNode, "var-name");
              String varValue = getElementValue(varNode, "var-value");

              arguments.put(varName, varValue);
            }     

            List<LanguageVO> languageVOList = LanguageController.getController().getLanguageVOList();
            for(LanguageVO languageVO : languageVOList)
            {
              String msgText = validatorNode.element("msg").attributeValue("key_" + languageVO.getLanguageCode());
                if(msgText != null)
                arguments.put("msgText_" + languageVO.getLanguageCode(), msgText);
            }

            String msgText = validatorNode.element("msg").attributeValue("key_" + languageCode);
              if(msgText == null || msgText.equals(""))
                msgText = validatorNode.element("msg").attributeValue("key");

              if(msgText != null)
              arguments.put("msgText", msgText);

              String attribute = validatorNode.attributeValue("depends");
              String[] depends = attribute.split(",");
              for(int dependsIndex=0; dependsIndex < depends.length; dependsIndex++)
              {
                  String name = depends[dependsIndex];

                  ContentTypeAttributeValidator contentTypeAttributeValidator = new ContentTypeAttributeValidator();
                  contentTypeAttributeValidator.setName(name);
                  contentTypeAttributeValidator.setArguments(arguments);
                  contentTypeAttribute.getValidators().add(contentTypeAttributeValidator);                 
              }
          }
        }

        // Get extra parameters
        Map existingParams = new HashMap();

        org.dom4j.Element paramsNode = (org.dom4j.Element)child.selectSingleNode("xs:annotation/xs:appinfo/params");
        if (paramsNode != null)
        {
          List childnl = paramsNode.elements("param");
          Iterator childnlIterator = childnl.iterator();
          while(childnlIterator.hasNext())
          {
            org.dom4j.Element param = (org.dom4j.Element)childnlIterator.next();

            String paramId = param.attributeValue("id");
            String paramInputTypeId = param.attributeValue("inputTypeId");
                       
            ContentTypeAttributeParameter contentTypeAttributeParameter = new ContentTypeAttributeParameter();
            contentTypeAttributeParameter.setId(paramId);
            if(paramInputTypeId != null && paramInputTypeId.length() > 0)
              contentTypeAttributeParameter.setType(Integer.parseInt(paramInputTypeId));

            contentTypeAttribute.putContentTypeAttributeParameter(paramId, contentTypeAttributeParameter);
           
            existingParams.put(paramId, contentTypeAttributeParameter);

            if(paramId.equalsIgnoreCase("dataProviderClass"))
            {
              org.dom4j.Element valueElement = (org.dom4j.Element)param.selectSingleNode("values/value");
              dataProviderClass = valueElement.attributeValue("label");
            }
            else if(paramId.equalsIgnoreCase("dataProviderParameters"))
            {
              org.dom4j.Element valueElement = (org.dom4j.Element)param.selectSingleNode("values/value");
              dataProviderParameters = valueElement.attributeValue("label");
            }

            List valuesNodeList = param.elements("values");
            Iterator valuesNodeListIterator = valuesNodeList.iterator();
            while(valuesNodeListIterator.hasNext())
            {
              org.dom4j.Element vsnli = (org.dom4j.Element)valuesNodeListIterator.next();
             
              List valueNodeList = vsnli.elements("value");
              Iterator valueNodeListIterator = valueNodeList.iterator();
              while(valueNodeListIterator.hasNext())
              {
                org.dom4j.Element value = (org.dom4j.Element)valueNodeListIterator.next();

                String valueId = value.attributeValue("id");

                ContentTypeAttributeParameterValue contentTypeAttributeParameterValue = new ContentTypeAttributeParameterValue();
                contentTypeAttributeParameterValue.setId(valueId);

                List attributesList = value.attributes();
                Iterator attributesListIterator = attributesList.iterator();
                String optionName = null;
                String optionValue = null;
                while(attributesListIterator.hasNext())
                {
                  org.dom4j.Attribute attribute = (org.dom4j.Attribute)attributesListIterator.next();
                 
                  String valueAttributeName = attribute.getName();
                  String valueAttributeValue = attribute.getStringValue();
                                   
                  if(valueAttributeName.equals("label"))
                    optionName = valueAttributeValue;
                  if(valueAttributeName.equals("id"))
                    optionValue = valueAttributeValue;
                 
                  contentTypeAttributeParameterValue.addAttribute(valueAttributeName, valueAttributeValue);
                }
               
                if(paramInputTypeId.equals("1"))
                  contentTypeAttribute.getOptions().add(new ContentTypeAttributeOptionDefinition(optionName, optionValue));

                contentTypeAttributeParameter.addContentTypeAttributeParameterValue(valueId, contentTypeAttributeParameterValue);
              }
            }
          }
        }

        if(dataProviderClass != null && !dataProviderClass.equals(""))
        {
          try
          {
            PropertyOptionsDataProvider provider = (PropertyOptionsDataProvider)Class.forName(dataProviderClass).newInstance();
            Map parameters = httpHelper.toMap(dataProviderParameters, "UTF-8", ";");
            List<GenericOptionDefinition> options = provider.getOptions(parameters, languageCode, principal, db);
            contentTypeAttribute.getOptions().addAll(options);
          }
          catch (Exception e)
          {
            if(logger.isDebugEnabled())
              logger.error("Unable to fetch data from custom class [" + dataProviderClass + "]:" + e.getMessage(), e);
            else
              logger.error("Unable to fetch data from custom class [" + dataProviderClass + "]:" + e.getMessage());
          }
        }
       
        if((attributeType.equals("select") || attributeType.equals("radiobutton") || attributeType.equals("checkbox")) && !existingParams.containsKey("widget"))
        {
          ContentTypeAttributeParameter contentTypeAttributeParameter = new ContentTypeAttributeParameter();
          contentTypeAttributeParameter.setId("widget");
          contentTypeAttributeParameter.setType(0);
          contentTypeAttribute.putContentTypeAttributeParameter("widget", contentTypeAttributeParameter);

          ContentTypeAttributeParameterValue contentTypeAttributeParameterValue = new ContentTypeAttributeParameterValue();
          contentTypeAttributeParameterValue.setId("0");
          contentTypeAttributeParameterValue.addAttribute("id", "default");
          contentTypeAttributeParameterValue.addAttribute("label", "Default");
          contentTypeAttributeParameter.addContentTypeAttributeParameterValue("0", contentTypeAttributeParameterValue);
        }

        // End extra parameters
        attributes.add(contentTypeAttribute);
      }
     
      if(addPriorityAttribute)
      {
        ContentTypeAttribute contentTypeAttribute = new ContentTypeAttribute();
        contentTypeAttribute.setPosition(i);
        contentTypeAttribute.setName("PropertyPriority");
        contentTypeAttribute.setInputType("select");

        ContentTypeAttributeParameter contentTypeAttributeParameter = new ContentTypeAttributeParameter();
        contentTypeAttributeParameter.setId("title");
        contentTypeAttributeParameter.setType(0);
        contentTypeAttribute.putContentTypeAttributeParameter("title", contentTypeAttributeParameter);
        ContentTypeAttributeParameterValue contentTypeAttributeParameterValue = new ContentTypeAttributeParameterValue();
        contentTypeAttributeParameterValue.setId("title");
        contentTypeAttributeParameterValue.addAttribute("title", "PropertyPriority");
        contentTypeAttributeParameter.addContentTypeAttributeParameterValue("title", contentTypeAttributeParameterValue);

        contentTypeAttributeParameter = new ContentTypeAttributeParameter();
        contentTypeAttributeParameter.setId("description");
        contentTypeAttributeParameter.setType(0);
        contentTypeAttribute.putContentTypeAttributeParameter("description", contentTypeAttributeParameter);
        contentTypeAttributeParameterValue = new ContentTypeAttributeParameterValue();
        contentTypeAttributeParameterValue.setId("description");
        contentTypeAttributeParameterValue.addAttribute("description", "What prio should this have");
        contentTypeAttributeParameter.addContentTypeAttributeParameterValue("description", contentTypeAttributeParameterValue);

        contentTypeAttributeParameter = new ContentTypeAttributeParameter();
        contentTypeAttributeParameter.setId("initialData");
        contentTypeAttributeParameter.setType(0);
        contentTypeAttribute.putContentTypeAttributeParameter("initialData", contentTypeAttributeParameter);
        contentTypeAttributeParameterValue = new ContentTypeAttributeParameterValue();
        contentTypeAttributeParameterValue.setId("initialData");
        contentTypeAttributeParameterValue.addAttribute("initialData", "");
        contentTypeAttributeParameter.addContentTypeAttributeParameterValue("initialData", contentTypeAttributeParameterValue);

        contentTypeAttributeParameter = new ContentTypeAttributeParameter();
        contentTypeAttributeParameter.setId("class");
        contentTypeAttributeParameter.setType(0);
        contentTypeAttribute.putContentTypeAttributeParameter("class", contentTypeAttributeParameter);
        contentTypeAttributeParameterValue = new ContentTypeAttributeParameterValue();
        contentTypeAttributeParameterValue.setId("class");
        contentTypeAttributeParameterValue.addAttribute("class", "longtextfield");
        contentTypeAttributeParameter.addContentTypeAttributeParameterValue("class", contentTypeAttributeParameterValue);

        contentTypeAttributeParameter = new ContentTypeAttributeParameter();
        contentTypeAttributeParameter.setId("values");
        contentTypeAttributeParameter.setType(1);
        contentTypeAttribute.putContentTypeAttributeParameter("values", contentTypeAttributeParameter);

        contentTypeAttribute.getOptions().add(new ContentTypeAttributeOptionDefinition("Lowest", "1"));
        contentTypeAttribute.getOptions().add(new ContentTypeAttributeOptionDefinition("Low", "2"));
        contentTypeAttribute.getOptions().add(new ContentTypeAttributeOptionDefinition("Medium", "3"));
        contentTypeAttribute.getOptions().add(new ContentTypeAttributeOptionDefinition("High", "4"));
        contentTypeAttribute.getOptions().add(new ContentTypeAttributeOptionDefinition("Highest", "5"));

        contentTypeAttributeParameterValue = new ContentTypeAttributeParameterValue();
        contentTypeAttributeParameterValue.setId("1");
        contentTypeAttributeParameterValue.addAttribute("id", "1");
        contentTypeAttributeParameterValue.addAttribute("label", "Lowest");
View Full Code Here

  private void buildAttributes(final DOMBuilder domBuilder, final Element parentElement)
  { 
    final Collection typeAttributes = getContentTypeAttributes();
    for(final Iterator i=typeAttributes.iterator(); i.hasNext(); )
    {
      final ContentTypeAttribute attribute = (ContentTypeAttribute) i.next();
      final Element element = domBuilder.addElement(parentElement, attribute.getName());
      final String value = contentVersionValues.get(attribute.getName());
      if(value != null)
      {
        domBuilder.addCDATAElement(element, value);
      }
    }   
View Full Code Here

   * @throws SystemException
   */
  private static String getAttributeLabel(TemplateController pc, ContentTypeDefinitionVO ctd, String attributeName) throws SystemException
  {
    Locale currentLocale = pc.getLocale();
    ContentTypeAttribute attr = getContentTypeDefinitionAttribute(ctd, attributeName);

    if (attr != null)
    {
      return attr.getContentTypeAttribute(CTD_TITLE_KEY).getContentTypeAttributeParameterValue().getLocalizedValue(CTD_LABEL_KEY, currentLocale);
    }
    else
    {
      return null;
    }
View Full Code Here

  private static String getAttributeValueLabel(TemplateController pc,
      ContentTypeDefinitionVO ctd, String attributeName, String attributeValueName)
      throws SystemException
  {
    Locale currentLocale = pc.getLocale();
    ContentTypeAttribute attr = getContentTypeDefinitionAttribute(ctd, attributeName);

    if (attr != null)
    {
      ContentTypeAttributeParameter valuesParameter =
      // This method actually gets a ContentTypeAttributeParameter
      attr.getContentTypeAttribute(CTD_VALUES_KEY);
     
      if (valuesParameter != null)
      {
        ContentTypeAttributeParameterValue value = valuesParameter.getContentTypeAttributeParameterValue(attributeValueName);
        if (value != null)
View Full Code Here

      ContentTypeDefinitionVO typeDefinitionVO = getContentTypeDefinitionVO(contentId);
      List contentAttributes = getContentAttributes(typeDefinitionVO.getSchemaValue());
     
      for(Iterator i=contentAttributes.iterator();i.hasNext();)
      {
          ContentTypeAttribute contentTypeAttribute = (ContentTypeAttribute) i.next();
          String name = contentTypeAttribute.getName();
          result.put(name, getContentAttribute(contentId, name));
      }
      return result;
  }
View Full Code Here

      ContentTypeDefinitionVO typeDefinitionVO = getContentTypeDefinitionVO(contentId);
      List contentAttributes = getContentAttributes(typeDefinitionVO.getSchemaValue());
     
      for(Iterator i=contentAttributes.iterator();i.hasNext();)
      {
          ContentTypeAttribute contentTypeAttribute = (ContentTypeAttribute) i.next();
          String name = contentTypeAttribute.getName();
          result.put(name, getParsedContentAttribute(contentId, name));
      }
      return result;
  }
View Full Code Here

            AdvancedImageRenderer imageRenderer = new AdvancedImageRenderer();
            // set up the renderer
            while ( attrIterator.hasNext() )
            {
                ContentTypeAttribute contentTypeAttribute = (ContentTypeAttribute)(attrIterator.next());
                String attributeName = contentTypeAttribute.getName();
                if ( imageRenderer.hasAttribute( attributeName ) )
                {
                    String attribute = cdc.getContentAttribute(getDatabase(), contentVersionVO, attributeName, false );
                    imageRenderer.setAttribute( attributeName.toLowerCase(), attribute );
                }
View Full Code Here

TOP

Related Classes of org.infoglue.cms.entities.management.ContentTypeAttribute

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.