import static org.junit.Assert.*; import java.util.List; import java.util.Map; import org.junit.Test; import org.mef.sprig.Sprig; import org.mef.sprig.SprigLoader; public class CustomLoaderTests extends BaseTest { public static class Airport { public String getName() { return name; } public void setName(String name) { this.name = name; } private String name; } public static class AirportLoader implements SprigLoader<Airport> { @Override public void parse(Airport obj, Map<String, Object> map) { if (map.containsKey("name")) { String name = (String) map.get("name"); obj.setName(name); } } @Override public void save(Airport obj) { System.out.println("saving.."); } @Override public void resolve(Airport sourceObj, String fieldName, Object targetObj) { } @Override public Class getClassBeingLoaded() { return Airport.class; } @Override public void close() { } } @Test public void test() throws Exception { String path = this.getTestFile(""); Sprig.setDir(path); AirportLoader customLoader = new AirportLoader(); int n = Sprig.load(customLoader); assertEquals(1, n); List<Object> L = Sprig.getLoadedObjects(Airport.class); assertEquals(1, L.size()); Airport airport = (Airport) L.get(0); assertEquals("Schiphol", airport.getName()); } }