diff --git a/java/core/build.xml b/java/core/build.xml index 75d455e..07c975c 100755 --- a/java/core/build.xml +++ b/java/core/build.xml @@ -14,7 +14,7 @@ - + diff --git a/java/core/lib/commons-lang-2.6.jar b/java/core/lib/commons-lang-2.6.jar new file mode 100755 index 0000000..98467d3 Binary files /dev/null and b/java/core/lib/commons-lang-2.6.jar differ diff --git a/java/core/lib/greenscript-core-1.2.6m.jar b/java/core/lib/greenscript-core-1.2.7.jar similarity index 60% rename from java/core/lib/greenscript-core-1.2.6m.jar rename to java/core/lib/greenscript-core-1.2.7.jar index b73cc15..9f9f7a2 100755 Binary files a/java/core/lib/greenscript-core-1.2.6m.jar and b/java/core/lib/greenscript-core-1.2.7.jar differ diff --git a/java/core/lib/play-greenscript.jar b/java/core/lib/play-greenscript.jar index 71aa99c..93aec78 100755 Binary files a/java/core/lib/play-greenscript.jar and b/java/core/lib/play-greenscript.jar differ diff --git a/java/core/pom.xml b/java/core/pom.xml index a6c930a..d8d7c2b 100755 --- a/java/core/pom.xml +++ b/java/core/pom.xml @@ -79,6 +79,11 @@ commons-logging 1.1.1 + + commons-lang + commons-lang + 2.6 + junit junit diff --git a/java/core/src/main/java/com/greenscriptool/utils/FileCache.java b/java/core/src/main/java/com/greenscriptool/utils/FileCache.java index ca86f69..7166ee9 100644 --- a/java/core/src/main/java/com/greenscriptool/utils/FileCache.java +++ b/java/core/src/main/java/com/greenscriptool/utils/FileCache.java @@ -29,6 +29,9 @@ private File f_(String fn) { public File createTempFile(String extension) { try { + if (!r_.isDirectory() && !r_.mkdir()) { + throw new RuntimeException("cannot create temporary directory for: " + r_); + } return File.createTempFile("gstmp", extension, r_); } catch (IOException e) { String msg = "Error create temp file"; diff --git a/java/play/app/views/tags/rythm/greenscript/closeTag_.html b/java/play/app/views/tags/rythm/greenscript/closeTag_.html new file mode 100755 index 0000000..48cf154 --- /dev/null +++ b/java/play/app/views/tags/rythm/greenscript/closeTag_.html @@ -0,0 +1,2 @@ +@args String type; +@if ("js".equalsIgnoreCase(type)) @ else if ("css".equalsIgnoreCase(type)) @ diff --git a/java/play/app/views/tags/rythm/greenscript/css.html b/java/play/app/views/tags/rythm/greenscript/css.html new file mode 100755 index 0000000..275b37e --- /dev/null +++ b/java/play/app/views/tags/rythm/greenscript/css.html @@ -0,0 +1,10 @@ +@args String nameList, Object output, boolean all, boolean deps, String media, String browser, String id, String charset, int priority; + +@{ +if (null == nameList) nameList = _getAs("arg", String.class); +String cacheKey = nameList + output + all + deps + media + browser + id + charset + priority; +}@ + +@cacheOnProd(cacheKey, "1h") << +@greenscript.gs_(nameList = nameList, output = output, all = all, deps = deps, media = media, browser = browser, id = id, charset = charset, priority = priority, type = "css") +@ \ No newline at end of file diff --git a/java/play/app/views/tags/rythm/greenscript/gs_.html b/java/play/app/views/tags/rythm/greenscript/gs_.html new file mode 100755 index 0000000..ac85b09 --- /dev/null +++ b/java/play/app/views/tags/rythm/greenscript/gs_.html @@ -0,0 +1,47 @@ +@import play.modules.greenscript.GreenScriptPlugin; +@args String nameList, Object output, boolean all, boolean deps, String media, String browser, String id, String charset, int priority = 0, String type; + @{ + final com.greenscriptool.RenderSession sm = (com.greenscriptool.RenderSession)GreenScriptPlugin.session(type); + if (null != nameList) { + sm.declare(nameList, media, browser); + } + _logger.info("aaa"); + + all = all || "all".equals(output); + deps = deps || "deps".equals(output); + + boolean _output = all || deps || ((null != output) && ((output instanceof Boolean) ? (Boolean)output : !"false".equals(output.toString()))); + }@ + + @if (_output) + @if (all) + @// default browser with default media + @greenscript.output_(nameList, deps = deps, all = all, media = null, browser = null, id = id, charset = charset, type = type, sm = sm) + + @// default browser with non-default media + @each String med: sm.getMedias(null) + @greenscript.output_(nameList, deps = deps, all = all, media = med, browser = null, id = id, charset = charset, type = type, sm = sm) + @ + + @// non-default browsers + @each String bro: sm.getBrowsers() + @each String med: sm.getMedias(bro) + @greenscript.output_(nameList, deps = deps, all = all, media = med, browser = bro, id = id, charset = charset, type = type, sm = sm) + @ + @ + @ else + @greenscript.output_(nameList, deps = deps, all = all, media = media, browser = browser, id = id, charset = charset, type = type, sm = sm) + @ + @ + + @// handle inline code + + @if (null != _body) + @if (_output) + @greenscript.openTag_(type) + @_body.build() + @greenscript.closeTag_(type) + @ else + @{ sm.declareInline(_body.toString(), priority); }@ + @ + @ diff --git a/java/play/app/views/tags/rythm/greenscript/importCss.html b/java/play/app/views/tags/rythm/greenscript/importCss.html new file mode 100755 index 0000000..3175a7d --- /dev/null +++ b/java/play/app/views/tags/rythm/greenscript/importCss.html @@ -0,0 +1,4 @@ +@import play.modules.greenscript.GreenScriptPlugin; +@args String nameList; + +@GreenScriptPlugin.lessImport(nameList) \ No newline at end of file diff --git a/java/play/app/views/tags/rythm/greenscript/js.html b/java/play/app/views/tags/rythm/greenscript/js.html new file mode 100755 index 0000000..ea0a238 --- /dev/null +++ b/java/play/app/views/tags/rythm/greenscript/js.html @@ -0,0 +1,10 @@ +@args String nameList, Object output, boolean all, boolean deps, String media, String browser, String id, String charset, int priority; + +@{ +if (null == nameList) nameList = _getAs("arg", String.class); +String cacheKey = nameList + output + all + deps + media + browser + id + charset + priority; +}@ + +@cacheOnProd(cacheKey, "1h") << +@greenscript.gs_(nameList = nameList, output = output, all = all, deps = deps, media = media, browser = browser, id = id, charset = charset, priority = priority, type = "js") +@ \ No newline at end of file diff --git a/java/play/app/views/tags/rythm/greenscript/openTag_.html b/java/play/app/views/tags/rythm/greenscript/openTag_.html new file mode 100755 index 0000000..b65d68d --- /dev/null +++ b/java/play/app/views/tags/rythm/greenscript/openTag_.html @@ -0,0 +1,7 @@ +@args String type + + @if ("js".equalsIgnoreCase(type)) +