Commit 04a7fa03 authored by yihua.huang's avatar yihua.huang

update pipeline

parent 21cae2ff
...@@ -28,13 +28,15 @@ public class OOSpider extends Spider { ...@@ -28,13 +28,15 @@ public class OOSpider extends Spider {
this(ObjectPageProcessor.create(site, pageModels)); this(ObjectPageProcessor.create(site, pageModels));
this.objectPipeline = new ObjectPipeline(); this.objectPipeline = new ObjectPipeline();
super.pipeline(objectPipeline); super.pipeline(objectPipeline);
if (pageModelPipeline!=null){
for (Class pageModel : pageModels) { for (Class pageModel : pageModels) {
this.objectPipeline.put(pageModel, pageModelPipeline); this.objectPipeline.put(pageModel, pageModelPipeline);
} }
} }
}
public static OOSpider create(Site site, Class... pageModels) { public static OOSpider create(Site site, Class... pageModels) {
return new OOSpider(site, new ConsolePageModelPipeline(), pageModels); return new OOSpider(site, null, pageModels);
} }
public static OOSpider create(Site site, PageModelPipeline pageModelPipeline, Class... pageModels) { public static OOSpider create(Site site, PageModelPipeline pageModelPipeline, Class... pageModels) {
......
...@@ -35,14 +35,13 @@ public class ObjectPipeline implements Pipeline { ...@@ -35,14 +35,13 @@ public class ObjectPipeline implements Pipeline {
Object o = resultItems.get(classPageModelPipelineEntry.getKey().getCanonicalName()); Object o = resultItems.get(classPageModelPipelineEntry.getKey().getCanonicalName());
if (o != null) { if (o != null) {
Annotation annotation = classPageModelPipelineEntry.getKey().getAnnotation(ExtractBy.class); Annotation annotation = classPageModelPipelineEntry.getKey().getAnnotation(ExtractBy.class);
ExtractBy extractBy = (ExtractBy) annotation; if (annotation == null || !((ExtractBy) annotation).multi()) {
if (extractBy.multi()) { classPageModelPipelineEntry.getValue().process(o, task);
} else {
List<Object> list = (List<Object>) o; List<Object> list = (List<Object>) o;
for (Object o1 : list) { for (Object o1 : list) {
classPageModelPipelineEntry.getValue().process(o1, task); classPageModelPipelineEntry.getValue().process(o1, task);
} }
} else {
classPageModelPipelineEntry.getValue().process(o, task);
} }
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment