From a46e22ed13eccbd142fac40e3c5aa2db06a3ea97 Mon Sep 17 00:00:00 2001 From: kshakir Date: Wed, 30 Jun 2010 18:55:57 +0000 Subject: [PATCH] Refactored ArgumentDefinition to absorb functionality from ArgumentDefinition and ArgumentTypeDescriptor. git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@3689 348d0f76-0448-11de-a6fe-93d51630548a --- .../sting/queue/function/CommandLineFunction.scala | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/scala/src/org/broadinstitute/sting/queue/function/CommandLineFunction.scala b/scala/src/org/broadinstitute/sting/queue/function/CommandLineFunction.scala index 0935ff6f7..d94ac998b 100644 --- a/scala/src/org/broadinstitute/sting/queue/function/CommandLineFunction.scala +++ b/scala/src/org/broadinstitute/sting/queue/function/CommandLineFunction.scala @@ -3,7 +3,7 @@ package org.broadinstitute.sting.queue.function import org.broadinstitute.sting.queue.util._ import java.lang.reflect.Field import java.lang.annotation.Annotation -import org.broadinstitute.sting.commandline.{Input, Output, ArgumentDescription} +import org.broadinstitute.sting.commandline.{Input, Output} trait CommandLineFunction extends InputOutputFunction with DispatchFunction { var properties = Map.empty[String, String] @@ -49,8 +49,11 @@ trait CommandLineFunction extends InputOutputFunction with DispatchFunction { missing } - private def isRequired(field: Field, annotation: Class[_ <: Annotation]) = - new ArgumentDescription(field.getAnnotation(annotation)).required + private def isRequired(field: Field, annotationClass: Class[_ <: Annotation]) = + getAnnotationValue(field.getAnnotation(annotationClass), "required").asInstanceOf[Boolean] + + private def getAnnotationValue(annotation: Annotation, method: String) = + annotation.getClass.getMethod(method).invoke(annotation) protected def hasFieldValue(field: Field) = hasValue(this.getFieldValue(field))