blob: 03d3b04a4066fe24949a7d57837cc04e1df3e58d [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
define(function(require){
'use strict';
var VXAssetBase = require('model_bases/VXAssetBase');
var XAUtils = require('utils/XAUtils');
var XAEnums = require('utils/XAEnums');
var localization= require('utils/XALangSupport');
var VXAsset = VXAssetBase.extend(
/** @lends VXAsset.prototype */
{
/**
* VXAsset initialize method
* @augments VXAssetBase
* @constructs
*/
initialize: function() {
this.modelName = 'VXAsset';
this.bindErrorEvents();
},
/**
* @function schema
* This method is meant to be used by UI,
* by default we will remove the unrequired attributes from serverSchema
*/
schemaBase : function(){
var attrs = _.omit(this.serverSchema, 'id', 'createDate', 'updateDate', "version",
"displayOption", "permList", "forUserId", "status", "priGrpId",
"updatedBy","isSystem");
_.each(attrs, function(o){
o.type = 'Hidden';
});
// Overwrite your schema definition here
return _.extend(attrs,{
name : {
type : 'Text',
title : 'Repository Name *',
validators : ['required'],
editorAttrs :{ maxlength: 255},
},
description : {
type : 'TextArea',
title : 'Description',
validators : []
},
activeStatus : {
type: 'Radio',
options : function(callback, editor){
var activeStatus = _.filter(XAEnums.ActiveStatus,function(m){return m.label != 'Deleted'});
var nvPairs = XAUtils.enumToSelectPairs(activeStatus);
callback(_.sortBy(nvPairs, function(n){ return !n.val; }));
}
},
assetType : {
type : 'Select',
options : function(callback, editor){
var assetTypes = _.filter(XAEnums.AssetType,function(m){return m.label != 'Unknown'});
var nvPairs = XAUtils.enumToSelectPairs(assetTypes);
callback(nvPairs);
},
title : localization.tt('lbl.assetType'),
editorAttrs:{'disabled' : true}
}
});
},
/** This models toString() */
toString : function(){
return this.get('name');
},
propertiesNameMap : {
userName : "username",
passwordKeytabfile : "password",
fsDefaultName : "fs.default.name",
authorization : "hadoop.security.authorization",
authentication : "hadoop.security.authentication",
auth_to_local : "hadoop.security.auth_to_local",
datanode : "dfs.datanode.kerberos.principal",
namenode : "dfs.namenode.kerberos.principal",
secNamenode : "dfs.secondary.namenode.kerberos.principal",
hadoopRpcProtection : "hadoop.rpc.protection",
//hive
driverClassName : "jdbc.driverClassName",
url : "jdbc.url",
masterKerberos : 'hbase.master.kerberos.principal',
rpcEngine : 'hbase.rpc.engine',
rpcProtection : 'hbase.rpc.protection',
securityAuthentication : 'hbase.security.authentication',
zookeeperProperty : 'hbase.zookeeper.property.clientPort',
zookeeperQuorum : 'hbase.zookeeper.quorum',
//hbase
zookeeperZnodeParent : 'zookeeper.znode.parent',
//knox
knoxUrl :'knox.url',
//Storm
nimbusUrl :'nimbus.url',
commonnameforcertificate: 'commonNameForCertificate'
}
}, {
// static class members
});
return VXAsset;
});