Skip to content

Instantly share code, notes, and snippets.

@digulla
digulla / proxy-pac-debug.py
Created August 29, 2013 12:41
Command line utility to test and debug proxy.pac files. Depends on https://code.google.com/p/pacparser/
#!/usr/bin/env python2
# Usage: $0 proxy.pac url
import pacparser
import sys
import urlparse
pacfile, url = sys.argv[1:]
@digulla
digulla / DefaultLocaleRule.java
Last active March 9, 2022 17:16
JUnit 4 Rule to run individual tests with a different default locale
import java.util.Locale;
import org.junit.rules.TestWatcher;
import org.junit.runner.Description;
public class DefaultLocaleRule extends TestWatcher {
private Locale originalDefault;
private Locale currentDefault;
public DefaultLocaleRule() {
@digulla
digulla / AnnotatedBeanLocator.java
Last active March 20, 2019 02:38
Locate beans in an ApplicationContext by annotation on the method which defines the bean.
import java.lang.annotation.Annotation;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.core.type.StandardMethodMetadata;
import com.google.common.base.Preconditions;
import com.google.common.base.Predicate;
@digulla
digulla / jquery.text-overflow.js
Created June 17, 2013 10:33
Backup of Devon Govett's ellipsis plugin for jQuery
/*
* MIT LICENSE
* Copyright (c) 2009-2011 Devon Govett.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
* documentation files (the "Software"), to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
* and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions
@digulla
digulla / updateSiteXml.py
Created March 11, 2013 09:49
Small Python script to generate site.xml files for a multi-module build. Run this after every change to the project structure.
#!/usr/bin/env python
from xml.etree.ElementTree import ElementTree, tostring
import os
import sys
import re
template = '''\
<project xmlns="http://maven.apache.org/DECORATION/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@digulla
digulla / ApplicationContextAwareTestBase.java
Last active December 12, 2015 12:09
Helper class to reset/clean up Spring beans after a unit test
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.util.List;
import java.util.Map;
import org.junit.After;
import org.junit.Rule;
import org.junit.runner.RunWith;
import org.springframework.aop.TargetClassAware;
@digulla
digulla / config_demo.py
Created October 11, 2012 12:17
Comfortable config access with Python
#!/usr/bin/env python
import ConfigParser
import inspect
class DBConfig:
__doc__ = 'Collect a couple of config options in a type'
def __init__(self):
@digulla
digulla / mvn-deploy.sh
Created October 8, 2012 13:18
Better mvn deploy
#!/bin/bash
if [[ ! -e pom.xml ]]; then
echo "Missing pom.xml" 1>&2
exit 1
fi
sed \
-e '/<distributionManagement>/,/<\/distributionManagement>/d' \
-e '/<\/project/d' \
@digulla
digulla / IntRange.java
Created October 2, 2012 08:33
IntRange for Xtend which works as Java developers expect
/*
Copyright (c) 2012, Aaron Digulla
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
@digulla
digulla / TypeAndImportUriGlobalScopeProvider.java
Created September 21, 2012 11:50
A global scope provider that is both able to process the importURI attributes to establish cross links with other EMF models, and to handle references to JVM types.
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.xtext.EcoreUtil2;
import org.eclipse.xtext.common.types.TypesPackage;
import org.eclipse.xtext.common.types.xtext.AbstractTypeScopeProvider;
import org.eclipse.xtext.common.types.xtext.ClasspathBasedTypeScopeProvider;
import org.eclipse.xtext.common.types.xtext.TypesAwareDefaultGlobalScopeProvider;
import org.eclipse.xtext.resource.IEObjectDescription;
import org.eclipse.xtext.scoping.IScope;