Exemple #1
0
 api.create = function(options, req, res, session) {
     var asset = require('rxt').asset;
     var am = asset.createUserAssetManager(session, options.type);
     var assetReq = req.getAllParameters('UTF-8');
     var asset = am.importAssetFromHttpRequest(assetReq);
     putInStorage(options, asset, am, req, session);
     try {
         am.create(asset);
     } catch (e) {
         log.error('Asset of type: ' + options.type + ' was not created due to ' + e);
         //print(responseProcessor.buildErrorResponse(500, 'Failed to create asset of type: ' + options.type));
         return null;
     }
     var isLcAttached = am.attachLifecycle(asset);
     //Check if the lifecycle was attached
     if (isLcAttached) {
         var synched = am.synchAsset(asset);
         if (synched) {
             am.invokeDefaultLcAction(asset);
         } else {
             log.warn('Failed to invoke default action as the asset could not be synched.')
         }
     }
     return asset;
 };
Exemple #2
0
 api.get = function(options, req, res, session) {
     var asset = require('rxt').asset;
     var assetManager = asset.createUserAssetManager(session, options.type);
     try {
         var retrievedAsset = assetManager.get(options.id);
         if (!retrievedAsset) {
            // print(responseProcessor.buildSuccessResponse(200, 'No matching asset found by' + options.id, []));
             return null;
         } else {
             var expansionFields = (request.getParameter('fields') || '');
             if (expansionFields) {
                 options.fields = expansionFields.split(',');
                 var assets = [];
                 assets.push(retrievedAsset);
                 options.assets = assets;
                 result = fieldExpansion(options, req, res, session);
             } else {
                 result = retrievedAsset;
             }
            // print(responseProcessor.buildSuccessResponse(200, 'Request Served Sucessfully', result));
         }
     } catch (e) {
     //res.sendError(400, "No matching asset found");
      //   print(responseProcessor.buildErrorResponse(400, "No matching asset found"));
         log.error(e);
         result = null;       
     }
     return result;
 };
 assetCombinedWithRXT: function(page){
     if (page.assets && page.assets.type) {
         var rxt = require('rxt');
         var am = rxt.asset.createUserAssetManager(ctx.session,page.assets.type);
         page.assetWithRxt = am.combineWithRxt(page.assets);
     }
 } 
    gregAPI.serviceDiscovery.save = function (session, type, serverId, discoveryServicesData, existArtifactStrategy,
                                              orphanArtifactStrategy) {
        var HashMap = java.util.HashMap;
        var ArrayList = java.util.ArrayList;
        var discoveryServiceDataMap = new HashMap();
        for (var key in discoveryServicesData) {
            var detachedGenericArtifactList = new ArrayList();
            for (var key2 in discoveryServicesData[key].data) {
                var DetachedGenericArtifact = Packages.org.wso2.carbon.governance.api.generic.dataobjects
                    .DetachedGenericArtifactImpl;
                var Gson = Packages.com.google.gson.Gson;
                var gson = new Gson();
                var result = gson.fromJson(stringify(discoveryServicesData[key].data[key2]), DetachedGenericArtifact);
                detachedGenericArtifactList.add(result);
            }
            discoveryServiceDataMap.put(discoveryServicesData[key].serviceType, detachedGenericArtifactList);
        }

        var ServerDiscoveryService = Packages.org.wso2.carbon.governance.registry.extensions.discoveryagents.
            ServerDiscoveryService;
        var serverDiscoveryService = new ServerDiscoveryService();

        var rxt = require('rxt');
        var assetManager = rxt.asset.createUserAssetManager(session, type);
        var serverArtifact = assetManager.am.manager.getGenericArtifact(serverId);
        return serverDiscoveryService.persistArtifacts(discoveryServiceDataMap, serverArtifact, existArtifactStrategy,
            orphanArtifactStrategy);
    };
Exemple #5
0
 api.search = function(options, req, res, session) {
     var asset = require('rxt').asset;
     var assetManager = asset.createUserAssetManager(session, options.type);
     var sort = (request.getParameter("sort") || '');
     var sortOrder = DEFAULT_PAGIN.sortOrder;
     if (sort) {
         var order = sort.charAt(0);
         if (order == '+' || order == ' ') {
             sortOrder = 'ASC';
             sort = sort.slice(1);
         } else if (order == '-') {
             sortOrder = 'DESC';
             sort = sort.slice(1);
         } else {
             sortOrder = DEFAULT_PAGIN.sortOrder;
         }
     }
     var sortBy = (sort || DEFAULT_PAGIN.sortBy);
     var count = (request.getParameter("count") || DEFAULT_PAGIN.count);
     var start = (request.getParameter("start") || DEFAULT_PAGIN.start);
     var paginationLimit = (request.getParameter("paginationLimit") || DEFAULT_PAGIN.paginationLimit);
     var paging = {
             'start': start,
             'count': count,
             'sortOrder': sortOrder,
             'sortBy': sortBy,
             'paginationLimit': paginationLimit
         };
     var q = (request.getParameter("q") || '');
     try {
         if (q) {
             var qString = '{' + q + '}';
             var query = parse(qString);
             
             var assets = assetManager.search(query, paging); //doesnt work properly
         } else {
             
             var assets = assetManager.list(paging);
         }
         var expansionFields = (request.getParameter('fields') || '');
         if (expansionFields) {
             options.fields = expansionFields.split(',');
             options.assets = assets;
             result =fieldExpansion(options, req, res, session);
             //return;                    
         } else {                
             result = assets;
             
         }            
         //res = responseProcessor.buildSuccessResponse(res,200,result);
     } catch (e) {
         //res = responseProcessor.buildErrorResponse(400, "Your request is malformed");
         //print();
         result = null;
         log.error(e);
     }
     return result;
 };
Exemple #6
0
 api.remove = function(options, req, res, session) {
     var asset = require('rxt').asset;
     var am = asset.createUserAssetManager(session, options.type);
     try {
         am.remove(options.id);
         result=true;
     } catch (e) {
         log.error('Asset with id: ' + asset.id + ' was not deleted due to ' + e);
         result = false;
     }
     return result;
 };
Exemple #7
0
 var assetManager = function(session, type) {
     var am;
     var user = server.current(ctx.session);
     //Create asset manager depend on whether there is a loggedIn user or not.
     if (user) {
         am = rxt.asset.createUserAssetManager(ctx.session, type);
     } else {
         var carbon = require('carbon');
         var tenantAPI = require('/modules/tenant-api.js').api;
         var tenantDetails = tenantAPI.tenantContext(session);
         var tenantId = tenantDetails.urlTenantId; //carbon.server.superTenant.tenantId;
         am = rxt.asset.createAnonAssetManager(ctx.session, type, tenantId);
     }
     return am;
 };
 gregAPI.serviceDiscovery.discovery = function (session, type, id) {
     var rxt = require('rxt');
     var assetManager = rxt.asset.createUserAssetManager(session, type);
     var genericArtifact = assetManager.am.manager.getGenericArtifact(id);
     var ServerDiscoveryService = Packages.org.wso2.carbon.governance.registry.extensions.discoveryagents.
         ServerDiscoveryService;
     var serverDiscoveryService = new ServerDiscoveryService();
     try {
         return serverDiscoveryService.discoverArtifacts(genericArtifact);
     } catch (e) {
         log.error('Message - ' + e.message);
         log.error('File name - ' + e.fileName);
         log.error('Line number - ' + e.lineNumber);
         throw 'Discovery agent is not configured properly.';
     }
 };
 publicMethods.getAssetId = function (deviceType) {
     var paging = {
         'start': 0,
         'count': 10,
         'sortOrder': 'ASC',
         'sortBy': '',
         'paginationLimit': 1000
     };
     var asset = require('rxt').asset;
     var assetManager = asset.createUserAssetManager(session, "deviceType");
     var assets = assetManager.advanceSearch({"overview_name": deviceType}, paging);
     if (assets && assets.length > 0) {
         return assets[0].id;
     }
     return 0;
 };
Exemple #10
0
        create: function(options) {
            var url = options.overview_url;
            var name = options.overview_name;
            var version = options.overview_version;
            var userRegistry = getRegistry(ctx.session);
            var utils = Packages.org.wso2.carbon.registry.resource.services.utils.ImportResourceUtil;
            var parentPath = "/_system/governance/trunk/wsdls/".concat(version);
            var mediaType = "application/wsdl+xml";
            var javaArray = Packages.java.lang.reflect.Array;
            var properties = javaArray.newInstance(java.lang.String, 1, 2);
            properties[0][0] = 'version';
            properties[0][1] = version;

            var rxt = require('rxt');
            var am = rxt.asset.createUserAssetManager(ctx.session, this.type);
            var query = {};
            query.overview_name = name;
            query._wildcard = false;
            var assets = am.search(query);
            for (var i = 0; i < assets.length; i++) {
                if (assets[i].version == version) {
                    var msg = "resource already exist with Name \"" + name + "\" and version \"" + version + "\"";
                    var exceptionUtils = require('utils');
                    var exceptionModule = exceptionUtils.exception;
                    var constants = rxt.constants;
                    throw exceptionModule.buildExceptionObject(msg, constants.STATUS_CODES.BAD_REQUEST);
                }
            }

            log.debug("Grouping attribute " + this.rxtManager.groupingAttributes(this.type));

            var path = utils.importResource(parentPath, name, mediaType, '', url, '', userRegistry.registry, properties);

            if(!this.rxtManager.isGroupingEnabled(this.type)){
                log.debug('Omitted grouping');
                return;
            } else {
                log.debug("Grouping seems to be enabled");
            }

            addDefaultPropertyIfNotExist(userRegistry.registry, path, name);
            addDefaultPropertyIfNotExistToThis(userRegistry.registry, path, name, this);
        },
Exemple #11
0
        create: function(options) {
            var log = new Log();
            var name = encodeURIComponent(options.attributes.overview_name);
            var version = options.attributes.overview_version;
            var rxt = require('rxt');
            var am = rxt.asset.createUserAssetManager(ctx.session, this.type);
            var query = {};
            query.overview_name = name;
            query._wildcard = false;
            var assets = am.search(query);
            for (var i = 0; i < assets.length; i++) {
                if (assets[i].version == version) {
                    var msg = "Resource already exist with same Name \"" + decodeURIComponent(name) + "\" and version \"" + version + "\"";
                    var exceptionUtils = require('utils');
                    var exceptionModule = exceptionUtils.exception;
                    var constants = rxt.constants;
                    throw exceptionModule.buildExceptionObject(msg, constants.STATUS_CODES.BAD_REQUEST);
                }
            }

            var isDefault = false;
            var manager = this.am.manager;
            var artifact = createArtifact(manager, options);
            if((options.hasOwnProperty('_default')) &&(options._default===true)){
                delete options._default;
                isDefault = true;
            }
            manager.addGenericArtifact(artifact);
            log.debug('Service successfully created');
            options.id = artifact.getId();
            var asset = this.get(options.id);
            if(!this.rxtManager.isGroupingEnabled(this.type)){
                log.debug('Omitted grouping');
                return;
            }
            if ( (isDefault) || (isOnlyAssetVersion(asset,this)) ){
                this.setAsDefaultAsset(asset);
            }

            var wsdlRelativePath = artifact.getPath();
            var wsdlPath = "/_system/governance" + wsdlRelativePath;
            addDefaultPropertyIfNotExist(getRegistry(ctx.session).registry, wsdlPath, options.attributes.overview_name);
        },
Exemple #12
0
 api.get = function(options, req, res, session) {
     var asset = require('rxt').asset;
     var server = require('store').server;
     var userDetails = server.current(session);
     var assetManager = null;
     var domain = options.domain || "carbon.super";
     var tenantId = carbon.server.tenantId({
         domain: domain
     });
     if (!userDetails) {
         assetManager = asset.createAnonAssetManager(session, options.type, tenantId);
     } else {
         assetManager = asset.createUserAssetManager(session, options.type);
     }
     try {
         var retrievedAsset = assetManager.get(options.id);
         if (!retrievedAsset) {
             // print(responseProcessor.buildSuccessResponse(200, 'No matching asset found by' + options.id, []));
             return null;
         } else {
             var expansionFields = (request.getParameter('fields') || '');
             if (expansionFields) {
                 options.fields = expansionFields.split(',');
                 var assets = [];
                 assets.push(retrievedAsset);
                 options.assets = assets;
                 result = fieldExpansion(options, req, res, session);
             } else {
                 result = retrievedAsset;
             }
             // print(responseProcessor.buildSuccessResponse(200, 'Request Served Sucessfully', result));
         }
     } catch (e) {
         //res.sendError(400, "No matching asset found");
         //   print(responseProcessor.buildErrorResponse(400, "No matching asset found"));
         log.error(e);
         result = null;
     }
     return result;
 };
Exemple #13
0
 api.update = function(options, req, res, session) {
     var asset = require('rxt').asset;
     var am = asset.createUserAssetManager(session, options.type);
     var assetReq = req.getAllParameters('UTF-8');
     var asset = am.importAssetFromHttpRequest(assetReq);
     asset.id = options.id;
     putInStorage(options, asset, am, req, session);
     var original = am.get(options.id);
     putInOldResources(original, asset, am);
     putInUnchangedValues(original, asset, assetReq);
     //If the user has not uploaded any new resources then use the old resources
     if(!asset.name){
         asset.name=am.getName(asset);
     }
     try {
         am.update(asset);
     } catch (e) {
         log.debug('Failed to update the asset ' + stringify(asset));
         log.debug(e);
         asset = null;
     }
     return asset;
 };
Exemple #14
0
 var getAssetCommentManager = function (ctx) {
     var rxt = require('rxt');
     var am = rxt.asset.createUserAssetManager(ctx.session, 'comments');
     return am;
 };
Exemple #15
0
 var assetManager = function(session, type) {
     var am = rxt.asset.createUserAssetManager(session, type);
     return am;
 };
Exemple #16
0
 var restAssetManager = function(session){
     var rxt = require('rxt');
     var am = rxt.asset.createUserAssetManager(session, 'restservice');
     return am;
 };
Exemple #17
0
 var assetManager = function(ctx) {
     var rxt = require('rxt');
     var type = ctx.assetType;
     var am = rxt.asset.createUserAssetManager(ctx.session, type);
     return am;
 };
Exemple #18
0
 api.advanceSearch = function(options, req, res, session) {
     var asset = require('rxt').asset;
     var server = require('store').server;
     var userDetails = server.current(session);
     var assetManager = null;
     var domain = options.domain || carbon.server.superTenant.domain;
     var tenantId = carbon.server.tenantId({
         domain: domain
     });
     var rxtModule = require('rxt');
     var rxtManager = rxtModule.core.rxtManager(tenantId);
     var isGroupingEnabled = false; //Assume that grouping is disabled
     if (!userDetails) {
         assetManager = asset.createAnonAssetManager(session, options.type, tenantId);
     } else {
         assetManager = asset.createUserAssetManager(session, options.type);
     }
     var sort = (request.getParameter("sort") || '');
     var sortOrder = DEFAULT_PAGIN.sortOrder;
     if (sort) {
         var order = sort.charAt(0);
         if (order == '+' || order == ' ') {
             sortOrder = 'ASC';
             sort = sort.slice(1);
         } else if (order == '-') {
             sortOrder = 'DESC';
             sort = sort.slice(1);
         } else {
             sortOrder = DEFAULT_PAGIN.sortOrder;
         }
     }
     var sortBy = (sort || DEFAULT_PAGIN.sortBy);
     var count = (request.getParameter("count") || DEFAULT_PAGIN.count);
     var start = (request.getParameter("start") || DEFAULT_PAGIN.start);
     var paginationLimit = (request.getParameter("paginationLimit") || DEFAULT_PAGIN.paginationLimit);
     var paging = {
         'start': start,
         'count': count,
         'sortOrder': sortOrder,
         'sortBy': sortBy,
         'paginationLimit': paginationLimit
     };
     var q = (request.getParameter("q") || '');
     try {
         if (q) {
             var qString = '{' + q + '}';
             var query = validateQuery(qString);
             query = replaceCategoryQuery(query, rxtManager, options.type);
             isGroupingEnabled  = rxtManager.isGroupingEnabled(options.type);
             if(isGroupingEnabled){
                 query._group = true;
                 query.default = true;
             }
             //query = replaceNameQuery(query, rxtManager, options.type);
             var assets = assetManager.advanceSearch(query, paging); //doesnt work properly
         } else {
             var assets = assetManager.list(paging);
         }
         var expansionFields = (request.getParameter('fields') || '');
         if (expansionFields) {
             options.fields = expansionFields.split(',');
             options.assets = assets;
             result = fieldExpansion(options, req, res, session);
             //return;                    
         } else {
             result = assets;
         }
         //res = responseProcessor.buildSuccessResponse(res,200,result);
     } catch (e) {
         //res = responseProcessor.buildErrorResponse(400, "Your request is malformed");
         //print();
         result = null;
         log.error(e);
     }
     return result;
 };
 var assetManager = function(session, type) {
     var rxt = require('rxt');
     var am = rxt.asset.createUserAssetManager(session, type);
     return am;
 };
Exemple #20
0
 var assetManager = function(req, session, options) {
     var rxtAPI = require('rxt');
     var am = rxtAPI.asset.createUserAssetManager(session, options.type);
     return am;
 };
Exemple #21
0
 var getAssetNoteManager = function (ctx) {
     var rxt = require('rxt');
     var am = rxt.asset.createUserAssetManager(ctx.session, 'note');
     return am;
 };
Exemple #22
0
 var getAssetManager = function(session, type) {
     var asset = require('rxt').asset;
     var am = asset.createUserAssetManager(session, type);
     return am;
 }