public IfcModelInterface newModel(SProject project, boolean recordChanges) throws ServerException, UserException, BimServerClientException, PublicInterfaceNotFoundException { return new ClientIfcModel(this, project.getOid(), -1, false, getMetaDataManager().getPackageMetaData(project.getSchema()), recordChanges, false); }
public Object newInstance() { return new org.bimserver.interfaces.objects.SProject(); } }));
public Object sGet(SField sField) { if (sField.getName().equals("id")) { return getId(); return getName(); return getHasAuthorizedUsers(); return getConcreteRevisions(); return getRevisions(); return getLastConcreteRevisionId(); return getLastRevisionId(); return getCheckouts(); return getState(); return getCreatedDate(); return getCreatedById(); return getGeoTagId(); return getSubProjects(); return getParentId();
SProject result = new SProject(); result.setOid(input.getOid()); result.setRid(input.getRid()); result.setId(input.getId()); result.setName(input.getName()); result.setState(SObjectState.values()[input.getState().ordinal()]); result.setCreatedDate(input.getCreatedDate()); result.setDescription(input.getDescription()); result.setExportLengthMeasurePrefix(SSIPrefix.values()[input.getExportLengthMeasurePrefix().ordinal()]); result.setSchema(input.getSchema()); result.setSendEmailOnNewRevision(input.isSendEmailOnNewRevision()); result.setCheckinInProgress(input.getCheckinInProgress()); result.setUuid(input.getUuid()); List<Long> listhasAuthorizedUsers = new ArrayList<Long>(); for (User v : input.getHasAuthorizedUsers()) { listhasAuthorizedUsers.add(v.getOid()); result.setHasAuthorizedUsers(listhasAuthorizedUsers); List<Long> listconcreteRevisions = new ArrayList<Long>(); for (ConcreteRevision v : input.getConcreteRevisions()) { listconcreteRevisions.add(v.getOid()); result.setConcreteRevisions(listconcreteRevisions); List<Long> listrevisions = new ArrayList<Long>(); for (Revision v : input.getRevisions()) { listrevisions.add(v.getOid()); result.setRevisions(listrevisions); ConcreteRevision lastConcreteRevisionVal = input.getLastConcreteRevision();
private Project createProject(DatabaseSession databaseSession, long poid) throws BimserverDatabaseException, ServerException, UserException, PublicInterfaceNotFoundException { SProject project = remoteClient.getServiceInterface().getProjectByPoid(poid); if (projects.containsKey(project.getOid())) { return projects.get(project.getOid()); projects.put(project.getOid(), newProject); newProject.setId(databaseSession.newPid()); GeoTag geoTag = databaseSession.create(GeoTag.class); newProject.setGeoTag(geoTag); databaseSession.store(geoTag); newProject.setCreatedBy(createUser(databaseSession, project.getCreatedById())); newProject.setCreatedDate(project.getCreatedDate()); newProject.setDescription(project.getDescription()); newProject.setExportLengthMeasurePrefix(bimServer.getSConverter().convertFromSObject(project.getExportLengthMeasurePrefix())); newProject.setName(project.getName()); if (project.getParentId() != -1) { Project createProject = createProject(databaseSession, project.getParentId()); createProject.getSubProjects().add(newProject); newProject.setParent(createProject); for (long uoid : project.getHasAuthorizedUsers()) { newProject.getHasAuthorizedUsers().add(createUser(databaseSession, uoid)); newProject.setState(bimServer.getSConverter().convertFromSObject(project.getState())); databaseSession.store(newProject); return newProject;
@Override public Void execute() throws UserException, BimserverLockConflictException, BimserverDatabaseException { User actingUser = getUserByUoid(authorization.getUoid()); final Project project = getProjectByPoid(sProject.getOid()); if (project == null) { throw new UserException("Project with pid " + sProject.getOid() + " not found"); if (sProject.getName().trim().equals("")) { throw new UserException("Project name cannot be empty"); if (!sProject.getName().equals(project.getName())) { for (Project p : getProjectsByName(sProject.getName())) { if (p.getParent() == null) { throw new UserException("Project name must be unique"); Project parent = project.getParent(); for (Project subProject : parent.getSubProjects()) { if (subProject.getName().equals(sProject.getName()) && subProject != project) { throw new UserException("Project name must be unique within parent project (" + parent.getName() + ")"); project.setSendEmailOnNewRevision(sProject.isSendEmailOnNewRevision()); project.setName(sProject.getName()); project.setDescription(sProject.getDescription()); project.setExportLengthMeasurePrefix(SIPrefix.get(sProject.getExportLengthMeasurePrefix().getOrdinal())); final ProjectUpdated projectUpdated = getDatabaseSession().create(ProjectUpdated.class); projectUpdated.setAccessMethod(getAccessMethod());
for (SProject sProject : allProjects) { SyndEntry entry = new SyndEntryImpl(); entry.setAuthor(serviceMap.getServiceInterface().getUserByUoid(sProject.getCreatedById()).getName()); entry.setTitle(sProject.getName()); entry.setLink(request.getContextPath() + "/project.jsp?poid=" + sProject.getOid()); entry.setPublishedDate(sProject.getCreatedDate()); SyndContent description = new SyndContentImpl(); description.setType("text/plain"); description.setValue(sProject.getDescription()); entry.setDescription(description); entries.add(entry);
SDeserializerPluginConfiguration deserializer = serviceInterface.getSuggestedDeserializerForExtension("ifc", project.getOid()); if (deserializer == null) { throw new BimBotsException("No deserializer found", BimBotDefaultErrorCode.NO_DESERIALIZER); Long topicId = serviceInterface.initiateCheckin(project.getOid(), deserializer.getOid()); ProgressTopic progressTopic = null; VirtualEndPoint virtualEndpoint = null; e1.printStackTrace(); serviceInterface.checkinInitiatedSync(topicId, project.getOid(), "Auto checkin", deserializer.getOid(), -1L, "s", new DataHandler(new InputStreamDataSource(inputStream)), false); project = serviceInterface.getProjectByPoid(project.getOid()); PackageMetaData packageMetaData = bimServer.getMetaDataManager().getPackageMetaData(project.getSchema()); IfcModelInterface model = new BasicIfcModel(packageMetaData, null); try { Revision revision = session.get(project.getLastRevisionId(), OldQuery.getDefault()); session.getMap(model, new OldQuery(packageMetaData, project.getId(), revision.getId(), revision.getOid(), null, Deep.NO)); model.getModelMetaData().setIfcHeader(revision.getLastConcreteRevision().getIfcHeader()); } catch (BimserverDatabaseException e) { serviceInterface.addExtendedDataToRevision(project.getLastRevisionId(), extendedData); output.setContextId(project.getUuid());
feed.setFeedType(FEED_TYPE); feed.setTitle("BIMserver.org checkouts feed for project '" + sProject.getName() + "'"); feed.setLink(request.getContextPath()); feed.setDescription("This feed represents all the checkouts of project '" + sProject.getName() + "'"); SUser user = serviceMap.getServiceInterface().getUserByUoid(sCheckout.getUserId()); SyndEntry entry = new SyndEntryImpl(); entry.setTitle("Checkout on " + project.getName() + ", revision " + revision.getId()); entry.setLink(request.getContextPath() + "/project.jsp?poid=" + sProject.getOid()); entry.setPublishedDate(sCheckout.getDate()); SyndContent description = new SyndContentImpl();
public Project convertFromSObject(SProject input, DatabaseSession session) throws BimserverDatabaseException { if (session == null) { throw new BimserverDatabaseException("session == null, use the other method"); } LOGGER.info("Potential unlinked object created"); Project result = convertFromSObject(input, StoreFactory.eINSTANCE.createProject(), session); ((IdEObjectImpl)result).setOid(input.getOid()); ((IdEObjectImpl)result).setRid(input.getRid()); return result; }
createProject(databaseSession, project.getOid()); DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd-hh-mm-ss"); for (SProject project : remoteClient.getServiceInterface().getAllProjects(false, false)) { for (SRevision revision : remoteClient.getServiceInterface().getAllRevisionsOfProject(project.getOid())) { GregorianCalendar gregorianCalendar = new GregorianCalendar(); gregorianCalendar.setTime(revision.getDate()); if (revision.getOid() == project.getLastRevisionId()) { comments.put(gregorianCalendar, new Key(file, project.getOid(), revision.getComment(), revision.getDate(), revision.getUserId()));
private SProject getOrCreatePath(ServiceInterface service, SProject mainProject, SProject currentProject, String path, String schema) throws UserException, ServerException { String name = path; if (path.contains("/")) { name = path.substring(0, path.indexOf("/")); } SProject newProject = null; try { newProject = service.addProjectAsSubProject(name, currentProject.getOid(), schema); } catch (ServerException e) { e.printStackTrace(); } catch (UserException e) { newProject = service.getSubProjectByName(currentProject.getOid(), name); } if (path.contains("/")) { return getOrCreatePath(service, mainProject, newProject, path.substring(path.indexOf("/") + 1), schema); } return newProject; } }
result.setId(input.getId()); result.setName(input.getName()); result.setState(ObjectState.values()[input.getState().ordinal()]); result.setCreatedDate(input.getCreatedDate()); result.setDescription(input.getDescription()); result.setExportLengthMeasurePrefix(SIPrefix.values()[input.getExportLengthMeasurePrefix().ordinal()]); result.setSchema(input.getSchema()); result.setSendEmailOnNewRevision(input.isSendEmailOnNewRevision()); result.setCheckinInProgress(input.getCheckinInProgress()); result.setUuid(input.getUuid()); List<User> listhasAuthorizedUsers = result.getHasAuthorizedUsers(); for (long oid : input.getHasAuthorizedUsers()) { listhasAuthorizedUsers.add((User)session.get(StorePackage.eINSTANCE.getUser(), oid, OldQuery.getDefault())); for (long oid : input.getConcreteRevisions()) { listconcreteRevisions.add((ConcreteRevision)session.get(StorePackage.eINSTANCE.getConcreteRevision(), oid, OldQuery.getDefault())); for (long oid : input.getRevisions()) { listrevisions.add((Revision)session.get(StorePackage.eINSTANCE.getRevision(), oid, OldQuery.getDefault())); result.setLastConcreteRevision((ConcreteRevision)session.get(StorePackage.eINSTANCE.getConcreteRevision(), input.getLastConcreteRevisionId(), OldQuery.getDefault())); result.setLastRevision((Revision)session.get(StorePackage.eINSTANCE.getRevision(), input.getLastRevisionId(), OldQuery.getDefault())); List<Checkout> listcheckouts = result.getCheckouts(); for (long oid : input.getCheckouts()) { listcheckouts.add((Checkout)session.get(StorePackage.eINSTANCE.getCheckout(), oid, OldQuery.getDefault())); result.setCreatedBy((User)session.get(StorePackage.eINSTANCE.getUser(), input.getCreatedById(), OldQuery.getDefault())); result.setGeoTag((GeoTag)session.get(StorePackage.eINSTANCE.getGeoTag(), input.getGeoTagId(), OldQuery.getDefault())); List<Project> listsubProjects = result.getSubProjects();
String schema = service.determineIfcVersion(initialBytes, fullfilename.toLowerCase().endsWith(".ifczip")); SProject project = getOrCreatePath(service, mainProject, mainProject, path, schema); SDeserializerPluginConfiguration deserializer = service.getSuggestedDeserializerForExtension(extension, project.getOid()); service.checkinSync(project.getOid(), comment, deserializer.getOid(), -1L, filename, ifcFile, false); } catch (Exception e) { LOGGER.error(e.getMessage() + " (" + fullfilename + ")");
public ClientIfcModel getModel(SProject project, long roid, boolean deep, boolean recordChanges) throws BimServerClientException, UserException, ServerException, PublicInterfaceNotFoundException { if (roid == -1) { throw new UserException("Roid cannot be -1"); } return new ClientIfcModel(this, project.getOid(), roid, deep, getMetaDataManager().getPackageMetaData(project.getSchema()), recordChanges, false); }
try { LOGGER.info("Done"); Project project = databaseSession.get(updatedProject.getOid(), OldQuery.getDefault()); Revision revision = project.getLastRevision(); User user = (User)databaseSession.get(users.get(key.userId).getOid(), OldQuery.getDefault());
public ClientIfcModel getModel(SProject project, long roid, boolean deep, boolean recordChanges, boolean includeGeometry) throws UserException, ServerException { if (roid == -1) { throw new UserException("Roid cannot be -1"); } return new ClientIfcModel(this, project.getOid(), roid, deep, getMetaDataManager().getPackageMetaData(project.getSchema()), recordChanges, includeGeometry); }
public static String writeCompareResult(SCompareResult compareResult, int rid1, int rid2, SCompareType sCompareType, SProject project, boolean webPage) { StringBuilder builder = new StringBuilder(); builder.append("<h1>Building Model Comparator</h1>"); builder.append("Compare results for revisions '" + rid1 + "' and '" + rid2 + "' of project '" + project.getName() + "'<br/>"); int total = 0; for (SCompareContainer sCompareContainer : compareResult.getItems()) {