Search in sources :

Example 1 with MdBusinessDAO

use of com.runwaysdk.dataaccess.metadata.MdBusinessDAO in project geoprism-registry by terraframe.

the class ListTypeVersion method publishRecord.

@Transaction
public void publishRecord(ServerGeoObjectIF object) {
    // Only working lists can be updated from changes to the graph objects
    if (this.getWorking()) {
        object.setDate(this.getForDate());
        // Delete tile cache
        ListTileCache.deleteTiles(this);
        ListType masterlist = this.getListType();
        MdBusinessDAO mdBusiness = MdBusinessDAO.get(this.getMdBusinessOid()).getBusinessDAO();
        Collection<Locale> locales = LocalizationFacade.getInstalledLocales();
        // Add the type ancestor fields
        ServerGeoObjectType type = ServerGeoObjectType.get(masterlist.getUniversal());
        Map<ServerHierarchyType, List<ServerGeoObjectType>> ancestorMap = masterlist.getAncestorMap(type);
        Set<ServerHierarchyType> hierarchiesOfSubTypes = type.getHierarchiesOfSubTypes();
        Collection<AttributeType> attributes = type.getAttributeMap().values();
        Business business = new Business(mdBusiness.definesType());
        this.publish(masterlist, type, object, business, attributes, ancestorMap, hierarchiesOfSubTypes, locales);
    }
}
Also used : Locale(java.util.Locale) ServerHierarchyType(net.geoprism.registry.model.ServerHierarchyType) MdBusinessDAO(com.runwaysdk.dataaccess.metadata.MdBusinessDAO) ServerGeoObjectType(net.geoprism.registry.model.ServerGeoObjectType) AttributeType(org.commongeoregistry.adapter.metadata.AttributeType) List(java.util.List) LinkedList(java.util.LinkedList) MdBusiness(com.runwaysdk.system.metadata.MdBusiness) Business(com.runwaysdk.business.Business) Transaction(com.runwaysdk.dataaccess.transaction.Transaction)

Example 2 with MdBusinessDAO

use of com.runwaysdk.dataaccess.metadata.MdBusinessDAO in project geoprism-registry by terraframe.

the class ListTypeVersion method updateRecord.

@Transaction
public void updateRecord(ServerGeoObjectIF object) {
    // Only working lists can be updated from changes to the graph objects
    if (this.getWorking()) {
        object.setDate(this.getForDate());
        // Delete tile cache
        ListTileCache.deleteTiles(this);
        ListType masterlist = this.getListType();
        MdBusinessDAO mdBusiness = MdBusinessDAO.get(this.getMdBusinessOid()).getBusinessDAO();
        Collection<Locale> locales = LocalizationFacade.getInstalledLocales();
        // Add the type ancestor fields
        ServerGeoObjectType type = ServerGeoObjectType.get(masterlist.getUniversal());
        Set<ServerHierarchyType> hierarchiesOfSubTypes = type.getHierarchiesOfSubTypes();
        Map<ServerHierarchyType, List<ServerGeoObjectType>> ancestorMap = masterlist.getAncestorMap(type);
        Collection<AttributeType> attributes = type.getAttributeMap().values();
        BusinessQuery query = new QueryFactory().businessQuery(mdBusiness.definesType());
        query.WHERE(query.aCharacter(DefaultAttribute.CODE.getName()).EQ(object.getCode()));
        List<Business> records = query.getIterator().getAll();
        for (Business record : records) {
            try {
                record.appLock();
                this.publish(masterlist, type, object, record, attributes, ancestorMap, hierarchiesOfSubTypes, locales);
            } finally {
                record.unlock();
            }
        }
    }
}
Also used : Locale(java.util.Locale) BusinessQuery(com.runwaysdk.business.BusinessQuery) ServerHierarchyType(net.geoprism.registry.model.ServerHierarchyType) QueryFactory(com.runwaysdk.query.QueryFactory) MdBusinessDAO(com.runwaysdk.dataaccess.metadata.MdBusinessDAO) ServerGeoObjectType(net.geoprism.registry.model.ServerGeoObjectType) AttributeType(org.commongeoregistry.adapter.metadata.AttributeType) List(java.util.List) LinkedList(java.util.LinkedList) MdBusiness(com.runwaysdk.system.metadata.MdBusiness) Business(com.runwaysdk.business.Business) Transaction(com.runwaysdk.dataaccess.transaction.Transaction)

Example 3 with MdBusinessDAO

use of com.runwaysdk.dataaccess.metadata.MdBusinessDAO in project geoprism-registry by terraframe.

the class ListTypeVersion method createTable.

private TableMetadata createTable() {
    ListType masterlist = this.getListType();
    TableMetadata metadata = new TableMetadata();
    Locale currentLocale = Session.getCurrentLocale();
    String viewName = this.getTableName();
    // Create the MdTable
    MdBusinessDAO mdTableDAO = MdBusinessDAO.newInstance();
    mdTableDAO.setValue(MdTableInfo.NAME, viewName);
    mdTableDAO.setValue(MdTableInfo.PACKAGE, RegistryConstants.TABLE_PACKAGE);
    mdTableDAO.setStructValue(MdTableInfo.DISPLAY_LABEL, MdAttributeLocalInfo.DEFAULT_LOCALE, masterlist.getDisplayLabel().getValue());
    mdTableDAO.setValue(MdTableInfo.TABLE_NAME, viewName);
    mdTableDAO.setValue(MdTableInfo.GENERATE_SOURCE, MdAttributeBooleanInfo.FALSE);
    mdTableDAO.apply();
    MdBusiness mdBusiness = (MdBusiness) BusinessFacade.get(mdTableDAO);
    MdAttributeUUIDDAO mdAttributeOriginalId = MdAttributeUUIDDAO.newInstance();
    mdAttributeOriginalId.setValue(MdAttributeCharacterInfo.NAME, ORIGINAL_OID);
    mdAttributeOriginalId.setValue(MdAttributeCharacterInfo.DEFINING_MD_CLASS, mdTableDAO.getOid());
    mdAttributeOriginalId.setStructValue(MdAttributeCharacterInfo.DISPLAY_LABEL, MdAttributeLocalInfo.DEFAULT_LOCALE, "Original oid");
    mdAttributeOriginalId.apply();
    metadata.setMdBusiness(mdBusiness);
    Collection<Locale> locales = LocalizationFacade.getInstalledLocales();
    ServerGeoObjectType type = masterlist.getGeoObjectType();
    this.createMdAttributeFromAttributeType(mdBusiness, type.getGeometryType());
    Collection<AttributeType> attributeTypes = type.getAttributeMap().values();
    for (AttributeType attributeType : attributeTypes) {
        if (this.isValid(attributeType)) {
            createMdAttributeFromAttributeType(metadata, attributeType, type, locales);
        }
    }
    if ((type.getGeometryType().equals(GeometryType.MULTIPOINT) || type.getGeometryType().equals(GeometryType.POINT)) && masterlist.getIncludeLatLong()) {
        MdAttributeFloatDAO mdAttributeLatitude = MdAttributeFloatDAO.newInstance();
        mdAttributeLatitude.setValue(MdAttributeFloatInfo.NAME, "latitude");
        mdAttributeLatitude.setStructValue(MdAttributeFloatInfo.DISPLAY_LABEL, MdAttributeLocalInfo.DEFAULT_LOCALE, "Latitude");
        mdAttributeLatitude.setStructValue(MdAttributeFloatInfo.DESCRIPTION, MdAttributeLocalInfo.DEFAULT_LOCALE, "Latitude");
        mdAttributeLatitude.setValue(MdAttributeFloatInfo.DEFINING_MD_CLASS, mdTableDAO.getOid());
        mdAttributeLatitude.setValue(MdAttributeFloatInfo.REQUIRED, MdAttributeBooleanInfo.FALSE);
        mdAttributeLatitude.setValue(MdAttributeFloatInfo.IMMUTABLE, MdAttributeBooleanInfo.FALSE);
        mdAttributeLatitude.setValue(MdAttributeFloatInfo.REJECT_ZERO, MdAttributeBooleanInfo.FALSE);
        mdAttributeLatitude.setValue(MdAttributeFloatInfo.REJECT_NEGATIVE, MdAttributeBooleanInfo.FALSE);
        mdAttributeLatitude.setValue(MdAttributeFloatInfo.REJECT_POSITIVE, MdAttributeBooleanInfo.FALSE);
        mdAttributeLatitude.setValue(MdAttributeFloatInfo.LENGTH, "12");
        mdAttributeLatitude.setValue(MdAttributeFloatInfo.DECIMAL, "8");
        mdAttributeLatitude.apply();
        MdAttributeFloatDAO mdAttributeLongitude = MdAttributeFloatDAO.newInstance();
        mdAttributeLongitude.setValue(MdAttributeFloatInfo.NAME, "longitude");
        mdAttributeLongitude.setStructValue(MdAttributeFloatInfo.DISPLAY_LABEL, MdAttributeLocalInfo.DEFAULT_LOCALE, "Longitude");
        mdAttributeLongitude.setStructValue(MdAttributeFloatInfo.DESCRIPTION, MdAttributeLocalInfo.DEFAULT_LOCALE, "Longitude");
        mdAttributeLongitude.setValue(MdAttributeFloatInfo.DEFINING_MD_CLASS, mdTableDAO.getOid());
        mdAttributeLongitude.setValue(MdAttributeFloatInfo.REQUIRED, MdAttributeBooleanInfo.FALSE);
        mdAttributeLongitude.setValue(MdAttributeFloatInfo.IMMUTABLE, MdAttributeBooleanInfo.FALSE);
        mdAttributeLongitude.setValue(MdAttributeFloatInfo.REJECT_ZERO, MdAttributeBooleanInfo.FALSE);
        mdAttributeLongitude.setValue(MdAttributeFloatInfo.REJECT_NEGATIVE, MdAttributeBooleanInfo.FALSE);
        mdAttributeLongitude.setValue(MdAttributeFloatInfo.REJECT_POSITIVE, MdAttributeBooleanInfo.FALSE);
        mdAttributeLongitude.setValue(MdAttributeFloatInfo.LENGTH, "12");
        mdAttributeLongitude.setValue(MdAttributeFloatInfo.DECIMAL, "8");
        mdAttributeLongitude.apply();
    }
    JsonArray hierarchies = masterlist.getHierarchiesAsJson();
    for (int i = 0; i < hierarchies.size(); i++) {
        JsonObject hierarchy = hierarchies.get(i).getAsJsonObject();
        List<String> pCodes = masterlist.getParentCodes(hierarchy);
        if (pCodes.size() > 0) {
            String hCode = hierarchy.get("code").getAsString();
            ServerHierarchyType hierarchyType = ServiceFactory.getMetadataCache().getHierachyType(hCode).get();
            String hierarchyLabel = hierarchyType.getDisplayLabel().getValue(currentLocale);
            for (String pCode : pCodes) {
                ServerGeoObjectType got = ServerGeoObjectType.get(pCode);
                String typeLabel = got.getLabel().getValue(currentLocale);
                String attributeName = hCode.toLowerCase() + pCode.toLowerCase();
                String label = typeLabel + " (" + hierarchyLabel + ")";
                String codeDescription = LocalizationFacade.localize("masterlist.code.description");
                codeDescription = codeDescription.replaceAll("\\{typeLabel\\}", typeLabel);
                codeDescription = codeDescription.replaceAll("\\{hierarchyLabel\\}", hierarchyLabel);
                String labelDescription = LocalizationFacade.localize("masterlist.label.description");
                labelDescription = labelDescription.replaceAll("\\{typeLabel\\}", typeLabel);
                labelDescription = labelDescription.replaceAll("\\{hierarchyLabel\\}", hierarchyLabel);
                MdAttributeCharacterDAO mdAttributeCode = MdAttributeCharacterDAO.newInstance();
                mdAttributeCode.setValue(MdAttributeCharacterInfo.NAME, attributeName);
                mdAttributeCode.setValue(MdAttributeCharacterInfo.DEFINING_MD_CLASS, mdTableDAO.getOid());
                mdAttributeCode.setValue(MdAttributeCharacterInfo.SIZE, "255");
                mdAttributeCode.setStructValue(MdAttributeCharacterInfo.DISPLAY_LABEL, MdAttributeLocalInfo.DEFAULT_LOCALE, label);
                mdAttributeCode.addItem(MdAttributeCharacterInfo.INDEX_TYPE, IndexTypes.NON_UNIQUE_INDEX.getOid());
                mdAttributeCode.setStructValue(MdAttributeCharacterInfo.DESCRIPTION, MdAttributeLocalInfo.DEFAULT_LOCALE, codeDescription);
                mdAttributeCode.apply();
                MdAttributeCharacterDAO mdAttributeDefaultLocale = MdAttributeCharacterDAO.newInstance();
                mdAttributeDefaultLocale.setValue(MdAttributeCharacterInfo.NAME, attributeName + DEFAULT_LOCALE);
                mdAttributeDefaultLocale.setValue(MdAttributeCharacterInfo.DEFINING_MD_CLASS, mdTableDAO.getOid());
                mdAttributeDefaultLocale.setValue(MdAttributeCharacterInfo.SIZE, "255");
                mdAttributeDefaultLocale.setStructValue(MdAttributeCharacterInfo.DISPLAY_LABEL, MdAttributeLocalInfo.DEFAULT_LOCALE, label + " (defaultLocale)");
                mdAttributeDefaultLocale.setStructValue(MdAttributeCharacterInfo.DESCRIPTION, MdAttributeLocalInfo.DEFAULT_LOCALE, labelDescription.replaceAll("\\{locale\\}", "default"));
                mdAttributeDefaultLocale.apply();
                for (Locale locale : locales) {
                    MdAttributeCharacterDAO mdAttributeLocale = MdAttributeCharacterDAO.newInstance();
                    mdAttributeLocale.setValue(MdAttributeCharacterInfo.NAME, attributeName + locale.toString());
                    mdAttributeLocale.setValue(MdAttributeCharacterInfo.DEFINING_MD_CLASS, mdTableDAO.getOid());
                    mdAttributeLocale.setValue(MdAttributeCharacterInfo.SIZE, "255");
                    mdAttributeLocale.setStructValue(MdAttributeCharacterInfo.DISPLAY_LABEL, MdAttributeLocalInfo.DEFAULT_LOCALE, label + " (" + locale + ")");
                    mdAttributeLocale.setStructValue(MdAttributeCharacterInfo.DESCRIPTION, MdAttributeLocalInfo.DEFAULT_LOCALE, labelDescription.replaceAll("\\{locale\\}", locale.toString()));
                    mdAttributeLocale.apply();
                }
            }
        }
    }
    JsonArray subtypeHierarchies = masterlist.getSubtypeHierarchiesAsJson();
    for (int i = 0; i < subtypeHierarchies.size(); i++) {
        JsonObject hierarchy = subtypeHierarchies.get(i).getAsJsonObject();
        if (hierarchy.has("selected") && hierarchy.get("selected").getAsBoolean()) {
            String hCode = hierarchy.get("code").getAsString();
            HierarchyType hierarchyType = ServiceFactory.getAdapter().getMetadataCache().getHierachyType(hCode).get();
            String hierarchyLabel = hierarchyType.getLabel().getValue(currentLocale);
            String attributeName = hCode.toLowerCase();
            String codeDescription = LocalizationFacade.localize("masterlist.code.description");
            codeDescription = codeDescription.replaceAll("\\{typeLabel\\}", "");
            codeDescription = codeDescription.replaceAll("\\{hierarchyLabel\\}", hierarchyLabel);
            String labelDescription = LocalizationFacade.localize("masterlist.label.description");
            labelDescription = labelDescription.replaceAll("\\{typeLabel\\}", "");
            labelDescription = labelDescription.replaceAll("\\{hierarchyLabel\\}", hierarchyLabel);
            MdAttributeCharacterDAO mdAttributeCode = MdAttributeCharacterDAO.newInstance();
            mdAttributeCode.setValue(MdAttributeCharacterInfo.NAME, attributeName);
            mdAttributeCode.setValue(MdAttributeCharacterInfo.DEFINING_MD_CLASS, mdTableDAO.getOid());
            mdAttributeCode.setValue(MdAttributeCharacterInfo.SIZE, "255");
            mdAttributeCode.setStructValue(MdAttributeCharacterInfo.DISPLAY_LABEL, MdAttributeLocalInfo.DEFAULT_LOCALE, hierarchyLabel);
            mdAttributeCode.addItem(MdAttributeCharacterInfo.INDEX_TYPE, IndexTypes.NON_UNIQUE_INDEX.getOid());
            mdAttributeCode.setStructValue(MdAttributeCharacterInfo.DESCRIPTION, MdAttributeLocalInfo.DEFAULT_LOCALE, codeDescription);
            mdAttributeCode.apply();
            MdAttributeCharacterDAO mdAttributeDefaultLocale = MdAttributeCharacterDAO.newInstance();
            mdAttributeDefaultLocale.setValue(MdAttributeCharacterInfo.NAME, attributeName + DEFAULT_LOCALE);
            mdAttributeDefaultLocale.setValue(MdAttributeCharacterInfo.DEFINING_MD_CLASS, mdTableDAO.getOid());
            mdAttributeDefaultLocale.setValue(MdAttributeCharacterInfo.SIZE, "255");
            mdAttributeDefaultLocale.setStructValue(MdAttributeCharacterInfo.DISPLAY_LABEL, MdAttributeLocalInfo.DEFAULT_LOCALE, hierarchyLabel + " (defaultLocale)");
            mdAttributeDefaultLocale.setStructValue(MdAttributeCharacterInfo.DESCRIPTION, MdAttributeLocalInfo.DEFAULT_LOCALE, labelDescription.replaceAll("\\{locale\\}", "default"));
            mdAttributeDefaultLocale.apply();
            for (Locale locale : locales) {
                MdAttributeCharacterDAO mdAttributeLocale = MdAttributeCharacterDAO.newInstance();
                mdAttributeLocale.setValue(MdAttributeCharacterInfo.NAME, attributeName + locale.toString());
                mdAttributeLocale.setValue(MdAttributeCharacterInfo.DEFINING_MD_CLASS, mdTableDAO.getOid());
                mdAttributeLocale.setValue(MdAttributeCharacterInfo.SIZE, "255");
                mdAttributeLocale.setStructValue(MdAttributeCharacterInfo.DISPLAY_LABEL, MdAttributeLocalInfo.DEFAULT_LOCALE, hierarchyLabel + " (" + locale + ")");
                mdAttributeLocale.setStructValue(MdAttributeCharacterInfo.DESCRIPTION, MdAttributeLocalInfo.DEFAULT_LOCALE, labelDescription.replaceAll("\\{locale\\}", locale.toString()));
                mdAttributeLocale.apply();
            }
        }
    }
    return metadata;
}
Also used : TableMetadata(net.geoprism.registry.masterlist.TableMetadata) Locale(java.util.Locale) MdAttributeFloatDAO(com.runwaysdk.dataaccess.metadata.MdAttributeFloatDAO) ServerHierarchyType(net.geoprism.registry.model.ServerHierarchyType) HierarchyType(org.commongeoregistry.adapter.metadata.HierarchyType) ServerHierarchyType(net.geoprism.registry.model.ServerHierarchyType) MdBusinessDAO(com.runwaysdk.dataaccess.metadata.MdBusinessDAO) MdBusiness(com.runwaysdk.system.metadata.MdBusiness) ServerGeoObjectType(net.geoprism.registry.model.ServerGeoObjectType) JsonObject(com.google.gson.JsonObject) MdAttributeMultiLineString(com.runwaysdk.system.gis.metadata.MdAttributeMultiLineString) MdAttributeLineString(com.runwaysdk.system.gis.metadata.MdAttributeLineString) MdAttributeUUIDDAO(com.runwaysdk.dataaccess.metadata.MdAttributeUUIDDAO) MultiPoint(com.vividsolutions.jts.geom.MultiPoint) MdAttributePoint(com.runwaysdk.system.gis.metadata.MdAttributePoint) MdAttributeMultiPoint(com.runwaysdk.system.gis.metadata.MdAttributeMultiPoint) Point(com.vividsolutions.jts.geom.Point) JsonArray(com.google.gson.JsonArray) MdAttributeCharacterDAO(com.runwaysdk.dataaccess.metadata.MdAttributeCharacterDAO) AttributeType(org.commongeoregistry.adapter.metadata.AttributeType)

Example 4 with MdBusinessDAO

use of com.runwaysdk.dataaccess.metadata.MdBusinessDAO in project geoprism-registry by terraframe.

the class ListTypeVersion method delete.

@Override
@Transaction
public void delete() {
    // Delete all jobs
    // List<ExecutableJob> jobs = this.getJobs();
    // 
    // for (ExecutableJob job : jobs)
    // {
    // job.delete();
    // }
    // Delete tile cache
    ListTileCache.deleteTiles(this);
    ListTypeAttributeGroup.deleteAll(this);
    MdBusiness mdTable = this.getMdBusiness();
    super.delete();
    if (mdTable != null) {
        MdBusinessDAO mdBusiness = MdBusinessDAO.get(this.getMdBusinessOid()).getBusinessDAO();
        mdBusiness.deleteAllRecords();
        mdTable.delete();
    }
    if (this.getGeospatialVisibility().equals(ListType.PUBLIC)) {
        new GeoserverRemoveWMSCommand(this).doIt();
    }
}
Also used : MdBusinessDAO(com.runwaysdk.dataaccess.metadata.MdBusinessDAO) MdBusiness(com.runwaysdk.system.metadata.MdBusiness) GeoserverRemoveWMSCommand(net.geoprism.registry.command.GeoserverRemoveWMSCommand) Transaction(com.runwaysdk.dataaccess.transaction.Transaction)

Example 5 with MdBusinessDAO

use of com.runwaysdk.dataaccess.metadata.MdBusinessDAO in project geoprism-registry by terraframe.

the class AddWritePermissions method reassignPermissions.

private void reassignPermissions(ServerHierarchyType hierarchyType) {
    RoleDAO maintainer = RoleDAO.findRole(RegistryConstants.REGISTRY_MAINTAINER_ROLE).getBusinessDAO();
    RoleDAO consumer = RoleDAO.findRole(RegistryConstants.API_CONSUMER_ROLE).getBusinessDAO();
    RoleDAO contributor = RoleDAO.findRole(RegistryConstants.REGISTRY_CONTRIBUTOR_ROLE).getBusinessDAO();
    InitializationStrategyIF strategy = new InitializationStrategyIF() {

        @Override
        public void preApply(MdBusinessDAO mdBusiness) {
            mdBusiness.setValue(MdBusinessInfo.GENERATE_SOURCE, MdAttributeBooleanInfo.FALSE);
        }

        @Override
        public void postApply(MdBusinessDAO mdBusiness) {
            RoleDAO adminRole = RoleDAO.findRole(DefaultConfiguration.ADMIN).getBusinessDAO();
            adminRole.grantPermission(Operation.READ, mdBusiness.getOid());
            adminRole.grantPermission(Operation.READ_ALL, mdBusiness.getOid());
            adminRole.grantPermission(Operation.WRITE, mdBusiness.getOid());
            adminRole.grantPermission(Operation.WRITE_ALL, mdBusiness.getOid());
            adminRole.grantPermission(Operation.CREATE, mdBusiness.getOid());
            adminRole.grantPermission(Operation.DELETE, mdBusiness.getOid());
            maintainer.grantPermission(Operation.READ, mdBusiness.getOid());
            maintainer.grantPermission(Operation.READ_ALL, mdBusiness.getOid());
            maintainer.grantPermission(Operation.WRITE, mdBusiness.getOid());
            maintainer.grantPermission(Operation.WRITE_ALL, mdBusiness.getOid());
            maintainer.grantPermission(Operation.CREATE, mdBusiness.getOid());
            maintainer.grantPermission(Operation.DELETE, mdBusiness.getOid());
            consumer.grantPermission(Operation.READ, mdBusiness.getOid());
            consumer.grantPermission(Operation.READ_ALL, mdBusiness.getOid());
            contributor.grantPermission(Operation.READ, mdBusiness.getOid());
            contributor.grantPermission(Operation.READ_ALL, mdBusiness.getOid());
        }
    };
    String key = GISConstants.GEO_PACKAGE + "." + hierarchyType.getCode() + RegistryConstants.UNIVERSAL_RELATIONSHIP_POST;
    if (hierarchyType.getCode().equals("LocatedIn")) {
        key = GISConstants.GEO_PACKAGE + "." + hierarchyType.getCode();
    }
    MdTermRelationship mdTermRelUniversal = MdTermRelationship.getByKey(key);
    this.grantWritePermissionsOnMdTermRel(mdTermRelUniversal);
    this.grantWritePermissionsOnMdTermRel(maintainer, mdTermRelUniversal);
    this.grantReadPermissionsOnMdTermRel(consumer, mdTermRelUniversal);
    this.grantReadPermissionsOnMdTermRel(contributor, mdTermRelUniversal);
    Universal.getStrategy().initialize(mdTermRelUniversal.definesType(), strategy);
    MdTermRelationship mdTermRelGeoEntity = MdTermRelationship.getByKey(GISConstants.GEO_PACKAGE + "." + hierarchyType.getCode());
    this.grantWritePermissionsOnMdTermRel(mdTermRelGeoEntity);
    this.grantWritePermissionsOnMdTermRel(maintainer, mdTermRelGeoEntity);
    this.grantReadPermissionsOnMdTermRel(consumer, mdTermRelGeoEntity);
    this.grantReadPermissionsOnMdTermRel(contributor, mdTermRelGeoEntity);
    MdEdgeDAO mdEdge = (MdEdgeDAO) MdEdgeDAO.getMdEdgeDAO(RegistryConstants.UNIVERSAL_GRAPH_PACKAGE + "." + hierarchyType.getCode());
    this.grantWritePermissionsOnMdTermRel(mdEdge);
    this.grantWritePermissionsOnMdTermRel(maintainer, mdEdge);
    this.grantReadPermissionsOnMdTermRel(consumer, mdEdge);
    this.grantReadPermissionsOnMdTermRel(contributor, mdEdge);
    logger.info("Updated permissions for HierarchyType [" + hierarchyType.getCode() + "]. ");
}
Also used : RoleDAO(com.runwaysdk.business.rbac.RoleDAO) MdBusinessDAO(com.runwaysdk.dataaccess.metadata.MdBusinessDAO) InitializationStrategyIF(com.runwaysdk.business.ontology.InitializationStrategyIF) MdEdgeDAO(com.runwaysdk.dataaccess.metadata.graph.MdEdgeDAO) MdTermRelationship(com.runwaysdk.system.metadata.MdTermRelationship)

Aggregations

MdBusinessDAO (com.runwaysdk.dataaccess.metadata.MdBusinessDAO)13 Transaction (com.runwaysdk.dataaccess.transaction.Transaction)10 MdBusiness (com.runwaysdk.system.metadata.MdBusiness)10 ServerGeoObjectType (net.geoprism.registry.model.ServerGeoObjectType)9 Locale (java.util.Locale)8 ServerHierarchyType (net.geoprism.registry.model.ServerHierarchyType)8 AttributeType (org.commongeoregistry.adapter.metadata.AttributeType)8 Business (com.runwaysdk.business.Business)6 LinkedList (java.util.LinkedList)6 List (java.util.List)6 MdAttributeMultiPoint (com.runwaysdk.system.gis.metadata.MdAttributeMultiPoint)4 MdAttributePoint (com.runwaysdk.system.gis.metadata.MdAttributePoint)4 MdAttributeConcreteDAO (com.runwaysdk.dataaccess.metadata.MdAttributeConcreteDAO)3 JsonArray (com.google.gson.JsonArray)2 JsonObject (com.google.gson.JsonObject)2 BusinessQuery (com.runwaysdk.business.BusinessQuery)2 InitializationStrategyIF (com.runwaysdk.business.ontology.InitializationStrategyIF)2 RoleDAO (com.runwaysdk.business.rbac.RoleDAO)2 MdAttributeCharacterDAO (com.runwaysdk.dataaccess.metadata.MdAttributeCharacterDAO)2 MdAttributeUUIDDAO (com.runwaysdk.dataaccess.metadata.MdAttributeUUIDDAO)2