configs) {
- configs.sort { c1, c2 ->
- c1.order == c2.order ? c1._sourceClassName <=> c2._sourceClassName : c1.order <=> c2.order
- }
- }
-}
diff --git a/target/work/plugins/cache-1.1.1/src/java/grails/plugin/cache/BlockingCache.java b/target/work/plugins/cache-1.1.1/src/java/grails/plugin/cache/BlockingCache.java
deleted file mode 100644
index 50c0bed..0000000
--- a/target/work/plugins/cache-1.1.1/src/java/grails/plugin/cache/BlockingCache.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright 2012-2013 SpringSource.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package grails.plugin.cache;
-
-/**
- * @author Burt Beckwith
- */
-public interface BlockingCache extends GrailsCache {
-
- CacheConfiguration getCacheConfiguration();
-
- boolean isDisabled();
-
- void setTimeoutMillis(int blockingTimeoutMillis);
-}
diff --git a/target/work/plugins/cache-1.1.1/src/java/grails/plugin/cache/CacheBeanPostProcessor.java b/target/work/plugins/cache-1.1.1/src/java/grails/plugin/cache/CacheBeanPostProcessor.java
deleted file mode 100644
index 1e17ce6..0000000
--- a/target/work/plugins/cache-1.1.1/src/java/grails/plugin/cache/CacheBeanPostProcessor.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/* Copyright 2012-2013 SpringSource.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package grails.plugin.cache;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.MutablePropertyValues;
-import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
-import org.springframework.beans.factory.config.RuntimeBeanReference;
-import org.springframework.beans.factory.support.AbstractBeanDefinition;
-import org.springframework.beans.factory.support.BeanDefinitionRegistry;
-import org.springframework.beans.factory.support.BeanDefinitionRegistryPostProcessor;
-import org.springframework.cache.annotation.AnnotationCacheOperationSource;
-
-/**
- * Changes the bean class of the org.springframework.cache.annotation.AnnotationCacheOperationSource#0
- * bean to a custom subclass.
- *
- * @author Burt Beckwith
- */
-public class CacheBeanPostProcessor implements BeanDefinitionRegistryPostProcessor {
-
- protected Logger log = LoggerFactory.getLogger(getClass());
-
- public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) {
- log.info("postProcessBeanDefinitionRegistry start");
-
- AbstractBeanDefinition beanDef = findBeanDefinition(registry);
- if (beanDef == null) {
- log.error("Unable to find the AnnotationCacheOperationSource bean definition");
- return;
- }
-
- // change the class to the plugin's subclass
- beanDef.setBeanClass(GrailsAnnotationCacheOperationSource.class);
-
- // wire in the dependency for the grailsApplication
- MutablePropertyValues props = beanDef.getPropertyValues();
- if (props == null) {
- props = new MutablePropertyValues();
- beanDef.setPropertyValues(props);
- }
- props.addPropertyValue("grailsApplication", new RuntimeBeanReference("grailsApplication", true));
-
- log.debug("updated {}", beanDef);
- }
-
- protected AbstractBeanDefinition findBeanDefinition(BeanDefinitionRegistry registry) {
-
- AbstractBeanDefinition beanDef = null;
- String beanName = null;
-
- if (registry.containsBeanDefinition(GrailsAnnotationCacheOperationSource.BEAN_NAME)) {
- beanDef = (AbstractBeanDefinition)registry.getBeanDefinition(
- GrailsAnnotationCacheOperationSource.BEAN_NAME);
- beanName = GrailsAnnotationCacheOperationSource.BEAN_NAME;
- }
- else {
- String className = AnnotationCacheOperationSource.class.getName();
- for (String name : registry.getBeanDefinitionNames()) {
- if (className.equals(registry.getBeanDefinition(name).getBeanClassName())) {
- beanDef = (AbstractBeanDefinition)registry.getBeanDefinition(name);
- beanName = name;
- break;
- }
- }
- }
-
- if (beanDef != null) {
- // make it easier to work with
- if (!"cacheOperationSource".equals(beanName)) {
- registry.registerAlias(beanName, "cacheOperationSource");
- }
- }
-
- return beanDef;
- }
-
- public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) {
- log.info("postProcessBeanFactory");
- }
-}
diff --git a/target/work/plugins/cache-1.1.1/src/java/grails/plugin/cache/CacheConfigArtefactHandler.java b/target/work/plugins/cache-1.1.1/src/java/grails/plugin/cache/CacheConfigArtefactHandler.java
deleted file mode 100644
index a2e206e..0000000
--- a/target/work/plugins/cache-1.1.1/src/java/grails/plugin/cache/CacheConfigArtefactHandler.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/* Copyright 2012-2013 SpringSource.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package grails.plugin.cache;
-
-import groovy.lang.GroovySystem;
-import groovy.lang.MetaClass;
-
-import org.codehaus.groovy.grails.commons.AbstractInjectableGrailsClass;
-import org.codehaus.groovy.grails.commons.ArtefactHandlerAdapter;
-import org.codehaus.groovy.grails.commons.InjectableGrailsClass;
-import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
-import org.springframework.context.ConfigurableApplicationContext;
-
-/**
- * Artefact handler for CacheConfig classes.
- *
- * @author Burt Beckwith
- */
-public class CacheConfigArtefactHandler extends ArtefactHandlerAdapter {
-
- /** The artefact type. */
- public static final String TYPE = "CacheConfig";
-
- /**
- * Default constructor.
- */
- public CacheConfigArtefactHandler() {
- super(TYPE, CacheConfigGrailsClass.class, DefaultCacheConfigGrailsClass.class, TYPE);
- }
-
- /**
- * GrailsClass interface for CacheConfig definitions.
- */
- public static interface CacheConfigGrailsClass extends InjectableGrailsClass {
- // no methods
- }
-
- /**
- * Default implementation of CacheConfigGrailsClass
.
- */
- public static class DefaultCacheConfigGrailsClass extends AbstractInjectableGrailsClass
- implements CacheConfigGrailsClass {
-
- /**
- * Default constructor.
- * @param wrappedClass
- */
- public DefaultCacheConfigGrailsClass(Class> wrappedClass) {
- super(wrappedClass, CacheConfigArtefactHandler.TYPE);
- }
-
- @Override
- public MetaClass getMetaClass() {
- // Workaround for http://jira.codehaus.org/browse/GRAILS-4542
- return GroovySystem.getMetaClassRegistry().getMetaClass(DefaultCacheConfigGrailsClass.class);
- }
-
- @Override
- public Object newInstance() {
- Object instance = super.newInstance();
- autowireBeanProperties(instance);
- return instance;
- }
-
- protected void autowireBeanProperties(Object instance) {
- ConfigurableApplicationContext ctx = (ConfigurableApplicationContext)grailsApplication.getMainContext();
- ctx.getBeanFactory().autowireBeanProperties(instance,
- AutowireCapableBeanFactory.AUTOWIRE_BY_NAME, false);
- }
- }
-}
diff --git a/target/work/plugins/cache-1.1.1/src/java/grails/plugin/cache/CacheConfiguration.java b/target/work/plugins/cache-1.1.1/src/java/grails/plugin/cache/CacheConfiguration.java
deleted file mode 100644
index f712bb5..0000000
--- a/target/work/plugins/cache-1.1.1/src/java/grails/plugin/cache/CacheConfiguration.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Copyright 2012-2013 SpringSource.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package grails.plugin.cache;
-
-/**
- * @author Burt Beckwith
- */
-public interface CacheConfiguration {
-
- long getTimeToLiveSeconds();
-
- boolean isEternal();
-}
diff --git a/target/work/plugins/cache-1.1.1/src/java/grails/plugin/cache/CacheEvict.java b/target/work/plugins/cache-1.1.1/src/java/grails/plugin/cache/CacheEvict.java
deleted file mode 100644
index a83f98d..0000000
--- a/target/work/plugins/cache-1.1.1/src/java/grails/plugin/cache/CacheEvict.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Copyright 2012-2013 SpringSource.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package grails.plugin.cache;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.codehaus.groovy.transform.GroovyASTTransformationClass;
-
-/**
- * Indicates that a method (or all methods on a class) trigger(s)
- * a cache invalidate operation.
- *
- * @author Jeff Brown
- */
-@Target({ElementType.METHOD, ElementType.TYPE})
-@Retention(RetentionPolicy.RUNTIME)
-@Inherited
-@Documented
-@GroovyASTTransformationClass("grails.plugin.cache.compiler.CacheTransformation")
-public @interface CacheEvict {
-
- /**
- * Qualifier value for the specified cached operation.
- * May be used to determine the target cache (or caches), matching the qualifier
- * value (or the bean name(s)) of (a) specific bean definition.
- */
- String[] value();
-
- /**
- * Spring Expression Language (SpEL) attribute for computing the key dynamically.
- *
Default is "", meaning all method parameters are considered as a key.
- */
- String key() default "";
-
- /**
- * Spring Expression Language (SpEL) attribute used for conditioning the method caching.
- *
Default is "", meaning the method is always cached.
- */
- String condition() default "";
-
- /**
- * Whether or not all the entries inside the cache(s) are removed or not. By
- * default, only the value under the associated key is removed.
- *
Note that specifying setting this parameter to true and specifying a
- * {@link CacheKey key} is not allowed.
- */
- boolean allEntries() default false;
-
- /**
- * Whether the eviction should occur after the method is successfully invoked (default)
- * or before. The latter causes the eviction to occur irrespective of the method outcome (whether
- * it threw an exception or not) while the former does not.
- */
- boolean beforeInvocation() default false;
-}
diff --git a/target/work/plugins/cache-1.1.1/src/java/grails/plugin/cache/CachePut.java b/target/work/plugins/cache-1.1.1/src/java/grails/plugin/cache/CachePut.java
deleted file mode 100644
index 376a41c..0000000
--- a/target/work/plugins/cache-1.1.1/src/java/grails/plugin/cache/CachePut.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Copyright 2012-2013 SpringSource.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package grails.plugin.cache;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.codehaus.groovy.transform.GroovyASTTransformationClass;
-
-/**
- * Indicates that a method (or all methods on a class) trigger(s)
- * a {@link Cache#put(Object, Object)} operation. As opposed to {@link Cacheable} annotation,
- * this annotation does not cause the target method to be skipped - rather it
- * always causes the method to be invoked and its result to be placed into the cache.
- *
- * @author Jeff Brown
- */
-@Target({ ElementType.METHOD, ElementType.TYPE })
-@Retention(RetentionPolicy.RUNTIME)
-@Inherited
-@Documented
-@GroovyASTTransformationClass("grails.plugin.cache.compiler.CacheTransformation")
-public @interface CachePut {
-
- /**
- * Name of the caches in which the update takes place.
- *
May be used to determine the target cache (or caches), matching the
- * qualifier value (or the bean name(s)) of (a) specific bean definition.
- */
- String[] value();
-
- /**
- * Spring Expression Language (SpEL) attribute for computing the key dynamically.
- *
Default is "", meaning all method parameters are considered as a key.
- */
- String key() default "";
-
- /**
- * Spring Expression Language (SpEL) attribute used for conditioning the cache update.
- *
Default is "", meaning the method result is always cached.
- */
- String condition() default "";
-}
diff --git a/target/work/plugins/cache-1.1.1/src/java/grails/plugin/cache/Cacheable.java b/target/work/plugins/cache-1.1.1/src/java/grails/plugin/cache/Cacheable.java
deleted file mode 100644
index 8117fc0..0000000
--- a/target/work/plugins/cache-1.1.1/src/java/grails/plugin/cache/Cacheable.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Copyright 2012-2013 SpringSource.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package grails.plugin.cache;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-import org.codehaus.groovy.transform.GroovyASTTransformationClass;
-
-/**
- * Indicates that a method (or all the methods on a class) can be cached.
- *
- *
The method arguments and signature are used for computing the key while the
- * returned instance is used as the cache value.
- *
- * @author Jeff Brown
- */
-@Target({ElementType.METHOD, ElementType.TYPE})
-@Retention(RetentionPolicy.RUNTIME)
-@Inherited
-@Documented
-@GroovyASTTransformationClass("grails.plugin.cache.compiler.CacheTransformation")
-public @interface Cacheable {
-
- /**
- * Name of the caches in which the update takes place.
- *
May be used to determine the target cache (or caches), matching the
- * qualifier value (or the bean name(s)) of (a) specific bean definition.
- */
- String[] value();
-
- /**
- * Spring Expression Language (SpEL) attribute for computing the key dynamically.
- *
Default is "", meaning all method parameters are considered as a key.
- */
- String key() default "";
-
- /**
- * Spring Expression Language (SpEL) attribute used for conditioning the method caching.
- *
Default is "", meaning the method is always cached.
- */
- String condition() default "";
-}
diff --git a/target/work/plugins/cache-1.1.1/src/java/grails/plugin/cache/CustomCacheKeyGenerator.java b/target/work/plugins/cache-1.1.1/src/java/grails/plugin/cache/CustomCacheKeyGenerator.java
deleted file mode 100644
index 4d8263b..0000000
--- a/target/work/plugins/cache-1.1.1/src/java/grails/plugin/cache/CustomCacheKeyGenerator.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Copyright 2013 SpringSource.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package grails.plugin.cache;
-
-import org.springframework.aop.framework.AopProxyUtils;
-import org.springframework.cache.interceptor.KeyGenerator;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * Generate better cache key, compare to {@link org.springframework.cache.interceptor.DefaultKeyGenerator}
- */
-public class CustomCacheKeyGenerator implements KeyGenerator {
-
- public Object generate(Object target, Method method, Object... params) {
- Class> objClass = AopProxyUtils.ultimateTargetClass(target);
- List