JpaDemoApplicationTests.java 4.57 KB
package com.jpa.jpademo;

import com.alibaba.fastjson.JSONObject;
import com.jpa.jpademo.domain.JobRuntimeDetailInfo;
import com.jpa.jpademo.domain.ResourceModel;
import com.jpa.jpademo.domain.TemplateInfo;
import com.jpa.jpademo.es.docs.JpaTest;
import com.jpa.jpademo.es.repository.JPAEsRepository;
import com.jpa.jpademo.repository.JobRepository;
import com.jpa.jpademo.repository.ResourceRepository;
import com.jpa.jpademo.repository.TemplateRepository;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.ArrayList;
import java.util.List;
import java.util.UUID;

@RunWith(SpringRunner.class)
@SpringBootTest
public class JpaDemoApplicationTests {

    @Autowired
    JobRepository jobRepository;
    @Autowired
    TemplateRepository templateRepository;
    @Autowired
    ResourceRepository resourceRepository;

    @Test
    public void contextLoads() {


        JobRuntimeDetailInfo jobRuntimeDetailInfo = new JobRuntimeDetailInfo();
        jobRuntimeDetailInfo.setTaskId(UUID.randomUUID().toString());
        jobRuntimeDetailInfo.setInterval("interval" + System.currentTimeMillis());
        jobRuntimeDetailInfo.setNextFireTime("next-fire-time");

        List<TemplateInfo> templateInfos = new ArrayList<>();
        TemplateInfo t1 = new TemplateInfo();
        t1.setTemplateId("1");
        t1.setTemplateName("name-1");
        templateInfos.add(t1);

        ResourceModel r1 = new ResourceModel();
        r1.setResourceId("r-1");
        r1.setIpAddr("127.0.0.1");

        ResourceModel r2 = new ResourceModel();
        r2.setResourceId("r-2");
        r2.setIpAddr("127.0.0.2");

        List<ResourceModel> resourceModels = new ArrayList<>();
        resourceModels.add(r1);
        resourceModels.add(r2);

        t1.setResourceModels(resourceModels);

        TemplateInfo t2 = new TemplateInfo();
        t2.setTemplateId("2");
        t2.setTemplateName("name-2");
        templateInfos.add(t2);


        ResourceModel r3 = new ResourceModel();
        r3.setResourceId("r-1");
        r3.setIpAddr("127.0.0.1");

        ResourceModel r4 = new ResourceModel();
        r4.setResourceId("r-2");
        r4.setIpAddr("127.0.0.2");

        List<ResourceModel> resourceModels2 = new ArrayList<>();
        resourceModels2.add(r3);
        resourceModels2.add(r4);

        t2.setResourceModels(resourceModels2);

        /*TemplateInfo t3 = new TemplateInfo();
        t3.setTemplateId("3");
        t3.setTemplateName("name-3");
        templateInfos.add(t3);

        t3.setResourceModels(resourceModels);*/

        jobRuntimeDetailInfo.setTemplateInfos(templateInfos);

        resourceRepository.save(r1);
        resourceRepository.save(r2);
        resourceRepository.save(r3);
        resourceRepository.save(r4);

        templateRepository.save(t1);
        templateRepository.save(t2);
        //templateRepository.save(t3);

        jobRepository.save(jobRuntimeDetailInfo);

        Iterable<JobRuntimeDetailInfo> jobs = jobRepository.findAll();

        jobs.forEach(
                j -> j.getTemplateInfos().forEach(
                        t -> t.getResourceModels().forEach(
                                r->System.out.println(j.getTaskId()+"->"+t.getId()+"->"+r.getResourceId())
                        )
                )
        );



    }

    @Autowired
    JPAEsRepository jpaEsRepository;
    @Test
    public void jpaESTest(){
        JpaTest jpaTest = new JpaTest();
        jpaTest.setId(System.currentTimeMillis()); // ID相同的数据只会存放一条
        jpaTest.setName("zhangdajun"+System.currentTimeMillis());
        jpaTest.setContent("print zhangdj "+System.currentTimeMillis());
        jpaTest.setJsonContent("{\"ext\":\"my ext information\"}");

        jpaEsRepository.save(jpaTest);

        Iterable<JpaTest> rstIts = jpaEsRepository.findAll();


        System.out.println("\n\n=++++++++++++++++++++++++=华丽分割线=+++++++++++++++++++++++++++++=\n\n");
        Page<JpaTest> data = jpaEsRepository.findAll(new PageRequest(1,20));
        System.out.println(JSONObject.toJSONString(data));

        System.out.println("\n\n=++++++++++++++++++++++++=华丽分割线=+++++++++++++++++++++++++++++=\n\n");

        rstIts.forEach(e->System.out.println(JSONObject.toJSONString(e)));


    }

}