From cc77d8e18ff4ba3bdb7eefd8f7b70a786f5bc57f Mon Sep 17 00:00:00 2001 From: Will Abson Date: Fri, 7 Oct 2016 09:55:31 +0100 Subject: [PATCH 1/4] Auto-create default process-instance filters Refs #850 --- .../ng2-activiti-processlist/karma.conf.js | 2 +- .../ng2-activiti-processlist/package.json | 4 +- .../services/activiti-process.service.spec.ts | 36 +++++- .../src/services/activiti-process.service.ts | 105 +++++++++++++++++- 4 files changed, 135 insertions(+), 12 deletions(-) diff --git a/ng2-components/ng2-activiti-processlist/karma.conf.js b/ng2-components/ng2-activiti-processlist/karma.conf.js index dac47d48bb..1cdd488ff6 100644 --- a/ng2-components/ng2-activiti-processlist/karma.conf.js +++ b/ng2-components/ng2-activiti-processlist/karma.conf.js @@ -34,7 +34,6 @@ module.exports = function (config) { 'node_modules/alfresco-js-api/dist/alfresco-js-api.js', {pattern: 'node_modules/ng2-translate/**/*.js', included: false, watched: false}, - {pattern: 'node_modules/ng2-translate/**/*.js.map', included: false, watched: false}, 'karma-test-shim.js', @@ -47,6 +46,7 @@ module.exports = function (config) { { pattern: 'node_modules/ng2-alfresco-core/dist/**/*.*', included: false, served: true, watched: false }, { pattern: 'node_modules/ng2-alfresco-datatable/dist/**/*.*', included: false, served: true, watched: false }, { pattern: 'node_modules/ng2-activiti-tasklist/dist/**/*.js', included: false, served: true, watched: false }, + { pattern: 'node_modules/ng2-activiti-form/dist/**/*.js', included: false, served: true, watched: false }, // paths to support debugging with source maps in dev tools {pattern: 'src/**/*.ts', included: false, watched: false}, diff --git a/ng2-components/ng2-activiti-processlist/package.json b/ng2-components/ng2-activiti-processlist/package.json index 421fc60e3a..f3a476d723 100644 --- a/ng2-components/ng2-activiti-processlist/package.json +++ b/ng2-components/ng2-activiti-processlist/package.json @@ -57,13 +57,13 @@ "alfresco-js-api": "^0.3.0", "core-js": "^2.4.1", "ng2-activiti-tasklist": "0.3.3", + "ng2-activiti-form": "0.3.2", "ng2-alfresco-core": "0.3.2", "ng2-alfresco-datatable": "0.3.2", "ng2-translate": "2.5.0", "reflect-metadata": "^0.1.3", "rxjs": "5.0.0-beta.12", - "systemjs": "0.19.27", - "zone.js": "^0.6.23" + "systemjs": "0.19.27" }, "devDependencies": { "@types/core-js": "^0.9.32", diff --git a/ng2-components/ng2-activiti-processlist/src/services/activiti-process.service.spec.ts b/ng2-components/ng2-activiti-processlist/src/services/activiti-process.service.spec.ts index 1888e6dbad..9f54e41d35 100644 --- a/ng2-components/ng2-activiti-processlist/src/services/activiti-process.service.spec.ts +++ b/ng2-components/ng2-activiti-processlist/src/services/activiti-process.service.spec.ts @@ -25,18 +25,21 @@ import { ActivitiProcessService } from './activiti-process.service'; describe('ActivitiProcessService', () => { - let service, injector; + let service: ActivitiProcessService; + let injector: ReflectiveInjector; + + let fakeEmptyFilters = { + size: 0, total: 0, start: 0, + data: [ ] + }; beforeEach(() => { injector = ReflectiveInjector.resolveAndCreate([ ActivitiProcessService, - AlfrescoSettingsService, AlfrescoApiService, - AlfrescoAuthenticationService + AlfrescoAuthenticationService, + AlfrescoSettingsService ]); - }); - - beforeEach(() => { service = injector.get(ActivitiProcessService); }); @@ -45,4 +48,25 @@ describe('ActivitiProcessService', () => { expect(true).toBe(true); done(); }); + + it('should call createDefaultFilters() when the returned filter list is empty', (done) => { + spyOn(service, 'createDefaultFilters'); + spyOn(service, 'callApiGetUserProcessInstanceFilters').and.returnValue(Promise.resolve(fakeEmptyFilters)); + spyOn(service, 'callApiAddFilter').and.returnValue(Promise.resolve({})); + + service.getProcessFilters(null).subscribe( + (res) => { + expect(service.createDefaultFilters).toHaveBeenCalled(); + done(); + } + ); + }); + + it('should return the default filters', () => { + spyOn(service, 'addFilter').and.returnValue(Promise.resolve({})); + let filters = service.createDefaultFilters(null); + expect(service.addFilter).toHaveBeenCalledTimes(3); + expect(filters).toBeDefined(); + expect(filters.length).toEqual(3); + }); }); diff --git a/ng2-components/ng2-activiti-processlist/src/services/activiti-process.service.ts b/ng2-components/ng2-activiti-processlist/src/services/activiti-process.service.ts index f0e0a2a1d9..b08fa1651f 100644 --- a/ng2-components/ng2-activiti-processlist/src/services/activiti-process.service.ts +++ b/ng2-components/ng2-activiti-processlist/src/services/activiti-process.service.ts @@ -17,7 +17,7 @@ import {AlfrescoAuthenticationService} from 'ng2-alfresco-core'; import {ProcessInstance} from '../models/process-instance'; -import {TaskQueryRequestRepresentationModel} from '../models/filter.model'; +import {TaskQueryRequestRepresentationModel, UserProcessInstanceFilterRepresentationModel} from '../models/filter.model'; import {User} from '../models/user.model'; import {Comment} from '../models/comment.model'; import {Injectable} from '@angular/core'; @@ -59,11 +59,102 @@ export class ActivitiProcessService { let filterOpts = appId ? { appId: appId } : {}; - return Observable.fromPromise(this.authService.getAlfrescoApi().activiti.userFiltersApi.getUserProcessInstanceFilters(filterOpts)) - .map(this.extractData) + return Observable.fromPromise(this.callApiGetUserProcessInstanceFilters(filterOpts)) + .map((response: any) => { + let filters: UserProcessInstanceFilterRepresentationModel[] = []; + response.data.forEach((filter: UserProcessInstanceFilterRepresentationModel) => { + let filterModel = new UserProcessInstanceFilterRepresentationModel(filter); + filters.push(filterModel); + }); + if (response && response.data && response.data.length === 0) { + return this.createDefaultFilters(appId); + } + return filters; + }) .catch(this.handleError); } + /** + * Create and return the default filters + * @param appId + * @returns {UserProcessInstanceFilterRepresentationModel[]} + */ + createDefaultFilters(appId: string): UserProcessInstanceFilterRepresentationModel[] { + let filters: UserProcessInstanceFilterRepresentationModel[] = []; + + let involvedTasksFilter = this.getRunningFilterInstance(appId); + this.addFilter(involvedTasksFilter); + filters.push(involvedTasksFilter); + + let myTasksFilter = this.getCompletedFilterInstance(appId); + this.addFilter(myTasksFilter); + filters.push(myTasksFilter); + + let queuedTasksFilter = this.getAllFilterInstance(appId); + this.addFilter(queuedTasksFilter); + filters.push(queuedTasksFilter); + + return filters; + } + + /** + * Return a static Running filter instance + * @param appId + * @returns {UserProcessInstanceFilterRepresentationModel} + */ + getRunningFilterInstance(appId: string): UserProcessInstanceFilterRepresentationModel { + return new UserProcessInstanceFilterRepresentationModel({ + 'name': 'Running', + 'appId': appId, + 'recent': true, + 'icon': 'glyphicon-random', + 'filter': {'sort': 'created-desc', 'name': '', 'state': 'running'} + }); + } + + /** + * Return a static Completed filter instance + * @param appId + * @returns {UserProcessInstanceFilterRepresentationModel} + */ + getCompletedFilterInstance(appId: string): UserProcessInstanceFilterRepresentationModel { + return new UserProcessInstanceFilterRepresentationModel({ + 'name': 'Completed', + 'appId': appId, + 'recent': false, + 'icon': 'glyphicon-ok-sign', + 'filter': {'sort': 'created-desc', 'name': '', 'state': 'completed'} + }); + } + + /** + * Return a static All filter instance + * @param appId + * @returns {UserProcessInstanceFilterRepresentationModel} + */ + getAllFilterInstance(appId: string): UserProcessInstanceFilterRepresentationModel { + return new UserProcessInstanceFilterRepresentationModel({ + 'name': 'All', + 'appId': appId, + 'recent': true, + 'icon': 'glyphicon-th', + 'filter': {'sort': 'created-desc', 'name': '', 'state': 'all'} + }); + } + + /** + * Add a filter + * @param filter - UserProcessInstanceFilterRepresentationModel + * @returns {UserProcessInstanceFilterRepresentationModel} + */ + addFilter(filter: UserProcessInstanceFilterRepresentationModel): Observable { + return Observable.fromPromise(this.callApiAddFilter(filter)) + .map(res => res) + .map((response: UserProcessInstanceFilterRepresentationModel) => { + return response; + }).catch(this.handleError); + } + getProcess(id: string): Observable { return Observable.fromPromise(this.authService.getAlfrescoApi().activiti.processApi.getProcessInstance(id)) .catch(this.handleError); @@ -152,6 +243,14 @@ export class ActivitiProcessService { .catch(this.handleError); } + private callApiGetUserProcessInstanceFilters(filterOpts) { + return this.authService.getAlfrescoApi().activiti.userFiltersApi.getUserProcessInstanceFilters(filterOpts); + } + + private callApiAddFilter(filter: UserProcessInstanceFilterRepresentationModel) { + return this.authService.getAlfrescoApi().activiti.userFiltersApi.createUserProcessInstanceFilter(filter); + } + private extractData(res: any) { return res.data || {}; } From a1407d8159f0a1160d47bb34de0117bd2735c5bf Mon Sep 17 00:00:00 2001 From: Will Abson Date: Fri, 7 Oct 2016 10:31:08 +0100 Subject: [PATCH 2/4] Fix dependencies list post-merge which was breaking build --- ng2-components/ng2-activiti-processlist/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ng2-components/ng2-activiti-processlist/package.json b/ng2-components/ng2-activiti-processlist/package.json index f3a476d723..421fc60e3a 100644 --- a/ng2-components/ng2-activiti-processlist/package.json +++ b/ng2-components/ng2-activiti-processlist/package.json @@ -57,13 +57,13 @@ "alfresco-js-api": "^0.3.0", "core-js": "^2.4.1", "ng2-activiti-tasklist": "0.3.3", - "ng2-activiti-form": "0.3.2", "ng2-alfresco-core": "0.3.2", "ng2-alfresco-datatable": "0.3.2", "ng2-translate": "2.5.0", "reflect-metadata": "^0.1.3", "rxjs": "5.0.0-beta.12", - "systemjs": "0.19.27" + "systemjs": "0.19.27", + "zone.js": "^0.6.23" }, "devDependencies": { "@types/core-js": "^0.9.32", From 7bb1bfe2204d45d037b70a69ed624164be5222de Mon Sep 17 00:00:00 2001 From: Will Abson Date: Mon, 10 Oct 2016 16:20:55 +0100 Subject: [PATCH 3/4] Update tests to reflect expected external behaviour of the service Refs #850 --- .../services/activiti-process.service.spec.ts | 45 ++++++++++++++----- .../src/services/activiti-process.service.ts | 2 +- 2 files changed, 34 insertions(+), 13 deletions(-) diff --git a/ng2-components/ng2-activiti-processlist/src/services/activiti-process.service.spec.ts b/ng2-components/ng2-activiti-processlist/src/services/activiti-process.service.spec.ts index 9f54e41d35..03c1b709ce 100644 --- a/ng2-components/ng2-activiti-processlist/src/services/activiti-process.service.spec.ts +++ b/ng2-components/ng2-activiti-processlist/src/services/activiti-process.service.spec.ts @@ -21,11 +21,13 @@ import { AlfrescoSettingsService, AlfrescoApiService } from 'ng2-alfresco-core'; +import { UserProcessInstanceFilterRepresentationModel } from '../models/filter.model'; import { ActivitiProcessService } from './activiti-process.service'; describe('ActivitiProcessService', () => { let service: ActivitiProcessService; + let authenticationService: AlfrescoAuthenticationService; let injector: ReflectiveInjector; let fakeEmptyFilters = { @@ -33,6 +35,15 @@ describe('ActivitiProcessService', () => { data: [ ] }; + let fakeApi = { + activiti: { + userFiltersApi: { + getUserProcessInstanceFilters: (filterOpts) => Promise.resolve({}), + createUserProcessInstanceFilter: (filter: UserProcessInstanceFilterRepresentationModel) => Promise.resolve(filter) + } + } + }; + beforeEach(() => { injector = ReflectiveInjector.resolveAndCreate([ ActivitiProcessService, @@ -41,32 +52,42 @@ describe('ActivitiProcessService', () => { AlfrescoSettingsService ]); service = injector.get(ActivitiProcessService); + authenticationService = injector.get(AlfrescoAuthenticationService); }); - it('should get process instances', (done) => { + xit('should get process instances', (done) => { expect(true).toBe(true); done(); }); - it('should call createDefaultFilters() when the returned filter list is empty', (done) => { - spyOn(service, 'createDefaultFilters'); - spyOn(service, 'callApiGetUserProcessInstanceFilters').and.returnValue(Promise.resolve(fakeEmptyFilters)); - spyOn(service, 'callApiAddFilter').and.returnValue(Promise.resolve({})); + it('should return the default filters when none are returned by the API', (done) => { + spyOn(fakeApi.activiti.userFiltersApi, 'getUserProcessInstanceFilters'). + and.returnValue(Promise.resolve(fakeEmptyFilters)); + spyOn(fakeApi.activiti.userFiltersApi, 'createUserProcessInstanceFilter'). + and.returnValue(Promise.resolve({})); + spyOn(authenticationService, 'getAlfrescoApi').and.returnValue(fakeApi); service.getProcessFilters(null).subscribe( (res) => { - expect(service.createDefaultFilters).toHaveBeenCalled(); + expect(fakeApi.activiti.userFiltersApi.createUserProcessInstanceFilter).toHaveBeenCalledTimes(3); done(); } ); }); - it('should return the default filters', () => { - spyOn(service, 'addFilter').and.returnValue(Promise.resolve({})); - let filters = service.createDefaultFilters(null); - expect(service.addFilter).toHaveBeenCalledTimes(3); - expect(filters).toBeDefined(); - expect(filters.length).toEqual(3); + it('should create the default filters when none are returned by the API', (done) => { + spyOn(fakeApi.activiti.userFiltersApi, 'getUserProcessInstanceFilters'). + and.returnValue(Promise.resolve(fakeEmptyFilters)); + spyOn(fakeApi.activiti.userFiltersApi, 'createUserProcessInstanceFilter'). + and.returnValue(Promise.resolve({})); + spyOn(authenticationService, 'getAlfrescoApi').and.returnValue(fakeApi); + + service.getProcessFilters(null).subscribe( + (res) => { + expect(res.length).toBe(3); + done(); + } + ); }); }); diff --git a/ng2-components/ng2-activiti-processlist/src/services/activiti-process.service.ts b/ng2-components/ng2-activiti-processlist/src/services/activiti-process.service.ts index b08fa1651f..dc6e48c00a 100644 --- a/ng2-components/ng2-activiti-processlist/src/services/activiti-process.service.ts +++ b/ng2-components/ng2-activiti-processlist/src/services/activiti-process.service.ts @@ -79,7 +79,7 @@ export class ActivitiProcessService { * @param appId * @returns {UserProcessInstanceFilterRepresentationModel[]} */ - createDefaultFilters(appId: string): UserProcessInstanceFilterRepresentationModel[] { + private createDefaultFilters(appId: string): UserProcessInstanceFilterRepresentationModel[] { let filters: UserProcessInstanceFilterRepresentationModel[] = []; let involvedTasksFilter = this.getRunningFilterInstance(appId); From c196ccefc9e324120f4913ccb900a5ae0d8db09b Mon Sep 17 00:00:00 2001 From: Will Abson Date: Wed, 12 Oct 2016 16:56:54 +0100 Subject: [PATCH 4/4] Add more processlist filter tests Refs #850 --- .../assets/activiti-process.service.mock.ts | 48 ++++++++ .../services/activiti-process.service.spec.ts | 108 +++++++++++------- .../src/services/activiti-process.service.ts | 7 +- 3 files changed, 117 insertions(+), 46 deletions(-) create mode 100644 ng2-components/ng2-activiti-processlist/src/assets/activiti-process.service.mock.ts diff --git a/ng2-components/ng2-activiti-processlist/src/assets/activiti-process.service.mock.ts b/ng2-components/ng2-activiti-processlist/src/assets/activiti-process.service.mock.ts new file mode 100644 index 0000000000..e8890a20c7 --- /dev/null +++ b/ng2-components/ng2-activiti-processlist/src/assets/activiti-process.service.mock.ts @@ -0,0 +1,48 @@ +/*! + * @license + * Copyright 2016 Alfresco Software, Ltd. + * + * Licensed 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. + */ + +import { UserProcessInstanceFilterRepresentationModel } from '../models/filter.model'; + +export var fakeFilters = { + size: 0, total: 0, start: 0, + data: [new UserProcessInstanceFilterRepresentationModel({ + 'name': 'Running', + 'appId': '22', + 'recent': true, + 'icon': 'glyphicon-random', + 'filter': {'sort': 'created-desc', 'name': '', 'state': 'running'} + })] +}; + +export var fakeEmptyFilters = { + size: 0, total: 0, start: 0, + data: [ ] +}; + +export var fakeApi = { + activiti: { + userFiltersApi: { + getUserProcessInstanceFilters: (filterOpts) => Promise.resolve({}), + createUserProcessInstanceFilter: (filter: UserProcessInstanceFilterRepresentationModel) => Promise.resolve(filter) + } + } +}; + +export var fakeError = { + message: null, + messageKey: 'GENERAL.ERROR.FORBIDDEN' +}; diff --git a/ng2-components/ng2-activiti-processlist/src/services/activiti-process.service.spec.ts b/ng2-components/ng2-activiti-processlist/src/services/activiti-process.service.spec.ts index 03c1b709ce..ed93bdbbe2 100644 --- a/ng2-components/ng2-activiti-processlist/src/services/activiti-process.service.spec.ts +++ b/ng2-components/ng2-activiti-processlist/src/services/activiti-process.service.spec.ts @@ -21,29 +21,14 @@ import { AlfrescoSettingsService, AlfrescoApiService } from 'ng2-alfresco-core'; -import { UserProcessInstanceFilterRepresentationModel } from '../models/filter.model'; +import { fakeApi, fakeEmptyFilters, fakeFilters, fakeError } from '../assets/activiti-process.service.mock'; import { ActivitiProcessService } from './activiti-process.service'; describe('ActivitiProcessService', () => { let service: ActivitiProcessService; - let authenticationService: AlfrescoAuthenticationService; let injector: ReflectiveInjector; - let fakeEmptyFilters = { - size: 0, total: 0, start: 0, - data: [ ] - }; - - let fakeApi = { - activiti: { - userFiltersApi: { - getUserProcessInstanceFilters: (filterOpts) => Promise.resolve({}), - createUserProcessInstanceFilter: (filter: UserProcessInstanceFilterRepresentationModel) => Promise.resolve(filter) - } - } - }; - beforeEach(() => { injector = ReflectiveInjector.resolveAndCreate([ ActivitiProcessService, @@ -52,7 +37,8 @@ describe('ActivitiProcessService', () => { AlfrescoSettingsService ]); service = injector.get(ActivitiProcessService); - authenticationService = injector.get(AlfrescoAuthenticationService); + let authenticationService: AlfrescoAuthenticationService = injector.get(AlfrescoAuthenticationService); + spyOn(authenticationService, 'getAlfrescoApi').and.returnValue(fakeApi); }); xit('should get process instances', (done) => { @@ -61,33 +47,71 @@ describe('ActivitiProcessService', () => { done(); }); - it('should return the default filters when none are returned by the API', (done) => { - spyOn(fakeApi.activiti.userFiltersApi, 'getUserProcessInstanceFilters'). - and.returnValue(Promise.resolve(fakeEmptyFilters)); - spyOn(fakeApi.activiti.userFiltersApi, 'createUserProcessInstanceFilter'). - and.returnValue(Promise.resolve({})); - spyOn(authenticationService, 'getAlfrescoApi').and.returnValue(fakeApi); + describe('filters', () => { - service.getProcessFilters(null).subscribe( - (res) => { - expect(fakeApi.activiti.userFiltersApi.createUserProcessInstanceFilter).toHaveBeenCalledTimes(3); - done(); - } - ); - }); + let userFiltersApi = fakeApi.activiti.userFiltersApi; + let getFilters: any, createFilter: any; - it('should create the default filters when none are returned by the API', (done) => { - spyOn(fakeApi.activiti.userFiltersApi, 'getUserProcessInstanceFilters'). - and.returnValue(Promise.resolve(fakeEmptyFilters)); - spyOn(fakeApi.activiti.userFiltersApi, 'createUserProcessInstanceFilter'). - and.returnValue(Promise.resolve({})); - spyOn(authenticationService, 'getAlfrescoApi').and.returnValue(fakeApi); + beforeEach(() => { + getFilters = spyOn(userFiltersApi, 'getUserProcessInstanceFilters'); + createFilter = spyOn(userFiltersApi, 'createUserProcessInstanceFilter'); + }); - service.getProcessFilters(null).subscribe( - (res) => { - expect(res.length).toBe(3); - done(); - } - ); + it('should call the API without an appId defined by default', () => { + getFilters = getFilters.and.returnValue(Promise.resolve(fakeFilters)); + service.getProcessFilters(null); + expect(getFilters).toHaveBeenCalledWith({}); + }); + + it('should call the API with the correct appId when specified', () => { + getFilters = getFilters.and.returnValue(Promise.resolve(fakeFilters)); + service.getProcessFilters('226'); + expect(getFilters).toHaveBeenCalledWith({appId: '226'}); + }); + + it('should return the non-empty filter list that is returned by the API', (done) => { + getFilters = getFilters.and.returnValue(Promise.resolve(fakeFilters)); + service.getProcessFilters(null).subscribe( + (res) => { + expect(res.length).toBe(1); + done(); + } + ); + }); + + it('should return the default filters when none are returned by the API', (done) => { + getFilters = getFilters.and.returnValue(Promise.resolve(fakeEmptyFilters)); + + service.getProcessFilters(null).subscribe( + (res) => { + expect(res.length).toBe(3); + done(); + } + ); + }); + + it('should create the default filters when none are returned by the API', (done) => { + getFilters = getFilters.and.returnValue(Promise.resolve(fakeEmptyFilters)); + createFilter = createFilter.and.returnValue(Promise.resolve({})); + + service.getProcessFilters(null).subscribe( + (res) => { + expect(createFilter).toHaveBeenCalledTimes(3); + done(); + } + ); + }); + + it('should pass on any error that is returned by the API', (done) => { + getFilters = getFilters.and.returnValue(Promise.reject(fakeError)); + + service.getProcessFilters(null).subscribe( + () => {}, + (res) => { + expect(res).toBe(fakeError); + done(); + } + ); + }); }); }); diff --git a/ng2-components/ng2-activiti-processlist/src/services/activiti-process.service.ts b/ng2-components/ng2-activiti-processlist/src/services/activiti-process.service.ts index dc6e48c00a..ec301c890e 100644 --- a/ng2-components/ng2-activiti-processlist/src/services/activiti-process.service.ts +++ b/ng2-components/ng2-activiti-processlist/src/services/activiti-process.service.ts @@ -102,7 +102,7 @@ export class ActivitiProcessService { * @param appId * @returns {UserProcessInstanceFilterRepresentationModel} */ - getRunningFilterInstance(appId: string): UserProcessInstanceFilterRepresentationModel { + private getRunningFilterInstance(appId: string): UserProcessInstanceFilterRepresentationModel { return new UserProcessInstanceFilterRepresentationModel({ 'name': 'Running', 'appId': appId, @@ -117,7 +117,7 @@ export class ActivitiProcessService { * @param appId * @returns {UserProcessInstanceFilterRepresentationModel} */ - getCompletedFilterInstance(appId: string): UserProcessInstanceFilterRepresentationModel { + private getCompletedFilterInstance(appId: string): UserProcessInstanceFilterRepresentationModel { return new UserProcessInstanceFilterRepresentationModel({ 'name': 'Completed', 'appId': appId, @@ -132,7 +132,7 @@ export class ActivitiProcessService { * @param appId * @returns {UserProcessInstanceFilterRepresentationModel} */ - getAllFilterInstance(appId: string): UserProcessInstanceFilterRepresentationModel { + private getAllFilterInstance(appId: string): UserProcessInstanceFilterRepresentationModel { return new UserProcessInstanceFilterRepresentationModel({ 'name': 'All', 'appId': appId, @@ -256,7 +256,6 @@ export class ActivitiProcessService { } private handleError(error: any) { - console.error(error); return Observable.throw(error || 'Server error'); } }