當前位置: 首頁>>代碼示例>>Java>>正文


Java ResourceTable.getResourceWithId方法代碼示例

本文整理匯總了Java中org.commcare.resources.model.ResourceTable.getResourceWithId方法的典型用法代碼示例。如果您正苦於以下問題:Java ResourceTable.getResourceWithId方法的具體用法?Java ResourceTable.getResourceWithId怎麽用?Java ResourceTable.getResourceWithId使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.commcare.resources.model.ResourceTable的用法示例。


在下文中一共展示了ResourceTable.getResourceWithId方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: getResourceListFromProfile

import org.commcare.resources.model.ResourceTable; //導入方法依賴的package包/類
public static Vector<Resource> getResourceListFromProfile(ResourceTable master) {
    Vector<Resource> unresolved = new Vector<Resource>();
    Vector<Resource> resolved = new Vector<Resource>();
    Resource r = master.getResourceWithId(CommCarePlatform.APP_PROFILE_RESOURCE_ID);
    if (r == null) {
        return resolved;
    }
    unresolved.addElement(r);
    while (unresolved.size() > 0) {
        Resource current = unresolved.firstElement();
        unresolved.removeElement(current);
        resolved.addElement(current);
        Vector<Resource> children = master.getResourcesForParent(current.getRecordGuid());
        for (Resource child : children) {
            unresolved.addElement(child);
        }
    }
    return resolved;
}
 
開發者ID:dimagi,項目名稱:commcare-j2me,代碼行數:20,代碼來源:ResourceManager.java

示例2: getResourceListFromProfile

import org.commcare.resources.model.ResourceTable; //導入方法依賴的package包/類
public static Vector<Resource> getResourceListFromProfile(ResourceTable master) {
    Vector<Resource> unresolved = new Vector<>();
    Vector<Resource> resolved = new Vector<>();
    Resource r = master.getResourceWithId(CommCarePlatform.APP_PROFILE_RESOURCE_ID);
    if (r == null) {
        return resolved;
    }
    unresolved.addElement(r);
    while (unresolved.size() > 0) {
        Resource current = unresolved.firstElement();
        unresolved.removeElement(current);
        resolved.addElement(current);
        Vector<Resource> children = master.getResourcesForParent(current.getRecordGuid());
        for (Resource child : children) {
            unresolved.addElement(child);
        }
    }
    return resolved;
}
 
開發者ID:dimagi,項目名稱:commcare-core,代碼行數:20,代碼來源:ResourceManager.java

示例3: installAppResources

import org.commcare.resources.model.ResourceTable; //導入方法依賴的package包/類
/**
 * Installs resources described by profile reference into the provided
 * resource table. If the resource table is ready or already has a profile,
 * don't do anything.
 *
 * @param profileReference URL to profile file
 * @param global           Add profile ref to this table and install its
 *                         resources
 * @param forceInstall     Should installation be performed regardless of
 *                         version numbers?
 */
public static void installAppResources(CommCarePlatform platform, String profileReference,
                                       ResourceTable global, boolean forceInstall)
        throws UnfullfilledRequirementsException,
        UnresolvedResourceException,
        InstallCancelledException {
    synchronized (updateLock) {
        try {
            if (!global.isReady()) {
                global.prepareResources(null, platform);
            }

            // First, see if the appropriate profile exists
            Resource profile =
                    global.getResourceWithId(CommCarePlatform.APP_PROFILE_RESOURCE_ID);

            if (profile == null) {
                // grab the local profile and parse it
                Vector<ResourceLocation> locations = new Vector<ResourceLocation>();
                locations.addElement(new ResourceLocation(Resource.RESOURCE_AUTHORITY_LOCAL, profileReference));

                // We need a way to identify this version...
                Resource r = new Resource(Resource.RESOURCE_VERSION_UNKNOWN,
                        CommCarePlatform.APP_PROFILE_RESOURCE_ID,
                        locations, "Application Descriptor");

                global.addResource(r, global.getInstallers().getProfileInstaller(forceInstall), "");
                global.prepareResources(null, platform);
            }
        } catch (StorageFullException e) {
            e.printStackTrace();
        }
    }
}
 
開發者ID:dimagi,項目名稱:commcare-j2me,代碼行數:45,代碼來源:ResourceManager.java

示例4: upgradeTableVersion

import org.commcare.resources.model.ResourceTable; //導入方法依賴的package包/類
/**
 * @return Version from profile in the app's upgrade table; -1 if upgrade
 * profile not found.
 */
public static int upgradeTableVersion() {
    CommCareApp app = CommCareApplication.instance().getCurrentApp();
    AndroidCommCarePlatform platform = app.getCommCarePlatform();

    ResourceTable upgradeTable = platform.getUpgradeResourceTable();

    Resource upgradeProfile =
            upgradeTable.getResourceWithId(CommCarePlatform.APP_PROFILE_RESOURCE_ID);
    if (upgradeProfile == null) {
        return -1;
    }
    return upgradeProfile.getVersion();
}
 
開發者ID:dimagi,項目名稱:commcare-android,代碼行數:18,代碼來源:ResourceInstallUtils.java

示例5: installAppResources

import org.commcare.resources.model.ResourceTable; //導入方法依賴的package包/類
/**
 * Installs resources described by profile reference into the provided
 * resource table. If the resource table is ready or already has a profile,
 * don't do anything.
 *
 * @param profileReference URL to profile file
 * @param global           Add profile ref to this table and install its
 *                         resources
 * @param forceInstall     Should installation be performed regardless of
 *                         version numbers?
 */
public static void installAppResources(CommCarePlatform platform, String profileReference,
                                       ResourceTable global, boolean forceInstall,
                                       int authorityForProfile)
        throws UnfullfilledRequirementsException,
        UnresolvedResourceException,
        InstallCancelledException {
    synchronized (platform) {
        if (!global.isReady()) {
            global.prepareResources(null, platform);
        }

        // First, see if the appropriate profile exists
        Resource profile =
                global.getResourceWithId(CommCarePlatform.APP_PROFILE_RESOURCE_ID);

        if (profile == null) {
            // Create a stub for the profile resource that points to the authority and location
            // from which we will install it
            Vector<ResourceLocation> locations = new Vector<>();
            locations.addElement(new ResourceLocation(authorityForProfile, profileReference));
            Resource r = new Resource(Resource.RESOURCE_VERSION_UNKNOWN,
                    CommCarePlatform.APP_PROFILE_RESOURCE_ID,
                    locations, "Application Descriptor");

            global.addResource(r, global.getInstallers().getProfileInstaller(forceInstall), "");
            global.prepareResources(null, platform);
        }
    }
}
 
開發者ID:dimagi,項目名稱:commcare-core,代碼行數:41,代碼來源:ResourceManager.java

示例6: initializeApplicationHelper

import org.commcare.resources.model.ResourceTable; //導入方法依賴的package包/類
private boolean initializeApplicationHelper() {
    setupSandbox();

    ResourceTable global = platform.getGlobalResourceTable();
    ResourceTable upgrade = platform.getUpgradeResourceTable();
    ResourceTable recovery = platform.getRecoveryTable();

    logTable("Global", global);
    logTable("Upgrade", upgrade);
    logTable("Recovery", recovery);

    // See if any of our tables got left in a weird state
    if (global.getTableReadiness() == ResourceTable.RESOURCE_TABLE_UNCOMMITED) {
        global.rollbackCommits(platform);
        logTable("Global after rollback", global);
    }
    if (upgrade.getTableReadiness() == ResourceTable.RESOURCE_TABLE_UNCOMMITED) {
        upgrade.rollbackCommits(platform);
        logTable("Upgrade after rollback", upgrade);
    }

    // See if we got left in the middle of an update
    if (global.getTableReadiness() == ResourceTable.RESOURCE_TABLE_UNSTAGED) {
        // If so, repair the global table. (Always takes priority over maintaining the update)
        global.repairTable(upgrade, platform);
    }

    Resource profile = global.getResourceWithId(CommCarePlatform.APP_PROFILE_RESOURCE_ID);
    if (profile != null && profile.getStatus() == Resource.RESOURCE_STATUS_INSTALLED) {
        platform.initialize(global, false);
        try {
            Localization.setLocale(
                    getAppPreferences().getString(MainConfigurablePreferences.PREFS_LOCALE_KEY, "default"));
        } catch (UnregisteredLocaleException urle) {
            Localization.setLocale(Localization.getGlobalLocalizerAdvanced().getAvailableLocales()[0]);
        }

        initializeStylizer();

        try {
            HybridFileBackedSqlHelpers.removeOrphanedFiles(buildAndroidDbHelper().getHandle());
        } catch (SessionUnavailableException e) {
            Logger.log(LogTypes.SOFT_ASSERT,
                    "Unable to get app db handle to clear orphaned files");
        }
        return true;
    }

    String failureReason = profile == null ? "profle being null" : "profile status value " + String.valueOf(profile.getStatus());
    Logger.log(LogTypes.TYPE_RESOURCES, "Initializing application failed because of " + failureReason);
    return false;
}
 
開發者ID:dimagi,項目名稱:commcare-android,代碼行數:53,代碼來源:CommCareApp.java


注:本文中的org.commcare.resources.model.ResourceTable.getResourceWithId方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。