public SubscriptionStatusWrapper getStatus() { // get status (possibility from cache) SubscriptionStatusWrapper lastStatus = getStatus(false); // check freshness Calendar oldestStatusDate = Calendar.getInstance(); oldestStatusDate.add(Calendar.MINUTE, -REFRESH_PERIOD_MINUTES); if (lastStatus == null || lastStatus.refreshDate.before(oldestStatusDate)) { // try to refresh SubscriptionStatusWrapper refreshStatus = getStatus(true); // keep last success status in case of error if ((refreshStatus == null || refreshStatus.isError()) && lastStatus != null && !lastStatus.isError()) { instanceStatus = lastStatus; instanceStatus.refreshDate = Calendar.getInstance(); } } return instanceStatus; }
public boolean isExpired() { return ConnectStatusHolder.instance().getStatus().status() == SubscriptionStatusType.EXPIRED; } }
public String getContractStatusLabel() { return "label.subscriptionStatus." + getContractStatus(); }
@Factory(scope = ScopeType.APPLICATION, value = "connectUpdateStatusInfo") public ConnectUpdateStatusInfo getConnectUpdateStatusInfo() { if (connectionStatusCache == null) { if (!isRegistred()) { connectionStatusCache = ConnectUpdateStatusInfo.unregistered(); } else { if (isConnectBannerEnabled() && isConnectServerReachable()) { if (getStatus().isError()) { connectionStatusCache = ConnectUpdateStatusInfo.connectServerUnreachable(); } else { if (ConnectStatusHolder.instance().getStatus().status() == SubscriptionStatusType.OK) { connectionStatusCache = ConnectUpdateStatusInfo.ok(); } else { connectionStatusCache = ConnectUpdateStatusInfo.notValid(); } } } else { connectionStatusCache = ConnectUpdateStatusInfo.connectServerUnreachable(); } } } return connectionStatusCache; }
@Factory(value = "connectServerReachable", scope = ScopeType.EVENT) public boolean isConnectServerReachable() { return !ConnectStatusHolder.instance().getStatus().isConnectServerUnreachable(); }
public String getinstanceTypeLabel() { return "label.instancetype." + getInstanceType().toString(); }
public SubscriptionStatusWrapper getStatus(boolean forceRefresh) { if (instanceStatus == null || forceRefresh) { if (isRegistred()) { try { instanceStatus = new SubscriptionStatusWrapper(getService().getConnector().getConnectStatus()); } catch (CanNotReachConnectServer e) { log.warn("can not reach Nuxeo Online Services", e); instanceStatus = new SubscriptionStatusWrapper("Nuxeo Online Services is not reachable"); instanceStatus.canNotReachConnectServer = true; } catch (ConnectClientVersionMismatchError e) { log.warn( "Nuxeo Connect Client does not have the required version to communicate with Nuxeo Online Services", e); instanceStatus = new SubscriptionStatusWrapper(e.getMessage()); instanceStatus.versionMismatch = true; } catch (ConnectSecurityError e) { log.warn("Can not authenticated against Nuxeo Online Services", e); instanceStatus = new SubscriptionStatusWrapper(e); } catch (ConnectServerError e) { log.error("Error while calling Nuxeo Online Services", e); instanceStatus = new SubscriptionStatusWrapper(e.getMessage()); } } else { instanceStatus = new UnresgistedSubscriptionStatusWrapper(); } } return instanceStatus; }
@Factory(scope = ScopeType.APPLICATION, value = "connectUpdateStatusInfo") public ConnectUpdateStatusInfo getConnectUpdateStatusInfo() { if (connectionStatusCache == null) { if (!isRegistered()) { connectionStatusCache = ConnectUpdateStatusInfo.unregistered(); } else { if (isConnectBannerEnabled() && isConnectServerReachable()) { if (getStatus().isError()) { connectionStatusCache = ConnectUpdateStatusInfo.connectServerUnreachable(); } else { if (ConnectStatusHolder.instance().getStatus().status() == SubscriptionStatusType.OK) { connectionStatusCache = ConnectUpdateStatusInfo.ok(); } else { connectionStatusCache = ConnectUpdateStatusInfo.notValid(); } } } else { connectionStatusCache = ConnectUpdateStatusInfo.connectServerUnreachable(); } } } return connectionStatusCache; }
@Factory(value = "connectServerReachable", scope = ScopeType.EVENT) public boolean isConnectServerReachable() { return !ConnectStatusHolder.instance().getStatus().isConnectServerUnreachable(); }
public String getinstanceTypeLabel() { return "label.instancetype." + getInstanceType().toString(); }
public SubscriptionStatusWrapper getStatus(boolean forceRefresh) { if (instanceStatus == null || forceRefresh) { if (isRegistered()) { try { instanceStatus = new SubscriptionStatusWrapper(getService().getConnector().getConnectStatus()); } catch (CanNotReachConnectServer e) { log.warn("Cannot reach Nuxeo Online Services", e); instanceStatus = new SubscriptionStatusWrapper("Nuxeo Online Services is not reachable"); instanceStatus.canNotReachConnectServer = true; } catch (ConnectClientVersionMismatchError e) { log.warn( "Nuxeo Connect Client does not have the required version to communicate with Nuxeo Online Services", e); instanceStatus = new SubscriptionStatusWrapper(e.getMessage()); instanceStatus.versionMismatch = true; } catch (ConnectSecurityError e) { log.warn("Cannot authenticate against Nuxeo Online Services", e); instanceStatus = new SubscriptionStatusWrapper(e); } catch (ConnectServerError e) { log.error("Error while calling Nuxeo Online Services", e); instanceStatus = new SubscriptionStatusWrapper(e.getMessage()); } } else { instanceStatus = new UnresgistedSubscriptionStatusWrapper(); } } return instanceStatus; }
public boolean isExpired() { return ConnectStatusHolder.instance().getStatus().status() == SubscriptionStatusType.EXPIRED; } }
protected int computeAvailableUpdateCount() { if (ConnectStatusHolder.instance().getStatus().isConnectServerUnreachable()) { return 0; } PackageManager pm = Framework.getLocalService(PackageManager.class); String targetPlatform = PlatformVersionHelper.getPlatformFilter(); List<DownloadablePackage> pkgs = pm.listUpdatePackages(PackageType.HOT_FIX, targetPlatform); List<DownloadablePackage> localHotFixes = pm.listLocalPackages(PackageType.HOT_FIX); List<DownloadablePackage> applicablePkgs = new ArrayList<>(); for (DownloadablePackage pkg : pkgs) { if (TargetPlatformFilterHelper.isCompatibleWithTargetPlatform(pkg, targetPlatform)) { boolean isInstalled = false; for (DownloadablePackage localPkg : localHotFixes) { if (localPkg.getId().equals(pkg.getId())) { isInstalled = true; break; } } if (!isInstalled) { applicablePkgs.add(pkg); } } } return applicablePkgs.size(); }
public SubscriptionStatusWrapper getStatus() { // get status (possibility from cache) SubscriptionStatusWrapper lastStatus = getStatus(false); // check freshness Calendar oldestStatusDate = Calendar.getInstance(); oldestStatusDate.add(Calendar.MINUTE, -REFRESH_PERIOD_MINUTES); if (lastStatus == null || lastStatus.refreshDate.before(oldestStatusDate)) { // try to refresh SubscriptionStatusWrapper refreshStatus = getStatus(true); // keep last success status in case of error if ((refreshStatus == null || refreshStatus.isError()) && lastStatus != null && !lastStatus.isError()) { instanceStatus = lastStatus; instanceStatus.refreshDate = Calendar.getInstance(); } } return instanceStatus; }
public String getContractStatusLabel() { return "label.subscriptionStatus." + getContractStatus(); }
public boolean canDownload(Package pkg) { return pkg.getPackageState() == PackageState.REMOTE && (pkg.getType() == PackageType.STUDIO || pkg.getVisibility() == PackageVisibility.PUBLIC // || (ConnectStatusHolder.instance().isRegistered() // && ConnectStatusHolder.instance().getStatus().status() == SubscriptionStatusType.OK)); }
protected int computeAvailableUpdateCount() { if (ConnectStatusHolder.instance().getStatus().isConnectServerUnreachable()) { return 0; } PackageManager pm = Framework.getService(PackageManager.class); String targetPlatform = PlatformVersionHelper.getPlatformFilter(); List<DownloadablePackage> pkgs = pm.listUpdatePackages(PackageType.HOT_FIX, targetPlatform); List<DownloadablePackage> localHotFixes = pm.listLocalPackages(PackageType.HOT_FIX); List<DownloadablePackage> applicablePkgs = new ArrayList<>(); for (DownloadablePackage pkg : pkgs) { if (TargetPlatformFilterHelper.isCompatibleWithTargetPlatform(pkg, targetPlatform)) { boolean isInstalled = false; for (DownloadablePackage localPkg : localHotFixes) { if (localPkg.getId().equals(pkg.getId())) { isInstalled = true; break; } } if (!isInstalled) { applicablePkgs.add(pkg); } } } return applicablePkgs.size(); }
public boolean canDownload(Package pkg) { return pkg.getPackageState() == PackageState.REMOTE && (pkg.getType() == PackageType.STUDIO || pkg.getVisibility() == PackageVisibility.PUBLIC // || (ConnectStatusHolder.instance().isRegistred() // && ConnectStatusHolder.instance().getStatus().status() == SubscriptionStatusType.OK)); }
/** * @since 5.6 * @return true if registration is required for download */ public boolean registrationRequired(Package pkg) { return pkg.getPackageState() == PackageState.REMOTE && pkg.getType() != PackageType.STUDIO && pkg.getVisibility() != PackageVisibility.PUBLIC && (!ConnectStatusHolder.instance().isRegistred() // || ConnectStatusHolder.instance().getStatus().status() != SubscriptionStatusType.OK); }
/** * @since 5.6 * @return true if registration is required for download */ public boolean registrationRequired(Package pkg) { return pkg.getPackageState() == PackageState.REMOTE && pkg.getType() != PackageType.STUDIO && pkg.getVisibility() != PackageVisibility.PUBLIC && (!ConnectStatusHolder.instance().isRegistered() // || ConnectStatusHolder.instance().getStatus().status() != SubscriptionStatusType.OK); }