r12 - in trunk: nuiton-js-wro/src/main/java/org/nuiton/js/wro src/site/rst
Author: bpoussin Date: 2013-01-05 20:20:43 +0100 (Sat, 05 Jan 2013) New Revision: 12 Url: http://nuiton.org/projects/nuiton-js/repository/revisions/12 Log: changement de l'implantation pour ne pas oblige l'utilisateur a devoir refaire des imports des libs dans le fichier wro.xml Modified: trunk/nuiton-js-wro/src/main/java/org/nuiton/js/wro/NuitonJsXmlModelFactory.java trunk/nuiton-js-wro/src/main/java/org/nuiton/js/wro/ProtectedXmlModelFactory.java trunk/src/site/rst/index.rst Modified: trunk/nuiton-js-wro/src/main/java/org/nuiton/js/wro/NuitonJsXmlModelFactory.java =================================================================== --- trunk/nuiton-js-wro/src/main/java/org/nuiton/js/wro/NuitonJsXmlModelFactory.java 2013-01-03 11:51:45 UTC (rev 11) +++ trunk/nuiton-js-wro/src/main/java/org/nuiton/js/wro/NuitonJsXmlModelFactory.java 2013-01-05 19:20:43 UTC (rev 12) @@ -4,6 +4,7 @@ import org.apache.commons.lang3.Validate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.w3c.dom.Document; import ro.isdc.wro.WroRuntimeException; import ro.isdc.wro.model.WroModel; import ro.isdc.wro.model.WroModelInspector; @@ -49,8 +50,19 @@ // on continue avec le fichier par defaut /WEB-INF/wro.properties try { - WroModel userModel = new ImportWildcardXmlModelFactory().create(); - merge(model, userModel); + // on ne reutilise pas create du super car la methode commence + // par un new model :(. Or on veut conserve les imports qui viennent + // d'etre fait, et ne pas oblige l'utilisateur a les refaire dans + // sont modele + try { + Document document = createDocument(); + processGroups(document); + processImports(document); + parseGroups(); + } finally { + // clear the processed imports even when the model creation fails. + processedImports.clear(); + } } catch (WroRuntimeException eee) { // si pas de fichier utilisateur on utilisera que les lib de nuiton-js // donc on ne fait qu'afficher un warning Modified: trunk/nuiton-js-wro/src/main/java/org/nuiton/js/wro/ProtectedXmlModelFactory.java =================================================================== --- trunk/nuiton-js-wro/src/main/java/org/nuiton/js/wro/ProtectedXmlModelFactory.java 2013-01-03 11:51:45 UTC (rev 11) +++ trunk/nuiton-js-wro/src/main/java/org/nuiton/js/wro/ProtectedXmlModelFactory.java 2013-01-05 19:20:43 UTC (rev 12) @@ -195,7 +195,7 @@ /** * @return valid {@link Document} of the xml containing model representation. */ - private Document createDocument() { + protected Document createDocument() { try { final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setNamespaceAware(true); @@ -230,7 +230,7 @@ /** * Initialize the map */ - private void processGroups(final Document document) { + protected void processGroups(final Document document) { // handle imports final NodeList groupNodeList = document.getElementsByTagName(TAG_GROUP); for (int i = 0; i < groupNodeList.getLength(); i++) { @@ -283,7 +283,7 @@ * @param document * to parse. */ - private void parseGroups() { + protected void parseGroups() { //use groups created by imports (if any) for (final Element element : allGroupElements.values()) { parseGroup(element); Modified: trunk/src/site/rst/index.rst =================================================================== --- trunk/src/site/rst/index.rst 2013-01-03 11:51:45 UTC (rev 11) +++ trunk/src/site/rst/index.rst 2013-01-05 19:20:43 UTC (rev 12) @@ -76,12 +76,38 @@ Il est possible de définir un fichier WEB-INF/wro.xml pour gérer ses propres ressources via wro. Vous pouvez aussi dans ce fichier faire références aux librairies packagées par nuiton-js. Le nom du groupe des librairies de nuiton-js -est le nom de la ressources. Par exemple si vous avez en dépendans +est le nom de la ressources. Par exemple si vous avez en dépendance **nuiton-js-jquery** alors le groupe se nommera **jquery** Pour plus d'explication sur le format de ce fichier reportez-vous à la documentation de wro https://code.google.com/p/wro4j/wiki/WroFileFormat +exemple d'un fichier WEB-INF/wro.xml:: + + <groups xmlns="http://www.isdc.ro/wro"> + <group name='MonApp'> + <group-ref>jquery</group-ref> + <group-ref>bootstrap-responsive</group-ref> + <group-ref>jquery-ui</group-ref> + <group-ref>jqplot</group-ref> + <!-- plugin jqplot --> + <group-ref>jqplot.canvasAxisTickRenderer</group-ref> + <group-ref>jqplot.canvasTextRenderer</group-ref> + <group-ref>jqplot.categoryAxisRenderer</group-ref> + <group-ref>jqplot.cursor</group-ref> + <group-ref>jqplot.highlighter</group-ref> + <!-- js et css specifique a l'application --> + <css>/css/MonApp.css</css> + <js>/js/MonApp.js</js> + </group> + </groups> + +puis dans vos fichier html ou jsp:: + + <link href="<c:url value='/nuiton-js/MonApp.css'/>" rel="stylesheet" type="text/css"/> + <script type="text/javascript" src="<c:url value='/nuiton-js/MonApp.js'/>"></script> + + Utilisation avancée ===================
participants (1)
-
bpoussin@users.nuiton.org