Package org.infoglue.deliver.integration.dataproviders

Examples of org.infoglue.deliver.integration.dataproviders.PropertyOptionsDataProvider


        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())
View Full Code Here


             
            if(componentProperty.getDataProvider() != null && !componentProperty.getDataProvider().equals(""))
            {
              try
              {
                PropertyOptionsDataProvider provider = (PropertyOptionsDataProvider)Class.forName(componentProperty.getDataProvider()).newInstance();
                logger.info("componentProperty.getDataProviderParameters():" + componentProperty.getDataProviderParameters());
                Map parameters = httpHelper.toMap(componentProperty.getDataProviderParameters(), "UTF-8", ";");
                options = provider.getOptions(parameters, locale.getLanguage(), principal, templateController.getDatabase());
                optionsIterator = options.iterator();
              }
              catch (Exception e)
              {
                logger.warn("A problem loading the data provider for property " + componentProperty.getName() + ":" + e.getMessage(), e);
                List<ComponentPropertyOption> errorOptions = new ArrayList<ComponentPropertyOption>();
                ComponentPropertyOption componentPropertyOption = new ComponentPropertyOption();
                componentPropertyOption.setName("Error:" + e.getMessage());
                componentPropertyOption.setValue("");
                errorOptions.add(componentPropertyOption);
                optionsIterator = errorOptions.iterator();
              }
            }
           
            String exactMatchOptionName = getExactMatch(componentProperty, options);
           
            //Now let's check for smaller matches
            while(optionsIterator.hasNext())
            {
                ComponentPropertyOption option = (ComponentPropertyOption)optionsIterator.next();
                boolean debug = false;
                if(componentProperty.getName().equalsIgnoreCase("SelectTest"))
                  debug = true;
               
                try
                {
                  boolean isSame = false;
                  if(componentProperty != null && componentProperty.getValue() != null && option != null && option.getValue() != null)
                  {
                    if(exactMatchOptionName != null && option.getName().equals(exactMatchOptionName))
                    {
                      isSame = true;
                    }
                    else if(exactMatchOptionName == null)
                    {
                      //The option values
                      String optionValue = option.getValue();
                      //The saved values
                      String[] values = componentProperty.getValue().split(",");
                      logger.debug("optionValue:" + optionValue);
                      logger.debug("savedValue:" + componentProperty.getValue());
                     
                      int matches = 0;
                      for(int i=0; i<values.length; i++)
                      {
                        String savedValue = values[i];
                        logger.debug("savedValue part:" + savedValue);
                        logger.debug("optionValue:" + optionValue);
                        boolean matchesValue = savedValue.equals(optionValue);
                        if(matchesValue)
                        {
                          isSame = true;
                          logger.debug("Match on individual saved value:" + optionValue);
                          break;
                        }
                      }
                    }
                  }
                 
                  logger.debug("isSame: " + isSame + " : " + option.getValue());
     
                  sb.append("<option value=\"" + option.getValue() + "\"" + (isSame ? " selected=\"1\"" : "") + ">" + option.getName() + "</option>");
                }
                catch (Exception e)
                {
                  logger.error("Error setting picked value:" + e.getMessage(), e);
              }
            }
           
              sb.append("</select></td>");
          }
          else
            sb.append("      <td class=\"igpropertyvalue igpropertyDivider\" align=\"left\">" + componentProperty.getDisplayName() + "</td>");
   
          if(hasAccessToProperty)
            sb.append("      <td class=\"igtd igpropertyDivider\" width=\"16\"><a class=\"componentEditorLink\" href=\"" + componentEditorUrl + "ViewSiteNodePageComponents!deleteComponentPropertyValue.action?siteNodeId=" + siteNodeId + "&languageId=" + languageId + "&contentId=" + contentId + "&componentId=" + componentId + "&propertyName=" + componentProperty.getName() + "&showSimple=" + this.getTemplateController().getDeliveryContext().getShowSimple() + "\"><img src=\"" + componentEditorUrl + "/css/images/delete.gif\" border=\"0\" style='padding-top: 2px;' alt=\"delete\"/></a></td>");
          else
            sb.append("      <td class=\"igtd igpropertyDivider\" width=\"16\"></td>");
         
          sb.append("      <td class=\"igtd igpropertyDivider\" width=\"16\"><img class=\"questionMark\" src=\"" + componentEditorUrl + "/css/images/questionMarkGrad.gif\" onmouseover=\"showDiv('helpLayer" + componentProperty.getComponentId() + "_" + formatter.replaceNonAscii(componentProperty.getName(), "_") + "');\" onmouseout=\"javascript:hideDiv('helpLayer" + componentProperty.getComponentId() + "_" + formatter.replaceNonAscii(componentProperty.getName(), "_") + "');\" alt=\"question\"/>" + helpSB + "</td>");
          sb.append("    </tr>");
         
          if(hasAccessToProperty)
          {
              propertyIndex++;
              accessablePropertyIndex++;
          }
        }
        else if(componentProperty.getType().equalsIgnoreCase(ComponentProperty.CHECKBOXFIELD))
        {
          if(isAdvancedProperties)
            sb.append("  <tr class=\"igtr advancedProperty" + componentId + "\" style='display:none;'>");
          else
            sb.append("  <tr class=\"igtr\">");

          sb.append("      <td class=\"igpropertylabel igpropertyDivider\" valign=\"top\" align=\"left\">" + componentProperty.getDisplayName() + "</td>");
         
          if(hasAccessToProperty)
          {
            sb.append("      <td class=\"igpropertyvalue igpropertyDivider\" align=\"left\"><input type=\"hidden\" name=\"" + propertyIndex + "_propertyName\" value=\"" + componentProperty.getName() + "\"/>");
           
            Iterator optionsIterator = componentProperty.getOptions().iterator();
           
            if(componentProperty.getDataProvider() != null && !componentProperty.getDataProvider().equals(""))
            {
              try
              {
                PropertyOptionsDataProvider provider = (PropertyOptionsDataProvider)Class.forName(componentProperty.getDataProvider()).newInstance();
                logger.info("componentProperty.getDataProviderParameters():" + componentProperty.getDataProviderParameters());
                Map parameters = httpHelper.toMap(componentProperty.getDataProviderParameters(), "UTF-8", ";");
                optionsIterator = provider.getOptions(parameters, locale.getLanguage(), principal, templateController.getDatabase()).iterator();
              }
              catch (Exception e)
              {
                logger.warn("A problem loading the data provider for property " + componentProperty.getName() + ":" + e.getMessage(), e);
                List<ComponentPropertyOption> errorOptions = new ArrayList<ComponentPropertyOption>();
View Full Code Here

 
            if(componentProperty.getDataProvider() != null && !componentProperty.getDataProvider().equals(""))
            {
              try
              {
                PropertyOptionsDataProvider provider = (PropertyOptionsDataProvider)Class.forName(componentProperty.getDataProvider()).newInstance();
                Map parameters = httpHelper.toMap(componentProperty.getDataProviderParameters(), "UTF-8", ";");
                optionsIterator = provider.getOptions(parameters, locale.getLanguage(), principal, db).iterator();
              }
              catch (Exception e)
              {
                logger.warn("A problem loading the data provider for property " + componentProperty.getName() + ":" + e.getMessage(), e);
                List<GenericOptionDefinition> errorOptions = new ArrayList<GenericOptionDefinition>();
                ComponentPropertyOption componentPropertyOption = new ComponentPropertyOption();
                componentPropertyOption.setName("Error:" + e.getMessage());
                componentPropertyOption.setValue("");
                errorOptions.add(componentPropertyOption);
                optionsIterator = errorOptions.iterator();
              }
            }
           
            while(optionsIterator.hasNext())
            {
                ComponentPropertyOption option = (ComponentPropertyOption)optionsIterator.next();
                boolean isSame = false;
                if(componentProperty != null && componentProperty.getValue() != null && option != null && option.getValue() != null)
                  isSame = componentProperty.getValue().equals(option.getValue());
                sb.append("<option value=\"" + option.getValue() + "\"" + (isSame ? " selected=\"1\"" : "") + ">" + option.getName() + "</option>");
            }
           
            sb.append("  </select>");         
          }
          else
            sb.append("  " + componentProperty.getName() + "");
          sb.append("    </div>");
   
          if(hasAccessToProperty)
          {
            sb.append("  <div class=\"actionGroup\">");
            sb.append("  <a class=\"componentEditorLink\" href=\"" + componentEditorUrl + "ViewSiteNodePageComponents!deleteComponentPropertyValue.action?siteNodeId=" + siteNodeId + "&amp;languageId=" + languageId + "&amp;contentId=" + contentId + "&amp;componentId=" + componentId + "&amp;propertyName=" + componentProperty.getName() + "&amp;showSimple=" + showSimple + "\"><img src=\"" + componentEditorUrl + "/css/images/delete.gif\" border=\"0\"/></a>");
            sb.append("  </div>");
          }
          sb.append("  </div>");
       
          sb.append("  </div>");
         
          if(hasAccessToProperty)
              propertyIndex++;
        }
        else if(componentProperty.getType().equalsIgnoreCase(ComponentProperty.CHECKBOXFIELD))
        {
          if(isAdvancedProperties)
            sb.append("  <div class=\"propertyRow advancedProperty" + componentId + "\" style='display:none;'>");
          else
            sb.append("  <div class=\"propertyRow\">");
         
          //sb.append("  <div class=\"propertyRow\">");
          sb.append("    <div class=\"propertyRowLeft\">");
          sb.append("    <label for=\"" + componentProperty.getName() + "\" onMouseOver=\"showDiv('helpLayer" + componentProperty.getComponentId() + "_" + componentProperty.getName() + "');\" onMouseOut=\"javascript:hideDiv('helpLayer" + componentProperty.getComponentId() + "_" + componentProperty.getName() + "');\">" + componentProperty.getDisplayName() + "</label>");
          sb.append("    </div>");
 
          sb.append("    <div class=\"propertyRowRight\">");
          sb.append("      <div class=\"fieldGroup\">");                 
          if(hasAccessToProperty)
          {
            sb.append("    <input type=\"hidden\" name=\"" + propertyIndex + "_propertyName\" value=\"" + componentProperty.getName() + "\">");
            int numberOfCheckboxes = 0;
            Iterator optionsIterator = componentProperty.getOptions().iterator();
           
            if(componentProperty.getDataProvider() != null && !componentProperty.getDataProvider().equals(""))
            {
              try
              {
                PropertyOptionsDataProvider provider = (PropertyOptionsDataProvider)Class.forName(componentProperty.getDataProvider()).newInstance();
                Map parameters = httpHelper.toMap(componentProperty.getDataProviderParameters(), "UTF-8", ";");
                optionsIterator = provider.getOptions(parameters, locale.getLanguage(), principal, db).iterator();
              }
              catch (Exception e)
              {
                logger.warn("A problem loading the data provider for property " + componentProperty.getName() + ":" + e.getMessage(), e);
                List<ComponentPropertyOption> errorOptions = new ArrayList<ComponentPropertyOption>();
View Full Code Here

TOP

Related Classes of org.infoglue.deliver.integration.dataproviders.PropertyOptionsDataProvider

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.