package com.constellio.app.ui.pages.management.schemas.display.report;
import com.constellio.app.ui.entities.MetadataVO;
import com.constellio.model.entities.schemas.Metadata;
import com.constellio.model.entities.schemas.MetadataValueType;
import com.constellio.model.entities.schemas.Schemas;
import com.constellio.model.services.schemas.SchemaUtils;
import java.util.Arrays;
import java.util.List;
public class AllowedMetadataUtil {
public static boolean isAllowedMetadata(MetadataVO metadataVO) {
boolean result;
List<Metadata> restrictedMetadata = Arrays.asList(Schemas.SCHEMA, Schemas.VERSION, Schemas.PATH, Schemas.PRINCIPAL_PATH,
Schemas.PARENT_PATH, Schemas.ATTACHED_ANCESTORS, Schemas.REMOVED_AUTHORIZATIONS,
Schemas.ALL_REMOVED_AUTHS, Schemas.IS_DETACHED_AUTHORIZATIONS, Schemas.TOKENS, Schemas.COLLECTION,
Schemas.FOLLOWERS, Schemas.LOGICALLY_DELETED_STATUS, Schemas.TITLE);
List<MetadataValueType> restrictedType = Arrays.asList(MetadataValueType.STRUCTURE, MetadataValueType.CONTENT);
List<String> localCodes = new SchemaUtils().toMetadataLocalCodes(restrictedMetadata);
result = !restrictedType.contains(metadataVO.getType());
result = result && !localCodes.contains(metadataVO.getCode());//getLocalcode()
return result;
}
}