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

org.openstack4j.openstack.storage.object.functions.MapWithoutMetaPrefixFunction Maven / Gradle / Ivy

There is a newer version: 3.2.0
Show newest version
package org.openstack4j.openstack.storage.object.functions;

import java.util.Map;

import com.google.common.base.Function;
import com.google.common.collect.ImmutableMap;

/**
 * Transforms a Swift Metadata Map into a Map without the meta prefix as key values
 * 
 * @author Jeremy Unruh
 */
public class MapWithoutMetaPrefixFunction implements Function, Map> {

    public static final MapWithoutMetaPrefixFunction INSTANCE = new MapWithoutMetaPrefixFunction();
    
    @Override
    public Map apply(Map input) {
        ImmutableMap.Builder metadata = ImmutableMap.builder();
        for (String key : input.keySet()) {
        	  if (key == null) {
        	  	continue;
        	  }
            int idx = key.indexOf("-Meta-");
            if (idx > -1) {
                metadata.put(key.substring(idx + 6), input.get(key));
            }
            if (key.indexOf("X-") > -1) {
                metadata.put(key, input.get(key));
            }
        }
        return metadata.build();
    }
    

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy