Skip to content

Instantly share code, notes, and snippets.

Avatar

Georgios Valotasios valotas

View GitHub Profile
@valotas
valotas / GuiceHandler.java
Created May 30, 2011
Grizzly 2 with guice 3
View GuiceHandler.java
import javax.servlet.ServletContextEvent;
import org.glassfish.grizzly.servlet.ServletHandler;
import com.google.inject.servlet.GuiceFilter;
import com.google.inject.servlet.GuiceServletContextListener;
public class GuiceHandler extends ServletHandler {
private static final Logger logger = Logger.getLogger(GuiceHandler.class.getName());
private final GuiceServletContextListener guiceServletContextListener;
@valotas
valotas / tomcat.sh
Created May 31, 2011
Tomcat init.d script
View tomcat.sh
#!/bin/bash
#
# tomcat7 This shell script takes care of starting and stopping Tomcat
#
# chkconfig: - 80 20
#
### BEGIN INIT INFO
# Provides: tomcat7
# Required-Start: $network $syslog
# Required-Stop: $network $syslog
@valotas
valotas / run.js
Created Aug 27, 2011
Trying to make a small scrapy like app with nodejs
View run.js
var scrapy = require('./scrapy.js').scrapy,
getAdFromTD = function( $td ) {
var ad = {
title: $td.find('a').html().replace(/\s*$/g, '')
},
type;
$td = $td.next();
ad.address = $td.find('a').html().replace( /<br>/g, ',' );
@valotas
valotas / HttpServletRequestDecoratorFilter.java
Created Sep 11, 2011
Decorator pattern with HttpServerRequest
View HttpServletRequestDecoratorFilter.java
public class HttpServletRequestDecoratorFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
//do nothing
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
request = decorate(request);
@valotas
valotas / CharArrayWriterResponse.java
Created Sep 25, 2011
Get the output of an the web container as string
View CharArrayWriterResponse.java
import java.io.CharArrayWriter;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletResponseWrapper;
public class CharArrayWriterResponse extends HttpServletResponseWrapper {
private final CharArrayWriter charArray = new CharArrayWriter();
View BetterJerseyTest.java
public class BetterJerseyTest extends JerseyTest {
//Fire up jersey with Guice
private static final AppDescriptor APP_DESCRIPTOR = new WebAppDescriptor.Builder("com.some.package.name")
.filterClass(GuiceFilter.class)
.contextPath("jersey-ctx-path")
.servletPath("/")
.clientConfig(new DefaultClientConfig(JacksonJaxbJsonProvider.class))
.build();
@valotas
valotas / GrizzlyWebServer.java
Created May 1, 2012
Jersey + Guice + Grizzly
View GrizzlyWebServer.java
public class GrizzlyWebServer {
private static final Logger logger = LoggerFactory.getLogger(GrizzlyWebServerService.class);
public static final void main(String[] args) throws IllegalArgumentException, IOException {
HttpServer server = startWebServer();
System.out.println("Jersey started");
if (logger.isInfoEnabled()) {
logger.info("Jersey web app started with Grizzly web container");
}
@valotas
valotas / override-app-render.ts
Last active Dec 31, 2015
A way to override express' app.render function
View override-app-render.ts
app.use((req: express.Request, resp: express.Response, next?: Function) => {
var render = resp.render;
resp.render = (view: string, options?: any, fn?: any) => {
if ('function' == typeof options) {
fn = options;
options = {};
}
render.call(resp, view, options, (err, html) => {
if (html) {
@valotas
valotas / pre-push.sh
Created Jul 24, 2015
git-hooks: check if branch name is on par with pom's version
View pre-push.sh
#!/bin/bash
# Run the following command in the root of your project to install this pre-push hook:
# cp git-hooks/pre-push .git/hooks/pre-push; chmod 700 .git/hooks/pre-push
if [ -z "$BRANCHES_TO_SKIP" ]; then
BRANCHES_TO_SKIP=(master develop test)
fi
BRANCH_NAME=$(git symbolic-ref --short HEAD)
BRANCH_NAME="${BRANCH_NAME##*/}"
View create-hot-cold-observable.js
/*eslint-env jasmine*/
import Rx from 'rxjs';
fdescribe('TestScheduler', () => {
describe('createHotObservable()', () => {
it('should create a hot observable emmiting the values given as marble strings', () => {
//given
const scheduler = new Rx.TestScheduler(null);
You can’t perform that action at this time.