package cactusServer.utils; import java.util.Timer; import java.util.concurrent.ScheduledThreadPoolExecutor; import java.util.concurrent.TimeUnit; import javax.ws.rs.ApplicationPath; import javax.ws.rs.core.Application; import org.glassfish.jersey.server.ResourceConfig; import org.ntlab.radishforandroidstudio.framework.model3D.Position3D; import org.ntlab.radishforandroidstudio.framework.model3D.Quaternion3D; import cactusServer.entities.*; import cactusServer.entities.Character; import cactusServer.models.Accounts; import cactusServer.models.CharacterModelManager; import cactusServer.models.Instances; import cactusServer.models.StageModelManager; @SuppressWarnings("unused") @ApplicationPath("/rest") public class App extends ResourceConfig implements Runnable { private ScheduledThreadPoolExecutor task = new ScheduledThreadPoolExecutor(4); public App() { CharacterModelManager.getInstance(); StageModelManager.getInstance(); Instances.getInstance(); Accounts.getInstance(); initDummy(); start(10000); System.out.println("pass"); } @Override public void run() { System.out.println("タスクを実行"); } public void start(int interval) { task.scheduleWithFixedDelay(this, interval, interval, TimeUnit.MILLISECONDS); } private void initDummy() { Accounts.getInstance().createAcount("test", "test", "test"); Instances.getInstance().getInstances().put("test1", new Instance("test1", 0)); Instances.getInstance().getInstances().put("test2", new Instance("test2", 1)); String accountUri = "/CactusServer/rest/accounts/" + Accounts.getInstance().getAccountByID("test").getUniqueID(); Character chara1 = new Character("test1", accountUri, "chara1", new Position3D(), new Quaternion3D(), 0); Character chara2 = new Character("test2", accountUri, "chara2", new Position3D(), new Quaternion3D(), 0); Instances.getInstance().getInstance("test1").getCharacters().put("chara1", chara1); Instances.getInstance().getInstance("test1").getCharacters().put("chara2", chara2); Instances.getInstance().getInstance("test2").getCharacters().put("chara1", chara1); Instances.getInstance().getInstance("test2").getCharacters().put("chara2", chara2); } }