Skip to content

Commit

Permalink
RS-4990: Move datasinks out
Browse files Browse the repository at this point in the history
  • Loading branch information
edu-de committed Jun 7, 2021
1 parent 5a030dc commit 23a82f6
Show file tree
Hide file tree
Showing 47 changed files with 505 additions and 1,054 deletions.
2 changes: 0 additions & 2 deletions src/net/datenwerke/rs/ReportServerServiceConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,6 @@
import net.datenwerke.rs.localfsdatasink.service.localfsdatasink.LocalFileSystemModule;
import net.datenwerke.rs.oauth.server.oauth.OAuthRpcServiceImpl;
import net.datenwerke.rs.oauth.server.oauth.OAuthServlet;
import net.datenwerke.rs.oauth.service.oauth.OAuthModule;
import net.datenwerke.rs.onedrive.server.onedrive.OneDriveRpcServiceImpl;
import net.datenwerke.rs.onedrive.service.onedrive.OneDriveModule;
import net.datenwerke.rs.passwordpolicy.server.AccountInhibitionRpcServiceImpl;
Expand Down Expand Up @@ -649,7 +648,6 @@ protected List<Module> getModules() {
new DropboxModule(),
new OneDriveModule(),
new ScpModule(),
new OAuthModule(),

new ReportServerPUModule(),

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,24 @@
import net.datenwerke.rs.core.client.datasinkmanager.hooks.DatasinkDefinitionConfigProviderHook;
import net.datenwerke.rs.dropbox.client.dropbox.dto.DropboxDatasinkDto;
import net.datenwerke.rs.dropbox.client.dropbox.ui.DropboxDatasinkForm;
import net.datenwerke.rs.enterprise.client.EnterpriseUiService;
import net.datenwerke.rs.theme.client.icon.BaseIcon;

public class DropboxDatasinkConfigProviderHooker implements DatasinkDefinitionConfigProviderHook {

private final Provider<DropboxDatasinkForm> formProvider;

private final Provider<EnterpriseUiService> enterpriseServiceProvider;

@Inject
public DropboxDatasinkConfigProviderHooker(Provider<DropboxDatasinkForm> formProvider) {
public DropboxDatasinkConfigProviderHooker(
Provider<DropboxDatasinkForm> formProvider,
Provider<EnterpriseUiService> enterpriseServiceProvider
) {

/* store objects */
this.formProvider = formProvider;
this.enterpriseServiceProvider = enterpriseServiceProvider;
}

@Override
Expand Down Expand Up @@ -58,7 +65,7 @@ public ImageResource getDatasinkIcon() {

@Override
public boolean isAvailable() {
return true;
return enterpriseServiceProvider.get().isEnterprise();
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@
import net.datenwerke.rs.dropbox.client.dropbox.DropboxDao;
import net.datenwerke.rs.dropbox.client.dropbox.dto.DropboxDatasinkDto;
import net.datenwerke.rs.dropbox.client.dropbox.provider.annotations.DatasinkTreeDropbox;
import net.datenwerke.rs.enterprise.client.EnterpriseUiService;
import net.datenwerke.rs.eximport.client.eximport.locale.ExImportMessages;
import net.datenwerke.rs.scheduleasfile.client.scheduleasfile.StorageType;
import net.datenwerke.rs.scheduleasfile.client.scheduleasfile.locale.ScheduleAsFileMessages;
Expand All @@ -57,38 +58,49 @@ public class ExportToDropboxHooker implements ExportExternalEntryProviderHook {
private final Provider<UITree> treeProvider;
private final DatasinkTreeManagerDao datasinkTreeManager;
private final Provider<DropboxDao> datasinkDaoProvider;

private final Provider<EnterpriseUiService> enterpriseServiceProvider;

@Inject
public ExportToDropboxHooker(
HookHandlerService hookHandler,
@DatasinkTreeDropbox Provider<UITree> treeProvider,
DatasinkTreeManagerDao datasinkTreeManager,
Provider<DropboxDao> datasinkDaoProvider
Provider<DropboxDao> datasinkDaoProvider,
Provider<EnterpriseUiService> enterpriseServiceProvider
) {
this.hookHandler = hookHandler;
this.treeProvider = treeProvider;
this.datasinkTreeManager = datasinkTreeManager;
this.datasinkDaoProvider = datasinkDaoProvider;
this.enterpriseServiceProvider = enterpriseServiceProvider;
}

@Override
public void getMenuEntry(Menu menu, ReportDto report, ReportExecutorInformation info,
ReportExecutorMainPanel mainPanel) {
datasinkDaoProvider.get().getStorageEnabledConfigs(new AsyncCallback<Map<StorageType, Boolean>>() {

@Override
public void onSuccess(Map<StorageType, Boolean> result) {
if (result.get(StorageType.DROPBOX)) {
MenuItem item = new DwMenuItem("Dropbox", BaseIcon.DROPBOX);
menu.add(item);
item.addSelectionHandler(event -> displayExportDialog(report, info, mainPanel.getViewConfigs()));
if (enterpriseServiceProvider.get().isEnterprise()) {
datasinkDaoProvider.get().getStorageEnabledConfigs(new AsyncCallback<Map<StorageType, Boolean>>() {

@Override
public void onSuccess(Map<StorageType, Boolean> result) {
if (result.get(StorageType.DROPBOX)) {
MenuItem item = new DwMenuItem("Dropbox", BaseIcon.DROPBOX);
menu.add(item);
item.addSelectionHandler(event -> displayExportDialog(report, info, mainPanel.getViewConfigs()));
}
}
}

@Override
public void onFailure(Throwable caught) {
}
});
@Override
public void onFailure(Throwable caught) {
}
});
} else {
// we add item but disable it
MenuItem item = new DwMenuItem("Dropbox", BaseIcon.DROPBOX);
menu.add(item);
item.disable();
}

}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,6 @@ public class DropboxModule extends AbstractModule {

@Override
protected void configure() {
bind(DropboxService.class).to(DropboxServiceImpl.class);

requestStaticInjection(DropboxDatasink.class);

bind(DropboxStartup.class).asEagerSingleton();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,12 @@
import java.util.Optional;
import java.util.concurrent.ExecutionException;

import com.google.inject.ImplementedBy;

import net.datenwerke.rs.dropbox.service.dropbox.definitions.DropboxDatasink;
import net.datenwerke.rs.scheduleasfile.client.scheduleasfile.StorageType;

@ImplementedBy(DummyDropboxServiceImpl.class)
public interface DropboxService {

/**
Expand Down
123 changes: 0 additions & 123 deletions src/net/datenwerke/rs/dropbox/service/dropbox/DropboxServiceImpl.java

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package net.datenwerke.rs.dropbox.service.dropbox;

import java.io.IOException;
import java.util.Collections;
import java.util.Map;
import java.util.Optional;

import net.datenwerke.rs.dropbox.service.dropbox.definitions.DropboxDatasink;
import net.datenwerke.rs.scheduleasfile.client.scheduleasfile.StorageType;

public class DummyDropboxServiceImpl implements DropboxService {

@Override
public void exportIntoDropbox(Object report, DropboxDatasink dropboxDatasink, String filename, String folder)
throws IOException {

}

@Override
public Map<StorageType, Boolean> getStorageEnabledConfigs() {
return Collections.emptyMap();
}

@Override
public boolean isDropboxEnabled() {
return false;
}

@Override
public boolean isDropboxSchedulingEnabled() {
return false;
}

@Override
public void testDropboxDatasink(DropboxDatasink dropboxDatasink) throws IOException {
}

@Override
public Optional<DropboxDatasink> getDefaultDatasink() {
return null;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,9 @@ public void getStorageEnabledConfigs(AsyncCallback<Map<StorageType, Boolean>> ca
rpcService.getStorageEnabledConfigs(transformAndKeepCallback(callback));
}

public Request testLocalFileSystemDataSink(LocalFileSystemDatasinkDto localFileSystemDatasinkDto,
public Request testLocalFileSystemDatasink(LocalFileSystemDatasinkDto localFileSystemDatasinkDto,
AsyncCallback<Boolean> callback) {
return rpcService.testLocalFileSystemDataSink(localFileSystemDatasinkDto, transformAndKeepCallback(callback));
return rpcService.testLocalFileSystemDatasink(localFileSystemDatasinkDto, transformAndKeepCallback(callback));
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
import net.datenwerke.rs.core.client.datasinkmanager.hooks.DatasinkDefinitionConfigProviderHook;
import net.datenwerke.rs.core.client.reportexporter.hooks.ExportExternalEntryProviderHook;
import net.datenwerke.rs.localfsdatasink.client.localfsdatasink.hookers.ExportToLocalFileSystemHooker;
import net.datenwerke.rs.localfsdatasink.client.localfsdatasink.hookers.LocalFileSystemDataSinkTesterToolbarConfigurator;
import net.datenwerke.rs.localfsdatasink.client.localfsdatasink.hookers.LocalFileSystemDatasinkTesterToolbarConfigurator;
import net.datenwerke.rs.localfsdatasink.client.localfsdatasink.hookers.LocalFileSystemDatasinkConfigProviderHooker;
import net.datenwerke.rs.localfsdatasink.client.localfsdatasink.hookers.LocalFileSystemExportSnippetProvider;
import net.datenwerke.rs.scheduleasfile.client.scheduleasfile.StorageType;
Expand All @@ -27,7 +27,7 @@ public LocalFileSystemUiStartup(final Provider<ExportToLocalFileSystemHooker> ex
final Provider<LocalFileSystemDatasinkConfigProviderHooker> localFileSystemTreeConfiguratorProvider,
final WaitOnEventUIService waitOnEventService, final LocalFileSystemDao dao,
final Provider<LocalFileSystemExportSnippetProvider> localFileSystemExportSnippetProvider,
final LocalFileSystemDataSinkTesterToolbarConfigurator localFileSystemTestToolbarConfigurator) {
final LocalFileSystemDatasinkTesterToolbarConfigurator localFileSystemTestToolbarConfigurator) {

/* config tree */
hookHandler.attachHooker(DatasinkDefinitionConfigProviderHook.class, localFileSystemTreeConfiguratorProvider.get(), HookHandlerService.PRIORITY_MEDIUM);
Expand Down
Loading

0 comments on commit 23a82f6

Please sign in to comment.