GithubHelp home page GithubHelp logo

asual / summer Goto Github PK

View Code? Open in Web Editor NEW
46.0 6.0 9.0 2.27 MB

Summer - The HTML5 Library for Java and Scala

Home Page: http://www.asual.com/summer

License: Apache License 2.0

CSS 1.13% JavaScript 13.55% Java 82.44% HTML 2.88%

summer's Introduction

Summer - The HTML5 Library for Java and Scala

Summer is the next generation presentation layer library for Spring MVC. It provides the world's best HTML5 template engine and takes advantage of many Spring features like MVC annotations and data binding, content negotiation, REST support, conversion and various others. In addition it supports a number of Java EE 6 specifications including Servlet 3.0, JPA 2.0, Bean Validation and EL 2.2.

Summer enables the creation of true web modules that package every required static resource. It also makes AJAX really simple by providing partial page rendering capabilities. Support for HTML5 WebSockets is available through the popular Atmosphere framework.

Quickstart

You can create and run a blank Summer project by using the following commands:

mvn archetype:generate -DarchetypeCatalog=http://www.asual.com/maven/content/groups/public/archetype-catalog.xml
mvn eclipse:eclipse -DdownloadSources=true
mvn jetty:run

Specify the dependencies manually

In order to use Summer you need the following records to your Maven 3 POM file:

<repositories>
    <repository>
        <id>com.asual.repositories.releases</id>
        <name>Asual Releases Repository</name>
        <url>http://www.asual.com/maven/content/groups/public</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>com.asual.summer</groupId>
        <artifactId>summer-core</artifactId>
        <version>1.0.0.RC1</version>
    </dependency>
</dependencies>

Changes

14/04/2014 - 1.1.4

  • Migrated to Spring MVC 3.2.8.RELEASE
  • Support for conditional content negotiation based on URI extensions

01/19/2012 - 1.0.0.RC1

  • New LessPack module for resource optimization and less.js support.
  • New Beauty module for enhanced look and feel of form components.
  • New Bundle plugin for Servlet 2.5 compatibility.
  • New OneJar plugin for packaging applications as executable JAR files.
  • New AppEngine sample.
  • Improved response rendering.
  • Support for boolean attributes.
  • Various minor improvements.

02/18/2011 - 1.0.0.M2

  • New pure Scala sample.
  • Improved AJAX support.
  • AJAX powered form validation.
  • Support for parameterized HTML templates.
  • Support for Commons FileUpload Streaming API.
  • Support for XML resource bundles.
  • Switched to JavaEE 6 annotations.
  • Separate JSON and XML view modules.
  • XStream replaced by the FasterXML Databind package.
  • Updated jQuery and Atmosphere versions.

10/01/2010 - 1.0.0.M1

Initial release.

summer's People

Contributors

asual avatar dependabot[bot] avatar docdoc avatar kpentchev avatar rgeorgiev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

summer's Issues

Error in opening Zip file crashes server

Web app using summer experiences the following behaviour deployed using Tomcat 6.0.24 on Ubuntu server: some time after deployment there is an error in opening some part of the application dependencies archive. As a result the entire web application crashes and only a restart of the container fix this. Looks as if there is a jar file being changed and reloading it fails, causing a restart of the server (fails too). Here is a related issue: http://forums.devshed.com/java-help-9/error-in-opening-zip-file-59448.html

Stack trace:
Sep 19, 2011 1:44:03 PM com.sun.faces.application.view.FaceletViewHandlingStrategy handleRenderException
SEVERE: Error Rendering View[/META-INF/views/error.html]
javax.faces.FacesException: Error Checking Last Modified for jar:file:/opt/ontotext/lld_data/0.5/apache-tomcat-6.0.29/webapps/ROOT/WEB-INF/lib/summer-core-1.0.0.M3.jar!/META-INF/resources/cc/html.xhtml
at com.sun.faces.facelets.impl.DefaultFaceletCache._getLastModified(DefaultFaceletCache.java:160)
at com.sun.faces.facelets.impl.DefaultFaceletCache.access$000(DefaultFaceletCache.java:58)
at com.sun.faces.facelets.impl.DefaultFaceletCache$ExpiryChecker.isExpired(DefaultFaceletCache.java:217)
at com.sun.faces.facelets.impl.DefaultFaceletCache$ExpiryChecker.isExpired(DefaultFaceletCache.java:211)
at com.sun.faces.util.ExpiringConcurrentCache.containsKey(ExpiringConcurrentCache.java:152)
at com.sun.faces.facelets.impl.DefaultFaceletCache.isFaceletCached(DefaultFaceletCache.java:123)
at com.sun.faces.facelets.impl.DefaultFaceletFactory.needsToBeRefreshed(DefaultFaceletFactory.java:253)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.getComponentMetadata(FaceletViewHandlingStrategy.java:212)
at com.sun.faces.application.ApplicationImpl.createComponent(ApplicationImpl.java:935)
at com.sun.faces.facelets.tag.jsf.CompositeComponentTagHandler.createComponent(CompositeComponentTagHandler.java:160)
at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.createComponent(ComponentTagHandlerDelegateImpl.java:431)
at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:144)
at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:114)
at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:94)
at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:79)
at com.sun.faces.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:148)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.buildView(FaceletViewHandlingStrategy.java:734)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:358)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:127)
at com.asual.summer.core.view.HtmlView.renderMergedOutputModel(HtmlView.java:103)
at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1120)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:890)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:792)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:851)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:756)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.asual.summer.core.RequestFilter.doFilterInternal(RequestFilter.java:131)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:438)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:421)
at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:270)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:636)
Caused by: java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.(ZipFile.java:131)
at java.util.jar.JarFile.(JarFile.java:150)
at java.util.jar.JarFile.(JarFile.java:87)
at sun.net.www.protocol.jar.URLJarFile.<init>(URLJarFile.java:90)
at sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:66)
at sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:86)
at sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:122)
at sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:150)
at com.sun.faces.facelets.impl.DefaultFaceletCache._getLastModified(DefaultFaceletCache.java:157)
... 47 more

HeadPackRenderer synchronization problem

ConcurrentModificationException in HeadPackRenderer when multiple simultanious calls are made to a view.

java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
at java.util.AbstractList$Itr.next(AbstractList.java:349)
at com.asual.summer.lesspack.HeadPackRenderer.combineScripts(HeadPackRenderer.java:203)
at com.asual.summer.lesspack.HeadPackRenderer.encodeHeadResources(HeadPackRenderer.java:117)
at com.asual.summer.core.faces.HeadRenderer.encodeBegin(HeadRenderer.java:59)
at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:824)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:298)
at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:101)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:849)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1643)
at com.asual.summer.core.faces.CompositeComponentRenderer.encodeChildren(CompositeComponentRenderer.java:83)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:849)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:300)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:305)
at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:101)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:849)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1643)
at com.asual.summer.core.faces.CompositeComponentRenderer.encodeChildren(CompositeComponentRenderer.java:83)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:849)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1643)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1646)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:389)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:127)
at com.asual.summer.core.view.HtmlView.renderMergedOutputModel(HtmlView.java:103)
at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1120)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:890)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:792)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:851)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:756)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.asual.summer.core.RequestFilter.doFilterInternal(RequestFilter.java:131)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)

incorrect iteration over maps

When I try to iterate over a Map<String,Map<String, Object> with the followin code, a NPE is always thrown, because the 'item' var is always an empty string(most probably null before some casting occurs) in the second 'data-repeat' attribute statement.

 <ul data-repeat="${listAnnComparator.sortList(annotations.keySet())}" data-var="item">

   <li data-rendered="${item != 'sections' && item != 'debugAnnotations'}">
    <span>${item}</span>
    <ul data-repeat="${listAnnComparator.sortList(annotations.get(item).keySet())}" data-var="item2" data-rendered="${annotations.hasNext(item)}">

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.