+++ /dev/null
-/*
- * Copyright 2005 the original author or authors.
- *
- * 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 org.wamblee.concurrency;
-
-import org.springframework.aop.framework.ProxyFactoryBean;
-import org.wamblee.test.TimingUtils;
-
-/**
- *
- *
- * @author Erik Brakkee
- */
-public class LockAdviceTest extends AbstractLockTestCase {
-
- private class Runner implements Runnable {
- public void run() {
- LockAdviceTest.this.getTracker().eventOccurred(ACQUIRED);
- TimingUtils.sleep(SLEEP_TIME);
- }
- }
-
- private Runnable _target;
-
- /*
- * (non-Javadoc)
- *
- * @see org.wamblee.concurrency.AbstractLockTestCase#setUp()
- */
- @Override
- protected void setUp() throws Exception {
- super.setUp();
-
- Runner runner = new Runner();
- LockAdvice advice = new LockAdvice(new JvmLock());
-
- ProxyFactoryBean support = new ProxyFactoryBean();
- support.setInterfaces(new Class[]{ Runnable.class });
- support.setTarget(runner);
- support.addAdvice(advice);
- _target = (Runnable)support.getObject();
-
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.wamblee.concurrency.AbstractLockTestCase#runThread()
- */
- @Override
- protected Thread runThread() {
- Thread t = new Thread(new Runnable() {
- public void run() {
- try {
- getTracker().eventOccurred(STARTED);
- _target.run();
- getTracker().eventOccurred(RELEASED);
- } catch (Throwable e) {
- throw new RuntimeException(e);
- }
- };
- });
- t.start();
- return t;
- }
-
-}