public void savePackage(PackageConfigData data) throws SerializationException { log.info("USER:"******" SAVING package [" + data.getName() + "]"); PackageItem item = rulesRepository.loadPackage(data.getName()); // If package is being unarchived. boolean unarchived = (!data.isArchived() && item.isArchived()); Calendar packageLastModified = item.getLastModified(); DroolsHeader.updateDroolsHeader(data.getHeader(), item); updateCategoryRules(data, item); item.updateExternalURI(data.getExternalURI()); item.updateDescription(data.getDescription()); item.archiveItem(data.isArchived()); item.updateBinaryUpToDate(false); if (!data.getFormat().equals("")) { item.updateFormat(data.getFormat()); } RuleBaseCache.getInstance().remove(data.getUuid()); item.checkin(data.getDescription()); // If package is archived, archive all the assets under it if (data.isArchived()) { handleArchivedForSavePackage(data, item); } else if (unarchived) { handleUnarchivedForSavePackage(data, item, packageLastModified); } }
private void handleIsPackagesListed( boolean archive, String workspace, RepositoryFilter filter, List<PackageConfigData> result, PackageConfigData data) { if (!archive && (filter == null || filter.accept(data, RoleType.PACKAGE_READONLY.getName())) && (workspace == null || isWorkspace(workspace, data.getWorkspaces()))) { result.add(data); } else if (archive && data.isArchived() && (filter == null || filter.accept(data, RoleType.PACKAGE_READONLY.getName())) && (workspace == null || isWorkspace(workspace, data.getWorkspaces()))) { result.add(data); } }