public void start(int id, String address, int port, int pbport, Path[] pluginDirectories) { BimServerConfig config = new BimServerConfig(); config.setHomeDir(Paths.get("home" + id)); config.setResourceFetcher(new LocalDevelopmentResourceFetcher(Paths.get("../"))); config.setStartEmbeddedWebServer(true); config.setClassPath(System.getProperty("java.class.path")); config.setLocalDev(true); config.setPort(port); config.setStartCommandLine(true); bimServer = new BimServer(config); bimServer.getVersionChecker().getLocalVersion().setDate(new Date()); try { if (pluginDirectories == null || pluginDirectories.length == 0) { LOGGER.warn( "No plugin directories given, this BIMserver will probably not work as expected, see https://github.com/opensourceBIM/BIMserver/wiki/Eclipse#adding-the-plugins-property"); } LocalDevPluginLoader.loadPlugins(bimServer.getPluginManager(), pluginDirectories); Path homeDirPlugins = config.getHomeDir().resolve("plugins"); if (Files.isDirectory(homeDirPlugins)) { bimServer.getPluginManager().loadAllPluginsFromDirectoryOfJars(homeDirPlugins); } bimServer.start(); if (bimServer.getServerInfo().getServerState() == ServerState.NOT_SETUP) { AdminInterface adminInterface = bimServer .getServiceFactory() .get(new SystemAuthorization(1, TimeUnit.HOURS), AccessMethod.INTERNAL) .get(AdminInterface.class); adminInterface.setup( "http://*****:*****@bimserver.org", "Administrator", "*****@*****.**", "admin"); SettingsInterface settingsInterface = bimServer .getServiceFactory() .get(new SystemAuthorization(1, TimeUnit.HOURS), AccessMethod.INTERNAL) .get(SettingsInterface.class); settingsInterface.setCacheOutputFiles(false); } } catch (PluginException e) { LOGGER.error("", e); } catch (ServiceException e) { LOGGER.error("", e); } catch (DatabaseInitException e) { LOGGER.error("", e); } catch (BimserverDatabaseException e) { LOGGER.error("", e); } catch (DatabaseRestartRequiredException e) { LOGGER.error("", e); } catch (IOException e) { LOGGER.error("", e); } }
public void start(int id, String address, int port, int pbport, File[] pluginDirectories) { BimServerConfig config = new BimServerConfig(); config.setHomeDir(new File("home" + id)); config.setResourceFetcher(new LocalDevelopmentResourceFetcher(new File("../"))); config.setStartEmbeddedWebServer(true); config.setClassPath(System.getProperty("java.class.path")); config.setLocalDev(true); config.setPort(port); config.setStartCommandLine(true); bimServer = new BimServer(config); bimServer.getVersionChecker().getLocalVersion().setDate(new Date()); try { LocalDevPluginLoader.loadPlugins(bimServer.getPluginManager(), pluginDirectories); bimServer.start(); if (bimServer.getServerInfo().getServerState() == ServerState.NOT_SETUP) { AdminInterface adminInterface = bimServer .getServiceFactory() .get(new SystemAuthorization(1, TimeUnit.HOURS), AccessMethod.INTERNAL) .get(AdminInterface.class); adminInterface.setup( "http://*****:*****@bimserver.org", "Administrator", "*****@*****.**", "admin"); SettingsInterface settingsInterface = bimServer .getServiceFactory() .get(new SystemAuthorization(1, TimeUnit.HOURS), AccessMethod.INTERNAL) .get(SettingsInterface.class); settingsInterface.setCacheOutputFiles(false); } } catch (PluginException e) { LOGGER.error("", e); } catch (ServiceException e) { LOGGER.error("", e); } catch (DatabaseInitException e) { LOGGER.error("", e); } catch (BimserverDatabaseException e) { LOGGER.error("", e); } catch (DatabaseRestartRequiredException e) { LOGGER.error("", e); } }
private void start() { BimServerConfig config = new BimServerConfig(); Path homeDir = Paths.get("home"); try { if (Files.isDirectory(homeDir)) { PathUtils.removeDirectoryWithContent(homeDir); } } catch (IOException e) { e.printStackTrace(); } config.setClassPath(System.getProperty("java.class.path")); config.setHomeDir(homeDir); config.setPort(8080); config.setStartEmbeddedWebServer(true); config.setResourceFetcher(new LocalDevelopmentResourceFetcher(Paths.get("../"))); final BimServer bimServer = new BimServer(config); try { LocalDevPluginLoader.loadPlugins(bimServer.getPluginManager(), null); bimServer.start(); if (bimServer.getServerInfo().getServerState() == ServerState.NOT_SETUP) { bimServer .getService(AdminInterface.class) .setup( "http://localhost", "localhost", "*****@*****.**", "Administrator", "*****@*****.**", "admin"); } } catch (PluginException e2) { e2.printStackTrace(); } catch (ServerException e) { e.printStackTrace(); } catch (DatabaseInitException e) { e.printStackTrace(); } catch (BimserverDatabaseException e) { e.printStackTrace(); } catch (DatabaseRestartRequiredException e) { e.printStackTrace(); } catch (UserException e) { e.printStackTrace(); } try { final ServiceMap serviceMap = bimServer.getServiceFactory().get(AccessMethod.INTERNAL); ServiceInterface serviceInterface = serviceMap.get(ServiceInterface.class); SettingsInterface settingsInterface = serviceMap.get(SettingsInterface.class); final Bimsie1AuthInterface authInterface = serviceMap.get(Bimsie1AuthInterface.class); serviceInterface = bimServer .getServiceFactory() .get(authInterface.login("*****@*****.**", "admin"), AccessMethod.INTERNAL) .get(ServiceInterface.class); settingsInterface.setCacheOutputFiles(true); settingsInterface.setGenerateGeometryOnCheckin(false); final SProject project = serviceMap.getBimsie1ServiceInterface().addProject("test", "ifc2x3tc1"); SDeserializerPluginConfiguration deserializerByName = serviceMap.getBimsie1ServiceInterface().getDeserializerByName("IfcStepDeserializer"); Path file = Paths.get("../TestData/data/AC11-Institute-Var-2-IFC.ifc"); serviceInterface.checkin( project.getOid(), "test", deserializerByName.getOid(), file.toFile().length(), file.getFileName().toString(), new DataHandler(new FileDataSource(file.toFile())), false, true); final SProject projectUpdate = serviceMap.getBimsie1ServiceInterface().getProjectByPoid(project.getOid()); ThreadPoolExecutor executor = new ThreadPoolExecutor(20, 20, 1, TimeUnit.HOURS, new ArrayBlockingQueue<Runnable>(1000)); for (int i = 0; i < 20; i++) { executor.execute( new Runnable() { @Override public void run() { try { ServiceMap serviceMap2 = bimServer .getServiceFactory() .get( authInterface.login("*****@*****.**", "admin"), AccessMethod.INTERNAL); SSerializerPluginConfiguration serializerPluginConfiguration = serviceMap.getBimsie1ServiceInterface().getSerializerByName("Ifc2x3"); Long download = serviceMap2 .getBimsie1ServiceInterface() .download( projectUpdate.getLastRevisionId(), serializerPluginConfiguration.getOid(), true, true); SDownloadResult downloadData = serviceMap2.getBimsie1ServiceInterface().getDownloadData(download); if (downloadData.getFile().getDataSource() instanceof CacheStoringEmfSerializerDataSource) { CacheStoringEmfSerializerDataSource c = (CacheStoringEmfSerializerDataSource) downloadData.getFile().getDataSource(); try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); c.writeToOutputStream(baos, null); System.out.println(baos.size()); } catch (SerializerException e) { e.printStackTrace(); } } else { ByteArrayOutputStream baos = new ByteArrayOutputStream(); IOUtils.copy(downloadData.getFile().getInputStream(), baos); System.out.println(baos.size()); } serviceMap2.getServiceInterface().cleanupLongAction(download); } catch (ServerException e) { e.printStackTrace(); } catch (UserException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (PublicInterfaceNotFoundException e1) { e1.printStackTrace(); } } }); } executor.shutdown(); executor.awaitTermination(1, TimeUnit.HOURS); bimServer.stop(); } catch (ServerException e1) { e1.printStackTrace(); } catch (UserException e1) { e1.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } }