Search in sources :

Example 1 with ConfigurationAssignment

use of com.ichorpowered.guardian.content.assignment.ConfigurationAssignment in project guardian by ichorpowered.

the class AbstractDetectionContentLoader method save.

@Override
public void save() {
    if (this.contentContainer == null)
        return;
    this.contentContainer.getMap().forEach((key, value) -> {
        final Optional<ConfigurationAssignment> assignment = key.getAssignments().stream().filter(contentAssignment -> contentAssignment.getClass().equals(ConfigurationAssignment.class)).map(contentAssignment -> (ConfigurationAssignment) contentAssignment).findFirst();
        if (!assignment.isPresent())
            return;
        final ConfigurationAssignment configurationAssignment = assignment.get();
        this.configurationFile.getNode(configurationAssignment.lookup().toArray()).setValue(key.getElementToken());
    });
    try {
        this.configurationFile.save();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
Also used : ConfigFile(tech.ferus.util.config.ConfigFile) DetectionContentLoader(com.ichorpowered.guardianapi.detection.DetectionContentLoader) ConfigurationAssignment(com.ichorpowered.guardian.content.assignment.ConfigurationAssignment) CommentedConfigurationNode(ninja.leaping.configurate.commented.CommentedConfigurationNode) Set(java.util.Set) IOException(java.io.IOException) Maps(com.google.common.collect.Maps) Key(com.ichorpowered.guardianapi.util.item.key.Key) GuardianValue(com.ichorpowered.guardian.util.item.mutable.GuardianValue) GuardianMapValue(com.ichorpowered.guardian.util.item.mutable.GuardianMapValue) ContentKey(com.ichorpowered.guardianapi.content.key.ContentKey) Detection(com.ichorpowered.guardianapi.detection.Detection) ObjectMappingException(ninja.leaping.configurate.objectmapping.ObjectMappingException) Value(com.ichorpowered.guardianapi.util.item.value.mutable.Value) MapValue(com.ichorpowered.guardianapi.util.item.value.mutable.MapValue) Map(java.util.Map) ConfigurationNode(ninja.leaping.configurate.ConfigurationNode) ContentContainer(com.ichorpowered.guardianapi.content.ContentContainer) Optional(java.util.Optional) Path(java.nio.file.Path) ConfigurationAssignment(com.ichorpowered.guardian.content.assignment.ConfigurationAssignment) IOException(java.io.IOException)

Example 2 with ConfigurationAssignment

use of com.ichorpowered.guardian.content.assignment.ConfigurationAssignment in project guardian by ichorpowered.

the class AbstractDetectionContentLoader method acquireAll.

@Override
public void acquireAll(Set<ContentKey<?>> contentKeys) {
    if (this.contentContainer == null)
        return;
    contentKeys.forEach(key -> {
        final Optional<ConfigurationAssignment> assignment = key.getAssignments().stream().filter(contentAssignment -> contentAssignment.getClass().equals(ConfigurationAssignment.class)).map(contentAssignment -> (ConfigurationAssignment) contentAssignment).findFirst();
        if (!assignment.isPresent())
            return;
        final ConfigurationAssignment configurationAssignment = assignment.get();
        final CommentedConfigurationNode node = this.configurationFile.getNode(configurationAssignment.lookup().toArray());
        if (MapValue.class.isAssignableFrom(key.getDefaultValue().getClass())) {
            final Map<Object, Object> collect = Maps.newHashMap();
            if (node.hasMapChildren()) {
                for (final Map.Entry<Object, ? extends ConfigurationNode> entry : node.getChildrenMap().entrySet()) {
                    collect.put(entry.getKey(), entry.getValue().getValue());
                    this.contentContainer.attempt(key, GuardianMapValue.builder((Key) key).defaultElement(collect).element(collect).create());
                }
                return;
            }
        }
        if (Value.class.isAssignableFrom(key.getDefaultValue().getClass())) {
            try {
                Object value = node.getValue(key.getElementToken());
                this.contentContainer.attempt(key, GuardianValue.builder((Key) key).defaultElement(value).element(value).create());
            } catch (ObjectMappingException e) {
                e.printStackTrace();
            }
        }
    });
}
Also used : ConfigFile(tech.ferus.util.config.ConfigFile) DetectionContentLoader(com.ichorpowered.guardianapi.detection.DetectionContentLoader) ConfigurationAssignment(com.ichorpowered.guardian.content.assignment.ConfigurationAssignment) CommentedConfigurationNode(ninja.leaping.configurate.commented.CommentedConfigurationNode) Set(java.util.Set) IOException(java.io.IOException) Maps(com.google.common.collect.Maps) Key(com.ichorpowered.guardianapi.util.item.key.Key) GuardianValue(com.ichorpowered.guardian.util.item.mutable.GuardianValue) GuardianMapValue(com.ichorpowered.guardian.util.item.mutable.GuardianMapValue) ContentKey(com.ichorpowered.guardianapi.content.key.ContentKey) Detection(com.ichorpowered.guardianapi.detection.Detection) ObjectMappingException(ninja.leaping.configurate.objectmapping.ObjectMappingException) Value(com.ichorpowered.guardianapi.util.item.value.mutable.Value) MapValue(com.ichorpowered.guardianapi.util.item.value.mutable.MapValue) Map(java.util.Map) ConfigurationNode(ninja.leaping.configurate.ConfigurationNode) ContentContainer(com.ichorpowered.guardianapi.content.ContentContainer) Optional(java.util.Optional) Path(java.nio.file.Path) ConfigurationAssignment(com.ichorpowered.guardian.content.assignment.ConfigurationAssignment) CommentedConfigurationNode(ninja.leaping.configurate.commented.CommentedConfigurationNode) Map(java.util.Map) ObjectMappingException(ninja.leaping.configurate.objectmapping.ObjectMappingException)

Example 3 with ConfigurationAssignment

use of com.ichorpowered.guardian.content.assignment.ConfigurationAssignment in project guardian by ichorpowered.

the class AbstractDetectionContentLoader method acquireSingle.

@Override
public void acquireSingle(ContentKey<?> key) {
    if (this.contentContainer == null)
        return;
    final Optional<ConfigurationAssignment> assignment = key.getAssignments().stream().filter(contentAssignment -> contentAssignment.getClass().equals(ConfigurationAssignment.class)).map(contentAssignment -> (ConfigurationAssignment) contentAssignment).findFirst();
    if (!assignment.isPresent())
        return;
    final ConfigurationAssignment configurationAssignment = assignment.get();
    final CommentedConfigurationNode node = this.configurationFile.getNode(configurationAssignment.lookup().toArray());
    if (MapValue.class.isAssignableFrom(key.getDefaultValue().getClass())) {
        final Map<Object, Object> collect = Maps.newHashMap();
        if (node.hasMapChildren()) {
            for (final Map.Entry<Object, ? extends ConfigurationNode> entry : node.getChildrenMap().entrySet()) {
                collect.put(entry.getKey(), entry.getValue().getValue());
                this.contentContainer.attempt(key, GuardianMapValue.builder((Key) key).defaultElement(collect).element(collect).create());
            }
            return;
        }
    }
    if (Value.class.isAssignableFrom(key.getDefaultValue().getClass())) {
        try {
            Object value = node.getValue(key.getElementToken());
            this.contentContainer.attempt(key, GuardianValue.builder((Key) key).defaultElement(value).element(value).create());
        } catch (ObjectMappingException e) {
            e.printStackTrace();
        }
    }
}
Also used : ConfigFile(tech.ferus.util.config.ConfigFile) DetectionContentLoader(com.ichorpowered.guardianapi.detection.DetectionContentLoader) ConfigurationAssignment(com.ichorpowered.guardian.content.assignment.ConfigurationAssignment) CommentedConfigurationNode(ninja.leaping.configurate.commented.CommentedConfigurationNode) Set(java.util.Set) IOException(java.io.IOException) Maps(com.google.common.collect.Maps) Key(com.ichorpowered.guardianapi.util.item.key.Key) GuardianValue(com.ichorpowered.guardian.util.item.mutable.GuardianValue) GuardianMapValue(com.ichorpowered.guardian.util.item.mutable.GuardianMapValue) ContentKey(com.ichorpowered.guardianapi.content.key.ContentKey) Detection(com.ichorpowered.guardianapi.detection.Detection) ObjectMappingException(ninja.leaping.configurate.objectmapping.ObjectMappingException) Value(com.ichorpowered.guardianapi.util.item.value.mutable.Value) MapValue(com.ichorpowered.guardianapi.util.item.value.mutable.MapValue) Map(java.util.Map) ConfigurationNode(ninja.leaping.configurate.ConfigurationNode) ContentContainer(com.ichorpowered.guardianapi.content.ContentContainer) Optional(java.util.Optional) Path(java.nio.file.Path) ConfigurationAssignment(com.ichorpowered.guardian.content.assignment.ConfigurationAssignment) CommentedConfigurationNode(ninja.leaping.configurate.commented.CommentedConfigurationNode) Map(java.util.Map) ObjectMappingException(ninja.leaping.configurate.objectmapping.ObjectMappingException)

Example 4 with ConfigurationAssignment

use of com.ichorpowered.guardian.content.assignment.ConfigurationAssignment in project guardian by ichorpowered.

the class AbstractDetectionContentLoader method acquireAll.

@Override
public void acquireAll() {
    if (this.contentContainer == null || this.contentContainer.getPossibleKeys() == null)
        return;
    this.contentContainer.getPossibleKeys().forEach(key -> {
        final Optional<ConfigurationAssignment> assignment = key.getAssignments().stream().filter(contentAssignment -> contentAssignment.getClass().equals(ConfigurationAssignment.class)).map(contentAssignment -> (ConfigurationAssignment) contentAssignment).findFirst();
        if (!assignment.isPresent())
            return;
        final ConfigurationAssignment configurationAssignment = assignment.get();
        final CommentedConfigurationNode node = this.configurationFile.getNode(configurationAssignment.lookup().toArray());
        if (MapValue.class.isAssignableFrom(key.getDefaultValue().getClass())) {
            final Map<Object, Object> collect = Maps.newHashMap();
            if (node.hasMapChildren()) {
                for (final Map.Entry<Object, ? extends ConfigurationNode> entry : node.getChildrenMap().entrySet()) {
                    collect.put(entry.getKey(), entry.getValue().getValue());
                    this.contentContainer.attempt(key, GuardianMapValue.builder((Key) key).defaultElement(collect).element(collect).create());
                }
                return;
            }
        }
        if (Value.class.isAssignableFrom(key.getDefaultValue().getClass())) {
            try {
                Object value = node.getValue(key.getElementToken());
                this.contentContainer.attempt(key, GuardianValue.builder((Key) key).defaultElement(value).element(value).create());
            } catch (ObjectMappingException e) {
                e.printStackTrace();
            }
        }
    });
}
Also used : ConfigFile(tech.ferus.util.config.ConfigFile) DetectionContentLoader(com.ichorpowered.guardianapi.detection.DetectionContentLoader) ConfigurationAssignment(com.ichorpowered.guardian.content.assignment.ConfigurationAssignment) CommentedConfigurationNode(ninja.leaping.configurate.commented.CommentedConfigurationNode) Set(java.util.Set) IOException(java.io.IOException) Maps(com.google.common.collect.Maps) Key(com.ichorpowered.guardianapi.util.item.key.Key) GuardianValue(com.ichorpowered.guardian.util.item.mutable.GuardianValue) GuardianMapValue(com.ichorpowered.guardian.util.item.mutable.GuardianMapValue) ContentKey(com.ichorpowered.guardianapi.content.key.ContentKey) Detection(com.ichorpowered.guardianapi.detection.Detection) ObjectMappingException(ninja.leaping.configurate.objectmapping.ObjectMappingException) Value(com.ichorpowered.guardianapi.util.item.value.mutable.Value) MapValue(com.ichorpowered.guardianapi.util.item.value.mutable.MapValue) Map(java.util.Map) ConfigurationNode(ninja.leaping.configurate.ConfigurationNode) ContentContainer(com.ichorpowered.guardianapi.content.ContentContainer) Optional(java.util.Optional) Path(java.nio.file.Path) ConfigurationAssignment(com.ichorpowered.guardian.content.assignment.ConfigurationAssignment) CommentedConfigurationNode(ninja.leaping.configurate.commented.CommentedConfigurationNode) Map(java.util.Map) ObjectMappingException(ninja.leaping.configurate.objectmapping.ObjectMappingException)

Aggregations

Maps (com.google.common.collect.Maps)4 ConfigurationAssignment (com.ichorpowered.guardian.content.assignment.ConfigurationAssignment)4 GuardianMapValue (com.ichorpowered.guardian.util.item.mutable.GuardianMapValue)4 GuardianValue (com.ichorpowered.guardian.util.item.mutable.GuardianValue)4 ContentContainer (com.ichorpowered.guardianapi.content.ContentContainer)4 ContentKey (com.ichorpowered.guardianapi.content.key.ContentKey)4 Detection (com.ichorpowered.guardianapi.detection.Detection)4 DetectionContentLoader (com.ichorpowered.guardianapi.detection.DetectionContentLoader)4 Key (com.ichorpowered.guardianapi.util.item.key.Key)4 MapValue (com.ichorpowered.guardianapi.util.item.value.mutable.MapValue)4 Value (com.ichorpowered.guardianapi.util.item.value.mutable.Value)4 IOException (java.io.IOException)4 Path (java.nio.file.Path)4 Map (java.util.Map)4 Optional (java.util.Optional)4 Set (java.util.Set)4 ConfigurationNode (ninja.leaping.configurate.ConfigurationNode)4 CommentedConfigurationNode (ninja.leaping.configurate.commented.CommentedConfigurationNode)4 ObjectMappingException (ninja.leaping.configurate.objectmapping.ObjectMappingException)4 ConfigFile (tech.ferus.util.config.ConfigFile)4