EMMA Coverage Report (generated Tue May 06 07:28:24 PDT 2008)
[all classes][org.springframework.batch.repeat.support]

COVERAGE SUMMARY FOR SOURCE FILE [ResultQueueFactory.java]

nameclass, %method, %block, %line, %
ResultQueueFactory.java100% (1/1)100% (3/3)63%  (22/35)56%  (3.9/7)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class ResultQueueFactory100% (1/1)100% (3/3)63%  (22/35)56%  (3.9/7)
getResultQueue (int): RepeatInternalState 100% (1/1)37%  (7/19)40%  (2/5)
<static initializer> 100% (1/1)92%  (12/13)92%  (0.9/1)
ResultQueueFactory (): void 100% (1/1)100% (3/3)100% (1/1)

1/*
2 * Copyright 2002-2007 the original author or authors.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 
17package org.springframework.batch.repeat.support;
18 
19import org.springframework.core.JdkVersion;
20import org.springframework.util.ClassUtils;
21 
22/**
23 * A factory that properly determines which version of the {@link ResultQueue} to return based on the availability of
24 * Java 5 or Backport Concurrent.
25 * 
26 * @author Ben Hale
27 */
28class ResultQueueFactory {
29 
30        /** Whether the backport-concurrent library is present on the classpath */
31        private static final boolean backportConcurrentAvailable = ClassUtils.isPresent(
32                "edu.emory.mathcs.backport.java.util.concurrent.Semaphore", ResultQueueFactory.class.getClassLoader());
33 
34        public RepeatInternalState getResultQueue(int throttleLimit) {
35                if (JdkVersion.isAtLeastJava15()) {
36                        return new JdkConcurrentResultQueue(throttleLimit);
37                } else if (backportConcurrentAvailable) {
38                        return new BackportConcurrentResultQueue(throttleLimit);
39                } else {
40                        throw new IllegalStateException("Cannot create ResultQueue - "
41                                + "neither JDK 1.5 nor backport-concurrent available on the classpath");
42                }
43        }
44 
45}

[all classes][org.springframework.batch.repeat.support]
EMMA 2.0.5312 (C) Vladimir Roubtsov