summaryrefslogtreecommitdiffstats
path: root/vespaclient-core/src/main/java/com/yahoo/feedapi/VespaFeedSender.java
blob: d7329264bc0a2eb7764e7fcbd4a3197437c5675b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.feedapi;

import com.yahoo.vespaxmlparser.VespaXMLFeedReader;

import java.util.Date;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.logging.Logger;

/**
 * Wrapper class for SimpleFeedAccess to send various XML operations.
 */
public class VespaFeedSender {

    private final SimpleFeedAccess sender;

    public VespaFeedSender(SimpleFeedAccess sender) {
        this.sender = sender;
    }

    public boolean isAborted() {
        return sender.isAborted();
    }

    public void sendOperation(VespaXMLFeedReader.Operation op) {
        switch (op.getType()) {
            case DOCUMENT:
                sender.put(op.getDocument(), op.getCondition());
                break;
            case REMOVE:
                sender.remove(op.getRemove(), op.getCondition());
                break;
            case UPDATE:
                sender.update(op.getDocumentUpdate(), op.getCondition());
                break;
        }
    }

}