Application.java 6 KB
package com.example.mina;

import com.example.mina.client.ClientUtils;
import com.example.mina.client.base.ClientManager;
import com.example.mina.client.base.Experiment;
import com.example.mina.client.base.ExperimentManager;
import com.example.mina.client.base.ExperimentType;
import com.example.mina.client.base.MatrixClient;
import com.example.mina.client.base.MatrixConnectConfig;
import com.example.mina.client.base.MatrixConstants;
import com.example.mina.client.base.Mimo;
import com.example.mina.client.base.StationPair;
import com.example.mina.client.experiment.HandOverExperimentOptions;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.ArrayList;
import java.util.List;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;

/**
 * @author 杜云山
 * @date 2021/03/05
 */
@SpringBootApplication
public class Application {

    public static void main(String[] args) {
//        SpringApplication.run(Application.class, args);

        /*ConfigurableApplicationContext run = SpringApplication.run(Application.class, args);

        ClientManager clientManager = run.getBean(ClientManager.class);

        MatrixConnectConfig connectConfig = MatrixConnectConfig.builder()
                .deviceId("15")
                .deviceType("AEROFLEX")
                .host("127.0.0.1")
                .port(9100)
                .build();

        MatrixClient client = clientManager.getOrCreateClient(connectConfig);


        client.setAttenuation(1,2,3, MatrixCommand.Type.AERO_ATTN_ALL_MAX);
        LockSupport.parkNanos(1000_000_000);

        client.setAttenuation(1,2,3, MatrixCommand.Type.AERO_SET_ATTN);
        LockSupport.parkNanos(1000_000_000);

        client.setAttenuation(1,2,3, MatrixCommand.Type.AERO_GET_ATTN);

        MatrixConnectConfig REC3000 = MatrixConnectConfig.builder()
                .deviceId("158")
                .deviceType(MatrixConstants.MATRIX_TYPE_REC3000)
                .host("127.0.0.1")
                .port(9099)
                .build();

        MatrixClient REC3000Client = clientManager.getOrCreateClient(REC3000);

        REC3000Client.setAttenuation(1, 2, 3, null);*/
//        //------------------------------Qrb测试 start--------------------------
//        ConfigurableApplicationContext run = SpringApplication.run(Application.class, args);
//
//        ClientManager clientManager = run.getBean(ClientManager.class);
//
//        MatrixConnectConfig connectConfig = MatrixConnectConfig.builder()
//                .deviceId("15")
//                .deviceType(MatrixConstants.MATRIX_TYPE_QRB)
//                .host("127.0.0.1")
//                .port(9103)
//                .build();
//
//        MatrixClient client = clientManager.getOrCreateClient(connectConfig);
//
//
//        client.setAttenuation(1,2,3);
////        LockSupport.parkNanos(1000_000_000);
//
////        client.setOffset(1, 2);
////        client.getOffset(2);
//        LockSupport.parkNanos(1000_000_000);
//
////        client.setOffset(1,2);
////        LockSupport.parkNanos(1000_000_000);
//
//
////        client.setAttenuation(1,2,3, MatrixCommand.Type.AERO_GET_ATTN);
//        //------------------------------Qrb测试 end--------------------------
//        MatrixConnectConfig REC3000 = MatrixConnectConfig.builder()
//                .deviceId("158")
//                .deviceType(MatrixConstants.MATRIX_TYPE_QRB)
//                .host("127.0.0.1")
//                .port(9099)
//                .build();
//
//        MatrixClient REC3000Client = clientManager.getOrCreateClient(REC3000);
//
//        REC3000Client.setAttenuation(1, 2, 3, null);

        //------------------------------Qrb测试 start--------------------------
        /*ConfigurableApplicationContext run = SpringApplication.run(Application.class, args);
        ClientManager clientManager = run.getBean(ClientManager.class);

        MatrixConnectConfig connectConfig = MatrixConnectConfig.builder()
                .deviceId("15")
                .deviceType(MatrixConstants.MATRIX_TYPE_RBM3000)
                .host("127.0.0.1")
                .port(9101)
                .build();

        MatrixClient client = clientManager.getOrCreateClient(connectConfig);
        client.setAttenuation(1,2,3);
        LockSupport.parkNanos(1000_000_000);*/

//        client.getAttenuation(3,null);
//        LockSupport.parkNanos(1000_000_000);


        //------------------------------Qrb测试 end--------------------------
        ConfigurableApplicationContext run = SpringApplication.run(Application.class, args);
        ClientManager bean = run.getBean(ClientManager.class);
        ExperimentManager bean1 = run.getBean(ExperimentManager.class);
        MatrixConnectConfig connectConfig = MatrixConnectConfig.builder()
                .deviceId("15")
                .deviceType(MatrixConstants.MATRIX_TYPE_RBM3000)
                .host("127.0.0.1")
                .port(9101)
                .build();
        HandOverExperimentOptions options = new HandOverExperimentOptions();
        options.setMimo(Mimo.NO);
        List<Integer> inList = new ArrayList<>();
        inList.add(1);
        inList.add(2);
        StationPair pair1 = StationPair.builder().out(1).inList(inList).build();
        List<StationPair> pairs = new ArrayList<>();
        pairs.add(pair1);
        options.setPairs(pairs);
        options.setEndAttn(40);
        options.setStartAttn(0);
        options.setExperimentId(String.valueOf(1));
        options.setExperimentType(ExperimentType.HAND_OVER);
        options.setFinishAt(ZonedDateTime.of(2021, 4, 8, 0, 0, 0, 0, ZoneId.systemDefault()));
        options.setIterations(1);
        options.setPause(1);
        options.setPeriod(10);
        options.setStep(5);
        MatrixClient orCreateClient = bean.getOrCreateClient(connectConfig);
        Experiment orCreateExperiment = bean1.getOrCreateExperiment(orCreateClient, options);
        bean1.startExperiment(orCreateExperiment.getExperimentId());
    }

}