Search in sources :

Example 1 with ParameterDataProtection

use of org.iobserve.model.privacy.ParameterDataProtection in project iobserve-analysis by research-iobserve.

the class CreatePrivacyMain method addPrivacyAnnotations.

private static void addPrivacyAnnotations(final DataProtectionModel privacyModel, final Repository repository) {
    for (final Interface iface : repository.getInterfaces__Repository()) {
        if (iface instanceof OperationInterface) {
            CreatePrivacyMain.LOGGER.debug(String.format("interface %s\n", iface.getEntityName()));
            final OperationInterface operationInterface = (OperationInterface) iface;
            final Map<String, OperationSignatureDataProtection> ifacePrivacy = CreatePrivacyMain.PRIVACY_LEVEL_MAPS.get(iface.getEntityName());
            for (final OperationSignature signature : operationInterface.getSignatures__OperationInterface()) {
                CreatePrivacyMain.LOGGER.debug(String.format("\tsignature %s\n", signature.getEntityName()));
                final OperationSignatureDataProtection signaturePrivacy = ifacePrivacy.get(signature.getEntityName());
                if (signature.getReturnType__OperationSignature() != null) {
                    final ReturnTypeDataProtection returnTypeDataProection = PrivacyFactory.eINSTANCE.createReturnTypeDataProtection();
                    returnTypeDataProection.setLevel(signaturePrivacy.getReturnTypePrivacy());
                    returnTypeDataProection.setOperationSignature(signature);
                    privacyModel.getDataProectionLevels().add(returnTypeDataProection);
                }
                for (final Parameter parameter : signature.getParameters__OperationSignature()) {
                    CreatePrivacyMain.LOGGER.debug(String.format("\t\tparameter %s\n", parameter.getParameterName()));
                    final ParameterDataProtection parameterPrivacy = PrivacyFactory.eINSTANCE.createParameterDataProtection();
                    parameterPrivacy.setLevel(signaturePrivacy.getParameterPrivacy().get(parameter.getParameterName()));
                    parameterPrivacy.setParameter(parameter);
                    privacyModel.getDataProectionLevels().add(parameterPrivacy);
                }
            }
        }
    }
}
Also used : ReturnTypeDataProtection(org.iobserve.model.privacy.ReturnTypeDataProtection) OperationSignature(org.palladiosimulator.pcm.repository.OperationSignature) ParameterDataProtection(org.iobserve.model.privacy.ParameterDataProtection) Parameter(org.palladiosimulator.pcm.repository.Parameter) OperationInterface(org.palladiosimulator.pcm.repository.OperationInterface) Interface(org.palladiosimulator.pcm.repository.Interface) OperationInterface(org.palladiosimulator.pcm.repository.OperationInterface)

Example 2 with ParameterDataProtection

use of org.iobserve.model.privacy.ParameterDataProtection in project iobserve-analysis by research-iobserve.

the class DataProtectionWarner method clearAndFillQueryMaps.

/**
 * Fills the hash maps used for queries.
 *
 * @throws DBException
 * @throws InvocationException
 */
private void clearAndFillQueryMaps() throws InvocationException, DBException {
    DeploymentLock.lock();
    this.vertices.clear();
    this.geolocations.clear();
    this.stereotypes.clear();
    this.parameterprivacy.clear();
    this.returntypeprivacy.clear();
    this.interfaces.clear();
    for (final GeoLocation location : this.privacyRootElement.getResourceContainerLocations()) {
        this.geolocations.put(this.resourceEnvironmentResource.resolve(location.getResourceContainer()).getId(), location);
    }
    for (final EncapsulatedDataSource stereotype : this.privacyRootElement.getEncapsulatedDataSources()) {
        if (stereotype != null) {
            final BasicComponent resolvedComponent = this.repositoryResource.resolve(stereotype.getComponent());
            this.stereotypes.put(resolvedComponent.getId(), stereotype);
        } else {
            this.logger.debug("missing {}", stereotype);
        }
    }
    for (final IDataProtectionAnnotation dataProectionAnnocation : this.privacyRootElement.getDataProectionLevels()) {
        if (dataProectionAnnocation instanceof ParameterDataProtection) {
            final ParameterDataProtection parameterDataProtection = (ParameterDataProtection) dataProectionAnnocation;
            final Parameter parameter = this.repositoryResource.resolve(parameterDataProtection.getParameter());
            this.parameterprivacy.put(parameter.getParameterName(), parameterDataProtection);
        }
        if (dataProectionAnnocation instanceof ReturnTypeDataProtection) {
            final ReturnTypeDataProtection returnTypeDataProection = (ReturnTypeDataProtection) dataProectionAnnocation;
            this.returntypeprivacy.put(this.repositoryResource.resolve(returnTypeDataProection.getOperationSignature()).getId(), returnTypeDataProection);
        }
    }
    for (final Interface inf : this.repositoryRootElement.getInterfaces__Repository()) {
        if (inf instanceof OperationInterface) {
            this.interfaces.put(inf.getEntityName(), (OperationInterface) inf);
        }
    }
    DeploymentLock.unlock();
}
Also used : ReturnTypeDataProtection(org.iobserve.model.privacy.ReturnTypeDataProtection) ParameterDataProtection(org.iobserve.model.privacy.ParameterDataProtection) BasicComponent(org.palladiosimulator.pcm.repository.BasicComponent) Parameter(org.palladiosimulator.pcm.repository.Parameter) GeoLocation(org.iobserve.model.privacy.GeoLocation) EncapsulatedDataSource(org.iobserve.model.privacy.EncapsulatedDataSource) IDataProtectionAnnotation(org.iobserve.model.privacy.IDataProtectionAnnotation) OperationInterface(org.palladiosimulator.pcm.repository.OperationInterface) Interface(org.palladiosimulator.pcm.repository.Interface) OperationInterface(org.palladiosimulator.pcm.repository.OperationInterface)

Aggregations

ParameterDataProtection (org.iobserve.model.privacy.ParameterDataProtection)2 ReturnTypeDataProtection (org.iobserve.model.privacy.ReturnTypeDataProtection)2 Interface (org.palladiosimulator.pcm.repository.Interface)2 OperationInterface (org.palladiosimulator.pcm.repository.OperationInterface)2 Parameter (org.palladiosimulator.pcm.repository.Parameter)2 EncapsulatedDataSource (org.iobserve.model.privacy.EncapsulatedDataSource)1 GeoLocation (org.iobserve.model.privacy.GeoLocation)1 IDataProtectionAnnotation (org.iobserve.model.privacy.IDataProtectionAnnotation)1 BasicComponent (org.palladiosimulator.pcm.repository.BasicComponent)1 OperationSignature (org.palladiosimulator.pcm.repository.OperationSignature)1