Search in sources :

Example 21 with StringUtils.isNotEmpty

use of org.apache.commons.lang3.StringUtils.isNotEmpty in project aem-core-wcm-components by Adobe-Marketing-Cloud.

the class ExperienceFragmentDataImpl method getLocalizedFragmentVariationPath.

/**
 * Returns the localized path of the experience fragment variation if the experience fragment resource is defined
 * in a template.
 *
 * @return Localized experience fragment variation path
 * @see ExperienceFragment#getLocalizedFragmentVariationPath()
 */
@Nullable
public String getLocalizedFragmentVariationPath() {
    if (localizedFragmentVariationPath != null) {
        return localizedFragmentVariationPath;
    }
    // get the configured fragment variation path
    String fragmentVariationPath = resource.getValueMap().get(ExperienceFragment.PN_FRAGMENT_VARIATION_PATH, String.class);
    if (currentPage != null && inTemplate()) {
        final Resource pageResource = Optional.ofNullable(currentPage).map(p -> p.adaptTo(Resource.class)).orElse(null);
        final String currentPageRootPath = pageResource != null ? LocalizationUtils.getLocalizationRoot(pageResource, resourceResolver, languageManager, relationshipManager) : null;
        // we should use getLocalizationRoot instead of getXfLocalizationRoot once the XF UI supports creating Live and Language Copies
        String xfRootPath = getXfLocalizationRoot(fragmentVariationPath, currentPageRootPath);
        if (StringUtils.isNotEmpty(currentPageRootPath) && StringUtils.isNotEmpty(xfRootPath)) {
            String xfRelativePath = StringUtils.substring(fragmentVariationPath, xfRootPath.length());
            String localizedXfRootPath = StringUtils.replace(currentPageRootPath, CONTENT_ROOT, ExperienceFragmentsConstants.CONTENT_PATH, 1);
            localizedFragmentVariationPath = StringUtils.join(localizedXfRootPath, xfRelativePath, PATH_DELIMITER_CHAR, NN_CONTENT);
        }
    }
    String xfContentPath = String.join(Character.toString(PATH_DELIMITER_CHAR), fragmentVariationPath, NN_CONTENT);
    if (!resourceExists(localizedFragmentVariationPath) && resourceExists(xfContentPath)) {
        localizedFragmentVariationPath = xfContentPath;
    }
    if (!isExperienceFragmentVariation(localizedFragmentVariationPath)) {
        localizedFragmentVariationPath = null;
    }
    return localizedFragmentVariationPath;
}
Also used : ResourceResolver(org.apache.sling.api.resource.ResourceResolver) ExperienceFragmentsConstants(com.adobe.cq.xf.ExperienceFragmentsConstants) Resource(org.apache.sling.api.resource.Resource) ExperienceFragment(com.adobe.cq.wcm.core.components.models.ExperienceFragment) Text(com.day.text.Text) LanguageManager(com.day.cq.wcm.api.LanguageManager) NN_CONTENT(com.day.cq.wcm.api.NameConstants.NN_CONTENT) StringUtils(org.apache.commons.lang3.StringUtils) Page(com.day.cq.wcm.api.Page) SlingHttpServletRequest(org.apache.sling.api.SlingHttpServletRequest) LiveRelationshipManager(com.day.cq.wcm.msm.api.LiveRelationshipManager) LocalizationUtils(com.adobe.cq.wcm.core.components.util.LocalizationUtils) PageManager(com.day.cq.wcm.api.PageManager) Nullable(org.jetbrains.annotations.Nullable) ScriptVariable(org.apache.sling.models.annotations.injectorspecific.ScriptVariable) InjectionStrategy(org.apache.sling.models.annotations.injectorspecific.InjectionStrategy) Template(com.day.cq.wcm.api.Template) Model(org.apache.sling.models.annotations.Model) PostConstruct(javax.annotation.PostConstruct) Optional(java.util.Optional) OSGiService(org.apache.sling.models.annotations.injectorspecific.OSGiService) SlingObject(org.apache.sling.models.annotations.injectorspecific.SlingObject) Resource(org.apache.sling.api.resource.Resource) Nullable(org.jetbrains.annotations.Nullable)

Example 22 with StringUtils.isNotEmpty

use of org.apache.commons.lang3.StringUtils.isNotEmpty in project aem-core-wcm-components by Adobe-Marketing-Cloud.

the class LinkHandler method resolveRedirects.

/**
 * Attempts to resolve the redirect chain starting from the given page, avoiding loops.
 *
 * @param page The starting {@link Page}
 * @return A pair of {@link Page} and {@link String} the redirect chain resolves to. The page can be the original page, if no redirect
 * target is defined or even {@code null} if the redirect chain does not resolve to a valid page, in this case one should use the right
 * part of the pair (the {@link String} redirect target).
 */
@NotNull
public Pair<Page, String> resolveRedirects(@Nullable final Page page) {
    Page result = page;
    String redirectTarget = null;
    if (page != null && page.getPageManager() != null) {
        Set<String> redirectCandidates = new LinkedHashSet<>();
        redirectCandidates.add(page.getPath());
        while (result != null && StringUtils.isNotEmpty((redirectTarget = result.getProperties().get(PageImpl.PN_REDIRECT_TARGET, String.class)))) {
            result = page.getPageManager().getPage(redirectTarget);
            if (result != null) {
                if (!redirectCandidates.add(result.getPath())) {
                    LOGGER.warn("Detected redirect loop for the following pages: {}.", redirectCandidates);
                    break;
                }
            }
        }
    }
    return new ImmutablePair<>(result, redirectTarget);
}
Also used : LinkedHashSet(java.util.LinkedHashSet) ImmutablePair(org.apache.commons.lang3.tuple.ImmutablePair) Page(com.day.cq.wcm.api.Page) NotNull(org.jetbrains.annotations.NotNull)

Example 23 with StringUtils.isNotEmpty

use of org.apache.commons.lang3.StringUtils.isNotEmpty in project cloudstack by apache.

the class QueryManagerImpl method listDetailOptions.

@Override
public DetailOptionsResponse listDetailOptions(final ListDetailOptionsCmd cmd) {
    final ResourceObjectType type = cmd.getResourceType();
    final String resourceUuid = cmd.getResourceId();
    final Map<String, List<String>> options = new HashMap<>();
    switch(type) {
        case Template:
        case UserVm:
            HypervisorType hypervisorType = HypervisorType.None;
            if (StringUtils.isNotEmpty(resourceUuid) && ResourceObjectType.Template.equals(type)) {
                hypervisorType = _templateDao.findByUuid(resourceUuid).getHypervisorType();
            }
            if (StringUtils.isNotEmpty(resourceUuid) && ResourceObjectType.UserVm.equals(type)) {
                hypervisorType = _vmInstanceDao.findByUuid(resourceUuid).getHypervisorType();
            }
            fillVMOrTemplateDetailOptions(options, hypervisorType);
            break;
        default:
            throw new CloudRuntimeException("Resource type not supported.");
    }
    if (CallContext.current().getCallingAccount().getType() != Account.ACCOUNT_TYPE_ADMIN) {
        final List<String> userDenyListedSettings = Stream.of(QueryService.UserVMDeniedDetails.value().split(",")).map(item -> (item).trim()).collect(Collectors.toList());
        for (final String detail : userDenyListedSettings) {
            if (options.containsKey(detail)) {
                options.remove(detail);
            }
        }
    }
    return new DetailOptionsResponse(options);
}
Also used : HypervisorType(com.cloud.hypervisor.Hypervisor.HypervisorType) ServiceOfferingJoinVO(com.cloud.api.query.vo.ServiceOfferingJoinVO) ListTemplatesCmd(org.apache.cloudstack.api.command.user.template.ListTemplatesCmd) HostTagVO(com.cloud.api.query.vo.HostTagVO) ListProjectAccountsCmd(org.apache.cloudstack.api.command.user.account.ListProjectAccountsCmd) ListProjectResourcesCriteria(com.cloud.projects.Project.ListProjectResourcesCriteria) DomainManager(com.cloud.user.DomainManager) EventResponse(org.apache.cloudstack.api.response.EventResponse) TemplateDataStoreDao(org.apache.cloudstack.storage.datastore.db.TemplateDataStoreDao) StringUtils(org.apache.commons.lang3.StringUtils) ListIsosCmd(org.apache.cloudstack.api.command.user.iso.ListIsosCmd) RouterHealthCheckResult(com.cloud.network.RouterHealthCheckResult) DiskOffering(com.cloud.offering.DiskOffering) StoragePoolTagVO(com.cloud.storage.StoragePoolTagVO) Map(java.util.Map) StorageTagResponse(org.apache.cloudstack.api.response.StorageTagResponse) ListStorageTagsCmd(org.apache.cloudstack.api.command.admin.storage.ListStorageTagsCmd) ListZonesCmdByAdmin(org.apache.cloudstack.api.command.admin.zone.ListZonesCmdByAdmin) ListProjectInvitationsCmd(org.apache.cloudstack.api.command.user.project.ListProjectInvitationsCmd) DiskOfferingResponse(org.apache.cloudstack.api.response.DiskOfferingResponse) StoragePoolResponse(org.apache.cloudstack.api.response.StoragePoolResponse) QueryService(org.apache.cloudstack.query.QueryService) ProjectAccountJoinVO(com.cloud.api.query.vo.ProjectAccountJoinVO) ListInternalLBVMsCmd(org.apache.cloudstack.api.command.admin.internallb.ListInternalLBVMsCmd) ProjectInvitation(com.cloud.projects.ProjectInvitation) ProjectManager(com.cloud.projects.ProjectManager) ResourceTagVO(com.cloud.tags.ResourceTagVO) Stream(java.util.stream.Stream) Project(com.cloud.projects.Project) ServiceOfferingVO(com.cloud.service.ServiceOfferingVO) VolumeApiServiceImpl(com.cloud.storage.VolumeApiServiceImpl) ProjectInvitationJoinVO(com.cloud.api.query.vo.ProjectInvitationJoinVO) ResourceIconResponse(org.apache.cloudstack.api.response.ResourceIconResponse) AffinityGroupDomainMapDao(org.apache.cloudstack.affinity.dao.AffinityGroupDomainMapDao) VMTemplateDao(com.cloud.storage.dao.VMTemplateDao) ProjectInvitationDao(com.cloud.projects.dao.ProjectInvitationDao) DataCenterJoinVO(com.cloud.api.query.vo.DataCenterJoinVO) ResourceMetaDataService(com.cloud.server.ResourceMetaDataService) ImageStoreJoinVO(com.cloud.api.query.vo.ImageStoreJoinVO) UserDao(com.cloud.user.dao.UserDao) SearchCriteria(com.cloud.utils.db.SearchCriteria) DomainRouterVO(com.cloud.vm.DomainRouterVO) DomainRouterJoinDao(com.cloud.api.query.dao.DomainRouterJoinDao) User(com.cloud.user.User) DiskOfferingDetailsDao(org.apache.cloudstack.resourcedetail.dao.DiskOfferingDetailsDao) AffinityGroupVMMapDao(org.apache.cloudstack.affinity.dao.AffinityGroupVMMapDao) ListAccountsCmdByAdmin(org.apache.cloudstack.api.command.admin.account.ListAccountsCmdByAdmin) ListZonesCmd(org.apache.cloudstack.api.command.user.zone.ListZonesCmd) ResourceTag(com.cloud.server.ResourceTag) HostJoinVO(com.cloud.api.query.vo.HostJoinVO) ListUsersCmd(org.apache.cloudstack.api.command.admin.user.ListUsersCmd) ResourceTagResponse(org.apache.cloudstack.api.response.ResourceTagResponse) HighAvailabilityManager(com.cloud.ha.HighAvailabilityManager) CloudAuthenticationException(com.cloud.exception.CloudAuthenticationException) ProjectAccountResponse(org.apache.cloudstack.api.response.ProjectAccountResponse) DomainJoinDao(com.cloud.api.query.dao.DomainJoinDao) UserVmDao(com.cloud.vm.dao.UserVmDao) ListSecurityGroupsCmd(org.apache.cloudstack.api.command.user.securitygroup.ListSecurityGroupsCmd) ListDiskOfferingsCmd(org.apache.cloudstack.api.command.user.offering.ListDiskOfferingsCmd) ListDetailOptionsCmd(org.apache.cloudstack.api.command.user.resource.ListDetailOptionsCmd) ResourceDetail(org.apache.cloudstack.api.ResourceDetail) SecurityGroupResponse(org.apache.cloudstack.api.response.SecurityGroupResponse) ListVMsCmdByAdmin(org.apache.cloudstack.api.command.admin.vm.ListVMsCmdByAdmin) ConfigurationDao(org.apache.cloudstack.framework.config.dao.ConfigurationDao) ServiceOfferingResponse(org.apache.cloudstack.api.response.ServiceOfferingResponse) ListMgmtsCmd(org.apache.cloudstack.api.command.admin.management.ListMgmtsCmd) ListIterator(java.util.ListIterator) Date(java.util.Date) ListResourceIconCmd(org.apache.cloudstack.api.command.admin.resource.icon.ListResourceIconCmd) UserVmJoinVO(com.cloud.api.query.vo.UserVmJoinVO) DataStore(org.apache.cloudstack.engine.subsystem.api.storage.DataStore) StoragePoolDetailVO(org.apache.cloudstack.storage.datastore.db.StoragePoolDetailVO) ResourceObjectType(com.cloud.server.ResourceTag.ResourceObjectType) InstanceGroupJoinVO(com.cloud.api.query.vo.InstanceGroupJoinVO) ResourceIconDao(com.cloud.resource.icon.dao.ResourceIconDao) VMInstanceVO(com.cloud.vm.VMInstanceVO) RouterHealthCheckResultDao(com.cloud.network.dao.RouterHealthCheckResultDao) ListIsosCmdByAdmin(org.apache.cloudstack.api.command.admin.iso.ListIsosCmdByAdmin) Pair(com.cloud.utils.Pair) Collectors(java.util.stream.Collectors) DiskOfferingVO(com.cloud.storage.DiskOfferingVO) VirtualMachineManager(com.cloud.vm.VirtualMachineManager) DedicatedResourceVO(com.cloud.dc.DedicatedResourceVO) DomainResponse(org.apache.cloudstack.api.response.DomainResponse) HostTagDao(com.cloud.api.query.dao.HostTagDao) VirtualMachine(com.cloud.vm.VirtualMachine) TemplateFilter(com.cloud.template.VirtualMachineTemplate.TemplateFilter) ProjectAccountJoinDao(com.cloud.api.query.dao.ProjectAccountJoinDao) ListDomainsCmdByAdmin(org.apache.cloudstack.api.command.admin.domain.ListDomainsCmdByAdmin) EventJoinDao(com.cloud.event.dao.EventJoinDao) DataStoreManager(org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager) StoragePoolJoinDao(com.cloud.api.query.dao.StoragePoolJoinDao) DiskOfferingDao(com.cloud.storage.dao.DiskOfferingDao) SecurityGroupJoinVO(com.cloud.api.query.vo.SecurityGroupJoinVO) Domain(com.cloud.domain.Domain) GetRouterHealthCheckResultsCmd(org.apache.cloudstack.api.command.admin.router.GetRouterHealthCheckResultsCmd) HashSet(java.util.HashSet) Inject(javax.inject.Inject) ConfigKey(org.apache.cloudstack.framework.config.ConfigKey) VolumeJoinVO(com.cloud.api.query.vo.VolumeJoinVO) ManagementServerHostDao(com.cloud.cluster.dao.ManagementServerHostDao) AsyncJobJoinVO(com.cloud.api.query.vo.AsyncJobJoinVO) AsyncJobJoinDao(com.cloud.api.query.dao.AsyncJobJoinDao) ListImageStoresCmd(org.apache.cloudstack.api.command.admin.storage.ListImageStoresCmd) VolumeDao(com.cloud.storage.dao.VolumeDao) ImageStoreResponse(org.apache.cloudstack.api.response.ImageStoreResponse) PermissionDeniedException(com.cloud.exception.PermissionDeniedException) VMTemplateVO(com.cloud.storage.VMTemplateVO) DomainRouterResponse(org.apache.cloudstack.api.response.DomainRouterResponse) ListAffinityGroupsCmd(org.apache.cloudstack.api.command.user.affinitygroup.ListAffinityGroupsCmd) ZoneResponse(org.apache.cloudstack.api.response.ZoneResponse) ApiConstants(org.apache.cloudstack.api.ApiConstants) ProjectResponse(org.apache.cloudstack.api.response.ProjectResponse) TemplateState(org.apache.cloudstack.engine.subsystem.api.storage.TemplateState) DataStoreRole(com.cloud.storage.DataStoreRole) StoragePoolVO(org.apache.cloudstack.storage.datastore.db.StoragePoolVO) VMTemplateDetailsDao(com.cloud.storage.dao.VMTemplateDetailsDao) SecurityGroupJoinDao(com.cloud.api.query.dao.SecurityGroupJoinDao) ListHostsCmd(org.apache.cloudstack.api.command.admin.host.ListHostsCmd) HostTagResponse(org.apache.cloudstack.api.response.HostTagResponse) VirtualNetworkApplianceManager(com.cloud.network.router.VirtualNetworkApplianceManager) Arrays(java.util.Arrays) UserVmJoinDao(com.cloud.api.query.dao.UserVmJoinDao) ProjectJoinVO(com.cloud.api.query.vo.ProjectJoinVO) RouterHealthCheckResultVO(com.cloud.network.dao.RouterHealthCheckResultVO) ServiceOfferingDetailsDao(com.cloud.service.dao.ServiceOfferingDetailsDao) TemplateType(com.cloud.storage.Storage.TemplateType) ServiceOfferingDao(com.cloud.service.dao.ServiceOfferingDao) TemplateResponse(org.apache.cloudstack.api.response.TemplateResponse) SecurityGroupVMMapVO(com.cloud.network.security.SecurityGroupVMMapVO) Storage(com.cloud.storage.Storage) CallContext(org.apache.cloudstack.context.CallContext) EventJoinVO(com.cloud.api.query.vo.EventJoinVO) ResourceManager(com.cloud.resource.ResourceManager) HostJoinDao(com.cloud.api.query.dao.HostJoinDao) Set(java.util.Set) ProjectJoinDao(com.cloud.api.query.dao.ProjectJoinDao) ScopeType(com.cloud.storage.ScopeType) ListAccountsCmd(org.apache.cloudstack.api.command.user.account.ListAccountsCmd) StoragePoolJoinVO(com.cloud.api.query.vo.StoragePoolJoinVO) DomainJoinVO(com.cloud.api.query.vo.DomainJoinVO) ResourceDetailResponse(org.apache.cloudstack.api.response.ResourceDetailResponse) ImageStoreJoinDao(com.cloud.api.query.dao.ImageStoreJoinDao) ServiceOfferingJoinDao(com.cloud.api.query.dao.ServiceOfferingJoinDao) AccountDao(com.cloud.user.dao.AccountDao) ListResponse(org.apache.cloudstack.api.response.ListResponse) BaseListProjectAndAccountResourcesCmd(org.apache.cloudstack.api.BaseListProjectAndAccountResourcesCmd) NumbersUtil(com.cloud.utils.NumbersUtil) ListTagsCmd(org.apache.cloudstack.api.command.user.tag.ListTagsCmd) AffinityGroupDomainMapVO(org.apache.cloudstack.affinity.AffinityGroupDomainMapVO) ArrayList(java.util.ArrayList) DiskOfferingJoinDao(com.cloud.api.query.dao.DiskOfferingJoinDao) AffinityGroupJoinDao(com.cloud.api.query.dao.AffinityGroupJoinDao) CloudRuntimeException(com.cloud.utils.exception.CloudRuntimeException) AccountJoinDao(com.cloud.api.query.dao.AccountJoinDao) VolumeJoinDao(com.cloud.api.query.dao.VolumeJoinDao) SecurityGroupVMMapDao(com.cloud.network.security.dao.SecurityGroupVMMapDao) VMInstanceDao(com.cloud.vm.dao.VMInstanceDao) DomainRouterDao(com.cloud.vm.dao.DomainRouterDao) HypervisorType(com.cloud.hypervisor.Hypervisor.HypervisorType) Op(com.cloud.utils.db.SearchCriteria.Op) ProjectInvitationResponse(org.apache.cloudstack.api.response.ProjectInvitationResponse) ProjectDao(com.cloud.projects.dao.ProjectDao) InstanceGroupJoinDao(com.cloud.api.query.dao.InstanceGroupJoinDao) DiskOfferingJoinVO(com.cloud.api.query.vo.DiskOfferingJoinVO) ResourceTagDao(com.cloud.tags.dao.ResourceTagDao) AffinityGroupJoinVO(com.cloud.api.query.vo.AffinityGroupJoinVO) ProjectAccountDao(com.cloud.projects.dao.ProjectAccountDao) State(com.cloud.template.VirtualMachineTemplate.State) AccountManager(com.cloud.user.AccountManager) ListResourceDetailsCmd(org.apache.cloudstack.api.command.user.volume.ListResourceDetailsCmd) ImageFormat(com.cloud.storage.Storage.ImageFormat) ListServiceOfferingsCmd(org.apache.cloudstack.api.command.user.offering.ListServiceOfferingsCmd) StoragePoolTagsDao(com.cloud.storage.dao.StoragePoolTagsDao) RouterHealthCheckResultResponse(org.apache.cloudstack.api.response.RouterHealthCheckResultResponse) ListDomainsCmd(org.apache.cloudstack.api.command.admin.domain.ListDomainsCmd) DataStoreDriver(org.apache.cloudstack.engine.subsystem.api.storage.DataStoreDriver) ManagementServerResponse(org.apache.cloudstack.api.response.ManagementServerResponse) Grouping(com.cloud.org.Grouping) Func(com.cloud.utils.db.SearchCriteria.Func) Filter(com.cloud.utils.db.Filter) InvalidParameterValueException(com.cloud.exception.InvalidParameterValueException) UserAccountJoinDao(com.cloud.api.query.dao.UserAccountJoinDao) Logger(org.apache.log4j.Logger) JoinBuilder(com.cloud.utils.db.JoinBuilder) ResponseGenerator(org.apache.cloudstack.api.ResponseGenerator) ListStoragePoolsCmd(org.apache.cloudstack.api.command.admin.storage.ListStoragePoolsCmd) DomainDao(com.cloud.domain.dao.DomainDao) ResourceTagJoinDao(com.cloud.api.query.dao.ResourceTagJoinDao) ProjectVO(com.cloud.projects.ProjectVO) PrimaryDataStoreDao(org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao) ResourceManagerUtil(com.cloud.server.ResourceManagerUtil) HostResponse(org.apache.cloudstack.api.response.HostResponse) ListVolumesCmd(org.apache.cloudstack.api.command.user.volume.ListVolumesCmd) VpcVirtualNetworkApplianceService(com.cloud.network.VpcVirtualNetworkApplianceService) ListVMsCmd(org.apache.cloudstack.api.command.user.vm.ListVMsCmd) Account(com.cloud.user.Account) DedicatedResourceDao(com.cloud.dc.dao.DedicatedResourceDao) AsyncJobResponse(org.apache.cloudstack.api.response.AsyncJobResponse) ListRoutersCmd(org.apache.cloudstack.api.command.admin.router.ListRoutersCmd) List(java.util.List) DataCenterJoinDao(com.cloud.api.query.dao.DataCenterJoinDao) ListHostTagsCmd(org.apache.cloudstack.api.command.admin.host.ListHostTagsCmd) ACLType(org.apache.cloudstack.acl.ControlledEntity.ACLType) ListProjectsCmd(org.apache.cloudstack.api.command.user.project.ListProjectsCmd) ResponseView(org.apache.cloudstack.api.ResponseObject.ResponseView) InstanceGroupResponse(org.apache.cloudstack.api.response.InstanceGroupResponse) ListEventsCmd(org.apache.cloudstack.api.command.user.event.ListEventsCmd) TaggedResourceService(com.cloud.server.TaggedResourceService) DetailOptionsResponse(org.apache.cloudstack.api.response.DetailOptionsResponse) VolumeResponse(org.apache.cloudstack.api.response.VolumeResponse) SearchBuilder(com.cloud.utils.db.SearchBuilder) UserAccountJoinVO(com.cloud.api.query.vo.UserAccountJoinVO) HashMap(java.util.HashMap) UserResponse(org.apache.cloudstack.api.response.UserResponse) TemplateJoinVO(com.cloud.api.query.vo.TemplateJoinVO) VmDetailConstants(com.cloud.vm.VmDetailConstants) DataStoreCapabilities(org.apache.cloudstack.engine.subsystem.api.storage.DataStoreCapabilities) StoragePoolDetailsDao(org.apache.cloudstack.storage.datastore.db.StoragePoolDetailsDao) CollectionUtils(org.apache.commons.collections.CollectionUtils) Configurable(org.apache.cloudstack.framework.config.Configurable) ListSecondaryStagingStoresCmd(org.apache.cloudstack.api.command.admin.storage.ListSecondaryStagingStoresCmd) ListAsyncJobsCmd(org.apache.cloudstack.api.command.user.job.ListAsyncJobsCmd) AffinityGroupResponse(org.apache.cloudstack.affinity.AffinityGroupResponse) UserVmResponse(org.apache.cloudstack.api.response.UserVmResponse) ResourceTagJoinVO(com.cloud.api.query.vo.ResourceTagJoinVO) DomainRouterJoinVO(com.cloud.api.query.vo.DomainRouterJoinVO) AffinityGroupVMMapVO(org.apache.cloudstack.affinity.AffinityGroupVMMapVO) ManagementServerHostVO(com.cloud.cluster.ManagementServerHostVO) Hypervisor(com.cloud.hypervisor.Hypervisor) DateUtil(com.cloud.utils.DateUtil) TemplateJoinDao(com.cloud.api.query.dao.TemplateJoinDao) Component(org.springframework.stereotype.Component) UserVmVO(com.cloud.vm.UserVmVO) ProjectInvitationJoinDao(com.cloud.api.query.dao.ProjectInvitationJoinDao) Ternary(com.cloud.utils.Ternary) GenericSearchBuilder(com.cloud.utils.db.GenericSearchBuilder) Volume(com.cloud.storage.Volume) ListVMGroupsCmd(org.apache.cloudstack.api.command.user.vmgroup.ListVMGroupsCmd) AccountResponse(org.apache.cloudstack.api.response.AccountResponse) AccountJoinVO(com.cloud.api.query.vo.AccountJoinVO) DomainVO(com.cloud.domain.DomainVO) ListTemplatesCmdByAdmin(org.apache.cloudstack.api.command.admin.template.ListTemplatesCmdByAdmin) Collections(java.util.Collections) ResourceObjectType(com.cloud.server.ResourceTag.ResourceObjectType) DetailOptionsResponse(org.apache.cloudstack.api.response.DetailOptionsResponse) HashMap(java.util.HashMap) CloudRuntimeException(com.cloud.utils.exception.CloudRuntimeException) ArrayList(java.util.ArrayList) List(java.util.List)

Example 24 with StringUtils.isNotEmpty

use of org.apache.commons.lang3.StringUtils.isNotEmpty in project dhis2-core by dhis2.

the class AbstractTrackedEntityInstanceService method checkAttributes.

private void checkAttributes(TrackedEntityInstance dtoEntityInstance, ImportOptions importOptions, ImportConflicts importConflicts, boolean teiExistsInDatabase) {
    if (dtoEntityInstance.getAttributes().isEmpty()) {
        return;
    }
    List<String> fileValues = new ArrayList<>();
    org.hisp.dhis.trackedentity.TrackedEntityInstance daoEntityInstance = null;
    if (teiExistsInDatabase) {
        daoEntityInstance = teiService.getTrackedEntityInstance(dtoEntityInstance.getTrackedEntityInstance(), importOptions.getUser());
        if (daoEntityInstance == null) {
            return;
        }
        daoEntityInstance.getTrackedEntityAttributeValues().stream().filter(attrVal -> attrVal.getAttribute().getValueType().isFile()).forEach(attrVal -> fileValues.add(attrVal.getValue()));
    }
    for (Attribute attribute : dtoEntityInstance.getAttributes()) {
        if (StringUtils.isNotEmpty(attribute.getValue())) {
            // Cache was populated in prepareCaches, so I should hit the
            // cache
            TrackedEntityAttribute daoEntityAttribute = getTrackedEntityAttribute(importOptions.getIdSchemes(), attribute.getAttribute());
            if (daoEntityAttribute == null) {
                importConflicts.addConflict("Attribute.attribute", "Invalid attribute " + attribute.getAttribute());
                continue;
            }
            if (attribute.getValue() != null && attribute.getValue().length() > TEA_VALUE_MAX_LENGTH) {
                // We shorten the value to first 25 characters, since we
                // dont want to post a 1200+ string back.
                importConflicts.addConflict("Attribute.value", String.format("Value exceeds the character limit of %s characters: '%s...'", TEA_VALUE_MAX_LENGTH, attribute.getValue().substring(0, 25)));
            }
            if (daoEntityAttribute.isUnique()) {
                // Cache was populated in prepareCaches, so I should hit the
                // cache
                OrganisationUnit organisationUnit = getOrganisationUnit(importOptions.getIdSchemes(), dtoEntityInstance.getOrgUnit());
                checkAttributeUniquenessWithinScope(daoEntityInstance, daoEntityAttribute, attribute.getValue(), organisationUnit, importConflicts);
            }
            validateAttributeType(attribute, importOptions, importConflicts);
            if (daoEntityAttribute.getValueType().isFile() && checkAssigned(attribute, fileValues)) {
                importConflicts.addConflict("Attribute.value", String.format("File resource with uid '%s' has already been assigned to a different object", attribute.getValue()));
            }
        }
    }
}
Also used : ImportStrategy(org.hisp.dhis.importexport.ImportStrategy) Authorities(org.hisp.dhis.security.Authorities) Date(java.util.Date) Restrictions(org.hisp.dhis.query.Restrictions) TrackedEntityAttributeValueService(org.hisp.dhis.trackedentityattributevalue.TrackedEntityAttributeValueService) TrackedEntityInstanceAuditService(org.hisp.dhis.trackedentity.TrackedEntityInstanceAuditService) ReservedValueService(org.hisp.dhis.reservedvalue.ReservedValueService) TrackedEntityAttributeValue(org.hisp.dhis.trackedentityattributevalue.TrackedEntityAttributeValue) StringUtils(org.apache.commons.lang3.StringUtils) TrackedEntityAttributeService(org.hisp.dhis.trackedentity.TrackedEntityAttributeService) ImportSummary(org.hisp.dhis.dxf2.importsummary.ImportSummary) RelationshipService(org.hisp.dhis.relationship.RelationshipService) FileResourceService(org.hisp.dhis.fileresource.FileResourceService) Map(java.util.Map) ProgramInstance(org.hisp.dhis.program.ProgramInstance) JobConfiguration(org.hisp.dhis.scheduling.JobConfiguration) TrackedEntityAttributeStore(org.hisp.dhis.trackedentity.TrackedEntityAttributeStore) EnrollmentService(org.hisp.dhis.dxf2.events.enrollment.EnrollmentService) Query(org.hisp.dhis.query.Query) UserService(org.hisp.dhis.user.UserService) TrackedEntityInstanceQueryParams(org.hisp.dhis.trackedentity.TrackedEntityInstanceQueryParams) Collection(java.util.Collection) Set(java.util.Set) SchemaService(org.hisp.dhis.schema.SchemaService) Collectors(java.util.stream.Collectors) QueryService(org.hisp.dhis.query.QueryService) TrackedEntityProgramOwner(org.hisp.dhis.trackedentity.TrackedEntityProgramOwner) ImportReportMode(org.hisp.dhis.dxf2.metadata.feedback.ImportReportMode) Objects(java.util.Objects) TrackerOwnershipManager(org.hisp.dhis.trackedentity.TrackerOwnershipManager) TEA_VALUE_MAX_LENGTH(org.hisp.dhis.trackedentity.TrackedEntityAttributeService.TEA_VALUE_MAX_LENGTH) List(java.util.List) Slf4j(lombok.extern.slf4j.Slf4j) TrackerAccessManager(org.hisp.dhis.trackedentity.TrackerAccessManager) ProgramInstanceService(org.hisp.dhis.program.ProgramInstanceService) Optional(java.util.Optional) TrackedEntityType(org.hisp.dhis.trackedentity.TrackedEntityType) Geometry(org.locationtech.jts.geom.Geometry) Enrollment(org.hisp.dhis.dxf2.events.enrollment.Enrollment) TrackedEntityAttribute(org.hisp.dhis.trackedentity.TrackedEntityAttribute) TrackedEntityInstanceAggregate(org.hisp.dhis.dxf2.events.aggregates.TrackedEntityInstanceAggregate) TrackedEntityTypeService(org.hisp.dhis.trackedentity.TrackedEntityTypeService) Constants(org.hisp.dhis.dxf2.Constants) AuditType(org.hisp.dhis.common.AuditType) GeoUtils(org.hisp.dhis.system.util.GeoUtils) IllegalQueryException(org.hisp.dhis.common.IllegalQueryException) Program(org.hisp.dhis.program.Program) ArrayList(java.util.ArrayList) HashSet(java.util.HashSet) Notifier(org.hisp.dhis.system.notification.Notifier) RelationshipParams(org.hisp.dhis.dxf2.events.RelationshipParams) Lists(com.google.common.collect.Lists) IdentifiableObjectManager(org.hisp.dhis.common.IdentifiableObjectManager) DbmsManager(org.hisp.dhis.dbms.DbmsManager) ImportConflicts(org.hisp.dhis.dxf2.importsummary.ImportConflicts) User(org.hisp.dhis.user.User) ImportStatus(org.hisp.dhis.dxf2.importsummary.ImportStatus) TrackedEntityInstanceAudit(org.hisp.dhis.audit.payloads.TrackedEntityInstanceAudit) IdSchemes(org.hisp.dhis.common.IdSchemes) FileResource(org.hisp.dhis.fileresource.FileResource) TrackedEntityInstanceParams(org.hisp.dhis.dxf2.events.TrackedEntityInstanceParams) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) IOException(java.io.IOException) ImportOptions(org.hisp.dhis.dxf2.common.ImportOptions) ImportSummaries(org.hisp.dhis.dxf2.importsummary.ImportSummaries) DebugUtils(org.hisp.dhis.commons.util.DebugUtils) OrganisationUnit(org.hisp.dhis.organisationunit.OrganisationUnit) FeatureType(org.hisp.dhis.organisationunit.FeatureType) NotificationLevel(org.hisp.dhis.system.notification.NotificationLevel) RelationshipItem(org.hisp.dhis.relationship.RelationshipItem) CurrentUserService(org.hisp.dhis.user.CurrentUserService) CachingMap(org.hisp.dhis.commons.collection.CachingMap) ERROR(org.hisp.dhis.system.notification.NotificationLevel.ERROR) CodeGenerator(org.hisp.dhis.common.CodeGenerator) Collections(java.util.Collections) DateUtils(org.hisp.dhis.util.DateUtils) Transactional(org.springframework.transaction.annotation.Transactional) OrganisationUnit(org.hisp.dhis.organisationunit.OrganisationUnit) TrackedEntityAttribute(org.hisp.dhis.trackedentity.TrackedEntityAttribute) TrackedEntityAttribute(org.hisp.dhis.trackedentity.TrackedEntityAttribute) ArrayList(java.util.ArrayList)

Example 25 with StringUtils.isNotEmpty

use of org.apache.commons.lang3.StringUtils.isNotEmpty in project dhis2-core by dhis2.

the class FilteringHelper method setFilteringParams.

/**
 * Sets the filtering defined by filters list into the paramsMap.
 *
 * @param filters the source of filtering params
 * @param paramsMap the map that will receive the filtering params
 * @param currentUser the current user logged
 */
public static void setFilteringParams(final Set<String> filters, final WebOptions options, final MapSqlParameterSource paramsMap, final User currentUser) {
    final Locale currentLocale = defaultIfNull(getUserSetting(DB_LOCALE), getUserSetting(UI_LOCALE));
    if (currentLocale != null && isNotBlank(currentLocale.getLanguage())) {
        paramsMap.addValue(LOCALE, trimToEmpty(currentLocale.getLanguage()));
    }
    final String ilikeName = extractValueFromFilter(filters, NAME_ILIKE);
    if (StringUtils.isNotEmpty(ilikeName)) {
        paramsMap.addValue(NAME, wrap(addIlikeReplacingCharacters(ilikeName), "%"));
    }
    final String ilikeDisplayName = extractValueFromFilter(filters, DISPLAY_NAME_ILIKE);
    if (StringUtils.isNotEmpty(ilikeDisplayName)) {
        paramsMap.addValue(DISPLAY_NAME, wrap(addIlikeReplacingCharacters(ilikeDisplayName), "%"));
    }
    final String ilikeShortName = extractValueFromFilter(filters, SHORT_NAME_ILIKE);
    if (StringUtils.isNotEmpty(ilikeShortName)) {
        paramsMap.addValue(SHORT_NAME, wrap(addIlikeReplacingCharacters(ilikeShortName), "%"));
    }
    final String ilikeDisplayShortName = extractValueFromFilter(filters, DISPLAY_SHORT_NAME_ILIKE);
    if (StringUtils.isNotEmpty(ilikeDisplayShortName)) {
        paramsMap.addValue(DISPLAY_SHORT_NAME, wrap(addIlikeReplacingCharacters(ilikeDisplayShortName), "%"));
    }
    final String equalId = extractValueFromFilter(filters, ID_EQUAL, true);
    if (isNotBlank(equalId)) {
        paramsMap.addValue(UID, equalId);
    }
    final String rootJunction = options.getRootJunction().name();
    if (isNotBlank(rootJunction)) {
        paramsMap.addValue(ROOT_JUNCTION, rootJunction);
    }
    final String identifiableToken = extractValueFromFilter(filters, IDENTIFIABLE_TOKEN);
    if (identifiableToken != null) {
        final List<String> wordsAsTokens = getTokens(identifiableToken);
        if (CollectionUtils.isNotEmpty(wordsAsTokens)) {
            paramsMap.addValue(IDENTIFIABLE_TOKEN_COMPARISON, StringUtils.join(wordsAsTokens, ","));
        }
    }
    if (containsFilterWithAnyOfPrefixes(filters, VALUE_TYPE_EQUAL.getCombination(), VALUE_TYPE_IN.getCombination())) {
        final Set<String> valueTypesFilter = extractAllValueTypesFromFilters(filters);
        assertThatValueTypeFilterHasOnlyAggregatableTypes(valueTypesFilter, filters);
        paramsMap.addValue(VALUE_TYPES, extractAllValueTypesFromFilters(filters));
    } else {
        // Includes all value types.
        paramsMap.addValue(VALUE_TYPES, getAggregatables().stream().map(type -> type.name()).collect(toSet()));
    }
    final String programId = extractValueFromFilter(filters, PROGRAM_ID_EQUAL, true);
    // Add program id filtering id, if present.
    if (isNotBlank(programId)) {
        paramsMap.addValue(PROGRAM_ID, programId);
    }
    // Add user group filtering, when present.
    if (currentUser != null && CollectionUtils.isNotEmpty(currentUser.getGroups())) {
        final Set<String> userGroupUids = currentUser.getGroups().stream().filter(group -> group != null).map(group -> trimToEmpty(group.getUid())).collect(toSet());
        paramsMap.addValue(USER_GROUP_UIDS, "{" + join(",", userGroupUids) + "}");
    }
}
Also used : Locale(java.util.Locale) StringUtils.trimToEmpty(org.apache.commons.lang3.StringUtils.trimToEmpty) ValueType(org.hisp.dhis.common.ValueType) TokenUtils.getTokens(org.hisp.dhis.query.operators.TokenUtils.getTokens) UserContext.getUserSetting(org.hisp.dhis.common.UserContext.getUserSetting) StringUtils(org.apache.commons.lang3.StringUtils) ErrorMessage(org.hisp.dhis.feedback.ErrorMessage) ValueType.fromString(org.hisp.dhis.common.ValueType.fromString) ValueType.getAggregatables(org.hisp.dhis.common.ValueType.getAggregatables) Locale(java.util.Locale) LOCALE(org.hisp.dhis.dataitem.query.shared.QueryParam.LOCALE) FilterValidator.containsFilterWithAnyOfPrefixes(org.hisp.dhis.webapi.controller.dataitem.validator.FilterValidator.containsFilterWithAnyOfPrefixes) SHORT_NAME(org.hisp.dhis.dataitem.query.shared.QueryParam.SHORT_NAME) UI_LOCALE(org.hisp.dhis.user.UserSettingKey.UI_LOCALE) Collectors.toSet(java.util.stream.Collectors.toSet) VALUE_TYPE_EQUAL(org.hisp.dhis.webapi.controller.dataitem.Filter.Combination.VALUE_TYPE_EQUAL) ArrayUtils.isNotEmpty(org.apache.commons.lang3.ArrayUtils.isNotEmpty) QueryableDataItem(org.hisp.dhis.dataitem.query.QueryableDataItem) NAME(org.hisp.dhis.dataitem.query.shared.QueryParam.NAME) BaseIdentifiableObject(org.hisp.dhis.common.BaseIdentifiableObject) Set(java.util.Set) E2014(org.hisp.dhis.feedback.ErrorCode.E2014) StringUtils.substringBetween(org.apache.commons.lang3.StringUtils.substringBetween) StringUtils.wrap(org.apache.commons.lang3.StringUtils.wrap) SHORT_NAME_ILIKE(org.hisp.dhis.webapi.controller.dataitem.Filter.Combination.SHORT_NAME_ILIKE) StringUtils.deleteWhitespace(org.apache.commons.lang3.StringUtils.deleteWhitespace) DISPLAY_NAME_ILIKE(org.hisp.dhis.webapi.controller.dataitem.Filter.Combination.DISPLAY_NAME_ILIKE) List(java.util.List) StringUtils.isNotBlank(org.apache.commons.lang3.StringUtils.isNotBlank) NAME_ILIKE(org.hisp.dhis.webapi.controller.dataitem.Filter.Combination.NAME_ILIKE) IDENTIFIABLE_TOKEN(org.hisp.dhis.webapi.controller.dataitem.Filter.Combination.IDENTIFIABLE_TOKEN) PROGRAM_ID(org.hisp.dhis.dataitem.query.shared.QueryParam.PROGRAM_ID) Filter(org.hisp.dhis.webapi.controller.dataitem.Filter) DISPLAY_NAME(org.hisp.dhis.dataitem.query.shared.QueryParam.DISPLAY_NAME) ROOT_JUNCTION(org.hisp.dhis.dataitem.query.shared.QueryParam.ROOT_JUNCTION) WebOptions(org.hisp.dhis.webapi.webdomain.WebOptions) DIMENSION_TYPE_IN(org.hisp.dhis.webapi.controller.dataitem.Filter.Combination.DIMENSION_TYPE_IN) DISPLAY_SHORT_NAME(org.hisp.dhis.dataitem.query.shared.QueryParam.DISPLAY_SHORT_NAME) StatementUtil.addIlikeReplacingCharacters(org.hisp.dhis.dataitem.query.shared.StatementUtil.addIlikeReplacingCharacters) MapSqlParameterSource(org.springframework.jdbc.core.namedparam.MapSqlParameterSource) ObjectUtils.defaultIfNull(org.apache.commons.lang3.ObjectUtils.defaultIfNull) IllegalQueryException(org.hisp.dhis.common.IllegalQueryException) PROGRAM_ID_EQUAL(org.hisp.dhis.webapi.controller.dataitem.Filter.Combination.PROGRAM_ID_EQUAL) CollectionUtils(org.apache.commons.collections4.CollectionUtils) HashSet(java.util.HashSet) StringUtils.contains(org.apache.commons.lang3.StringUtils.contains) Enums.getIfPresent(com.google.common.base.Enums.getIfPresent) String.join(java.lang.String.join) E2016(org.hisp.dhis.feedback.ErrorCode.E2016) USER_GROUP_UIDS(org.hisp.dhis.dataitem.query.shared.QueryParam.USER_GROUP_UIDS) EMPTY(org.apache.commons.lang3.StringUtils.EMPTY) User(org.hisp.dhis.user.User) DIMENSION_TYPE_EQUAL(org.hisp.dhis.webapi.controller.dataitem.Filter.Combination.DIMENSION_TYPE_EQUAL) StringUtils.split(org.apache.commons.lang3.StringUtils.split) ID_EQUAL(org.hisp.dhis.webapi.controller.dataitem.Filter.Combination.ID_EQUAL) VALUE_TYPE_IN(org.hisp.dhis.webapi.controller.dataitem.Filter.Combination.VALUE_TYPE_IN) DB_LOCALE(org.hisp.dhis.user.UserSettingKey.DB_LOCALE) Iterator(java.util.Iterator) VALUE_TYPES(org.hisp.dhis.dataitem.query.shared.QueryParam.VALUE_TYPES) DISPLAY_SHORT_NAME_ILIKE(org.hisp.dhis.webapi.controller.dataitem.Filter.Combination.DISPLAY_SHORT_NAME_ILIKE) FilterValidator.filterHasPrefix(org.hisp.dhis.webapi.controller.dataitem.validator.FilterValidator.filterHasPrefix) Collectors.toList(java.util.stream.Collectors.toList) EnumUtils.getEnumMap(org.apache.commons.lang3.EnumUtils.getEnumMap) IDENTIFIABLE_TOKEN_COMPARISON(org.hisp.dhis.dataitem.query.shared.QueryParam.IDENTIFIABLE_TOKEN_COMPARISON) UID(org.hisp.dhis.dataitem.query.shared.QueryParam.UID) ValueType.fromString(org.hisp.dhis.common.ValueType.fromString)

Aggregations

StringUtils (org.apache.commons.lang3.StringUtils)42 List (java.util.List)31 Map (java.util.Map)28 Collectors (java.util.stream.Collectors)21 ArrayList (java.util.ArrayList)20 HashMap (java.util.HashMap)19 IOException (java.io.IOException)17 LoggerFactory (org.slf4j.LoggerFactory)15 Set (java.util.Set)14 Autowired (org.springframework.beans.factory.annotation.Autowired)14 Logger (org.slf4j.Logger)13 Collections (java.util.Collections)12 HashSet (java.util.HashSet)12 Optional (java.util.Optional)12 Arrays (java.util.Arrays)11 File (java.io.File)9 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)7 java.util (java.util)7 Collection (java.util.Collection)7 Pattern (java.util.regex.Pattern)7