ICEfaces
  1. ICEfaces
  2. ICE-5576

ACE metadata static resource optimization

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0-Alpha3
    • Fix Version/s: EE-3.2.0.GA, 3.3
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      ICEfaces 2
    • Affects:
      Documentation (User Guide, Ref. Guide, etc.)

      Description

      We need a way to declare static javascript and css dependencies in our component metadata.

      For example, in org.icefaces.component.slider.Slider we have this method called from the constructor:

          private void loadDependency(FacesContext context) {
              context.getViewRoot().addComponentResource(context, new UIOutput() {
                  public void encodeBegin(FacesContext context) throws IOException {
                      ResponseWriter writer = context.getResponseWriter();
                      writer.startElement("script", this);
                      writer.writeAttribute("type", "text/javascript", null);
                      writer.writeAttribute("src", "http://yui.yahooapis.com/3.0.0/build/yui/yui-min.js", null);
                      writer.endElement("script");
                  }
              }, "head");
          }

      Here we're manually coding a javascript dependency on http://yui.yahooapis.com/3.0.0/build/yui/yui-min.js which could be represented as an annotation on SliderMeta, and then this method could be generated in SliderBase.

      Above that, we use the new JSF 2.0 annotations for declaring resources to be served out of our own component JAR:

      @ResourceDependencies({
          @ResourceDependency(name="util.js",library="org.icefaces.component.util"),
          @ResourceDependency(name="yui3.js",library="org.icefaces.component.util"),
          @ResourceDependency(name="slider.js",library="org.icefaces.component.slider")
      })

      Again, it would be nice if we could specify some annotation on SliderMeta, which would then generate this code on SliderBase.

        Issue Links

          Activity

          Repository Revision Date User Message
          ICEsoft Public SVN Repository #22153 Wed Aug 11 01:14:14 MDT 2010 art.zambrano ICE-5576 support for a single @ResourceDependency annotation in Meta classes
          Files Changed
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/artifacts/ComponentArtifact.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #22141 Mon Aug 09 23:13:06 MDT 2010 mark.collette ICE-5576 : Sparkle metadata static resource optimization
          Files Changed
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/inputFiles/InputFilesMeta.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #22132 Sun Aug 08 22:30:17 MDT 2010 art.zambrano ICE-5576 Moved @ResourceDependency annotations from the concrete class to the meta class
          Files Changed
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/pushbutton/PushButtonMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/checkbox/Checkbox.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/pushbutton/PushButton.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/commandlink/CommandLink.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/menubutton/MenuButton.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/tab/TabSet.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/logger/LoggerMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/radiobutton/RadioButtonMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/radiobutton/ButtonGroupMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/radiobutton/ButtonGroup.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/inputFiles/InputFilesMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/tab/TabMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/selectinputdate/SelectInputDate.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/radiobutton/RadioButton.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/inputFiles/InputFiles.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/slider/SliderMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/selectinputdate/SelectInputDateMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/checkbox/CheckboxMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/menubutton/MenuButtonMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/commandlink/CommandLinkMeta.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/slider/Slider.java
          Commit graph MODIFY /icefaces/scratchpads/sparkle/component/src/org/icefaces/component/logger/Logger.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #22115 Thu Aug 05 22:49:02 MDT 2010 art.zambrano ICE-5576 added functionality to read @ResourceDependency annotations from Meta classes and write them to Base classes
          Files Changed
          Commit graph MODIFY /icefaces/scratchpads/sparkle/generator/src/org/icefaces/generator/artifacts/ComponentArtifact.java

            People

            • Assignee:
              Unassigned
              Reporter:
              Mark Collette
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: