Search in sources :

Example 1 with LongStreamingDownloadAction

use of org.bimserver.longaction.LongStreamingDownloadAction in project BIMserver by opensourceBIM.

the class Streamer method onText.

public void onText(Reader reader) {
    JsonReader jsonreader = new JsonReader(reader);
    JsonParser parser = new JsonParser();
    JsonObject request = (JsonObject) parser.parse(jsonreader);
    if (request.has("hb")) {
    // Heartbeat, ignore
    } else if (request.has("action")) {
        if (request.get("action").getAsString().equals("download")) {
            final long topicId = request.get("topicId").getAsLong();
            Thread thread = new Thread() {

                @Override
                public void run() {
                    try {
                        LongAction<?> longAction = bimServer.getLongActionManager().getLongAction(topicId);
                        Writer writer = null;
                        if (longAction instanceof LongStreamingDownloadAction) {
                            LongStreamingDownloadAction longStreamingDownloadAction = (LongStreamingDownloadAction) longAction;
                            writer = longStreamingDownloadAction.getMessagingStreamingSerializer();
                        } else {
                            LongDownloadOrCheckoutAction longDownloadAction = (LongDownloadOrCheckoutAction) longAction;
                            writer = longDownloadAction.getMessagingSerializer();
                        }
                        boolean writeMessage = true;
                        int counter = 0;
                        long bytes = 0;
                        long start = System.nanoTime();
                        // TODO whenever a large object has been sent, the large buffer stays in memory until websocket closes...
                        ReusableLittleEndianDataOutputStream byteArrayOutputStream = new ReusableLittleEndianDataOutputStream();
                        GrowingByteBuffer growingByteBuffer = byteArrayOutputStream.getGrowingByteBuffer();
                        ProgressReporter progressReporter = new ProgressReporter() {

                            @Override
                            public void update(long progress, long max) {
                                longAction.updateProgress("test", (int) ((progress * 100) / max));
                            }

                            @Override
                            public void setTitle(String title) {
                            }
                        };
                        do {
                            byteArrayOutputStream.reset();
                            byteArrayOutputStream.writeLong(topicId);
                            writeMessage = writer.writeMessage(byteArrayOutputStream, progressReporter);
                            bytes += growingByteBuffer.usedSize();
                            streamingSocketInterface.sendBlocking(growingByteBuffer.array(), 0, growingByteBuffer.usedSize());
                            counter++;
                        } while (writeMessage);
                        long end = System.nanoTime();
                        LOGGER.info(counter + " messages written " + Formatters.bytesToString(bytes) + " in " + ((end - start) / 1000000) + " ms");
                    } catch (IOException e) {
                    // Probably closed/F5-ed browser
                    } catch (SerializerException e) {
                        LOGGER.error("", e);
                    }
                }
            };
            thread.setName("Streamer " + topicId);
            thread.start();
        }
    } else if (request.has("token")) {
        String token = request.get("token").getAsString();
        try {
            ServiceMap serviceMap = bimServer.getServiceFactory().get(token, AccessMethod.JSON);
            uoid = serviceMap.getBimServerAuthInterface().getLoggedInUser().getOid();
            this.endpointid = bimServer.getEndPointManager().register(this);
            JsonObject enpointMessage = new JsonObject();
            enpointMessage.add("endpointid", new JsonPrimitive(endpointid));
            streamingSocketInterface.send(enpointMessage);
        } catch (UserException e) {
            LOGGER.error("", e);
        } catch (ServerException e) {
            LOGGER.error("", e);
        }
    } else {
        bimServer.getJsonHandler().execute(request, null, new NullWriter());
    }
}
Also used : LongAction(org.bimserver.longaction.LongAction) ServerException(org.bimserver.shared.exceptions.ServerException) ServiceMap(org.bimserver.webservices.ServiceMap) JsonPrimitive(com.google.gson.JsonPrimitive) JsonObject(com.google.gson.JsonObject) LongStreamingDownloadAction(org.bimserver.longaction.LongStreamingDownloadAction) ProgressReporter(org.bimserver.plugins.serializers.ProgressReporter) IOException(java.io.IOException) SerializerException(org.bimserver.plugins.serializers.SerializerException) NullWriter(org.apache.commons.io.output.NullWriter) LongDownloadOrCheckoutAction(org.bimserver.longaction.LongDownloadOrCheckoutAction) JsonReader(com.google.gson.stream.JsonReader) UserException(org.bimserver.shared.exceptions.UserException) NullWriter(org.apache.commons.io.output.NullWriter) Writer(org.bimserver.plugins.serializers.Writer) GrowingByteBuffer(org.bimserver.utils.GrowingByteBuffer) JsonParser(com.google.gson.JsonParser)

Example 2 with LongStreamingDownloadAction

use of org.bimserver.longaction.LongStreamingDownloadAction in project BIMserver by opensourceBIM.

the class ServiceImpl method download.

@Override
public Long download(Set<Long> roids, String jsonQuery, Long serializerOid, Boolean sync) throws ServerException, UserException {
    try {
        User user = null;
        DatabaseSession session = getBimServer().getDatabase().createSession();
        Plugin plugin = null;
        try {
            SerializerPluginConfiguration serializerPluginConfiguration = session.get(StorePackage.eINSTANCE.getSerializerPluginConfiguration(), serializerOid, OldQuery.getDefault());
            plugin = getBimServer().getPluginManager().getPlugin(serializerPluginConfiguration.getPluginDescriptor().getPluginClassName(), true);
            user = (User) session.get(StorePackage.eINSTANCE.getUser(), getAuthorization().getUoid(), OldQuery.getDefault());
        } catch (BimserverDatabaseException e) {
            throw new UserException(e);
        } finally {
            session.close();
        }
        if (plugin instanceof StreamingSerializerPlugin || plugin instanceof MessagingStreamingSerializerPlugin) {
            LongStreamingDownloadAction longDownloadAction = new LongStreamingDownloadAction(getBimServer(), user == null ? "Unknown" : user.getName(), user == null ? "Unknown" : user.getUsername(), getAuthorization(), serializerOid, jsonQuery, roids);
            try {
                getBimServer().getLongActionManager().start(longDownloadAction);
            } catch (Exception e) {
                LOGGER.error("", e);
            }
            if (sync) {
                longDownloadAction.waitForCompletion();
            }
            return longDownloadAction.getProgressTopic().getKey().getId();
        } else if (plugin instanceof MessagingSerializerPlugin) {
            requireAuthenticationAndRunningServer();
            DownloadParameters downloadParameters = new DownloadParameters(getBimServer(), DownloadType.DOWNLOAD_BY_NEW_JSON_QUERY);
            downloadParameters.setRoids(roids);
            downloadParameters.setJsonQuery(jsonQuery);
            downloadParameters.setSerializerOid(serializerOid);
            return download(downloadParameters, sync);
        } else if (plugin instanceof SerializerPlugin) {
            requireAuthenticationAndRunningServer();
            DownloadParameters downloadParameters = new DownloadParameters(getBimServer(), DownloadType.DOWNLOAD_BY_NEW_JSON_QUERY);
            downloadParameters.setRoids(roids);
            downloadParameters.setJsonQuery(jsonQuery);
            downloadParameters.setSerializerOid(serializerOid);
            return download(downloadParameters, sync);
        } else {
            throw new UserException("Unimplemented");
        }
    } catch (Exception e) {
        return handleException(e);
    }
}
Also used : MessagingSerializerPlugin(org.bimserver.plugins.serializers.MessagingSerializerPlugin) SUser(org.bimserver.interfaces.objects.SUser) User(org.bimserver.models.store.User) DatabaseSession(org.bimserver.database.DatabaseSession) MessagingStreamingSerializerPlugin(org.bimserver.plugins.serializers.MessagingStreamingSerializerPlugin) LongStreamingDownloadAction(org.bimserver.longaction.LongStreamingDownloadAction) StreamingSerializerPlugin(org.bimserver.plugins.serializers.StreamingSerializerPlugin) MessagingSerializerPlugin(org.bimserver.plugins.serializers.MessagingSerializerPlugin) MessagingStreamingSerializerPlugin(org.bimserver.plugins.serializers.MessagingStreamingSerializerPlugin) SerializerPlugin(org.bimserver.plugins.serializers.SerializerPlugin) StreamingSerializerPlugin(org.bimserver.plugins.serializers.StreamingSerializerPlugin) MessagingStreamingSerializerPlugin(org.bimserver.plugins.serializers.MessagingStreamingSerializerPlugin) 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) BimserverDatabaseException(org.bimserver.BimserverDatabaseException) SerializerPluginConfiguration(org.bimserver.models.store.SerializerPluginConfiguration) SSerializerPluginConfiguration(org.bimserver.interfaces.objects.SSerializerPluginConfiguration) UserException(org.bimserver.shared.exceptions.UserException) StreamingSerializerPlugin(org.bimserver.plugins.serializers.StreamingSerializerPlugin) QueryEnginePlugin(org.bimserver.plugins.queryengine.QueryEnginePlugin) MessagingSerializerPlugin(org.bimserver.plugins.serializers.MessagingSerializerPlugin) StreamingDeserializerPlugin(org.bimserver.plugins.deserializers.StreamingDeserializerPlugin) DeserializerPlugin(org.bimserver.plugins.deserializers.DeserializerPlugin) MessagingStreamingSerializerPlugin(org.bimserver.plugins.serializers.MessagingStreamingSerializerPlugin) SerializerPlugin(org.bimserver.plugins.serializers.SerializerPlugin) Plugin(org.bimserver.plugins.Plugin) DownloadParameters(org.bimserver.longaction.DownloadParameters)

Example 3 with LongStreamingDownloadAction

use of org.bimserver.longaction.LongStreamingDownloadAction in project BIMserver by opensourceBIM.

the class ServiceImpl method triggerRevisionService.

@Override
public void triggerRevisionService(Long roid, Long soid) 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 for roid " + roid);
        }
        NewService newService = session.get(StorePackage.eINSTANCE.getNewService(), soid, OldQuery.getDefault());
        if (revision.getServicesLinked().contains(newService)) {
            // We don't want no loops
            return;
        }
        String url = newService.getResourceUrl();
        SerializerPluginConfiguration serializer = newService.getSerializer();
        PackageMetaData pmd = getBimServer().getMetaDataManager().getPackageMetaData(revision.getProject().getSchema());
        Query query = DefaultQueries.all(pmd);
        Long topicId = download(Collections.singleton(roid), new JsonQueryObjectModelConverter(pmd).toJson(query).toString(), serializer.getOid(), false);
        CloseableHttpClient httpclient = HttpClients.createDefault();
        HttpPost httpPost = new HttpPost(url);
        LongAction<?> longAction = getBimServer().getLongActionManager().getLongAction(topicId);
        if (longAction == null) {
            throw new UserException("No data found for topicId " + topicId);
        }
        SCheckoutResult result;
        if (longAction instanceof LongStreamingDownloadAction) {
            LongStreamingDownloadAction longStreamingDownloadAction = (LongStreamingDownloadAction) longAction;
            if (longStreamingDownloadAction.getErrors().isEmpty()) {
                try {
                    result = longStreamingDownloadAction.getCheckoutResult();
                } catch (SerializerException e) {
                    throw new UserException(e);
                }
            } else {
                LOGGER.error(longStreamingDownloadAction.getErrors().get(0));
                throw new ServerException(longStreamingDownloadAction.getErrors().get(0));
            }
        } else {
            LongDownloadOrCheckoutAction longDownloadAction = (LongDownloadOrCheckoutAction) longAction;
            try {
                longDownloadAction.waitForCompletion();
                if (longDownloadAction.getErrors().isEmpty()) {
                    result = longDownloadAction.getCheckoutResult();
                } else {
                    LOGGER.error(longDownloadAction.getErrors().get(0));
                    throw new ServerException(longDownloadAction.getErrors().get(0));
                }
            } catch (Exception e) {
                LOGGER.error("", e);
                throw new ServerException(e);
            }
        }
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        LOGGER.info("Starting serialization");
        DataSource datasource = result.getFile().getDataSource();
        if (datasource instanceof ExtendedDataSource) {
            ((ExtendedDataSource) datasource).writeToOutputStream(baos, null);
        }
        LOGGER.info("Serialization done");
        if (newService.getAccessToken() != null) {
            httpPost.setHeader("Authorization", "Bearer " + newService.getAccessToken());
        }
        httpPost.setHeader("Input-Type", newService.getInput());
        httpPost.setHeader("Output-Type", newService.getOutput());
        httpPost.setEntity(new ByteArrayEntity(baos.toByteArray()));
        CloseableHttpResponse response = httpclient.execute(httpPost);
        LOGGER.info(response.getStatusLine().toString());
        if (response.getStatusLine().getStatusCode() == 401) {
            throw new UserException("Remote service responded with a 401 Unauthorized");
        } else if (response.getStatusLine().getStatusCode() == 200) {
            Header[] headers = response.getHeaders("Content-Disposition");
            String filename = "unknown";
            if (headers.length > 0) {
                String contentDisposition = headers[0].getValue();
                if (contentDisposition.contains("filename=")) {
                    int indexOf = contentDisposition.indexOf("filename=") + 10;
                    filename = contentDisposition.substring(indexOf, contentDisposition.indexOf("\"", indexOf + 1));
                } else {
                    filename = contentDisposition;
                }
            }
            Header dataTitleHeader = response.getFirstHeader("Data-Title");
            String dataTitle = newService.getName() + " Results";
            if (dataTitleHeader != null) {
                dataTitle = dataTitleHeader.getValue();
            }
            byte[] responseBytes = ByteStreams.toByteArray(response.getEntity().getContent());
            Action action = newService.getAction();
            if (action instanceof StoreExtendedData) {
                SFile file = new SFile();
                file.setData(responseBytes);
                file.setFilename(filename);
                file.setSize(responseBytes.length);
                file.setMime(response.getHeaders("Content-Type")[0].getValue());
                Long fileId = uploadFile(file);
                SExtendedData extendedData = new SExtendedData();
                extendedData.setAdded(new Date());
                extendedData.setRevisionId(roid);
                extendedData.setTitle(dataTitle);
                extendedData.setSize(responseBytes.length);
                extendedData.setFileId(fileId);
                extendedData.setSchemaId(getExtendedDataSchemaByName(newService.getOutput()).getOid());
                addExtendedDataToRevision(roid, extendedData);
            } else if (action instanceof CheckinRevision) {
                CheckinRevision checkinRevision = (CheckinRevision) action;
                Project targetProject = checkinRevision.getProject();
                String extension = filename.substring(filename.lastIndexOf(".") + 1);
                SDeserializerPluginConfiguration deserializer = getSuggestedDeserializerForExtension(extension, targetProject.getOid());
                Long checkingTopicId = initiateCheckin(targetProject.getOid(), deserializer.getOid());
                checkinInitiatedInternal(checkingTopicId, targetProject.getOid(), dataTitle, deserializer.getOid(), (long) responseBytes.length, filename, new DataHandler(new ByteArrayDataSource(responseBytes, "ifc")), false, true, newService.getOid());
            }
        } else {
            throw new UserException("Remote service responded with a " + response.getStatusLine());
        }
    } catch (Exception e) {
        handleException(e);
    } finally {
        session.close();
    }
}
Also used : HttpPost(org.apache.http.client.methods.HttpPost) CheckinDatabaseAction(org.bimserver.database.actions.CheckinDatabaseAction) GetDeserializerByIdDatabaseAction(org.bimserver.database.actions.GetDeserializerByIdDatabaseAction) GetAllReadableProjectsDatabaseAction(org.bimserver.database.actions.GetAllReadableProjectsDatabaseAction) AddModelCheckerToProjectDatabaseAction(org.bimserver.database.actions.AddModelCheckerToProjectDatabaseAction) GetProjectsByNameDatabaseAction(org.bimserver.database.actions.GetProjectsByNameDatabaseAction) AddProjectDatabaseAction(org.bimserver.database.actions.AddProjectDatabaseAction) LongCheckinAction(org.bimserver.longaction.LongCheckinAction) GetUserByUoidDatabaseAction(org.bimserver.database.actions.GetUserByUoidDatabaseAction) UpdateProjectDatabaseAction(org.bimserver.database.actions.UpdateProjectDatabaseAction) BimDatabaseAction(org.bimserver.database.actions.BimDatabaseAction) GetAllExtendedDataSchemasDatabaseAction(org.bimserver.database.actions.GetAllExtendedDataSchemasDatabaseAction) UserHasRightsDatabaseAction(org.bimserver.database.actions.UserHasRightsDatabaseAction) GetAllNewServicesOfProjectDatabaseAction(org.bimserver.database.actions.GetAllNewServicesOfProjectDatabaseAction) LongBranchAction(org.bimserver.longaction.LongBranchAction) AddExtendedDataToProjectDatabaseAction(org.bimserver.database.actions.AddExtendedDataToProjectDatabaseAction) GetSerializerByContentTypeDatabaseAction(org.bimserver.database.actions.GetSerializerByContentTypeDatabaseAction) GetSubProjectsDatabaseAction(org.bimserver.database.actions.GetSubProjectsDatabaseAction) SAction(org.bimserver.interfaces.objects.SAction) LongStreamingDownloadAction(org.bimserver.longaction.LongStreamingDownloadAction) GetModelCheckerOidDatabaseAction(org.bimserver.database.actions.GetModelCheckerOidDatabaseAction) BranchToExistingProjectDatabaseAction(org.bimserver.database.actions.BranchToExistingProjectDatabaseAction) RegenerateGeometryDatabaseAction(org.bimserver.database.actions.RegenerateGeometryDatabaseAction) GetAllAuthorizedUsersOfProjectDatabaseAction(org.bimserver.database.actions.GetAllAuthorizedUsersOfProjectDatabaseAction) GetAllCheckoutsOfRevisionDatabaseAction(org.bimserver.database.actions.GetAllCheckoutsOfRevisionDatabaseAction) ChangeUserTypeDatabaseAction(org.bimserver.database.actions.ChangeUserTypeDatabaseAction) GetAvailableClassesDatabaseAction(org.bimserver.database.actions.GetAvailableClassesDatabaseAction) GetProjectByPoidDatabaseAction(org.bimserver.database.actions.GetProjectByPoidDatabaseAction) RemoveServiceFromProjectDatabaseAction(org.bimserver.database.actions.RemoveServiceFromProjectDatabaseAction) StreamingCheckinDatabaseAction(org.bimserver.database.actions.StreamingCheckinDatabaseAction) UploadFileDatabaseAction(org.bimserver.database.actions.UploadFileDatabaseAction) DeleteUserDatabaseAction(org.bimserver.database.actions.DeleteUserDatabaseAction) LongGenericAction(org.bimserver.longaction.LongGenericAction) AddUserDatabaseAction(org.bimserver.database.actions.AddUserDatabaseAction) GetQueryEngineByNameDatabaseAction(org.bimserver.database.actions.GetQueryEngineByNameDatabaseAction) RemoveNewServiceFromProjectDatabaseAction(org.bimserver.database.actions.RemoveNewServiceFromProjectDatabaseAction) GetAllProjectsSmallDatabaseAction(org.bimserver.database.actions.GetAllProjectsSmallDatabaseAction) RemoveModelCheckerFromProjectDatabaseAction(org.bimserver.database.actions.RemoveModelCheckerFromProjectDatabaseAction) LongAction(org.bimserver.longaction.LongAction) LongDownloadAction(org.bimserver.longaction.LongDownloadAction) GetAllUsersDatabaseAction(org.bimserver.database.actions.GetAllUsersDatabaseAction) GetAllProjectsDatabaseAction(org.bimserver.database.actions.GetAllProjectsDatabaseAction) LongDownloadOrCheckoutAction(org.bimserver.longaction.LongDownloadOrCheckoutAction) GetRevisionSummaryDatabaseAction(org.bimserver.database.actions.GetRevisionSummaryDatabaseAction) UndeleteUserDatabaseAction(org.bimserver.database.actions.UndeleteUserDatabaseAction) GetSerializerByIdDatabaseAction(org.bimserver.database.actions.GetSerializerByIdDatabaseAction) GetAllWritableProjectsDatabaseAction(org.bimserver.database.actions.GetAllWritableProjectsDatabaseAction) SetRevisionTagDatabaseAction(org.bimserver.database.actions.SetRevisionTagDatabaseAction) GetExtendedDataSchemaByIdDatabaseAction(org.bimserver.database.actions.GetExtendedDataSchemaByIdDatabaseAction) GetOidByGuidDatabaseAction(org.bimserver.database.actions.GetOidByGuidDatabaseAction) AddExtendedDataSchemaDatabaseAction(org.bimserver.database.actions.AddExtendedDataSchemaDatabaseAction) RemoveUserFromExtendedDataSchemaDatabaseAction(org.bimserver.database.actions.RemoveUserFromExtendedDataSchemaDatabaseAction) GetUserByUserNameDatabaseAction(org.bimserver.database.actions.GetUserByUserNameDatabaseAction) GetAllRevisionsByUserDatabaseAction(org.bimserver.database.actions.GetAllRevisionsByUserDatabaseAction) GetSerializerByNameDatabaseAction(org.bimserver.database.actions.GetSerializerByNameDatabaseAction) GetIfcHeaderDatabaseAction(org.bimserver.database.actions.GetIfcHeaderDatabaseAction) GetCheckoutWarningsDatabaseAction(org.bimserver.database.actions.GetCheckoutWarningsDatabaseAction) GetQueryEngineByIdDatabaseAction(org.bimserver.database.actions.GetQueryEngineByIdDatabaseAction) UpdateRevisionDatabaseAction(org.bimserver.database.actions.UpdateRevisionDatabaseAction) BranchToNewProjectDatabaseAction(org.bimserver.database.actions.BranchToNewProjectDatabaseAction) AddServiceToProjectDatabaseAction(org.bimserver.database.actions.AddServiceToProjectDatabaseAction) GetTopLevelProjectByNameDatabaseAction(org.bimserver.database.actions.GetTopLevelProjectByNameDatabaseAction) GetAllRelatedProjectsDatabaseAction(org.bimserver.database.actions.GetAllRelatedProjectsDatabaseAction) DeleteServiceDatabaseAction(org.bimserver.database.actions.DeleteServiceDatabaseAction) GetDeserializerByNameDatabaseAction(org.bimserver.database.actions.GetDeserializerByNameDatabaseAction) AddLocalServiceToProjectDatabaseAction(org.bimserver.database.actions.AddLocalServiceToProjectDatabaseAction) GetAllCheckoutsOfProjectDatabaseAction(org.bimserver.database.actions.GetAllCheckoutsOfProjectDatabaseAction) LogAction(org.bimserver.models.log.LogAction) GetAllCheckoutsByUserDatabaseAction(org.bimserver.database.actions.GetAllCheckoutsByUserDatabaseAction) GetVolumeDatabaseAction(org.bimserver.database.actions.GetVolumeDatabaseAction) LongCheckoutAction(org.bimserver.longaction.LongCheckoutAction) UpdateModelCheckerDatabaseAction(org.bimserver.database.actions.UpdateModelCheckerDatabaseAction) UpdateGeoTagDatabaseAction(org.bimserver.database.actions.UpdateGeoTagDatabaseAction) Action(org.bimserver.models.store.Action) AddExtendedDataToRevisionDatabaseAction(org.bimserver.database.actions.AddExtendedDataToRevisionDatabaseAction) DeleteProjectDatabaseAction(org.bimserver.database.actions.DeleteProjectDatabaseAction) GetExtendedDataSchemaByNameDatabaseAction(org.bimserver.database.actions.GetExtendedDataSchemaByNameDatabaseAction) RemoveUserFromProjectDatabaseAction(org.bimserver.database.actions.RemoveUserFromProjectDatabaseAction) GetExtendedDataByIdDatabaseAction(org.bimserver.database.actions.GetExtendedDataByIdDatabaseAction) GetAllRevisionsOfProjectDatabaseAction(org.bimserver.database.actions.GetAllRevisionsOfProjectDatabaseAction) GetProjectsOfUserDatabaseAction(org.bimserver.database.actions.GetProjectsOfUserDatabaseAction) SLogAction(org.bimserver.interfaces.objects.SLogAction) AddUserToExtendedDataSchemaDatabaseAction(org.bimserver.database.actions.AddUserToExtendedDataSchemaDatabaseAction) GetSubProjectByNameDatabaseAction(org.bimserver.database.actions.GetSubProjectByNameDatabaseAction) GetNrPrimitivesDatabaseAction(org.bimserver.database.actions.GetNrPrimitivesDatabaseAction) GetRevisionDatabaseAction(org.bimserver.database.actions.GetRevisionDatabaseAction) ValidateModelCheckerDatabaseAction(org.bimserver.database.actions.ValidateModelCheckerDatabaseAction) AddNewServiceToProjectDatabaseAction(org.bimserver.database.actions.AddNewServiceToProjectDatabaseAction) LongStreamingCheckinAction(org.bimserver.longaction.LongStreamingCheckinAction) UndeleteProjectDatabaseAction(org.bimserver.database.actions.UndeleteProjectDatabaseAction) CompareDatabaseAction(org.bimserver.database.actions.CompareDatabaseAction) GetAllNonAuthorizedProjectsOfUserDatabaseAction(org.bimserver.database.actions.GetAllNonAuthorizedProjectsOfUserDatabaseAction) GetAllServicesOfProjectDatabaseAction(org.bimserver.database.actions.GetAllServicesOfProjectDatabaseAction) GetGeometryInfoDatabaseAction(org.bimserver.database.actions.GetGeometryInfoDatabaseAction) GetAvailableClassesInRevisionDatabaseAction(org.bimserver.database.actions.GetAvailableClassesInRevisionDatabaseAction) AddModelCheckerDatabaseAction(org.bimserver.database.actions.AddModelCheckerDatabaseAction) AddUserToProjectDatabaseAction(org.bimserver.database.actions.AddUserToProjectDatabaseAction) GetCheckinWarningsDatabaseAction(org.bimserver.database.actions.GetCheckinWarningsDatabaseAction) UserHasCheckinRightsDatabaseAction(org.bimserver.database.actions.UserHasCheckinRightsDatabaseAction) GetAreaDatabaseAction(org.bimserver.database.actions.GetAreaDatabaseAction) GetGeoTagDatabaseAction(org.bimserver.database.actions.GetGeoTagDatabaseAction) GetAllNonAuthorizedUsersOfProjectDatabaseAction(org.bimserver.database.actions.GetAllNonAuthorizedUsersOfProjectDatabaseAction) GetAllModelCheckersDatabaseAction(org.bimserver.database.actions.GetAllModelCheckersDatabaseAction) JsonQueryObjectModelConverter(org.bimserver.database.queries.om.JsonQueryObjectModelConverter) SDeserializerPluginConfiguration(org.bimserver.interfaces.objects.SDeserializerPluginConfiguration) Query(org.bimserver.database.queries.om.Query) OldQuery(org.bimserver.database.OldQuery) DatabaseSession(org.bimserver.database.DatabaseSession) SCheckoutResult(org.bimserver.interfaces.objects.SCheckoutResult) LongStreamingDownloadAction(org.bimserver.longaction.LongStreamingDownloadAction) DataHandler(javax.activation.DataHandler) CheckinRevision(org.bimserver.models.store.CheckinRevision) LongDownloadOrCheckoutAction(org.bimserver.longaction.LongDownloadOrCheckoutAction) ByteArrayEntity(org.apache.http.entity.ByteArrayEntity) CloseableHttpResponse(org.apache.http.client.methods.CloseableHttpResponse) UserException(org.bimserver.shared.exceptions.UserException) SFile(org.bimserver.interfaces.objects.SFile) NewService(org.bimserver.models.store.NewService) SNewService(org.bimserver.interfaces.objects.SNewService) ByteArrayDataSource(javax.mail.util.ByteArrayDataSource) CloseableHttpClient(org.apache.http.impl.client.CloseableHttpClient) ServerException(org.bimserver.shared.exceptions.ServerException) PackageMetaData(org.bimserver.emf.PackageMetaData) ByteArrayOutputStream(java.io.ByteArrayOutputStream) SerializerException(org.bimserver.plugins.serializers.SerializerException) 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) Date(java.util.Date) ByteArrayDataSource(javax.mail.util.ByteArrayDataSource) ExtendedDataSource(org.bimserver.plugins.serializers.ExtendedDataSource) DataSource(javax.activation.DataSource) StoreExtendedData(org.bimserver.models.store.StoreExtendedData) Project(org.bimserver.models.store.Project) SProject(org.bimserver.interfaces.objects.SProject) ExtendedDataSource(org.bimserver.plugins.serializers.ExtendedDataSource) SRevision(org.bimserver.interfaces.objects.SRevision) Revision(org.bimserver.models.store.Revision) CheckinRevision(org.bimserver.models.store.CheckinRevision) SExtendedDataAddedToRevision(org.bimserver.interfaces.objects.SExtendedDataAddedToRevision) SIfcHeader(org.bimserver.interfaces.objects.SIfcHeader) Header(org.apache.http.Header) SExtendedData(org.bimserver.interfaces.objects.SExtendedData) SerializerPluginConfiguration(org.bimserver.models.store.SerializerPluginConfiguration) SSerializerPluginConfiguration(org.bimserver.interfaces.objects.SSerializerPluginConfiguration)

Aggregations

IOException (java.io.IOException)3 LongStreamingDownloadAction (org.bimserver.longaction.LongStreamingDownloadAction)3 SerializerException (org.bimserver.plugins.serializers.SerializerException)3 ServerException (org.bimserver.shared.exceptions.ServerException)3 UserException (org.bimserver.shared.exceptions.UserException)3 UnsupportedEncodingException (java.io.UnsupportedEncodingException)2 MalformedURLException (java.net.MalformedURLException)2 MessagingException (javax.mail.MessagingException)2 AddressException (javax.mail.internet.AddressException)2 BimserverDatabaseException (org.bimserver.BimserverDatabaseException)2 DatabaseSession (org.bimserver.database.DatabaseSession)2 SSerializerPluginConfiguration (org.bimserver.interfaces.objects.SSerializerPluginConfiguration)2 CannotBeScheduledException (org.bimserver.longaction.CannotBeScheduledException)2 LongAction (org.bimserver.longaction.LongAction)2 LongDownloadOrCheckoutAction (org.bimserver.longaction.LongDownloadOrCheckoutAction)2 SerializerPluginConfiguration (org.bimserver.models.store.SerializerPluginConfiguration)2 DeserializeException (org.bimserver.plugins.deserializers.DeserializeException)2 BcfException (org.opensourcebim.bcf.BcfException)2 JsonObject (com.google.gson.JsonObject)1 JsonParser (com.google.gson.JsonParser)1