Example usage for com.google.gwt.gears.client.localserver LocalServer createStore

List of usage examples for com.google.gwt.gears.client.localserver LocalServer createStore

Introduction

In this page you can find the example usage for com.google.gwt.gears.client.localserver LocalServer createStore.

Prototype

public native ResourceStore createStore(String name) ;

Source Link

Document

Opens an existing ResourceStore or creates a new one if no such store exists.

Usage

From source file:de.lilawelt.zmachine.client.offline.Downloader.java

License:Open Source License

private void doLoad(String url) {
    LocalServer server = Factory.getInstance().createLocalServer();

    addStatusLine("Starting download...");
    ResourceStoreUrlCaptureHandler callback = new ResourceStoreUrlCaptureHandler() {

        public void onCapture(ResourceStoreUrlCaptureEvent event) {
            if (event.isSuccess()) {
                addStatusLine("Download finished.");
            } else {
                addStatusLine("Download failed.");
            }/*from  ww w.j  a v  a2  s  .c o m*/

        }
    };

    final ResourceStore resource = server.createStore("games");

    resource.capture(callback, url);

}

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

License:Open Source License

@Override
public void synchronizeLocalDatabase() {
    fireOnStart();//ww  w. j  a v a  2 s .c  o  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();//from w  w w  . ja v  a 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 ww  . j ava2 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();//  w ww.  j  a  va  2s.  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();/* w  ww . j a v  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.");
}