/** * Constructor accepting an instance of the registry, and key identifying the type of manager. * * @param registry the instance of the registry. * @param key the key short name of the artifact type. * @throws RegistryException Thrown when rxt configuration is not in registry. */ public GenericArtifactManager(Registry registry, String key) throws RegistryException { try { GovernanceArtifactConfiguration configuration = GovernanceUtils.findGovernanceArtifactConfiguration(key, registry); if (configuration != null) { artifactNameAttribute = configuration.getArtifactNameAttribute(); artifactNamespaceAttribute = configuration.getArtifactNamespaceAttribute(); artifactElementNamespace = configuration.getArtifactElementNamespace(); manager = new GovernanceArtifactManager(registry, configuration.getMediaType(), artifactNameAttribute, artifactNamespaceAttribute, configuration.getArtifactElementRoot(), artifactElementNamespace, configuration.getPathExpression(), configuration.getLifecycle(), configuration.getValidationAttributes(), configuration.getRelationshipDefinitions()); mediaType = configuration.getMediaType(); } else { throw new GovernanceException("Artifact type '" + key + "' is not in registry or unable to find relevant configuration."); } } catch (RegistryException e) { throw new GovernanceException("Unable to obtain governance artifact configuration for rxt: " + key, e); } }
private static void updateTenantsUnboundedFieldMap(GovernanceArtifactConfiguration rxtConfiguration) throws RegistryException { if (rxtConfiguration.getMediaType().matches("application/vnd.(.)+\\+xml")) { updateTenantsUnboundedFieldMap(rxtConfiguration.getContentDefinition().getParent().toString()); } }
/** * Constructor accepting an instance of the registry, and also details on the type of manager. * * @param registry the instance of the registry. * @param mediaType the media type of resources being saved or fetched. */ protected ServiceManager(Registry registry, String mediaType) throws RegistryException { GovernanceArtifactConfiguration configuration = GovernanceUtils.findGovernanceArtifactConfiguration( GovernanceConstants.SERVICE_ARTIFACT_KEY, registry); this.manager = new GovernanceArtifactManager( registry, mediaType, configuration.getArtifactNameAttribute(), configuration.getArtifactNamespaceAttribute(), configuration.getArtifactElementRoot(), GovernanceConstants.SERVICE_ELEMENT_NAMESPACE, configuration.getPathExpression(), new Association[0]); this.registry = registry; }
private void buildViewUI(GovernanceArtifactConfiguration configuration, Map<String, String> viewUIMap, String key) { String singularLabel = configuration.getSingularLabel(); String pluralLabel = configuration.getPluralLabel(); String lifecycleAttribute = key + "Lifecycle_lifecycleName"; lifecycleAttribute = BuilLifecycleAttribute(configuration, DEFAULT_LIFECYCLE_GENERATOR_CLASS, lifecycleAttribute); if (singularLabel == null || pluralLabel == null) { log.error("The singular label and plural label have not " + "been defined for the artifact type: " + key); } else { String contentURL = configuration.getContentURL(); if (contentURL != null) { if (!contentURL.toLowerCase().equals("default")) { viewUIMap.put(configuration.getMediaType(), contentURL); } } else { String path = "../generic/edit_ajaxprocessor.jsp?hideEditView=true&key=" + key + "&lifecycleAttribute=" + lifecycleAttribute +"&add_edit_breadcrumb=" + singularLabel + "&add_edit_region=region3&add_edit_item=governance_add_" + key + "_menu&breadcrumb=" + singularLabel; viewUIMap.put(configuration.getMediaType(), path); } } }
OMElement configElement = AXIOMUtil.stringToOM(elementString); if (configElement != null) { configuration = new GovernanceArtifactConfiguration(); OMElement artifactNameAttributeElement = configElement.getFirstChildWithName( new QName("nameAttribute")); if (artifactNameAttributeElement != null) { configuration.setArtifactNameAttribute( artifactNameAttributeElement.getText()); new QName("namespaceAttribute")); if (artifactNamespaceAttributeElement != null) { configuration.setArtifactNamespaceAttribute( artifactNamespaceAttributeElement.getText()); } else if (Boolean.toString(false).equals( configElement.getAttributeValue(new QName("hasNamespace")))) { configuration.setArtifactNamespaceAttribute(null); } else { configuration.setHasNamespace(true); configuration.setArtifactElementRoot( artifactElementRootElement.getText()); new QName("elementNamespace")); if (artifactElementNamespaceElement != null) { configuration.setArtifactElementNamespace( artifactElementNamespaceElement.getText()); configuration.setKey(configElement.getAttributeValue(new QName("shortName"))); configuration.setSingularLabel(
private void buildMenuList(HttpServletRequest request, GovernanceArtifactConfiguration configuration, List<Menu> menuList, String key) { String singularLabel = configuration.getSingularLabel(); String pluralLabel = configuration.getPluralLabel(); boolean hasNamespace = configuration.hasNamespace(); String lifecycleAttribute = key + "Lifecycle_lifecycleName"; "been defined for the artifact type: " + key); } else { int iconSet = configuration.getIconSet(); if (CarbonUIUtil.isUserAuthorized(request, "/permission/admin/manage/resources/govern/" + key + "/add") && addMenu.setI18nKey(singularLabel); addMenu.setParentMenu("add_sub_menu"); if (configuration.getExtension() == null) { addMenu.setLink("../generic/add_edit.jsp"); addMenu.setUrlParameters("key=" + key + "&lifecycleAttribute=" + addMenu.setUrlParameters("key=" + key + "&lifecycleAttribute=" + lifecycleAttribute + "&breadcrumb=" + singularLabel + "&mediaType=" + configuration.getMediaType() + "&extension=" + configuration.getExtension() + "&singularLabel=" + singularLabel + "&pluralLabel=" + pluralLabel + "&hasNamespace" + hasNamespace); listMenu.setI18nKey(pluralLabel); listMenu.setParentMenu("list_sub_menu"); if (configuration.getExtension() == null) { listMenu.setLink("../generic/list.jsp");
for (ManagementPermission uiPermission : configuration.getUIPermissions()) { String resourceId = uiPermission.getResourceId(); if (systemRegistry.resourceExists(resourceId)) { try { String singularLabel = configuration.getSingularLabel().replaceAll("\\s", ""); String key = configuration.getKey(); String mediaType = configuration.getMediaType();
CommonUtil.removeStoragePath(artifactConfiguration.getMediaType()); String needToDelete = artifactConfiguration.getKey(); GovernanceUtils.loadGovernanceArtifacts(systemRegistry, configurations); for (GovernanceArtifactConfiguration configuration : configurations) { for (ManagementPermission uiPermission : configuration.getUIPermissions()) { String resourceId = RegistryConstants.GOVERNANCE_REGISTRY_BASE_PATH + uiPermission.getResourceId(); if (systemRegistry.resourceExists(resourceId) && needToDelete.equals(configuration.getKey())) { systemRegistry.delete(resourceId);
private void populateRXTPaths(String elementString){ GovernanceArtifactConfiguration artifactConfiguration = GovernanceUtils.getGovernanceArtifactConfiguration(elementString); CommonUtil.addStoragePath(artifactConfiguration.getMediaType(),artifactConfiguration.getPathExpression()); }
return indexedDocument; GenericArtifactManager manager = new GenericArtifactManager(registry, configuration.getKey()); String xmlAsStr = RegistryUtils.decodeBytes(fileData.data); IndexableGovernanceArtifact artifact = new IndexableGovernanceArtifact((GovernanceArtifactImpl) setAttributesToLowerCase(attributes); fields.putAll(attributes); CommonUtil.updateTenantsUnboundedFieldMap(configuration.getContentDefinition().getParent().toString()); if (configuration.getArtifactNameAttribute() != null) { fields.put("overview_name", attributes.get(configuration.getArtifactNameAttribute()));
GovernanceUtils.loadGovernanceArtifacts(registry, governanceArtifactConfigurations); for (GovernanceArtifactConfiguration configuration : governanceArtifactConfigurations) { if (configuration.getMediaType().equals(resource.getMediaType())) { tempKey = configuration.getKey(); break;
for (GovernanceArtifactConfiguration configuration : configurations) { if (mediaType.equals(configuration.getMediaType())) { GenericArtifactImpl artifact; if (mediaType.matches("application/vnd\\.[a-zA-Z0-9.-]+\\+xml")) { artifact = new GenericArtifactImpl( artifactId, contentElement, configuration.getArtifactNameAttribute(), configuration.getArtifactNamespaceAttribute(), configuration.getArtifactElementNamespace(), configuration.getMediaType()); artifact.associateRegistry(registry); artifact.setArtifactPath(artifactPath);
for (GovernanceArtifactConfiguration configuration : configurations) { Component component = new Component(); OMElement uiConfigurations = configuration.getUIConfigurations(); String key = configuration.getKey(); String configurationPath = RegistryConstants.CONFIG_REGISTRY_BASE_PATH + RegistryConstants.GOVERNANCE_COMPONENT_PATH + OMElement layout = configuration.getContentDefinition(); if (layout != null && !registry.resourceExists(layoutStoragePath)) { Resource resource = registry.newResource();
OMElement configurationElement = configuration.getContentDefinition(); String xpathExpression = "//@class"; log.error("Governance artifact configuration of configuration key:" + configuration.getKey() + " is invalid", e); } catch (JaxenException e) { log.error("Error in getting the lifecycle attribute",e);
/** * Method to return the GovernanceArtifactConfiguration for a given media type * * @param registry the registry instance to run query on. * @param mediaType mediatype of the needed artifact configuration * @return GovernanceArtifactConfiguration * @throws RegistryException exception thorown if something goes wrong */ public static GovernanceArtifactConfiguration getArtifactConfigurationByMediaType(Registry registry, String mediaType) throws RegistryException { List<GovernanceArtifactConfiguration> configurations = findGovernanceArtifactConfigurations(registry); for(GovernanceArtifactConfiguration configuration : configurations) { if(configuration.getMediaType().equals(mediaType)) { return configuration; } } return null; }
private void unDeployCRUDService(GovernanceArtifactConfiguration configuration, AxisConfiguration axisConfig) { String singularLabel = configuration.getSingularLabel(); try { if (axisConfig.getService(singularLabel) != null) { axisConfig.removeService(singularLabel); } } catch (AxisFault axisFault) { log.error(axisFault); } }
} else { if (artifactConfiguration != null) { fields.put(artifactConfiguration.getArtifactNameAttribute(), value); editedCriteria = editedCriteria.replace(subParts[0], artifactConfiguration.getArtifactNameAttribute()); editedCriteria = editedCriteria.replace(subParts[1], value); } else {
rxtConfigCache.put(resourcePath,true); GovernanceArtifactConfiguration configuration = getGovernanceArtifactConfiguration(rxt); String mediaType = configuration.getMediaType(); String storagePath = configuration.getPathExpression(); addStoragePath(mediaType, storagePath); updateTenantsUnboundedFieldMap(configuration); String mediaType = configuration.getMediaType(); String storagePath = configuration.getPathExpression(); addStoragePath(mediaType, storagePath); updateTenantsUnboundedFieldMap(configuration);
/** * Query to search for a governance artifact configuration. * * @param mediaType the media type of the artifact configuration. * @param registry the registry instance to run query on. * @return the artifact configuration. * @throws RegistryException if the operation failed. */ public static GovernanceArtifactConfiguration findGovernanceArtifactConfigurationByMediaType( String mediaType, Registry registry) throws RegistryException { List<GovernanceArtifactConfiguration> governanceArtifactConfigurations = artifactConfigurations.get(((UserRegistry) registry).getTenantId()); if (governanceArtifactConfigurations == null || governanceArtifactConfigurations.isEmpty()) { governanceArtifactConfigurations = findGovernanceArtifactConfigurations(registry); artifactConfigurations.put(((UserRegistry) registry).getTenantId(), governanceArtifactConfigurations); } for (GovernanceArtifactConfiguration configuration : governanceArtifactConfigurations) { if (mediaType.equals(configuration.getMediaType())) { return configuration; } } return null; }