All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.tracee.contextlogger.data.subdata.tracee.TraceeContextProvider Maven / Gradle / Ivy

The newest version!
package io.tracee.contextlogger.data.subdata.tracee;

import io.tracee.Tracee;
import io.tracee.TraceeBackend;
import io.tracee.contextlogger.ImplicitContext;
import io.tracee.contextlogger.api.Flatten;
import io.tracee.contextlogger.api.ImplicitContextData;
import io.tracee.contextlogger.api.TraceeContextLogProvider;
import io.tracee.contextlogger.api.TraceeContextLogProviderMethod;
import io.tracee.contextlogger.data.Order;
import io.tracee.contextlogger.data.subdata.NameStringValuePair;
import io.tracee.contextlogger.profile.ProfilePropertyNames;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

/**
 * Common context data provider.
 * Created by Tobias Gindler, holisticon AG on 14.03.14.
 */
@SuppressWarnings("unused")
@TraceeContextLogProvider(displayName = "tracee", order = Order.TRACEE)
public final class TraceeContextProvider implements ImplicitContextData {

    private final TraceeBackend traceeBackend;

    public TraceeContextProvider() {
        this.traceeBackend = Tracee.getBackend();
    }

    @Override
    public ImplicitContext getImplicitContext() {
        return ImplicitContext.TRACEE;
    }

    @SuppressWarnings("unused")
    @Flatten
    @TraceeContextLogProviderMethod(
            displayName = "DYNAMIC",
            propertyName = ProfilePropertyNames.TRACEE,
            order = 10)
    public List getNameValuePairs() {

        final List list = new ArrayList();

        final Collection keys = traceeBackend.keySet();
        if (keys != null) {
            for (String key : keys) {

                final String value = traceeBackend.get(key);
                list.add(new NameStringValuePair(key, value));

            }
        }
        return list.size() > 0 ? list : null;

    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy