Search in sources :

Example 16 with LocalizedValue

use of org.commongeoregistry.adapter.dataaccess.LocalizedValue in project geoprism-registry by terraframe.

the class RegistryRoleConverter method buildRA_Role.

/**
 * Returns the {@link RegistryRole} object for the given RA {@link Roles}.
 *
 * Precondition: assumes the roleName is a valid RA role
 *
 * @param role RunwaySDK role
 *
 * @return {@link RegistryRole}
 */
private RegistryRole buildRA_Role(Roles raRole) {
    LocalizedValue localizedValue = LocalizedValueConverter.convert(raRole.getDisplayLabel());
    String[] strArray = raRole.getRoleName().split("\\.");
    String organizationCode = strArray[2];
    return RegistryRole.createRA(localizedValue, organizationCode);
}
Also used : LocalizedValue(org.commongeoregistry.adapter.dataaccess.LocalizedValue)

Example 17 with LocalizedValue

use of org.commongeoregistry.adapter.dataaccess.LocalizedValue in project geoprism-registry by terraframe.

the class CambodiaDemoHierarchyGenerator method generateHierarchyTypes.

private static void generateHierarchyTypes() {
    RegistryAdapterServer registry = new RegistryAdapterServer(RegistryIdService.getInstance());
    HierarchyType ht = MetadataFactory.newHierarchyType("Cambodia", new LocalizedValue("Cambodia"), new LocalizedValue(""), null, registry);
    ServiceFactory.getHierarchyService().createHierarchyType(Session.getCurrentSession().getOid(), ht.toJSON().toString());
}
Also used : RegistryAdapterServer(org.commongeoregistry.adapter.RegistryAdapterServer) HierarchyType(org.commongeoregistry.adapter.metadata.HierarchyType) LocalizedValue(org.commongeoregistry.adapter.dataaccess.LocalizedValue)

Example 18 with LocalizedValue

use of org.commongeoregistry.adapter.dataaccess.LocalizedValue in project geoprism-registry by terraframe.

the class GeoObjectImporter method getName.

/**
 * @param feature
 * @return The entityName as defined by the 'name' attribute of the feature
 */
private LocalizedValue getName(FeatureRow row) {
    ShapefileFunction function = this.configuration.getFunction(GeoObject.DISPLAY_LABEL);
    if (function == null) {
        return null;
    }
    Object attribute = function.getValue(row);
    if (attribute != null) {
        return (LocalizedValue) attribute;
    }
    return null;
}
Also used : LocalizedValue(org.commongeoregistry.adapter.dataaccess.LocalizedValue) ShapefileFunction(net.geoprism.data.importer.ShapefileFunction) GeoObject(org.commongeoregistry.adapter.dataaccess.GeoObject) JSONObject(org.json.JSONObject) VertexServerGeoObject(net.geoprism.registry.model.graph.VertexServerGeoObject) VertexObject(com.runwaysdk.business.graph.VertexObject)

Example 19 with LocalizedValue

use of org.commongeoregistry.adapter.dataaccess.LocalizedValue in project geoprism-registry by terraframe.

the class GeoObjectImporter method validateRow.

@Transaction
public void validateRow(FeatureRow row) throws InterruptedException {
    try {
        // Refresh the session because it might expire on long imports
        final long curWorkProgress = this.progressListener.getWorkProgress();
        if ((this.lastValidateSessionRefresh + GeoObjectImporter.refreshSessionRecordCount) < curWorkProgress) {
            SessionFacade.renewSession(Session.getCurrentSession().getOid());
            this.lastValidateSessionRefresh = curWorkProgress;
        }
        try {
            /*
         * 1. Check for location problems
         */
            if (this.configuration.isPostalCode() && PostalCodeFactory.isAvailable(this.configuration.getType())) {
            // Skip location synonym check
            } else if (this.configuration.getHierarchy() != null && this.configuration.getLocations().size() > 0) {
                this.getParent(row);
            }
            /*
         * 2. Check for serialization and term problems
         */
            String code = this.getCode(row);
            ServerGeoObjectIF entity;
            if (code == null || code.length() <= 0) {
                RequiredMappingException ex = new RequiredMappingException();
                ex.setAttributeLabel(GeoObjectTypeMetadata.getAttributeDisplayLabel(DefaultAttribute.CODE.getName()));
                throw ex;
            }
            entity = service.newInstance(this.configuration.getType());
            entity.setCode(code);
            entity.setInvalid(false);
            try {
                LocalizedValue entityName = this.getName(row);
                if (entityName != null && this.hasValue(entityName)) {
                    entity.setDisplayLabel(entityName, this.configuration.getStartDate(), this.configuration.getEndDate());
                }
                Geometry geometry = (Geometry) this.getFormatSpecificImporter().getGeometry(row);
                if (geometry != null) {
                    // geometry.getSRID().
                    if (geometry.isValid()) {
                        entity.setGeometry(geometry, this.configuration.getStartDate(), this.configuration.getEndDate());
                    } else {
                        InvalidGeometryException geomEx = new InvalidGeometryException();
                        throw geomEx;
                    }
                }
                Map<String, AttributeType> attributes = this.configuration.getType().getAttributeMap();
                Set<Entry<String, AttributeType>> entries = attributes.entrySet();
                for (Entry<String, AttributeType> entry : entries) {
                    String attributeName = entry.getKey();
                    if (!attributeName.equals(GeoObject.CODE)) {
                        ShapefileFunction function = this.configuration.getFunction(attributeName);
                        if (function != null) {
                            Object value = function.getValue(row);
                            if (value != null && !this.isEmptyString(value)) {
                                AttributeType attributeType = entry.getValue();
                                this.setValue(entity, attributeType, attributeName, value);
                            }
                        }
                    }
                }
                GeoObjectOverTime go = entity.toGeoObjectOverTime(false);
                go.toJSON().toString();
                if (this.configuration.isExternalImport()) {
                    ShapefileFunction function = this.configuration.getExternalIdFunction();
                    Object value = function.getValue(row);
                    if (value == null || !(value instanceof String || value instanceof Integer || value instanceof Long) || (value instanceof String && ((String) value).length() == 0)) {
                        throw new InvalidExternalIdException();
                    }
                }
            } finally {
                entity.unlock();
            }
        } catch (IgnoreRowException e) {
        // Do nothing
        } catch (Throwable t) {
            RowValidationProblem problem = new RowValidationProblem(t);
            problem.addAffectedRowNumber(curWorkProgress + 1);
            problem.setHistoryId(this.configuration.historyId);
            this.progressListener.addRowValidationProblem(problem);
        }
        this.progressListener.setWorkProgress(curWorkProgress + 1);
        if (Thread.interrupted()) {
            throw new InterruptedException();
        }
        Thread.yield();
    } catch (Throwable e) {
        e.printStackTrace();
    }
}
Also used : InvalidExternalIdException(net.geoprism.registry.etl.InvalidExternalIdException) ServerGeoObjectIF(net.geoprism.registry.model.ServerGeoObjectIF) GeoObjectOverTime(org.commongeoregistry.adapter.dataaccess.GeoObjectOverTime) IgnoreRowException(net.geoprism.registry.io.IgnoreRowException) Geometry(com.vividsolutions.jts.geom.Geometry) Entry(java.util.Map.Entry) LocalizedValue(org.commongeoregistry.adapter.dataaccess.LocalizedValue) AttributeType(org.commongeoregistry.adapter.metadata.AttributeType) RequiredMappingException(net.geoprism.registry.io.RequiredMappingException) ShapefileFunction(net.geoprism.data.importer.ShapefileFunction) GeoObject(org.commongeoregistry.adapter.dataaccess.GeoObject) JSONObject(org.json.JSONObject) VertexServerGeoObject(net.geoprism.registry.model.graph.VertexServerGeoObject) VertexObject(com.runwaysdk.business.graph.VertexObject) RowValidationProblem(net.geoprism.registry.etl.RowValidationProblem) InvalidGeometryException(net.geoprism.registry.io.InvalidGeometryException) Transaction(com.runwaysdk.dataaccess.transaction.Transaction)

Example 20 with LocalizedValue

use of org.commongeoregistry.adapter.dataaccess.LocalizedValue in project geoprism-registry by terraframe.

the class GeoObjectImportConfiguration method latitude.

public static AttributeFloatType latitude() {
    LocalizedValue label = new LocalizedValue(LocalizationFacade.localize(LATITUDE_KEY));
    LocalizedValue description = new LocalizedValue("");
    return new AttributeFloatType(GeoObjectImportConfiguration.LATITUDE, label, description, false, false, false);
}
Also used : LocalizedValue(org.commongeoregistry.adapter.dataaccess.LocalizedValue) AttributeFloatType(org.commongeoregistry.adapter.metadata.AttributeFloatType)

Aggregations

LocalizedValue (org.commongeoregistry.adapter.dataaccess.LocalizedValue)133 Request (com.runwaysdk.session.Request)54 Test (org.junit.Test)52 JsonObject (com.google.gson.JsonObject)27 ServerGeoObjectType (net.geoprism.registry.model.ServerGeoObjectType)22 TransitionEvent (net.geoprism.registry.graph.transition.TransitionEvent)17 ServerHierarchyType (net.geoprism.registry.model.ServerHierarchyType)16 AttributeType (org.commongeoregistry.adapter.metadata.AttributeType)16 Term (org.commongeoregistry.adapter.Term)15 GeoObject (org.commongeoregistry.adapter.dataaccess.GeoObject)15 Date (java.util.Date)13 Locale (java.util.Locale)13 VertexServerGeoObject (net.geoprism.registry.model.graph.VertexServerGeoObject)13 AttributeTermType (org.commongeoregistry.adapter.metadata.AttributeTermType)13 Transaction (com.runwaysdk.dataaccess.transaction.Transaction)11 ServerGeoObjectIF (net.geoprism.registry.model.ServerGeoObjectIF)11 HierarchyType (org.commongeoregistry.adapter.metadata.HierarchyType)10 JsonArray (com.google.gson.JsonArray)9 Classification (net.geoprism.registry.model.Classification)9 VertexObject (com.runwaysdk.business.graph.VertexObject)7