Example usage for org.apache.commons.lang.reflect FieldUtils readField

List of usage examples for org.apache.commons.lang.reflect FieldUtils readField

Introduction

In this page you can find the example usage for org.apache.commons.lang.reflect FieldUtils readField.

Prototype

public static Object readField(Object target, String fieldName, boolean forceAccess)
        throws IllegalAccessException 

Source Link

Document

Read the named field.

Usage

From source file:main.java.framework.java.measurement.MeasurementUtils.java

/**
 *
 * @param object/*w ww  .  j a v a 2s .c  om*/
 * @param fields
 * @return
 */
public static Object getField(Object object, String... fields) {
    Object result = object;
    for (String field : fields) {
        try {
            result = FieldUtils.readField(result, field, true);
        } catch (IllegalAccessException e) {
            return null;
        }
    }
    return result;
}

From source file:ch.algotrader.util.FieldUtil.java

/**
 * copies all field values by direct field access.
 *//*ww  w  . j  a  va2 s .c o m*/
public static void copyAllFields(Object source, Object target) {

    for (Field field : FieldUtil.getAllFields(target.getClass())) {

        try {
            Object targetValue = FieldUtils.readField(field, source, true);
            FieldUtils.writeField(field, target, targetValue, true);
        } catch (IllegalAccessException e) {
            LOGGER.error("problem copying field", e);
        }
    }
}

From source file:fi.kela.kanta.util.GenericToString.java

/**
 * Geneerinen toString metodi, jolla saadaan yksinkertainen siisti key=value listaus annetun luokan attribuuteista.
 *
 * @param obj//from  w w  w . j  a  va 2  s  .c  o  m
 *            Objekti jonka tiedot halutaan tulostaa.
 * @return Listaus annetun objektin attribuuteista ja niiden arvoista.
 */
public String toString(Object obj) {

    StringBuilder sb = new StringBuilder();
    sb.append(obj.getClass().getSimpleName());
    sb.append(GenericToString.open_parameters);

    boolean fieldsAdded = false;
    for (Field field : GenericToString.getAllFields(obj.getClass())) {
        // Ei nytet staattisia kentti
        if (field != null && !java.lang.reflect.Modifier.isStatic(field.getModifiers())
                && !(field.getName().startsWith("this$") || field.getName().startsWith("_persistence"))) {
            fieldsAdded = true;
            sb.append(field.getName()).append(GenericToString.equals);
            try {
                if (field.getType().isPrimitive() || field.getType().isAssignableFrom(String.class)) {
                    if (field.getAnnotation(OmitFromToString.class) != null) {
                        sb.append(hidden_value);
                    } else {
                        sb.append(FieldUtils.readField(obj, field.getName(), true));
                    }
                } else if (field.getType().isArray()) {
                    if (!field.isAccessible()) {
                        field.setAccessible(true);
                    }
                    // TODO: Voi jatkokehitt siten ett tulostaa siististi arrayn
                    Object fieldValue = field.get(obj);
                    if (fieldValue != null) {
                        sb.append(GenericToString.na_array);
                    } else {
                        sb.append(GenericToString.null_array);
                    }
                } else {
                    addObjectInfo(sb, field, obj);
                }
            } catch (IllegalAccessException e) {
                LOGGER.error(e);
                sb.append(GenericToString.na_access);
            }

            sb.append(GenericToString.comma);
        }
    }

    if (fieldsAdded) {
        // remove last comma and space
        sb.delete(sb.length() - 2, sb.length());
    }
    sb.append(GenericToString.close_parameters);
    return sb.toString();
}

From source file:com.evolveum.midpoint.web.util.SchrodingerComponentInitListener.java

private void handleLocalization(Component component) {
    if (component instanceof PrismPropertyPanel) {
        PrismPropertyPanel ppp = (PrismPropertyPanel) component;
        ItemWrapper iw = (ItemWrapper) ppp.getModel().getObject();
        String key = iw.getDisplayName();

        QName qname = iw.getName();

        writeDataAttribute(component, ATTR_RESOURCE_KEY, key);
        writeDataAttribute(component, ATTR_QNAME, qnameToString(qname));
        return;//from   w w w.j  a v  a 2  s  .  c om
    }

    if (component instanceof PrismHeaderPanel) {
        PrismHeaderPanel php = (PrismHeaderPanel) component;
        String key = php.getLabel();

        writeDataAttribute(component, ATTR_RESOURCE_KEY, key);
        return;
    }

    StringResourceModel model = null;
    if (component.getDefaultModel() instanceof StringResourceModel) {
        model = (StringResourceModel) component.getDefaultModel();
    } else if (component.getInnermostModel() instanceof StringResourceModel) {
        model = (StringResourceModel) component.getInnermostModel();
    }

    if (model == null) {
        return;
    }

    try {
        String key = (String) FieldUtils.readField(model, "resourceKey", true);
        if (key != null) {
            writeDataAttribute(component, ATTR_RESOURCE_KEY, key);
        }
    } catch (Exception ex) {
        // we don't care, should be all right, unless selenium tests starts failing
    }
}

From source file:de.tudarmstadt.ukp.dkpro.core.lingpipe.LingPipeNamedEntityRecognizer.java

@Override
public void initialize(UimaContext aContext) throws ResourceInitializationException {
    super.initialize(aContext);

    modelProvider = new ModelProviderBase<Chunker>(this, "lingpipe", "ner") {
        @Override//from  w  w  w. jav  a2s.  c  om
        protected Chunker produceResource(InputStream aStream) throws Exception {
            ObjectInputStream ois = new ObjectInputStream(aStream);
            Chunker chunker = (Chunker) ois.readObject();

            System.out.println(chunker.getClass());

            SingletonTagset tags = new SingletonTagset(NamedEntity.class, null);
            if (chunker instanceof HmmChunker) {
                HiddenMarkovModel hmm = ((HmmChunker) chunker).getDecoder().getHmm();

                List<String> prefixes = asList("B_", "M_", "E_", "W_", "BB_O_", "EE_O_", "WW_O_");

                for (int n = 0; n < hmm.stateSymbolTable().numSymbols(); n++) {
                    String tag = hmm.stateSymbolTable().idToSymbol(n);

                    if (prefixes.contains(StringUtils.substring(tag, 0, 5))) {
                        tag = tag.substring(5);
                    } else if (prefixes.contains(StringUtils.substring(tag, 0, 2))) {
                        tag = tag.substring(2);
                    }
                    if ("BOS".equals(tag) || "MM_O".equals(tag)) {
                        // BOS is reserved by the system
                        continue;
                    }

                    tags.add(tag);
                }
            } else if (chunker instanceof TokenShapeChunker) {
                Object decoder = FieldUtils.readField(chunker, "mDecoder", true);
                Object estimator = FieldUtils.readField(decoder, "mEstimator", true);
                SymbolTable tagTable = (SymbolTable) FieldUtils.readField(estimator, "mTagSymbolTable", true);
                for (int n = 0; n < tagTable.numSymbols(); n++) {
                    String tag = tagTable.idToSymbol(n);
                    // Handle BIO encoding
                    if (tag.startsWith("B-") || tag.startsWith("I-")) {
                        tag = tag.substring(2);
                    }
                    if ("O".equals(tag)) {
                        continue;
                    }
                    tags.add(tag);
                }
            } else if (chunker instanceof AbstractCharLmRescoringChunker) {
                @SuppressWarnings("unchecked")
                Map<String, Character> typeToChar = (Map<String, Character>) FieldUtils.readField(chunker,
                        "mTypeToChar", true);
                for (String tag : typeToChar.keySet()) {
                    tags.add(tag);
                }
            }
            addTagset(tags);

            if (printTagSet) {
                getContext().getLogger().log(INFO, tags.toString());
            }

            return chunker;
        }
    };

    mappingProvider = new MappingProvider();
    mappingProvider
            .setDefaultVariantsLocation("de/tudarmstadt/ukp/dkpro/core/lingpipe/lib/ner-default-variants.map");
    mappingProvider.setDefault(MappingProvider.LOCATION,
            "classpath:/de/tudarmstadt/ukp/dkpro/" + "core/lingpipe/lib/ner-${language}-${variant}.map");
    mappingProvider.setDefault(MappingProvider.BASE_TYPE, NamedEntity.class.getName());
    mappingProvider.setOverride(MappingProvider.LOCATION, mappingLocation);
    mappingProvider.setOverride(MappingProvider.LANGUAGE, language);
    mappingProvider.setOverride(MappingProvider.VARIANT, variant);
}

From source file:br.com.ingenieux.jenkins.plugins.awsebdeployment.AWSClientFactory.java

public <T extends AmazonWebServiceClient> String getEndpointFor(T client) {
    try {/* ww w.j  a  va 2s. c  om*/
        URI endpointUri = (URI) FieldUtils.readField(client, "endpoint", true);

        return endpointUri.toASCIIString();
    } catch (Exception e) {
        return null;
    }
}

From source file:hudson.matrix.MatrixTest.java

@Issue("JENKINS-34389")
@Test//  ww w. j  a va  2s  .c  o m
public void axisValuesChanged() throws Exception {
    // create project with dynamic axis
    MatrixProject project = j.createProject(MatrixProject.class);
    project.setAxes(new AxisList(new DynamicTestAxis("axis")));
    project.setConcurrentBuild(true);

    // build project
    QueueTaskFuture<MatrixBuild> matrixBuildQueue = project.scheduleBuild2(0);
    matrixBuildQueue.waitForStart();

    QueueTaskFuture<MatrixBuild> matrixBuildQueue2 = project.scheduleBuild2(0);

    MatrixBuild build = matrixBuildQueue.get();
    MatrixBuild build2 = matrixBuildQueue2.get();

    // get axes from build
    AxisList axes = (AxisList) FieldUtils.readField(build, "axes", true);
    AxisList axes2 = (AxisList) FieldUtils.readField(build2, "axes", true);

    // check if axes are valid
    assertArrayEquals(axes.get(0).getValues().toArray(), Arrays.asList("1", "10").toArray());
    assertArrayEquals(axes2.get(0).getValues().toArray(), Arrays.asList("2", "20").toArray());
}

From source file:de.tudarmstadt.ukp.dkpro.core.corenlp.CoreNlpParser.java

@Override
public void process(JCas aJCas) throws AnalysisEngineProcessException {
    CAS cas = aJCas.getCas();/*from w w  w . j av  a2 s  . co m*/

    annotatorProvider.configure(cas);

    // Transfer from CAS to CoreNLP
    DKPro2CoreNlp converter = new DKPro2CoreNlp();
    converter.setPtb3Escaping(ptb3Escaping);
    converter.setQuoteBegin(quoteBegin);
    converter.setQuoteEnd(quoteEnd);
    converter.setEncoding(modelEncoding);
    converter.setReadPos(readPos);

    Annotation document = new Annotation((String) null);
    converter.convert(aJCas, document);

    // Actual processing
    ParserAnnotator annotator = annotatorProvider.getResource();
    annotator.annotate(document);

    // Get TreebankLanguagePack
    ParserGrammar parser;
    try {
        parser = (ParserGrammar) FieldUtils.readField(annotator, "parser", true);
    } catch (IllegalAccessException e) {
        throw new AnalysisEngineProcessException(e);
    }
    TreebankLanguagePack tlp = parser.getTLPParams().treebankLanguagePack();

    // Transfer back into the CAS
    if (writePos) {
        posMappingProvider.configure(cas);
        CoreNlp2DKPro.convertPOSs(aJCas, document, posMappingProvider, internStrings);
    }

    if (writeConstituent) {
        constituentMappingProvider.configure(cas);
        CoreNlp2DKPro.convertConstituents(aJCas, document, constituentMappingProvider, internStrings, tlp);
    }

    if (writePennTree) {
        CoreNlp2DKPro.convertPennTree(aJCas, document);
    }

    if (writeDependency) {
        dependencyMappingProvider.configure(cas);
        CoreNlp2DKPro.convertDependencies(aJCas, document, dependencyMappingProvider, internStrings);
    }
}

From source file:gov.va.vinci.leo.ae.LeoBaseAnnotator.java

/**
 * Get a map of parameters and their values.  Parameter list is retrieved from the inner Param class. Values are
 * retrieved by matching the name of the ConfigurationParameter to the name of a variable set in the class.
 *
 * @return  a map of parameters and their values that is created during initialization.
 *//*from  ww  w .  j  a va  2 s . c o m*/
protected Map<ConfigurationParameter, Object> getParametersToValuesMap() {
    Map<ConfigurationParameter, Object> parameterObjectMap = new HashMap<ConfigurationParameter, Object>();
    ConfigurationParameter[] params;
    try {
        params = this.getAnnotatorParams();
        for (ConfigurationParameter parameter : params) {
            try {
                Field field = FieldUtils.getField(this.getClass(), parameter.getName(), true);
                parameterObjectMap.put(parameter, FieldUtils.readField(field, this, true));
            } catch (Exception eField) {
                parameterObjectMap.put(parameter, null);
            }
        }
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
    return parameterObjectMap;
}

From source file:nl.strohalm.cyclos.utils.cache.EhCacheCacheManager.java

@Override
public void afterPropertiesSet() throws Exception {
    // Attempt to get the same EHCache cache manager from the session factory
    try {/*ww w.java 2s . co m*/
        // Dirty little trick using reflection
        RegionFactory regionFactory = sessionFactory.getSettings().getRegionFactory();
        ehCacheManager = (net.sf.ehcache.CacheManager) FieldUtils.readField(regionFactory, "manager", true);
    } catch (Exception e) {
        // It was not possible. Fallback to the default cache manager
        ehCacheManager = new net.sf.ehcache.CacheManager();
        cleanUpEhCache = true;
    }
}