blob: 27972230c652bdd09d30f2d7dc5b6819208aef78 [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.
*/
(function() {
'use strict';
var featureControllers = angular.module('featureControllers');
var feature = featureControllers.register("metadata");
// ==============================================================
// = Function =
// ==============================================================
// ==============================================================
// = Metadata =
// ==============================================================
// ======================= Policy Summary =======================
feature.navItem("streamList", "Metadata", "bullseye");
feature.controller('streamList', function(PageConfig, Site, $scope, $q, Application, Entities) {
PageConfig.hideSite = true;
$scope.streams = {};
$scope._streamEntity = null;
$scope._streamEntityLock = false;
// =========================================== List ===========================================
var _streamList = Entities.queryEntities("AlertStreamService", {dataSource: Application.current().tags.application});
var _streamSchemaList = Entities.queryEntities("AlertStreamSchemaService", {dataSource: Application.current().tags.application});
$scope.streamList = _streamList;
$scope.streamSchemaList = _streamSchemaList;
_streamList._promise.then(function() {
$.each(_streamList, function(i, stream) {
stream.metaList = [];
$scope.streams[stream.tags.dataSource + "_" + stream.tags.streamName] = stream;
});
});
$q.all([_streamList._promise, _streamSchemaList._promise]).then(function() {
$.each(_streamSchemaList, function(i, meta) {
var _stream = $scope.streams[meta.tags.dataSource + "_" + meta.tags.streamName];
if(_stream) {
_stream.metaList.push(meta);
} else {
console.warn("[Meta] Stream not match:", meta.tags.dataSource + "_" + meta.tags.streamName);
}
});
});
});
})();