Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package com.ibm.jbatch.container.cdi;
  
  import java.util.HashSet;
  import java.util.List;
  import java.util.Set;
 
 import  javax.batch.annotation.BatchProperty;
 
 
 
 public class BatchProducerBean implements Bean<BatchProducerBean> {
     
     private final static String sourceClass = BatchProducerBean.class.getName();
     private final static Logger logger = Logger.getLogger();
 
     @Produces
     @Dependent
     @BatchProperty
     public String produceProperty(InjectionPoint injectionPoint) {
 
         //Seems like this is a CDI bug where null injection points are getting passed in. 
         //We should be able to ignore these as a workaround.
         if (injectionPoint != null) {
 
             BatchProperty batchPropAnnotation = injectionPoint.getAnnotated().getAnnotation(BatchProperty.class);
 
             // If a name is not supplied the batch property name defaults to
             // the field name
             String batchPropName = null;
             if (batchPropAnnotation.name().equals("")) {
                 batchPropName = injectionPoint.getMember().getName();
             } else {
                 batchPropName = batchPropAnnotation.name();
             }
 
             List<PropertypropList = ProxyFactory.getInjectionReferences().getProps();
 
             String propValue =  DependencyInjectionUtility.getPropertyValue(propListbatchPropName);
             
             return propValue;
             
         }
 
         return null;
 
     }
 
     @Produces
     @Dependent
     public JobContext getJobContext() {
         return ProxyFactory.getInjectionReferences().getJobContext();
     }
 
     @Produces
     @Dependent
     public StepContext getStepContext() {
         return ProxyFactory.getInjectionReferences().getStepContext();
     }
 
     @Override
     public Class<?> getBeanClass() {
 
         return BatchProducerBean.class;
 
     }
 
     @Override
     public Set<InjectionPointgetInjectionPoints() {
 
         return Collections.emptySet();
 
     }
 
     @Override
     public String getName() {
 
         return "batchProducerBean";
 
     }
 
     @Override
     public Set<AnnotationgetQualifiers() {
        Set<Annotationqualifiers = new HashSet<Annotation>();
        qualifiers.add(new AnnotationLiteral<Default>() {
            @Override
            public Class<? extends AnnotationannotationType() {
                return Default.class;
            }
        });
        qualifiers.add(new AnnotationLiteral<Any>() {
            @Override
            public Class<? extends AnnotationannotationType() {
                return Any.class;
            }
        });
        return qualifiers;
    }
    @Override
    public Class<? extends AnnotationgetScope() {
        return Dependent.class;
    }
    @Override
    public Set<Class<? extends Annotation>> getStereotypes() {
        return Collections.emptySet();
    }
    @Override
    public Set<TypegetTypes() {
        Set<Typetypes = new HashSet<Type>();
        types.add(BatchProducerBean.class);
        types.add(Object.class);
        return types;
    }
    @Override
    public boolean isAlternative() {
        return false;
    }
    @Override
    public boolean isNullable() {
        return false;
    }
    @Override
        return new BatchProducerBean();
    }
    @Override
    public void destroy(BatchProducerBean instanceCreationalContext<BatchProducerBeanctx) {
        ctx.release();
    }
New to GrepCode? Check out our FAQ X