Example usage for com.google.gwt.gears.client Factory createLocalServer

List of usage examples for com.google.gwt.gears.client Factory createLocalServer

Introduction

In this page you can find the example usage for com.google.gwt.gears.client Factory createLocalServer.

Prototype

public LocalServer createLocalServer() 

Source Link

Document

Creates a new LocalServer instance.

Usage

From source file:org.sigmah.client.offline.sigmah.sync.ApplicationSynchronizer.java

License:Open Source License

@Override
public void synchronizeLocalDatabase() {
    fireOnStart();// w  ww  .  j  a va 2s. co m
    fireOnTaskChange(I18N.CONSTANTS.synchronizerApplicationDownload_0());

    final Factory factory = Factory.getInstance();

    if (factory != null) {

        final LocalServer localServer = factory.createLocalServer();
        final ResourceStore store = localServer.createStore(OnlineMode.LOCAL_DATABASE_NAME);

        store.capture(new ResourceStoreUrlCaptureHandler() {

            @Override
            public void onCapture(ResourceStoreUrlCaptureEvent event) {

                try {
                    final ManagedResourceStore managedResourceStore = Offline.getManagedResourceStore();

                    new Timer() {

                        @Override
                        public void run() {
                            switch (managedResourceStore.getUpdateStatus()) {
                            case ManagedResourceStore.UPDATE_OK:
                                managedResourceStore.setEnabled(true);
                                fireOnComplete();
                                break;
                            case ManagedResourceStore.UPDATE_CHECKING:
                            case ManagedResourceStore.UPDATE_DOWNLOADING:
                                fireOnUpdate(0.5);
                                schedule(500);
                                break;
                            case ManagedResourceStore.UPDATE_FAILED:
                                Log.debug("Google Gears update failed: "
                                        + managedResourceStore.getLastErrorMessage());
                                fireOnFailure(true, I18N.CONSTANTS.synchronizerApplicationDownload_0_failed()
                                        + managedResourceStore.getLastErrorMessage());
                                break;
                            }
                        }
                    }.schedule(500);

                } catch (GearsException ex) {
                    Log.debug("Google Gears error while trying to cache Sigmah resources.", ex);
                    fireOnFailure(true,
                            I18N.CONSTANTS.synchronizerApplicationDownload_0_failed() + ex.getMessage());
                }

            }
        }, "./");

    }
}

From source file:org.sigmah.client.offline.sigmah.sync.ApplicationSynchronizer.java

License:Open Source License

@Override
public void updateDistantDatabase() {
    // Disabling the local store.
    fireOnStart();/* w  w w.j  a va 2 s  .c  o m*/
    fireOnTaskChange(I18N.CONSTANTS.synchronizerApplicationUpload_0());

    try {
        final Factory factory = Factory.getInstance();

        if (factory != null) {

            final ManagedResourceStore managedResourceStore = Offline.getManagedResourceStore();
            managedResourceStore.setEnabled(false);

            final LocalServer localServer = factory.createLocalServer();
            final ResourceStore store = localServer.createStore(OnlineMode.LOCAL_DATABASE_NAME);
            store.remove("./");
        }

        fireOnComplete();

    } catch (GearsException ex) {
        Log.debug("Google Gears error while trying to remove Sigmah from the cache.", ex);
        fireOnFailure(false, I18N.CONSTANTS.synchronizerApplicationUpload_0_failed() + ex.getMessage());
    }

}

From source file:org.sigmah.client.offline.sigmah.sync.AuthTokenSynchronizer.java

License:Open Source License

@Override
public void synchronizeLocalDatabase() {
    fireOnStart();/*from w  w w . j av a2 s. co m*/
    fireOnTaskChange(I18N.CONSTANTS.synchronizerAuthTokenDownload_0());

    final Factory factory = Factory.getInstance();

    if (factory != null) {
        final LocalServer localServer = factory.createLocalServer();

        try {
            if (!localServer.canServeLocally("../SigmahAuthToken")) {
                final ResourceStore store = localServer.createStore(OnlineMode.LOCAL_DATABASE_NAME);

                store.capture(new ResourceStoreUrlCaptureHandler() {

                    @Override
                    public void onCapture(ResourceStoreUrlCaptureEvent event) {
                        fireOnComplete();
                    }
                }, "../SigmahAuthToken");
            } else
                fireOnComplete();

        } catch (GearsException ex) {
            Log.debug("Google Gears error while trying to cache the AuthToken.", ex);
            fireOnFailure(true, I18N.CONSTANTS.synchronizerAuthTokenDownload_0_failed() + ex.getMessage());
        }
    }
}

From source file:org.sigmah.client.offline.sigmah.sync.AuthTokenSynchronizer.java

License:Open Source License

@Override
public void updateDistantDatabase() {
    fireOnStart();/*  ww  w  .  java2 s .c  o m*/
    fireOnTaskChange(I18N.CONSTANTS.synchronizerAuthTokenUpload_0());

    final Factory factory = Factory.getInstance();

    if (factory != null) {
        final LocalServer localServer = factory.createLocalServer();

        try {
            if (localServer.canServeLocally("../SigmahAuthToken")) {
                final ResourceStore store = localServer.createStore(OnlineMode.LOCAL_DATABASE_NAME);

                store.remove("../SigmahAuthToken");
            }

            fireOnComplete();

        } catch (GearsException ex) {
            Log.debug("Google Gears error while trying to remove the AuthToken from cache.", ex);
            fireOnFailure(true, I18N.CONSTANTS.synchronizerAuthTokenUpload_0_failed() + ex.getMessage());
        }
    }
}

From source file:org.sigmah.client.offline.sigmah.sync.OrganizationSynchronizer.java

License:Open Source License

@Override
public void synchronizeLocalDatabase() {
    fireOnStart();//  ww w. j av a  2  s  .c  o m
    fireOnTaskChange(I18N.CONSTANTS.synchronizerOrganizationDownload_0());

    final Factory factory = Factory.getInstance();

    if (factory != null) {

        dispatcher.execute(new GetOrganization(authentication.getOrganizationId()), null,
                new AsyncCallback<OrganizationDTO>() {

                    @Override
                    public void onFailure(Throwable caught) {
                        fireOnFailure(false, I18N.CONSTANTS.synchronizerOrganizationDownload_0_failed()
                                + caught.getMessage());
                    }

                    @Override
                    public void onSuccess(OrganizationDTO result) {
                        final Database database = factory.createDatabase();
                        database.open(OnlineMode.LOCAL_DATABASE_NAME);

                        try {
                            fireOnUpdate(0.1);
                            fireOnTaskChange(I18N.CONSTANTS.synchronizerOrganizationDownload_1());
                            OrganizationDAO.createTablesIfNotExists(database);

                            fireOnUpdate(0.2);
                            fireOnTaskChange(I18N.CONSTANTS.synchronizerOrganizationDownload_2());
                            OrganizationDAO.insertOrReplaceOrganization(result, database);

                            final LocalServer localServer = factory.createLocalServer();
                            final ResourceStore store = localServer.createStore(OnlineMode.LOCAL_DATABASE_NAME);

                            fireOnUpdate(0.8);
                            fireOnTaskChange(I18N.CONSTANTS.synchronizerOrganizationDownload_3());
                            store.capture(new ResourceStoreUrlCaptureHandler() {

                                @Override
                                public void onCapture(ResourceStoreUrlCaptureEvent event) {
                                    fireOnComplete();
                                }
                            }, GWT.getModuleBaseURL() + "image-provider?" + FileUploadUtils.IMAGE_URL + "="
                                    + result.getLogo());

                        } catch (DatabaseException ex) {
                            Log.debug("Error while writing the organization dto to the local database.", ex);
                            fireOnFailure(false, I18N.CONSTANTS.synchronizerOrganizationDownload_0_failed()
                                    + ex.getMessage());

                        } finally {
                            try {
                                database.close();
                            } catch (DatabaseException ex) {
                                Log.debug("Database closing error.", ex);
                                fireOnFailure(false, I18N.CONSTANTS.synchronizerOrganizationDownload_0_failed()
                                        + ex.getMessage());
                            }
                        }
                    }
                });

    } else
        fireOnFailure(false,
                I18N.CONSTANTS.synchronizerOrganizationDownload_0_failed() + "Google Gears isn't available.");
}