@Test public void test() { ProtocolBuffersMetaData protocolBuffersMetaData = new ProtocolBuffersMetaData(); protocolBuffersMetaData.load( bimServer.getServicesMap(), ProtocolBuffersBimServerClientFactory.class); BimServerClientFactory factory = new ProtocolBuffersBimServerClientFactory( "localhost", 8020, 8080, protocolBuffersMetaData, null); UsernamePasswordAuthenticationInfo usernamePasswordAuthenticationInfo = new UsernamePasswordAuthenticationInfo("*****@*****.**", "admin"); try { bimServerClient = factory.create(usernamePasswordAuthenticationInfo); } catch (ChannelConnectionException e1) { e1.printStackTrace(); } catch (ServerException e) { e.printStackTrace(); } catch (UserException e) { e.printStackTrace(); } catch (ServiceException e) { e.printStackTrace(); } try { IfcModelInterface model = bimServerClient.newModel(createProject(), false); SProject project = createProject(); CreateFromScratch createFromScratch = new CreateFromScratch(); createFromScratch.createIfcProject(model); long roid = model.commit("tralala"); dumpToFile(project, roid); createFromScratch.createWall(model); roid = model.commit("test"); dumpToFile(project, roid); } catch (Exception e) { e.printStackTrace(); fail(e.getMessage()); } }
@Test public void test() { try { // New client BimServerClientInterface bimServerClient = getFactory() .create(new UsernamePasswordAuthenticationInfo("*****@*****.**", "admin")); // Create a project SProject project = bimServerClient .getBimsie1ServiceInterface() .addProject("test" + Math.random(), "ifc2x3tc1"); // Look for a deserializer SDeserializerPluginConfiguration deserializer = bimServerClient .getBimsie1ServiceInterface() .getSuggestedDeserializerForExtension("ifc", project.getOid()); bimServerClient.checkin( project.getOid(), "test", deserializer.getOid(), false, true, new File("../TestData/data/AC11-Institute-Var-2-IFC.ifc")); // Refresh project project = bimServerClient.getBimsie1ServiceInterface().getProjectByPoid(project.getOid()); // Load model without lazy loading (complete model at once) IfcModelInterface model = bimServerClient.getModel(project, project.getLastRevisionId(), true, false); String propertyName = "BooleanProperty"; int nrWindowsFirst = 0; // Iterate over all projects, there should be 1 for (IfcWindow window : model.getAllWithSubTypes(IfcWindow.class)) { nrWindowsFirst++; createProperty(window, model, propertyName, "Description of property", true); } model.commit("Added boolean properties to " + nrWindowsFirst + " windows"); project = bimServerClient.getBimsie1ServiceInterface().getProjectByPoid(project.getOid()); model = bimServerClient.getModel(project, project.getLastRevisionId(), true, false); int foundOke = 0; int nrWindowsSecond = 0; Set<Long> counted = new HashSet<Long>(); for (IfcWindow window : model.getAllWithSubTypes(IfcWindow.class)) { nrWindowsSecond++; for (IfcRelDefines ifcRelDefines : window.getIsDefinedBy()) { if (ifcRelDefines instanceof IfcRelDefinesByProperties) { IfcRelDefinesByProperties ifcRelDefinesByProperties = (IfcRelDefinesByProperties) ifcRelDefines; IfcPropertySetDefinition relatingPropertyDefinition = ifcRelDefinesByProperties.getRelatingPropertyDefinition(); if (relatingPropertyDefinition instanceof IfcPropertySet) { IfcPropertySet ifcPropertySet = (IfcPropertySet) relatingPropertyDefinition; for (IfcProperty ifcProperty : ifcPropertySet.getHasProperties()) { if (ifcProperty instanceof IfcPropertySingleValue) { IfcPropertySingleValue ifcPropertySingleValue = (IfcPropertySingleValue) ifcProperty; if (ifcPropertySingleValue.getName().equals(propertyName)) { IfcValue nominalValue = ifcPropertySingleValue.getNominalValue(); if (nominalValue instanceof IfcBoolean) { if (((IfcBoolean) nominalValue).getWrappedValue() == Tristate.TRUE) { if (!counted.contains(ifcPropertySingleValue.getOid())) { foundOke++; counted.add(ifcPropertySingleValue.getOid()); } } } } } } } } } } LOGGER.info("Windows first: " + nrWindowsFirst); LOGGER.info("Windows second: " + nrWindowsSecond); LOGGER.info("Found Oke: " + foundOke); if (foundOke != nrWindowsFirst) { fail(foundOke + " / " + nrWindowsFirst); } } catch (Throwable e) { e.printStackTrace(); fail(e.getMessage()); } }
@Test public void test() { try { // Create a new BimServerClient with authentication BimServerClientInterface bimServerClient = getFactory() .create(new UsernamePasswordAuthenticationInfo("*****@*****.**", "admin")); // Create a new project SProject newProject = bimServerClient .getBimsie1ServiceInterface() .addProject("test" + Math.random(), "ifc2x3tc1"); // Get the appropriate deserializer SDeserializerPluginConfiguration deserializer = bimServerClient .getBimsie1ServiceInterface() .getSuggestedDeserializerForExtension("ifc", newProject.getOid()); // Checkin the file bimServerClient.checkin( newProject.getOid(), "test", deserializer.getOid(), false, true, new File("../TestData/data/AC11-Institute-Var-2-IFC.ifc")); // Refresh project info newProject = bimServerClient.getBimsie1ServiceInterface().getProjectByPoid(newProject.getOid()); IfcModelInterface model = bimServerClient.getModel(newProject, newProject.getLastRevisionId(), true, false); for (IfcFurnishingElement ifcFurnishingElement : model.getAllWithSubTypes(IfcFurnishingElement.class)) { IfcObjectPlacement objectPlacement = ifcFurnishingElement.getObjectPlacement(); if (objectPlacement != null && objectPlacement instanceof IfcLocalPlacement) { IfcLocalPlacement localPlacement = (IfcLocalPlacement) objectPlacement; IfcAxis2Placement relativePlacement = localPlacement.getRelativePlacement(); if (relativePlacement != null) { if (relativePlacement instanceof IfcAxis2Placement3D) { IfcAxis2Placement3D axis2Placement3D = (IfcAxis2Placement3D) relativePlacement; IfcCartesianPoint location = axis2Placement3D.getLocation(); double newValue = location.getCoordinates().get(2) + 50; System.out.println( "Changing z value of " + ifcFurnishingElement.getName() + " from " + location.getCoordinates().get(2) + " to " + newValue); location.getCoordinates().set(2, newValue); } } } } long newRoid = model.commit("Moved all furniture 50 meters up"); SSerializerPluginConfiguration ifcSerializer = bimServerClient .getBimsie1ServiceInterface() .getSerializerByContentType("application/ifc"); bimServerClient.download(newRoid, ifcSerializer.getOid(), new File("movedf.ifc")); } catch (Throwable e) { e.printStackTrace(); if (e instanceof AssertionError) { throw (AssertionError) e; } fail(e.getMessage()); } }