Newer
Older
IrisServerWebSocket / src / main / java / com / ntlab / irisserver / resources / TestRest.java
Kota on 8 Dec 2022 5 KB first commit
package com.ntlab.irisserver.resources;

import com.ntlab.irisserver.entities.Drawing;
import com.ntlab.irisserver.entities.Game;
import com.ntlab.irisserver.entities.Member;
import com.ntlab.irisserver.entities.Room;
import com.ntlab.irisserver.models.KeywordManager;
import com.ntlab.irisserver.models.RoomManager;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;

import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import java.io.IOException;
import java.util.Collections;
import java.util.List;
import java.util.Random;

@Component
@Path("/rooms")

public class TestRest implements ApplicationContextAware {

    private org.springframework.context.ApplicationContext applicationContext;

    public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext) throws BeansException {
        this.applicationContext = applicationContext;
    }

    @PUT
    @Path("/test")
    public void putTestRoom() throws IOException {
        KeywordManager km = KeywordManager.getInstance();
        RoomManager rm = RoomManager.getInstance();
        rm.deleteRoom("drawtest");
        rm.deleteRoom("gametest");
        rm.createTestRoom();

        Room dr = rm.getRoom("drawtest");
        Room gr = rm.getRoom("gametest");

        //メンバー設定()
        dr.addMember("member");
        gr.addMember("RedAgent");
        gr.addMember("BlueSpy");
        gr.addMember("BlueAgent");
        gr.changeTeamAndMaster("RedSpy(owner)", "r", true);
        gr.changeTeamAndMaster("RedAgent", "r", false);
        gr.changeTeamAndMaster("BlueSpy", "b", true);
        gr.changeTeamAndMaster("BlueAgent", "b", false);

        //両部屋:gameインスタンス作成,stateの初期化
        String path = null;
        dr.setState(2);
        gr.setState(3);

        try {
            path = applicationContext.getResource("file:").getFile().getAbsolutePath()+"/apache-tomcat-9.0.10/webapps/irisdata/keywords.txt";
        } catch (IOException e) {
            e.printStackTrace();
        }
        String[] keywords = km.getKeywords(path);
        Game dgame = new Game(dr, keywords);
        Game game = new Game(gr, keywords);

        //gametest部屋:絵の格納
        for(int i = 0; i < 16; i++){
            Drawing draw = new Drawing();
            switch (i) {
                case 0:
                    path = "http://nitta-lab-www.is.konan-u.ac.jp/irisdata/image/test01.jpg";
                    break;
                case 1:
                    path = "http://nitta-lab-www.is.konan-u.ac.jp/irisdata/image/test02.jpg";
                    break;
                case 2:
                    path = "http://nitta-lab-www.is.konan-u.ac.jp/irisdata/image/test03.jpg";
                    break;
                case 3:
                    path = "http://nitta-lab-www.is.konan-u.ac.jp/irisdata/image/test04.jpg";
                    break;
                case 4:
                    path = "http://nitta-lab-www.is.konan-u.ac.jp/irisdata/image/test05.jpg";
                    break;
                case 5:
                    path = "http://nitta-lab-www.is.konan-u.ac.jp/irisdata/image/test06.jpg";
                    break;
                case 6:
                    path = "http://nitta-lab-www.is.konan-u.ac.jp/irisdata/image/test07.jpg";
                    break;
                case 7:
                    path = "http://nitta-lab-www.is.konan-u.ac.jp/irisdata/image/test08.jpg";
                    break;
                case 8:
                    path = "http://nitta-lab-www.is.konan-u.ac.jp/irisdata/image/test09.jpg";
                    break;
                case 9:
                    path = "http://nitta-lab-www.is.konan-u.ac.jp/irisdata/image/test10.jpg";
                    break;
                case 10:
                    path = "http://nitta-lab-www.is.konan-u.ac.jp/irisdata/image/test11.jpg";
                    break;
                case 11:
                    path = "http://nitta-lab-www.is.konan-u.ac.jp/irisdata/image/test12.jpg";
                    break;
                case 12:
                    path = "http://nitta-lab-www.is.konan-u.ac.jp/irisdata/image/test13.jpg";
                    break;
                case 13:
                    path = "http://nitta-lab-www.is.konan-u.ac.jp/irisdata/image/test14.jpg";
                    break;
                case 14:
                    path = "http://nitta-lab-www.is.konan-u.ac.jp/irisdata/image/test15.jpg";
                    break;
                case 15:
                    path = "http://nitta-lab-www.is.konan-u.ac.jp/irisdata/image/test16.jpg";
                    break;
                default:
                    break;
            }
            draw.setDrawing(path);
            if(i<8){
                game.putDrawing(i*2, draw);
            }else{
                game.putDrawing(i*2-15, draw);
            }

        }


    }


}
//applicationContext.getResource("file:").getFile().getAbsolutePath() + "/apache-tomcat-9.0.10/webapps/irisdata/image/test16.jpg";