Search in sources :

Example 6 with ExtendedData

use of org.bimserver.models.store.ExtendedData in project BIMserver by opensourceBIM.

the class ServiceImpl method addExtendedDataToProject.

@Override
public void addExtendedDataToProject(Long poid, SExtendedData extendedData) throws ServerException, UserException {
    requireAuthenticationAndRunningServer();
    DatabaseSession session = getBimServer().getDatabase().createSession();
    try {
        ExtendedData convert = getBimServer().getSConverter().convertFromSObject(extendedData, session);
        session.executeAndCommitAction(new AddExtendedDataToProjectDatabaseAction(getBimServer(), session, getInternalAccessMethod(), poid, convert, getAuthorization()));
    } catch (Exception e) {
        handleException(e);
    } finally {
        session.close();
    }
}
Also used : AddExtendedDataToProjectDatabaseAction(org.bimserver.database.actions.AddExtendedDataToProjectDatabaseAction) ExtendedData(org.bimserver.models.store.ExtendedData) StoreExtendedData(org.bimserver.models.store.StoreExtendedData) SExtendedData(org.bimserver.interfaces.objects.SExtendedData) DatabaseSession(org.bimserver.database.DatabaseSession) IOException(java.io.IOException) BimserverDatabaseException(org.bimserver.BimserverDatabaseException) SerializerException(org.bimserver.plugins.serializers.SerializerException) BcfException(org.opensourcebim.bcf.BcfException) UserException(org.bimserver.shared.exceptions.UserException) CannotBeScheduledException(org.bimserver.longaction.CannotBeScheduledException) DeserializeException(org.bimserver.plugins.deserializers.DeserializeException) ServerException(org.bimserver.shared.exceptions.ServerException) MessagingException(javax.mail.MessagingException) AddressException(javax.mail.internet.AddressException) UnsupportedEncodingException(java.io.UnsupportedEncodingException) MalformedURLException(java.net.MalformedURLException)

Example 7 with ExtendedData

use of org.bimserver.models.store.ExtendedData in project BIMserver by opensourceBIM.

the class ServiceImpl method getAllExtendedDataOfRevisionAndSchema.

@Override
public List<SExtendedData> getAllExtendedDataOfRevisionAndSchema(Long roid, Long schemaId) throws ServerException, UserException {
    DatabaseSession session = getBimServer().getDatabase().createSession();
    try {
        Revision revision = (Revision) session.get(StorePackage.eINSTANCE.getRevision(), roid, OldQuery.getDefault());
        if (revision == null) {
            throw new UserException("No revision found with roid " + roid);
        }
        EList<ExtendedData> list = revision.getExtendedData();
        List<SExtendedData> result = new ArrayList<>();
        for (ExtendedData extendedData : list) {
            if (extendedData.getSchema().getOid() == schemaId) {
                result.add(getBimServer().getSConverter().convertToSObject(extendedData));
            }
        }
        return result;
    } catch (Exception e) {
        return handleException(e);
    } finally {
        session.close();
    }
}
Also used : SRevision(org.bimserver.interfaces.objects.SRevision) Revision(org.bimserver.models.store.Revision) CheckinRevision(org.bimserver.models.store.CheckinRevision) SExtendedDataAddedToRevision(org.bimserver.interfaces.objects.SExtendedDataAddedToRevision) ExtendedData(org.bimserver.models.store.ExtendedData) StoreExtendedData(org.bimserver.models.store.StoreExtendedData) SExtendedData(org.bimserver.interfaces.objects.SExtendedData) SExtendedData(org.bimserver.interfaces.objects.SExtendedData) DatabaseSession(org.bimserver.database.DatabaseSession) ArrayList(java.util.ArrayList) UserException(org.bimserver.shared.exceptions.UserException) IOException(java.io.IOException) BimserverDatabaseException(org.bimserver.BimserverDatabaseException) SerializerException(org.bimserver.plugins.serializers.SerializerException) BcfException(org.opensourcebim.bcf.BcfException) UserException(org.bimserver.shared.exceptions.UserException) CannotBeScheduledException(org.bimserver.longaction.CannotBeScheduledException) DeserializeException(org.bimserver.plugins.deserializers.DeserializeException) ServerException(org.bimserver.shared.exceptions.ServerException) MessagingException(javax.mail.MessagingException) AddressException(javax.mail.internet.AddressException) UnsupportedEncodingException(java.io.UnsupportedEncodingException) MalformedURLException(java.net.MalformedURLException)

Example 8 with ExtendedData

use of org.bimserver.models.store.ExtendedData in project BIMserver by opensourceBIM.

the class ServiceImpl method getLastExtendedDataOfRevisionAndSchema.

@Override
public SExtendedData getLastExtendedDataOfRevisionAndSchema(Long roid, Long schemaId) throws ServerException, UserException {
    DatabaseSession session = getBimServer().getDatabase().createSession();
    try {
        Revision revision = (Revision) session.get(StorePackage.eINSTANCE.getRevision(), roid, OldQuery.getDefault());
        if (revision == null) {
            throw new UserException("No revision found with roid " + roid);
        }
        EList<ExtendedData> list = revision.getExtendedData();
        ExtendedData last = null;
        for (ExtendedData extendedData : list) {
            if (extendedData.getSchema().getOid() == schemaId) {
                if (last == null || last.getAdded().before(extendedData.getAdded())) {
                    last = extendedData;
                }
            }
        }
        if (last != null) {
            return getBimServer().getSConverter().convertToSObject(last);
        }
        return null;
    } catch (Exception e) {
        return handleException(e);
    } finally {
        session.close();
    }
}
Also used : SRevision(org.bimserver.interfaces.objects.SRevision) Revision(org.bimserver.models.store.Revision) CheckinRevision(org.bimserver.models.store.CheckinRevision) SExtendedDataAddedToRevision(org.bimserver.interfaces.objects.SExtendedDataAddedToRevision) ExtendedData(org.bimserver.models.store.ExtendedData) StoreExtendedData(org.bimserver.models.store.StoreExtendedData) SExtendedData(org.bimserver.interfaces.objects.SExtendedData) DatabaseSession(org.bimserver.database.DatabaseSession) UserException(org.bimserver.shared.exceptions.UserException) IOException(java.io.IOException) BimserverDatabaseException(org.bimserver.BimserverDatabaseException) SerializerException(org.bimserver.plugins.serializers.SerializerException) BcfException(org.opensourcebim.bcf.BcfException) UserException(org.bimserver.shared.exceptions.UserException) CannotBeScheduledException(org.bimserver.longaction.CannotBeScheduledException) DeserializeException(org.bimserver.plugins.deserializers.DeserializeException) ServerException(org.bimserver.shared.exceptions.ServerException) MessagingException(javax.mail.MessagingException) AddressException(javax.mail.internet.AddressException) UnsupportedEncodingException(java.io.UnsupportedEncodingException) MalformedURLException(java.net.MalformedURLException)

Aggregations

ExtendedData (org.bimserver.models.store.ExtendedData)8 UserException (org.bimserver.shared.exceptions.UserException)7 BimserverDatabaseException (org.bimserver.BimserverDatabaseException)6 IOException (java.io.IOException)5 UnsupportedEncodingException (java.io.UnsupportedEncodingException)5 MalformedURLException (java.net.MalformedURLException)5 MessagingException (javax.mail.MessagingException)5 AddressException (javax.mail.internet.AddressException)5 DatabaseSession (org.bimserver.database.DatabaseSession)5 SExtendedData (org.bimserver.interfaces.objects.SExtendedData)5 CannotBeScheduledException (org.bimserver.longaction.CannotBeScheduledException)5 Revision (org.bimserver.models.store.Revision)5 StoreExtendedData (org.bimserver.models.store.StoreExtendedData)5 DeserializeException (org.bimserver.plugins.deserializers.DeserializeException)5 SerializerException (org.bimserver.plugins.serializers.SerializerException)5 ServerException (org.bimserver.shared.exceptions.ServerException)5 BcfException (org.opensourcebim.bcf.BcfException)5 SExtendedDataAddedToRevision (org.bimserver.interfaces.objects.SExtendedDataAddedToRevision)3 Date (java.util.Date)2 GenerateGeometryResult (org.bimserver.GenerateGeometryResult)2