yeg
2026-08-27 a4f06a9095a2eab0bb48b406c4609be6e70b8854
ruoyi-device/src/main/java/com/ruoyi/device/bts/BtsDeviceAdapter.java
@@ -17,12 +17,20 @@
    private final String adapterCode;
    private final BtsTransport transport;
    private final BtsXmlCodec codec;
    private final AdapterCapabilities capabilities;
    public BtsDeviceAdapter(String adapterCode, BtsTransport transport, BtsXmlCodec codec)
    {
        this(adapterCode, transport, codec, AdapterCapabilities.observeOnly());
    }
    public BtsDeviceAdapter(String adapterCode, BtsTransport transport, BtsXmlCodec codec,
            AdapterCapabilities capabilities)
    {
        this.adapterCode = adapterCode;
        this.transport = transport;
        this.codec = codec;
        this.capabilities = capabilities;
    }
    @Override
@@ -34,7 +42,7 @@
    @Override
    public AdapterCapabilities capabilities()
    {
        return AdapterCapabilities.observeOnly();
        return capabilities;
    }
    @Override
@@ -53,6 +61,7 @@
    @Override
    public List<HistoryAvailability> inquireHistory(Set<ChannelIdentity> channels)
    {
        if (!capabilities.historyDownload()) throw new UnsupportedOperationException("History download is not supported");
        if (channels == null || channels.isEmpty()) return List.of();
        return codec.parseHistoryAvailability(transport.exchange(codec.inquireHistoryRequest(channels)));
    }
@@ -60,6 +69,7 @@
    @Override
    public HistoryPage downloadHistory(ChannelIdentity channel, String btsTestId, long startPosition, int limit)
    {
        if (!capabilities.historyDownload()) throw new UnsupportedOperationException("History download is not supported");
        return codec.parseHistory(transport.exchange(codec.downloadRequest(channel, btsTestId, startPosition, limit)),
                channel, btsTestId, startPosition);
    }