Code Monkey home page Code Monkey logo

carbon-governance's Introduction

carbon-governance's People

Contributors

ajithnv avatar anugayan avatar arshardh avatar ayshsandu avatar casperrox avatar cnapagoda avatar daneshk avatar denuwanthi avatar erandasooriyabandara avatar hasinidilanka avatar isharac avatar isuruwan avatar janaka-ranabahu avatar krishanx92 avatar lahirue avatar laki88 avatar madawas avatar megala21 avatar mushir33 avatar prasa7 avatar pulasthi avatar rajith90 avatar sagara-gunathunga avatar sameerak avatar shazni avatar splinter avatar subash89 avatar tharindu1st avatar thushara35 avatar wso2-jenkins-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

carbon-governance's Issues

Cannot search with a property and attribute at once.

Description:
Current governance search does not support searching a property and attibute at once.

Suggested Labels:
Bug

Suggested Assignees:
N/A

Affected Product Version: 4.7.15

OS, DB, other environment details and versions: N/A

Steps to reproduce:
There is no way to do a search with property and attribute at once, unless the attribute is overview_name

Related Issues:
N/A

Governance Rest API - authorization failure for secondary user-store users while trying to create resources

Description:
We have granted write permission to registry resource (/_system/governance/trunk) for secondary user store role, but while trying to create asset using governance rest api, we get following error

[2018-05-10 15:18:09,729] ERROR {org.wso2.carbon.registry.core.jdbc.Repository} - Failed to add new resource. User pasan does not have authorization to update the collection /_system/governance/trunk.
[2018-05-10 15:18:09,731] ERROR {org.wso2.carbon.governance.api.common.GovernanceArtifactManager} - Failed to add artifact: artifact id: dd88831d-e432-4e8b-ac3c-6eac8ed9ec26. Failed to add new resource. User pasan does not have authorization to update the collection /_system/governance/trunk.
org.wso2.carbon.registry.core.exceptions.RegistryException: Failed to add new resource. User pasan does not have authorization to update the collection /_system/governance/trunk.
at org.wso2.carbon.registry.core.jdbc.Repository.addEmptyCollection(Repository.java:1167)
at org.wso2.carbon.registry.core.jdbc.Repository.add(Repository.java:1013)
at org.wso2.carbon.registry.core.jdbc.Repository.put(Repository.java:305)
at org.wso2.carbon.registry.core.jdbc.EmbeddedRegistry.put(EmbeddedRegistry.java:709)
at org.wso2.carbon.registry.core.caching.CacheBackedRegistry.put(CacheBackedRegistry.java:591)
at org.wso2.carbon.registry.core.session.UserRegistry.putInternal(UserRegistry.java:828)
at org.wso2.carbon.registry.core.session.UserRegistry.access$1000(UserRegistry.java:61)
at org.wso2.carbon.registry.core.session.UserRegistry$11.run(UserRegistry.java:804)
at org.wso2.carbon.registry.core.session.UserRegistry$11.run(UserRegistry.java:801)
at java.security.AccessController.doPrivileged(Native Method)
at org.wso2.carbon.registry.core.session.UserRegistry.put(UserRegistry.java:801)
at org.wso2.carbon.governance.api.common.GovernanceArtifactManager.addGovernanceArtifact(GovernanceArtifactManager.java:208)
at org.wso2.carbon.governance.api.generic.GenericArtifactManager.addGenericArtifact(GenericArtifactManager.java:218)
at org.wso2.carbon.governance.rest.api.Asset.createGovernanceAsset(Asset.java:505)
at org.wso2.carbon.governance.rest.api.Asset.createAsset(Asset.java:172)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:188)
at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:104)
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:204)
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:101)
at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:94)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:249)
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:248)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:222)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:153)
at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:171)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:289)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:209)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:265)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:614)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:99)
at org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47)
at org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:57)
at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47)
at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:62)
at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:159)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1749)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1708)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)

Suggested Labels:

Suggested Assignees:

Affected Product Version:
Governance Registry 5.3.0
OS, DB, other environment details and versions:

Steps to reproduce:

  • Set up GREG 5.3.0 with JDBC store as primary and Active Directory (read-only) as the secondary user store

  • Grant WRITE permissions to registry resource ("/_system/governance/trunk") for a particular Role in secondary user store

  • Try to add a new asset (in "/_system/governance/trunk") using Governance REST API

Related Issues:

Property search results after initializing paginationcontext gives search results with some missing values

Description:
Doing a property search on governance registry gives results with missing values, if the pagination context is initiated before the search.

Suggested Labels:
Bug

Suggested Assignees:
N/A

Affected Product Version: 4.7.0

OS, DB, other environment details and versions: N.A

Steps to reproduce:

  1. Add two registry resources wihich has the value "test" for the attribute "overview_name"
  2. For those two registry resources, add a property "publisher_roles" with the value "admin"
  3. After that initialize the PaginationContext with the sortBy attribute "overview_name"
  4. Call the GovernanceUtils.findGovernanceArtifacts(String criteria, registry, mediaType) - In this criteria should be "publisher_roles=(admin)"
  5. The result will only contain 1 governance artifact, but if the search works correctly both of the above artifacts should be returned.

Related Issues:
N/A

Lifecycle configuration page loading time increases with lifecycle number.

When there are many life cycle configured in the system, lifecycle configuration page loading time will increases depends on the db query execution time. Main delay is in the lifecycle usage check where we execute db queries to find out the usage of each lifecycle.

Replace db query check with solr query search. Then we can reduce certain number of page loading time.

Artifact Configuration not loading property for the tenant users

Intermittently artifact configurations not loaded properly for the tenant users. System gives a warning like below when try to list assets in api store and publisher UI.

TID: [xxx] [] [2017-08-09 23:33:18,687] xxxxx@xxxx [xxxx] [PUBSTORE] WARN
{org.wso2.carbon.apimgt.impl.utils.APIUtil} - Couldn't find GovernanceArtifactConfiguration of RXT: api. Tenant id set in registry : xxxx, Tenant domain set in PrivilegedCarbonContext: xxxx {org.wso2.carbon.apimgt.impl.utils.APIUtil}

user defined library: NoClassDefFoundError when using GovernanceUtils

Description:
I am trying to enrich this handler (which protects APIs with Basic Authentication) with the ability to read credentials from the governance registry. I thus used retrieveGovernanceArtifactByPath from GovernanceUtils.

import org.wso2.carbon.governance.api.common.dataobjects.GovernanceArtifact;
import org.wso2.carbon.governance.api.util.GovernanceUtils;
import org.wso2.carbon.registry.core.Registry;
import org.wso2.carbon.registry.core.config.RegistryContext;
import org.wso2.carbon.registry.core.exceptions.RegistryException;
.....
    public boolean processSecurity(String credentials) {
        String decodedCredentials = new String(new Base64().decode(credentials.getBytes()));
        String userName = decodedCredentials.split(":")[0];
        String password = decodedCredentials.split(":")[1];
        /*here: */
        try {
            Registry reg = RegistryContext.getBaseInstance().getEmbeddedRegistryService().getConfigSystemRegistry();
            GovernanceArtifact userNameFromReg = GovernanceUtils.retrieveGovernanceArtifactByPath(reg, "/_system/governance/users/ei_user");
            GovernanceArtifact userPassFromReg = GovernanceUtils.retrieveGovernanceArtifactByPath(reg, "/_system/governance/users/ei_password");

            if (userNameFromReg.getAttribute(".").equals(userName) && userPassFromReg.getAttribute(".").equals(password)) {
                return true;
            } else {
                return false;
            }

        } catch (RegistryException e) {
            e.printStackTrace();
            return false;
        }
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>some_company</groupId>
    <artifactId>REST-BasicAuth-Handler</artifactId>
    <packaging>jar</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>REST-basic-auth-handler</name>
    <url>http://maven.apache.org</url>
    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.apache.synapse</groupId>
            <artifactId>synapse-core</artifactId>
            <version>3.0.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.synapse</groupId>
            <artifactId>synapse-extensions</artifactId>
            <version>3.0.1</version>
        </dependency>
        <dependency>
            <groupId>org.wso2.carbon.governance</groupId>
            <artifactId>org.wso2.carbon.governance.api</artifactId>
            <version>4.8.19</version>
        </dependency>
        <dependency>
            <groupId>org.wso2.carbon</groupId>
            <artifactId>org.wso2.carbon.registry.core</artifactId>
            <version>4.4.26</version>
        </dependency>
    </dependencies>
</project>

Compilation works OK, the .jar is loaded from $EI_HOME/lib but I get the following error:

[2020-10-19 15:56:49,592] [] ERROR - NativeWorkerPool Uncaught exception
java.lang.NoClassDefFoundError: org/wso2/carbon/governance/api/util/GovernanceUtils
        at org.vicat.rest.BasicAuthHandler.processSecurity(BasicAuthHandler.java:78)
        at org.vicat.rest.BasicAuthHandler.handleRequest(BasicAuthHandler.java:49)
        at org.apache.synapse.rest.API.process(API.java:357)
        at org.apache.synapse.rest.RESTRequestHandler.apiProcess(RESTRequestHandler.java:135)
        at org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:113)
        at org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:71)
        at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:325)
        at org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:92)
        at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
        at org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:338)
        at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:159)
        at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: org.wso2.carbon.governance.api.util.GovernanceUtils cannot be found by REST_BasicAuth_Handler_1.0_SNAPSHOT_1.0.0
        at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
        at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

I also tried with to package all dependencies in a fat jar using maven-assembly-plugin, made sure that GovernanceUtils was present in the .jar: still the very same error.

Suggested Labels:
udf,registry,library

Affected Product Version:
WSO2-EI 6.5.0

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.