Skip to content

Instantly share code, notes, and snippets.

@uklance
uklance / BlockContainer.java
Last active August 29, 2015 14:05
Tapestry5 Dialog Avoiding Nested Forms
public interface BlockContainer {
void addBlock(Block block);
}
@uklance
uklance / MyPage.java
Last active August 29, 2015 14:06
Dynamic template usage
public class MyPage {
@Inject
private DynamicTemplateParser parser;
public DynamicTemplate getMyDynamicTemplate() {
// if you want this to come from a string you might need to
// implement a StringResource by extending AbstractResource
Resource resource = new ClasspathResource("path/to/some-template.tml");
return parser.parseTemplate(resource);
}
public class FileBean {
private UploadedFile file;
public void setUploadedFile(UploadedFile file) {
this.file = file;
}
public UploadedFile getUploadedFile() {
return file;
}
[INFO] +- org.apache.tapestry:tapestry-core:jar:5.4-beta-22:compile
[INFO] | +- org.antlr:antlr-runtime:jar:3.5.2:compile
[INFO] | +- commons-codec:commons-codec:jar:1.5:compile
[INFO] | +- org.apache.tapestry:tapestry-json:jar:5.4-beta-22:compile
[INFO] | \- org.apache.tapestry:tapestry-ioc:jar:5.4-beta-22:compile
[INFO] | +- org.apache.tapestry:tapestry5-annotations:jar:5.4-beta-22:compile
[INFO] | +- org.apache.tapestry:plastic:jar:5.4-beta-22:compile
[INFO] | +- javax.inject:javax.inject:jar:1:compile
[INFO] | \- org.apache.tapestry:tapestry-func:jar:5.4-beta-22:compile
[INFO] +- com.google.code:sitemapgen4j:jar:1.0.1:compile
@uklance
uklance / Page.tml
Last active August 29, 2015 14:08
Tapestry - Render body in parallel
<t:parallel>
<t:someComponent />
</t:parallel>
@uklance
uklance / AssertCommand.java
Last active August 29, 2015 14:15
sproc-unit thoughts
@Events({Event.SCENARIO_THEN, Event.SCENARIO_AFTER})
public class AssertCommand {
@Parameter(requiredGroup="value")
private String sql;
@Parameter(name="attribute", requiredGroup="value")
private String attributeName;
@Parameter(name="expected", required=true)
private String expectedString;
buildscript {
ext {
grailsVersion = project.grailsVersion
}
repositories {
//mavenLocal()
maven {
//url "https://repo.grails.org/grails/core"
url uri('C:/workspace/offline/build/offline-repo')
}
C:\misc\backup>gradle backup --debug
08:56:18.509 [INFO] [org.gradle.internal.nativeintegration.services.NativeServices] Initialized native services in: C:\Users\43807627\.gradle\native
08:56:18.619 [DEBUG] [org.gradle.internal.nativeintegration.services.NativeServices] Native-platform posix files is not available. Continuing with fallback.
08:56:18.619 [DEBUG] [org.gradle.internal.nativeintegration.filesystem.services.FileSystemServices] Using JDK 7 file service org.gradle.internal.nativeintegration.filesystem.jdk7.WindowsJdk7Symlink
08:56:19.289 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding IP addresses for network interface Software Loopback Interface 1
08:56:19.289 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Is this a loopback interface? true
08:56:19.289 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Is this a multicast interface? true
08:56:19.289 [DEBUG] [org.gradle.internal.remote.internal.inet.InetAddresses] Adding loopback address /12
@uklance
uklance / build.gradle
Created June 15, 2017 14:01
Gradle monkey patch example for org.springframework:spring-context
apply plugin: 'java'
ext {
target = 'org.springframework:spring-context:4.3.9.RELEASE'
}
configurations {
monkeyPatchNonTransitive { transitive = false }
monkeyPatchTransitive
}
@uklance
uklance / AbstractSqlTask.java
Created August 22, 2017 13:35
Gradle SQL execution without polluting buildscript classloader
import java.sql.*;
import org.gradle.api.*;
import org.gradle.api.artifacts.*;
import org.gradle.api.tasks.*;
import java.util.*;
import java.net.*;
import java.io.File;
import java.lang.reflect.Method;
public abstract class AbstractSqlTask extends DefaultTask {