mirror of https://github.com/apache/druid.git
MapLookupFactory need to be Ser/Desr.
This commit is contained in:
parent
f82044bdb6
commit
59eb2490a0
|
@ -30,7 +30,9 @@ import java.util.Map;
|
|||
|
||||
public class MapLookupExtractorFactory implements LookupExtractorFactory
|
||||
{
|
||||
@JsonProperty
|
||||
private final Map<String, String> map;
|
||||
@JsonProperty
|
||||
private final boolean isOneToOne;
|
||||
private final MapLookupExtractor lookupExtractor;
|
||||
|
||||
|
|
|
@ -19,10 +19,15 @@
|
|||
|
||||
package io.druid.query.extraction;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import io.druid.jackson.DefaultObjectMapper;
|
||||
import io.druid.query.lookup.LookupExtractorFactory;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
public class MapLookupExtractorFactoryTest
|
||||
{
|
||||
private static final String KEY = "foo";
|
||||
|
@ -46,4 +51,12 @@ public class MapLookupExtractorFactoryTest
|
|||
Assert.assertTrue(factory.replaces(new MapLookupExtractorFactory(ImmutableMap.of(KEY, VALUE + "1"), true)));
|
||||
Assert.assertTrue(factory.replaces(null));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testSerDeserMapLookupExtractorFactory() throws IOException
|
||||
{
|
||||
ObjectMapper mapper = new DefaultObjectMapper();
|
||||
LookupExtractorFactory lookupExtractorFactory = new MapLookupExtractorFactory(ImmutableMap.of("key", "value"), true);
|
||||
Assert.assertEquals(lookupExtractorFactory, mapper.reader(LookupExtractorFactory.class).readValue(mapper.writeValueAsString(lookupExtractorFactory)));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,13 +19,13 @@
|
|||
|
||||
package io.druid.query.lookup;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeName;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.io.Files;
|
||||
import com.metamx.common.ISE;
|
||||
import com.metamx.common.StringUtils;
|
||||
import io.druid.query.extraction.MapLookupExtractorFactory;
|
||||
import io.druid.segment.TestHelper;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
|
@ -33,7 +33,6 @@ import org.junit.Rule;
|
|||
import org.junit.Test;
|
||||
import org.junit.rules.TemporaryFolder;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.Collections;
|
||||
|
@ -55,9 +54,6 @@ public class LookupSnapshotTakerTest
|
|||
{
|
||||
basePersistDirectory = temporaryFolder.newFolder().getAbsolutePath();
|
||||
lookupSnapshotTaker = new LookupSnapshotTaker(mapper, basePersistDirectory);
|
||||
mapper.registerSubtypes(LookupFactoryMock.class);
|
||||
mapper.registerSubtypes(LookupExtractorFactory.class);
|
||||
mapper.addMixIn(LookupExtractorFactory.class, LookupFactoryMock.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -66,7 +62,7 @@ public class LookupSnapshotTakerTest
|
|||
|
||||
LookupBean lookupBean = new LookupBean();
|
||||
lookupBean.name = "name";
|
||||
lookupBean.factory = new LookupFactoryMock();
|
||||
lookupBean.factory = new MapLookupExtractorFactory(ImmutableMap.of("key", "value"), true);
|
||||
List<LookupBean> lookupBeanList = Lists.newArrayList(lookupBean);
|
||||
lookupSnapshotTaker.takeSnapshot(lookupBeanList);
|
||||
List<LookupBean> actualList = lookupSnapshotTaker.pullExistingSnapshot();
|
||||
|
@ -81,7 +77,7 @@ public class LookupSnapshotTakerTest
|
|||
LookupSnapshotTaker lookupSnapshotTaker = new LookupSnapshotTaker(mapper, directory.getAbsolutePath());
|
||||
LookupBean lookupBean = new LookupBean();
|
||||
lookupBean.name = "name";
|
||||
lookupBean.factory = new LookupFactoryMock();
|
||||
lookupBean.factory = new MapLookupExtractorFactory(ImmutableMap.of("key", "value"), true);
|
||||
List<LookupBean> lookupBeanList = Lists.newArrayList(lookupBean);
|
||||
lookupSnapshotTaker.takeSnapshot(lookupBeanList);
|
||||
}
|
||||
|
@ -113,44 +109,4 @@ public class LookupSnapshotTakerTest
|
|||
List<LookupBean> actualList = lookupSnapshotTaker.pullExistingSnapshot();
|
||||
Assert.assertEquals(Collections.EMPTY_LIST, actualList);
|
||||
}
|
||||
|
||||
@JsonTypeName("mock")
|
||||
private class LookupFactoryMock implements LookupExtractorFactory
|
||||
{
|
||||
|
||||
@JsonCreator
|
||||
public LookupFactoryMock()
|
||||
{
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean start()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean close()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean replaces(@Nullable LookupExtractorFactory other)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public LookupExtractor get()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj)
|
||||
{
|
||||
return obj instanceof LookupFactoryMock;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue