Skip to content
This repository was archived by the owner on Aug 10, 2023. It is now read-only.

Commit c4d8069

Browse files
committed
Added license and incorporated feedback for EA.
1 parent e0ecb78 commit c4d8069

File tree

6 files changed

+84
-19
lines changed

6 files changed

+84
-19
lines changed

spec/chapters/controllers.tex

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ \section{Controllers}
2828
}
2929
\end{listing}
3030

31-
In this example, \code{hello} is a controller method that returns a path to a Java Server Page (JSP).
31+
In this example, \code{hello} is a controller method that returns a path to a JavaServer Page (JSP).
3232
The semantics of controller methods differ slightly from \jaxrs\ resource methods; in particular, a
3333
return type of \code{String} is interpreted as a view path rather than text content. Moreover,
3434
the default media type for a response is assumed to be \code{text/html}, but otherwise can
@@ -37,7 +37,7 @@ \section{Controllers}
3737
The return type of a controller method is restricted to be one of four possible types
3838
\assertref{controller-types}:
3939
\begin{description}
40-
\item[void] A controller method that returns void is REQUIRED to be decorated by \View
40+
\item[void] A controller method that returns void is REQUIRED to be decorated by \View\
4141
\assertref{void-controllers}.
4242
\item[String] The string returned is interpreted as a path to a view.
4343
\item[Viewable] A \Viewable\ is a class that encapsulates information about a view and
@@ -144,7 +144,8 @@ \section{Models}
144144
which defines a map between names and objects. Support for the \Models\
145145
interface is mandatory for all view engines; support for CDI \Named\ beans is
146146
OPTIONAL but highly RECOMMENDED. Application developers are encouraged to use CDI-based
147-
models whenever supported.
147+
models whenever supported, and thus take advantage of the existing CDI and EL integration
148+
on the platform.
148149

149150
Let us now revisit our hello-world example, this time also showing how to update
150151
a model. Since we intent to show the two ways in which models can be used, we define the
@@ -197,7 +198,7 @@ \section{Models}
197198
@GET
198199
@Controller
199200
public String hello() {
200-
models.set("greeting", new Greeting("Hello there!");
201+
models.put("greeting", new Greeting("Hello there!");
201202
return "hello.jsp";
202203
}
203204
}

spec/chapters/engines.tex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,8 @@ \section{Selection Algorithm}
7777
access to the named models from EL expressions.
7878

7979
A view returned by a controller method represents a path within an
80-
application archive. If the path is relative, does not start with \code{/}, implementations
81-
MUST resolve view paths relative to \code{ViewEngine.DEFAULT\_VIEW\_FOLDER},
80+
application archive. If the path is relative, does not start with \code{"/"}, implementations
81+
MUST resolve view paths relative to value of \code{ViewEngine. DEFAULT\_VIEW\_FOLDER},
8282
which is set to \code{/WEB-INF/views/}. If the path is absolute, no further processing
8383
is required \assertref{view-resolution}. It is recommended to use relative paths and a
8484
location under \code{WEB-INF} to prevent direct access to views as static resources.

spec/chapters/intro.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ \chapter{Introduction}
1414

1515
The API defined by this specification falls into the action-based
1616
category and is, therefore, not intended to be a replacement for component-based framworks such as
17-
Java Server Faces (JSF) \cite{jsf}, but simply a different approach to building Web applications on the
17+
JavaServer Faces (JSF) \cite{jsf}, but simply a different approach to building Web applications on the
1818
Java EE platform.
1919

2020
\section{Goals}

spec/chapters/license.tex

Lines changed: 75 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,81 @@
11
\begin{flushleft}
22

3-
{\bfseries JSR-371 MVC (\lq\lq Specification\rq\rq)\\
4-
Version: 1.0 \\
5-
Status: Early Draft \\
6-
Release: \today\\
7-
Copyright 2014-2015 Oracle America, Inc. (``Oracle'') \\
8-
500 Oracle Parkway, Redwood Shores, California 94065, U.S.A\\
9-
All rights reserved.
3+
\vspace{1em}
4+
5+
ORACLE AMERICA, INC. IS WILLING TO LICENSE THIS SPECIFICATION TO YOU ONLY UPON THE CONDITION THAT YOU ACCEPT ALL OF THE TERMS CONTAINED IN THIS LICENSE AGREEMENT ("AGREEMENT"). PLEASE READ THE TERMS AND CONDITIONS OF THIS AGREEMENT CAREFULLY. BY DOWNLOADING THIS SPECIFICATION, YOU ACCEPT THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU ARE NOT WILLING TO BE BOUND BY THEM, SELECT THE "DECLINE" BUTTON AT THE BOTTOM OF THIS PAGE AND THE DOWNLOADING PROCESS WILL NOT CONTINUE.
6+
7+
\vspace{1em}
8+
9+
{\bfseries
10+
Specification: JSR-371 MVC ("Specification") Version: 1.0 \\
11+
Status: Early Draft Review \\
12+
Release: March 2015 \\
13+
Copyright 2015 Oracle America, Inc. \\
14+
500 Oracle Parkway, Redwood City, California 94065, U.S.A. \\
15+
All rights reserved.\\
1016
}
1117

12-
TBD
18+
\vspace{1em}
19+
{\bfseries NOTICE}
20+
21+
The Specification is protected by copyright and the information described therein may be protected by one or more U.S. patents, foreign patents, or pending applications. Except as provided under the following license, no part of the Specification may be reproduced in any form by any means without the prior written authorization of Oracle America, Inc. ("Oracle") and its licensors, if any. Any use of the Specification and the information described therein will be governed by the terms and conditions of this Agreement.
22+
23+
Subject to the terms and conditions of this license, including your compliance with Paragraphs 1 and 2 below, Oracle hereby grants you a fully-paid, non-exclusive, non-transferable, limited license (without the right to sublicense) under Oracle's intellectual property rights to:
24+
25+
1. Review the Specification for the purposes of evaluation. This includes: (i) developing implementations of the Specification for your internal, non-commercial use; (ii) discussing the Specification with any third party; and (iii) excerpting brief portions of the Specification in oral or written communications which discuss the Specification provided that such excerpts do not in the aggregate constitute a significant portion of the Technology.
26+
27+
2. Distribute implementations of the Specification to third parties for their testing and evaluation use, provided that any such implementation:
28+
(i) does not modify, subset, superset or otherwise extend the Licensor Name Space, or include any public or protected packages, classes, Java interfaces, fields or methods within the Licensor Name Space other than those required/authorized by the Specification or Specifications being implemented;
29+
(ii) is clearly and prominently marked with the word "UNTESTED" or "EARLY ACCESS" or "INCOMPATIBLE" or "UNSTABLE" or "BETA" in any list of available builds and in proximity to every link initiating its download, where the list or link is under Licensee's control; and
30+
(iii) includes the following notice:
31+
"This is an implementation of an early-draft specification developed under the Java Community Process (JCP) and is made available for testing and evaluation purposes only. The code is not compatible with
32+
any specification of the JCP."
33+
34+
The grant set forth above concerning your distribution of implementations of the specification is contingent upon your agreement to terminate development and distribution of your "early draft" implementation as soon as feasible following final completion of the specification. If you fail to do so, the foregoing grant shall be considered null and void.
35+
36+
No provision of this Agreement shall be understood to restrict your ability to make and distribute to third parties applications written to the Specification.
37+
38+
Other than this limited license, you acquire no right, title or interest in or to the Specification or any other Oracle intellectual property, and the Specification may only be used in accordance with the license terms set forth herein. This license will expire on the earlier of: (a) two (2) years from the date of Release listed above; (b) the date on which the final version of the Specification is publicly released; or (c) the date on which the Java Specification Request (JSR) to which the Specification corresponds is withdrawn. In addition, this license will terminate immediately without notice from Oracle if you fail to comply with any provision of this license. Upon termination, you must cease use of or destroy the Specification.
39+
40+
"Licensor Name Space" means the public class or interface declarations whose names begin with "java", "javax", "com.oracle" or their equivalents in any subsequent naming convention adopted by Oracle through the Java Community Process, or any recognized successors or replacements thereof
41+
42+
\vspace{1em}
43+
{\bfseries TRADEMARKS}
44+
45+
No right, title, or interest in or to any trademarks, service marks, or trade names of Oracle or Oracle's licensors is granted hereunder. Oracle, the Oracle logo, and Java are trademarks or registered trademarks of Oracle America, Inc. in the U.S. and other countries.
46+
47+
\vspace{1em}
48+
{\bfseries DISCLAIMER OF WARRANTIES}
49+
50+
THE SPECIFICATION IS PROVIDED "AS IS" AND IS EXPERIMENTAL AND MAY CONTAIN DEFECTS OR DEFICIENCIES WHICH CANNOT OR WILL NOT BE CORRECTED BY ORACLE. ORACLE MAKES NO REPRESENTATIONS OR WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT THAT THE CONTENTS OF THE SPECIFICATION ARE SUITABLE FOR ANY PURPOSE OR THAT ANY PRACTICE OR IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADE SECRETS OR OTHER RIGHTS. This document does not represent any commitment to release or implement any portion of the Specification in any product.
51+
52+
THE SPECIFICATION COULD INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS. CHANGES ARE PERIODICALLY ADDED TO THE INFORMATION THEREIN; THESE CHANGES WILL BE INCORPORATED INTO NEW VERSIONS OF THE SPECIFICATION, IF ANY. ORACLE MAY MAKE IMPROVEMENTS AND/OR CHANGES TO THE PRODUCT(S) AND/OR THE PROGRAM(S) DESCRIBED IN THE SPECIFICATION AT ANY TIME. Any use of such changes in the Specification will be governed by the then-current license for the applicable version of the Specification.
53+
54+
\vspace{1em}
55+
{\bfseries LIMITATION OF LIABILITY}
56+
57+
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL ORACLE OR ITS LICENSORS BE LIABLE FOR ANY DAMAGES, INCLUDING WITHOUT LIMITATION, LOST REVENUE, PROFITS OR DATA, OR FOR SPECIAL,
58+
INDIRECT, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF OR RELATED TO ANY FURNISHING, PRACTICING, MODIFYING OR ANY USE OF THE SPECIFICATION, EVEN IF ORACLE AND/OR ITS LICENSORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
59+
60+
You will hold Oracle (and its licensors) harmless from any claims based on your use of the Specification for any purposes other than the limited right of evaluation as described above, and from any claims that later versions or releases of any Specification furnished to you are incompatible with the Specification provided to you under this license.
61+
62+
\vspace{1em}
63+
{\bfseries RESTRICTED RIGHTS LEGEND}
64+
65+
If this Software is being acquired by or on behalf of the U.S. Government or by a U.S. Government prime contractor or subcontractor (at any tier), then the Government's rights in the Software and accompanying documentation shall be only as set forth in this license; this is in accordance with 48 C.F.R. 227.7201 through 227.7202-4 (for Department of Defense (DoD) acquisitions) and with 48 C.F.R. 2.101 and 12.212 (for non-DoD acquisitions).
66+
67+
\vspace{1em}
68+
{\bfseries REPORT}
69+
70+
You may wish to report any ambiguities, inconsistencies or inaccuracies you may find in connection with your evaluation of the Specification ("Feedback"). To the extent that you provide Oracle with any Feedback, you hereby: (i) agree that such Feedback is provided on a non-proprietary and non- confidential basis, and (ii) grant Oracle a perpetual, non-exclusive, worldwide, fully paid-up, irrevocable license, with the right to sublicense through multiple levels of sublicensees, to incorporate, disclose, and use without limitation the Feedback for any purpose related to the Specification and future versions, implementations, and test suites thereof.
71+
72+
\vspace{1em}
73+
{\bfseries GENERAL TERMS}
74+
75+
Any action related to this Agreement will be governed by California law and controlling U.S. federal law. The U.N. Convention for the International Sale of Goods and the choice of law rules of any jurisdiction will not apply.
76+
77+
The Specification is subject to U.S. export control laws and may be subject to export or import regulations in other countries. Licensee agrees to comply strictly with all such laws and regulations and acknowledges that it has the responsibility to obtain such licenses to export, re-export or import as may be required after delivery to Licensee.
78+
79+
This Agreement is the parties' entire agreement relating to its subject matter. It supersedes all prior or contemporaneous oral or written communications, proposals, conditions, representations and warranties and prevails over any conflicting or additional terms of any quote, order, acknowledgment, or other communication between the parties relating to its subject matter during the term of this Agreement. No modification to this Agreement will be binding, unless in writing and signed by an authorized representative of each party.
1380

1481
\end{flushleft}

spec/chapters/validation.tex

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ \section{Exception Mappers}
2323
\begin{listing}{1}
2424
@Controller
2525
@Path("form")
26-
@Produces("text/html")
2726
public class FormController {
2827

2928
@POST
@@ -98,7 +97,6 @@ \section{Validation Exceptions}
9897
\begin{listing}{1}
9998
@Controller
10099
@Path("form")
101-
@Produces("text/html")
102100
public class FormController {
103101

104102
@Inject
@@ -124,7 +122,7 @@ \section{Validation Exceptions}
124122
class can handle validation errors. As a result, methods in this class
125123
that validate parameters should call \code{vr.isFailed()} to verify if
126124
validation errors were found.~\footnote{The \code{ValidateOnExecution}
127-
annotation is necessary to ensure that CDI does not abort the
125+
annotation is necessary to ensure that CDI and BV do not abort the
128126
invocation upon detecting a violation. Thus, to ensure the correct semantics,
129127
validation must be performed by the JAX-RS implementation before the method
130128
is called.}
@@ -141,7 +139,6 @@ \section{Validation Exceptions}
141139
\begin{listing}{1}
142140
@Controller
143141
@Path("form")
144-
@Produces("text/html")
145142
public class FormController {
146143

147144
private ValidationResult vr;

spec/spec.pdf

7.08 KB
Binary file not shown.

0 commit comments

Comments
 (0)