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

com.activitystream.model.aspects.ObservationEventsManager Maven / Gradle / Ivy

Go to download

AS-SDK is a java library to allow easy interoperability with Activity Stream.

There is a newer version: 0.1.25
Show newest version
package com.activitystream.model.aspects;

import com.activitystream.model.ASConstants;
import com.activitystream.model.interfaces.*;
import com.activitystream.model.stream.CustomerEvent;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.List;
import java.util.Map;

public class ObservationEventsManager extends AbstractListAspect implements CompactableElement, LinkedElement {

    public static final AspectType ASPECT_TYPE = new AspectType(ASConstants.ASPECTS_OBS_EVENTS, ObservationEventsManager::new) {
        /*
        @Override
        public boolean isActive(SavableElement element, BaseStreamElement root) {
            return ((OrientVertex) element).countEdges(Direction.BOTH, ASConstants.REL_OBS_EVENTS) > 0;
        }
        */
    };

    protected static final Logger logger = LoggerFactory.getLogger(ObservationEventsManager.class);

    public ObservationEventsManager() {
    }

    @Override
    public void loadFromValue(Object subEvents) {
        if (subEvents instanceof List) {
            ((List) subEvents).forEach(subEvent -> {
                if (subEvent instanceof Map) add(new CustomerEvent((Map) subEvent));
            });
        } else {
            logger.warn("Context elements: " + subEvents);
        }
        verify();
    }


    /************
     * Utilities
     ************/

    @Override
    public void compact() {

    }

    @Override
    public AspectType getAspectType() {
        return ASPECT_TYPE;
    }

    /************ Assignment & Validation ************/

    @Override
    public void verify() {

    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy