[PORTAL-7] Features and repairs from 1707 47/5947/2
authorChristopher Lott (cl778h) <clott@research.att.com>
Thu, 11 May 2017 13:38:56 +0000 (09:38 -0400)
committerChristopher Lott (cl778h) <clott@research.att.com>
Thu, 11 May 2017 14:08:34 +0000 (10:08 -0400)
This merges latest changes made to Raptor and other features.

Change-Id: I3a58f88e988ddadf52e1c0c782cdccd2b2ecf5e9
Signed-off-by: Christopher Lott (cl778h) <clott@research.att.com>
233 files changed:
.gitattributes [new file with mode: 0644]
.gitignore
.idea/ecompsdkos.iml [deleted file]
.idea/misc.xml [deleted file]
.idea/modules.xml [deleted file]
.idea/vcs.xml [deleted file]
ecomp-sdk/.gitignore [new file with mode: 0644]
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/AntBuild.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/RaptorObject.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/config/ConfigLoader.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/controller/Action.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/controller/ActionHandler.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/controller/ActionMapping.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/controller/Controller.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/controller/ErrorHandler.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/controller/WizardProcessor.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/controller/WizardSequence.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/controller/WizardSequenceCrossTab.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/controller/WizardSequenceDashboard.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/controller/WizardSequenceLinear.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/controller/WizardSequenceSQLBasedCrossTab.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/controller/WizardSequenceSQLBasedHive.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/controller/WizardSequenceSQLBasedLinear.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/controller/WizardSequenceSQLBasedLinearDatamining.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/error/RaptorException.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/error/RaptorRuntimeException.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/error/RaptorSchedularException.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/error/ReportSQLException.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/error/UserAccessException.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/error/UserDefinedException.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/error/ValidationException.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/gmap/line/Line.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/gmap/line/LineCollection.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/gmap/line/LineInfo.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/gmap/map/ColorProperties.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/gmap/map/GMapProperties.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/gmap/map/GeoCoordinate.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/gmap/map/MapConstant.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/gmap/map/NovaMap.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/gmap/map/layer/SwingLayer.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/gmap/node/Node.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/gmap/node/NodeCollection.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/gmap/node/NodeInfo.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/gmap/utils/MapUtils.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/gmap/utils/SwingWorker.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/DataCache.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/ReportHandler.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/ReportLoader.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/SearchHandler.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ChartSeqComparator.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameColLookup.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameList.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameLookup.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameSql.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/IdNameValue.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/NameComparator.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/OrderBySeqComparator.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/OrderSeqComparator.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ReportSecurity.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/base/ReportWrapper.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/DBColumnInfo.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/DrillDownParamDef.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/Marker.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/ReportDefinition.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/ReportLogEntry.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/ReportMap.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/ReportSchedule.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/SecurityEntry.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/TableJoin.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/TableSource.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/wizard/ColumnEditJSON.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/wizard/ColumnJSON.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/wizard/DefinitionJSON.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/wizard/ElementJSON.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/wizard/FormEditJSON.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/wizard/IdNameBooleanJSON.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/wizard/ImportJSON.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/wizard/ListJSON.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/wizard/MessageJSON.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/wizard/NameBooleanJSON.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/wizard/QueryJSON.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/wizard/QueryResultJSON.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/wizard/RaptorError.java [new file with mode: 0644]
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/wizard/RaptorResponse.java [new file with mode: 0644]
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/wizard/SearchFieldJSON.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/wizard/WizardJSON.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/pdf/PageEvent.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/pdf/PdfBean.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/pdf/PdfReportHandler.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/BarChartOptions.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/CategoryAxisJSON.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ChartD3Helper.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ChartJSON.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ChartJSONHelper.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ChartWebRuntime.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/CommonChartOptions.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ErrorJSONRuntime.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/FlexTimeSeriesChartOptions.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/FormField.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/FormatProcessor.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/Item.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/LookupDBInfo.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/RangeAxisJSON.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ReportFormFields.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ReportJSONRuntime.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ReportParamDateValueParser.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ReportParamValues.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ReportParamValuesForPDFExcel.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/ReportRuntime.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/TimeSeriesChartOptions.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/runtime/VisualManager.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/ReportSearchResult.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/ReportSearchResultJSON.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/SearchResult.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/SearchResultColumn.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/SearchResultField.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/SearchResultJSON.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/search/SearchResultRow.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/scheduler/SchedulerUtil.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/scheduler/SendEmail.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/scheduler/SendNotifications.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/AppUtils.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/ConnectionUtils.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/DbUtils.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/ExecuteQuery.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/Globals.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/IAppUtils.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/IDbUtils.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/RDbUtils.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/RemDbUtils.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/fusion/AntBuild.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/fusion/AppUtils.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/fusion/DbUtils.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/fusion/RemoteDbUtils.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/fusion/adapter/AdapterSessionFactoryContainer.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/fusion/adapter/DateUtils.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/fusion/adapter/FusionAdapter.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/fusion/adapter/IdName.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/fusion/adapter/Item.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/fusion/adapter/Lookup.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/fusion/adapter/RaptorAdapter.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/fusion/adapter/SpringContext.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/fusion/controller/FileServletController.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/fusion/domain/CR_Report.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/fusion/domain/QuickLink.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/fusion/domain/RaptorSearch.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/fusion/domain/ReportInfo.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/fusion/service/RaptorService.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/fusion/service/RaptorServiceImpl.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/fusion/web/RaptorController.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/fusion/web/RaptorControllerAsync.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/system/fusion/web/ReportsSearchListController.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/util/AppConstants.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/util/DataSet.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/util/ExcelColorDef.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/util/HtmlStripper.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/util/Log.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/util/RemDbInfo.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/util/SQLCorrector.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/util/Scheduler.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/util/Utils.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/util/XSSFilter.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/util/jar/ExtractJar.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/util/upgrade/SystemUpgrade.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/view/ColumnHeader.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/view/ColumnHeaderRow.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/view/ColumnVisual.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/view/CrossTabColumnValues.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/view/CrossTabOrderManager.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/view/CrossTabTotalValue.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/view/DataRow.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/view/DataValue.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/view/HtmlFormatter.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/view/ReportColumnHeaderRows.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/view/ReportData.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/view/ReportDataRows.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/view/ReportRowHeaderCols.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/view/RowHeader.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/view/RowHeaderCol.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/xmlobj/ChartAdditionalOptions.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/xmlobj/ChartDrillFormfield.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/xmlobj/ChartDrillOptions.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/xmlobj/ColFilterList.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/xmlobj/ColFilterType.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/xmlobj/CustomReportType.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/xmlobj/DashboardEditorList.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/xmlobj/DashboardEditorReport.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/xmlobj/DashboardReports.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/xmlobj/DashboardReportsNew.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/xmlobj/DataColumnList.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/xmlobj/DataColumnType.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/xmlobj/DataSourceList.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/xmlobj/DataSourceType.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/xmlobj/DataminingOptions.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/xmlobj/FormFieldList.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/xmlobj/FormFieldType.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/xmlobj/FormatList.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/xmlobj/FormatType.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/xmlobj/JavascriptItemType.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/xmlobj/JavascriptList.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/xmlobj/Marker.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/xmlobj/ObjectFactory.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/xmlobj/PDFAdditionalOptions.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/xmlobj/PredefinedValueList.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/xmlobj/ReportMap.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/xmlobj/Reports.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/xmlobj/SemaphoreList.java
ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/xmlobj/SemaphoreType.java
ecomp-sdk/epsdk-app-common/db-scripts/EcompSdkDMLMySql_1707_Common.sql
ecomp-sdk/epsdk-app-os/README.md
ecomp-sdk/epsdk-app-os/db-scripts/EcompSdkDMLMySql_1707_OS.sql
ecomp-sdk/epsdk-app-os/db-scripts/EcompSdkMySql_Rollback_1707_to_1610.2_OS.sql
ecomp-sdk/epsdk-app-os/db-scripts/EcompSdkMySql_Upgrade_1610.2_to_1707_OS.sql
ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-chart-controller.js [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-router.js
ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-run-controller.js
ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-search-controller.js
ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-step-controller.js
ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-directives/ds2Header.js
ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-directives/ds2LeftMenu.js
ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/ds2-raptor-report/raptorReportFactory.js
ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/headerServiceDS2.js
ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-services/leftMenuServiceDS2.js
ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/all-reports.html
ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-wizard-col-edit.html
ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-wizard-drilldown-edit.html [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/report-chart-wizard.html [new file with mode: 0644]
ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/report-run.html
ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/wz_steps/report-step.html
ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2Header.html
ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/styles/ecomp.css
ecomp-sdk/epsdk-app-overlay/src/main/webapp/static/fusion/raptor/ebz/date_time_picker.js [deleted file]
ecomp-sdk/epsdk-core/README.md

diff --git a/.gitattributes b/.gitattributes
new file mode 100644 (file)
index 0000000..6810763
--- /dev/null
@@ -0,0 +1,14 @@
+# Auto detect text files and perform LF normalization
+*        text=auto
+
+*.css    text
+*.htm    text diff=html
+*.html   text diff=html
+*.java   text diff=java
+*.js     text
+*.jsp    text
+*.less   text
+*.properties text
+*.sql    text
+*.xml    text
+
index eb3edf4..485dee6 100644 (file)
@@ -1 +1 @@
-.idea/workspace.xml
\ No newline at end of file
+.idea
diff --git a/.idea/ecompsdkos.iml b/.idea/ecompsdkos.iml
deleted file mode 100644 (file)
index d6ebd48..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module type="JAVA_MODULE" version="4">
-  <component name="NewModuleRootManager" inherit-compiler-output="true">
-    <exclude-output />
-    <content url="file://$MODULE_DIR$" />
-    <orderEntry type="inheritedJdk" />
-    <orderEntry type="sourceFolder" forTests="false" />
-  </component>
-</module>
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
deleted file mode 100644 (file)
index 107a11b..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
-  <component name="ProjectRootManager" version="2" default="true" />
-  <component name="masterDetails">
-    <states>
-      <state key="ProjectJDKs.UI">
-        <settings>
-          <splitter-proportions>
-            <option name="proportions">
-              <list>
-                <option value="0.2" />
-              </list>
-            </option>
-          </splitter-proportions>
-        </settings>
-      </state>
-    </states>
-  </component>
-</project>
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
deleted file mode 100644 (file)
index ed67d0f..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
-  <component name="ProjectModuleManager">
-    <modules>
-      <module fileurl="file://$PROJECT_DIR$/.idea/ecompsdkos.iml" filepath="$PROJECT_DIR$/.idea/ecompsdkos.iml" />
-    </modules>
-  </component>
-</project>
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
deleted file mode 100644 (file)
index 35eb1dd..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
-  <component name="VcsDirectoryMappings">
-    <mapping directory="" vcs="Git" />
-  </component>
-</project>
\ No newline at end of file
diff --git a/ecomp-sdk/.gitignore b/ecomp-sdk/.gitignore
new file mode 100644 (file)
index 0000000..442c951
--- /dev/null
@@ -0,0 +1,2 @@
+.project
+/.settings
index 7065c9b..d6904b8 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 9a45c19..111409f 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 2aa8b7b..edbd396 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 853901f..5591b43 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index d030c99..ca3a39d 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 723b5fd..4664141 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index c233b4a..2776e18 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 75d88d0..165d765 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index b193ec4..39cd5ba 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 8130890..7dc677b 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 686c8b7..bd0d2fb 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index d8424f2..a70659f 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 2015a7b..f0c912b 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index db2f8c6..1ea0d83 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 7f64cb9..7bf6bab 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index a19c66b..a885d13 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 5c8759d..e310605 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index f0de41f..be30afa 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 98938f4..6a0c8fb 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 3339ba5..a849644 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index f78810e..56688c5 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index ed88f5f..4df2905 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 0145ecf..e05c31b 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index ee26abd..c7aabc5 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 0044560..5e9b840 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 249b277..18ccba6 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index fd9ec94..b48264f 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index a87af42..3094dcd 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 036e83b..2818d99 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index ed3fe8b..00c694d 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index cef1f4a..b0fd59c 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index ba24506..04a0416 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 9100637..1c2ebed 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index a58eb45..8b0c66a 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 35801a4..f5f301d 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index d1676e0..06dedd1 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index b281c23..d3b7e89 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 26cbb11..66fd900 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 2757c59..b62853d 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index be950b9..98e0b0f 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index ddbf442..6ad2673 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 1a15e93..eb9ceb6 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 7b15db5..5ec6edf 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 9632663..0c149a4 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 3e6d6f4..1a502fa 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 73f65c8..7bee36e 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 602025f..173cfb1 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 763a44c..d7566ab 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 4ccff33..84be8be 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 930f508..7ea43c9 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index e6c013d..e1f6d52 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 40a3f26..0466c1c 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 1638a39..2796724 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 4496fdc..441cd23 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 8972e54..d6db956 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index a9d9be8..65153fc 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 9d66717..1e03b48 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index db69e9d..8f6cabc 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index e3c417a..606157e 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index d95c91b..8f20810 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index c5edb12..4e4b758 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 6022d5a..e50c9b9 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index dc5b385..9a4d114 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 4e08a69..7f203d3 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
@@ -34,10 +34,24 @@ public class ColumnEditJSON implements WizardJSON {
        private String drilldownURL;
        private String drilldownParams;
        private String drilldownType;
+       private String errorMessage;
+       private String errorStackTrace;
        
        public String getTabId() {
                return tabId;
        }
+       public String getErrorMessage() {
+               return errorMessage;
+       }
+       public void setErrorMessage(String errorMessage) {
+               this.errorMessage = errorMessage;
+       }
+       public String getErrorStackTrace() {
+               return errorStackTrace;
+       }
+       public void setErrorStackTrace(String errorStackTrace) {
+               this.errorStackTrace = errorStackTrace;
+       }
        public void setTabId(String tabId) {
                this.tabId = tabId;
        }
@@ -101,10 +115,5 @@ public class ColumnEditJSON implements WizardJSON {
        public void setDrilldownType(String drilldownType) {
                this.drilldownType = drilldownType;
        }
-       
-       
-       
-       
-       
-       
+
 }
index 8f83c3e..185b2c1 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 6821100..2368fcc 100644 (file)
@@ -1,3 +1,22 @@
+/*-
+ * ================================================================================
+ * ECOMP Portal SDK
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property
+ * ================================================================================
+ * 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.
+ * ================================================================================
+ */
 package org.openecomp.portalsdk.analytics.model.definition.wizard;
 
 import java.util.List;
index aba1e8b..bf9d34b 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 47b6d1b..86d173e 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
@@ -35,8 +35,29 @@ public class FormEditJSON implements WizardJSON {
        private String fieldSQL;
        private String validationType;
        private List<IdNameBooleanJSON> predefinedValueList;
+       private String message;
+       private String errorMessage;
+       private String errorStackTrace;
        
        
+       public String getMessage() {
+               return message;
+       }
+       public void setMessage(String message) {
+               this.message = message;
+       }
+       public String getErrorMessage() {
+               return errorMessage;
+       }
+       public void setErrorMessage(String errorMessage) {
+               this.errorMessage = errorMessage;
+       }
+       public String getErrorStackTrace() {
+               return errorStackTrace;
+       }
+       public void setErrorStackTrace(String errorStackTrace) {
+               this.errorStackTrace = errorStackTrace;
+       }
        public String getTabId() {
                return tabId;
        }
@@ -106,8 +127,5 @@ public class FormEditJSON implements WizardJSON {
        public void setFieldSQL(String fieldSQL) {
                this.fieldSQL = fieldSQL;
        }
-       
-       
-       
-       
+
 }
index 50add1f..eddf77d 100644 (file)
@@ -1,3 +1,22 @@
+/*-
+ * ================================================================================
+ * ECOMP Portal SDK
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property
+ * ================================================================================
+ * 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.
+ * ================================================================================
+ */
 package org.openecomp.portalsdk.analytics.model.definition.wizard;
 
 public class IdNameBooleanJSON {
@@ -25,8 +44,5 @@ public class IdNameBooleanJSON {
        public void setSelected(boolean selected) {
                this.selected = selected;
        }
-       
-       
-       
-       
+
 }
index 282b7c4..dcc8a5d 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 34c2c99..a21df96 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index d395544..5c81ddf 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 7f191d9..5b9270b 100644 (file)
@@ -1,3 +1,22 @@
+/*-
+ * ================================================================================
+ * ECOMP Portal SDK
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property
+ * ================================================================================
+ * 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.
+ * ================================================================================
+ */
 package org.openecomp.portalsdk.analytics.model.definition.wizard;
 
 public class NameBooleanJSON {
@@ -18,8 +37,5 @@ public class NameBooleanJSON {
        public void setSelected(boolean selected) {
                this.selected = selected;
        }
-       
-       
-       
-       
+
 }
index ece9a02..7011935 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 41c8bca..a0909bf 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/wizard/RaptorError.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/wizard/RaptorError.java
new file mode 100644 (file)
index 0000000..44b8d5e
--- /dev/null
@@ -0,0 +1,31 @@
+/*-
+ * ================================================================================
+ * ECOMP Portal SDK
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property
+ * ================================================================================
+ * 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.
+ * ================================================================================
+ */
+package org.openecomp.portalsdk.analytics.model.definition.wizard;
+
+public class RaptorError extends RaptorResponse{
+       public RaptorError(String theMessage) {
+               error().put("message", theMessage);
+       }
+
+       public RaptorError(String theMessage, Throwable theError) {
+               error().put("message", theMessage)
+                                        .put("exception", theError.toString());
+       }
+}
diff --git a/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/wizard/RaptorResponse.java b/ecomp-sdk/epsdk-analytics/src/main/java/org/openecomp/portalsdk/analytics/model/definition/wizard/RaptorResponse.java
new file mode 100644 (file)
index 0000000..f2e94ad
--- /dev/null
@@ -0,0 +1,50 @@
+/*-
+ * ================================================================================
+ * ECOMP Portal SDK
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property
+ * ================================================================================
+ * 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.
+ * ================================================================================
+ */
+package org.openecomp.portalsdk.analytics.model.definition.wizard;
+
+import org.json.JSONObject;
+
+import com.fasterxml.jackson.annotation.JsonRawValue;
+
+public class RaptorResponse {
+       private JSONObject data = new JSONObject(),
+                                error = new JSONObject();
+       
+       public RaptorResponse() {
+       }
+       
+       public JSONObject data() {
+               return this.data;
+       }
+       
+       @JsonRawValue
+       public String getData() {
+               return this.data.toString();
+       }
+       
+       public JSONObject error() {
+               return this.error;
+       }
+       
+       @JsonRawValue
+       public String getError() {
+               return this.error.toString();
+       }
+}
index 3689619..c8ab09a 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 8ef937c..d2142e9 100644 (file)
@@ -1,3 +1,22 @@
+/*-
+ * ================================================================================
+ * ECOMP Portal SDK
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property
+ * ================================================================================
+ * 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.
+ * ================================================================================
+ */
 package org.openecomp.portalsdk.analytics.model.definition.wizard;
 
 public interface WizardJSON {
@@ -6,4 +25,5 @@ public interface WizardJSON {
        public void setTabName(String tabName);
        public String getTabId();
        public void setTabId(String tabId);
+    
 }
index c724a20..aefeb66 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 31b2643..0e8dc6e 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index c27ba0c..9e9b255 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 7e99dc6..3c04059 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 93fab6e..868a154 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 18d3127..22602e0 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index c03fb7a..8ec6bc1 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index d08626c..94671cf 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index b035187..b3e8e67 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index e3e9fc6..163f818 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 04068ef..189a9fb 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 3b3060b..0669bb7 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 6d9730a..8f06308 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 410c0cd..b08feb1 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 1bc3bbb..7ffaa3f 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 118356a..e733e84 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 9b5bf8d..9660e7f 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index bce35a6..fd2dc70 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 78f413a..0239147 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 30c76cd..5ebf34b 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index ebc103d..8cdd30a 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index f4bb980..b1c54fa 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 78097d6..bd78085 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 9e6f657..b1cdedf 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 07929ea..7b5ed44 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 567dfeb..91e8e9d 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 1c170d3..379a0cd 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 7d33cab..a8dfba7 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 3c0f68e..1afe5ec 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index bae32b1..152ef3a 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index fb565a8..c0d635d 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 8f53f0b..f6696cc 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index e3f2694..0ff6b2d 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 28208bc..1ace58d 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index fefad84..bb0e14a 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 2b87b1a..6da2fef 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 58fb3f2..8c824ea 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 1a80f65..1eb3a2c 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 5536af0..a111a81 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index ec6de3a..77487df 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index e459dde..1cbdf4a 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 9ec2a40..367f6be 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 7351fb4..d6fd720 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 733a0a3..b29760a 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index b5aba1d..27c09b5 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 6ee8e5d..8916c5e 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 5232fc7..fc52e0d 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 85eda25..afebbc8 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 6a70d25..e9323e6 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index a9ea097..a4113d3 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 4b6c6d7..68f9471 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index c46d673..17264dd 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 71663bc..5d30774 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index c77835e..f6525fc 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 2111935..3f13de7 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 1d46290..df53c16 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 203ee9c..78e3ca5 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index a35d6ce..4ec7a54 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 75b2d11..e595e91 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index cb85f36..08191fe 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index e11f3bc..2511989 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index afde57e..36bbcf9 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 1427a2e..0f66b40 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 4b425ab..17052f4 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 3afe352..0194b52 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
@@ -32,19 +32,21 @@ import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.Vector;
 
 import javax.servlet.ServletContext;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 
-import org.openecomp.portalsdk.analytics.controller.Action; 
+import org.openecomp.portalsdk.analytics.controller.Action;
 import org.openecomp.portalsdk.analytics.controller.ErrorHandler;
 import org.openecomp.portalsdk.analytics.error.RaptorException;
 import org.openecomp.portalsdk.analytics.error.RaptorRuntimeException;
 import org.openecomp.portalsdk.analytics.error.ReportSQLException;
-import org.openecomp.portalsdk.analytics.error.UserDefinedException;
+import org.openecomp.portalsdk.analytics.model.DataCache;
 import org.openecomp.portalsdk.analytics.model.ReportHandler;
+import org.openecomp.portalsdk.analytics.model.base.IdNameValue;
 import org.openecomp.portalsdk.analytics.model.definition.ReportDefinition;
 import org.openecomp.portalsdk.analytics.model.definition.wizard.ColumnEditJSON;
 import org.openecomp.portalsdk.analytics.model.definition.wizard.ColumnJSON;
@@ -56,18 +58,17 @@ import org.openecomp.portalsdk.analytics.model.definition.wizard.MessageJSON;
 import org.openecomp.portalsdk.analytics.model.definition.wizard.NameBooleanJSON;
 import org.openecomp.portalsdk.analytics.model.definition.wizard.QueryJSON;
 import org.openecomp.portalsdk.analytics.model.definition.wizard.QueryResultJSON;
+import org.openecomp.portalsdk.analytics.model.definition.wizard.RaptorResponse;
 import org.openecomp.portalsdk.analytics.model.definition.wizard.SearchFieldJSON;
 import org.openecomp.portalsdk.analytics.model.definition.wizard.WizardJSON;
 import org.openecomp.portalsdk.analytics.model.pdf.PdfReportHandler;
 import org.openecomp.portalsdk.analytics.model.runtime.CategoryAxisJSON;
 import org.openecomp.portalsdk.analytics.model.runtime.ChartJSON;
-
 import org.openecomp.portalsdk.analytics.model.runtime.ErrorJSONRuntime;
 import org.openecomp.portalsdk.analytics.model.runtime.FormField;
 import org.openecomp.portalsdk.analytics.model.runtime.RangeAxisJSON;
 import org.openecomp.portalsdk.analytics.model.runtime.ReportFormFields;
 import org.openecomp.portalsdk.analytics.model.runtime.ReportRuntime;
-
 import org.openecomp.portalsdk.analytics.system.AppUtils;
 import org.openecomp.portalsdk.analytics.system.ConnectionUtils;
 import org.openecomp.portalsdk.analytics.system.Globals;
@@ -77,11 +78,10 @@ import org.openecomp.portalsdk.analytics.util.Utils;
 import org.openecomp.portalsdk.analytics.util.XSSFilter;
 import org.openecomp.portalsdk.analytics.view.ReportData;
 import org.openecomp.portalsdk.analytics.xmlobj.DataColumnType;
-import org.openecomp.portalsdk.analytics.xmlobj.FormFieldList;
 import org.openecomp.portalsdk.analytics.xmlobj.FormFieldType;
 import org.openecomp.portalsdk.analytics.xmlobj.ObjectFactory;
 import org.openecomp.portalsdk.analytics.xmlobj.PredefinedValueList;
-import org.openecomp.portalsdk.core.controller.UnRestrictedBaseController;
+import org.openecomp.portalsdk.core.controller.RestrictedBaseController;
 import org.openecomp.portalsdk.core.domain.User;
 import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate;
 import org.openecomp.portalsdk.core.web.support.UserUtils;
@@ -91,36 +91,27 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.context.request.async.DeferredResult;
 
+import com.fasterxml.jackson.core.JsonFactory;
+import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.SerializationFeature;
-import com.fasterxml.jackson.databind.module.SimpleModule;
-import com.fasterxml.jackson.databind.node.ObjectNode;
 
 @Controller
 @RequestMapping("/")
-public class RaptorControllerAsync extends UnRestrictedBaseController {
-       String viewName;
+public class RaptorControllerAsync extends RestrictedBaseController {
+       
+       private EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(RaptorControllerAsync.class);
+
+       private String viewName;
 
        @RequestMapping(value = { "/raptor.htm" }, method = RequestMethod.GET)
        public void RaptorSearch(HttpServletRequest request, HttpServletResponse response)
                        throws IOException, RaptorException {
-               // System.out.println("Inside RAPTOR run ");
-               /*
-                * List items = null; int reportId =
-                * ServletRequestUtils.getIntParameter(request, "report_id", 0);
-                * //String task = ServletRequestUtils.getStringParameter(request,
-                * "task", TASK_GET);
-                * 
-                * HashMap additionalParams = new HashMap();
-                * additionalParams.put(Parameters.PARAM_HTTP_REQUEST, request);
-                * 
-                * return new ModelAndView(getViewName(), "model", null);
-                * 
-                * //return new ModelAndView(getViewName(), "model", null);
-                * //System.out.println("Fill with proper code"); //return null;
-                */
+
                viewName = "";
                String actionKey = nvl(request.getParameter(AppConstants.RI_ACTION), request.getParameter("action"));
                actionKey = nvl(actionKey, "report.run");
@@ -193,9 +184,8 @@ public class RaptorControllerAsync extends UnRestrictedBaseController {
                                                                                                                                                                                                                                        // whole
                                        }
                                } catch (Exception e) {
-                                       e.printStackTrace();
-                                       // Log.write("Fatal error [report_download_xlsx.jsp]:
-                                       // "+e.getMessage());
+                                       logger.error(EELFLoggerDelegate.errorLogger, "[Controller.processRequest]Invalid raptor action ["
+                                                       + actionKey + "].", e);
                                }
                        } else {
                                response.sendRedirect("login.htm");
@@ -212,12 +202,8 @@ public class RaptorControllerAsync extends UnRestrictedBaseController {
                                        if (action == null)
                                                throw new RaptorRuntimeException("Action not found");
                                } catch (RaptorException e) {
-                                       logger.debug(EELFLoggerDelegate.debugLogger, ("[Controller.processRequest]Invalid raptor action ["
-                                                       + actionKey + "]. RaptorException: " + e.getMessage()));
-                                       // if (actionKey.equals("system_upgrade")) // System
-                                       // override
-                                       // return
-                                       // att.raptor.util.upgrade.SystemUpgrade.upgradeDB(request);
+                                       logger.error(EELFLoggerDelegate.errorLogger, "[Controller.processRequest]Invalid raptor action ["
+                                                       + actionKey + "].", e);
 
                                        viewName = (new ErrorHandler()).processFatalErrorJSON(request,
                                                        new RaptorRuntimeException("[Controller.processRequest]Invalid raptor action [" + actionKey
@@ -239,7 +225,6 @@ public class RaptorControllerAsync extends UnRestrictedBaseController {
                                        ;
 
                                        viewName = (String) handlerMethod.invoke(handler, paramValues);
-                                       // ObjectMapper mapper = new ObjectMapper();
                                        if (!actionKey.equals("chart.run"))
                                                response.setContentType("application/json");
                                        else
@@ -274,7 +259,6 @@ public class RaptorControllerAsync extends UnRestrictedBaseController {
                                                                        "[Controller.processRequest] Unable to instantiate and invoke action handler. Exception: "
                                                                                        + e.getMessage()));
                                } catch (InvocationTargetException e) {
-                                       e.printStackTrace();
                                        logger.debug(EELFLoggerDelegate.debugLogger, ("[Controller.processRequest]Invalid raptor action ["
                                                        + actionKey + "]. InvocationTargetException: " + e.getMessage()));
                                        viewName = (new ErrorHandler()).processFatalErrorJSON(request,
@@ -284,9 +268,7 @@ public class RaptorControllerAsync extends UnRestrictedBaseController {
                                } finally {
                                        PrintWriter out = response.getWriter();
                                        out.write(viewName);
-                                       // System.out.println("******Viewname******"+viewName);
                                }
-                               // return new ModelAndView(getViewName(), "model", null);
                        } else {
                                PrintWriter out = response.getWriter();
                                out.write("session has timed out for user");
@@ -295,10 +277,9 @@ public class RaptorControllerAsync extends UnRestrictedBaseController {
                }
        }
 
-       @RequestMapping(value = "/report/wizard/list_columns", method = RequestMethod.GET, produces="application/json")
+       @RequestMapping(value = "/report/wizard/list_columns", method = RequestMethod.GET, produces = "application/json")
        public @ResponseBody ArrayList<ColumnJSON> listColumns(HttpServletRequest request, HttpServletResponse response)
                        throws IOException, RaptorException {
-               //PrintWriter out = response.getWriter();
                ReportDefinition rdef = (ReportDefinition) request.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION);
                List<DataColumnType> reportColumnList = rdef.getAllColumns();
                ArrayList<ColumnJSON> listJSON = new ArrayList<ColumnJSON>();
@@ -310,26 +291,60 @@ public class RaptorControllerAsync extends UnRestrictedBaseController {
                        columnJSON.setName(reportColumnType.getColName());
                        listJSON.add(columnJSON);
                }
-/*             String jsonInString = "";
-               ObjectMapper mapper = new ObjectMapper();
-               // mapper.setVisibility(JsonMethod.FIELD, Visibility.ANY);
-               // mapper.setVisibilityChecker(mapper.getVisibilityChecker().with(JsonAutoDetect.Visibility.NONE));
-               mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
-               mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
-        
-               try {
-                       jsonInString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(listJSON);
-               } catch (Exception ex) {
-                       ex.printStackTrace();
+               return listJSON;
+       }
+
+       @RequestMapping(value = "/report/wizard/list_drilldown_reports", method = RequestMethod.GET, produces = "application/json")
+       public @ResponseBody ArrayList<ColumnJSON> list_drilldown_reports(HttpServletRequest request,
+                       HttpServletResponse response) throws IOException, RaptorException {
+               ReportDefinition rdef = (ReportDefinition) request.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION);
+               Vector<IdNameValue> publicReportIdNames = DataCache.getPublicReportIdNames();
+               Vector groupReportIdNames = DataCache.getGroupAccessibleReportIdNames(AppUtils.getUserID(request),
+                               AppUtils.getUserRoles(request));
+               Vector privateReportIdNames = DataCache.getPrivateAccessibleReportIdNames(AppUtils.getUserID(request),
+                               AppUtils.getUserRoles(request));
+
+               ArrayList<ColumnJSON> listJSON = new ArrayList<ColumnJSON>();
+               ColumnJSON columnJSON = new ColumnJSON();
+
+               ServletContext servletContext = request.getSession().getServletContext();
+               if (!Globals.isSystemInitialized()) {
+                       Globals.initializeSystem(servletContext);
+               }
+
+               for (int i = 0; i < publicReportIdNames.size(); i++) {
+                       IdNameValue reportIdName = (IdNameValue) publicReportIdNames.get(i);
+                       columnJSON = new ColumnJSON();
+                       columnJSON.setId(reportIdName.getId());
+                       columnJSON.setName("Public Report: " + reportIdName.getName());
+                       if (!rdef.getReportID().equals(reportIdName.getId()))
+                               listJSON.add(columnJSON);
+               }
+
+               for (int i = 0; i < groupReportIdNames.size(); i++) {
+                       IdNameValue reportIdName = (IdNameValue) groupReportIdNames.get(i);
+                       columnJSON = new ColumnJSON();
+                       columnJSON.setId(reportIdName.getId());
+                       columnJSON.setName("Group Report: " + reportIdName.getName());
+                       if (!rdef.getReportID().equals(reportIdName.getId()))
+                               listJSON.add(columnJSON);
                }
-*/
+
+               for (int i = 0; i < privateReportIdNames.size(); i++) {
+                       IdNameValue reportIdName = (IdNameValue) privateReportIdNames.get(i);
+                       columnJSON = new ColumnJSON();
+                       columnJSON.setId(reportIdName.getId());
+                       columnJSON.setName("Private Report: " + reportIdName.getName());
+                       if (!rdef.getReportID().equals(reportIdName.getId()))
+                               listJSON.add(columnJSON);
+               }
+
                return listJSON;
        }
 
-       @RequestMapping(value = "/report/wizard/list_formfields", method = RequestMethod.GET, produces="application/json")
-       public @ResponseBody ArrayList<SearchFieldJSON> listFormFields(HttpServletRequest request, HttpServletResponse response)
-                       throws IOException, RaptorException {
-               //PrintWriter out = response.getWriter();
+       @RequestMapping(value = "/report/wizard/list_formfields", method = RequestMethod.GET, produces = "application/json")
+       public @ResponseBody ArrayList<SearchFieldJSON> listFormFields(HttpServletRequest request,
+                       HttpServletResponse response) throws IOException, RaptorException {
                ReportDefinition rdef = (ReportDefinition) request.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION);
                ArrayList<SearchFieldJSON> listJSON = new ArrayList<SearchFieldJSON>();
                SearchFieldJSON fieldJSON = new SearchFieldJSON();
@@ -345,28 +360,30 @@ public class RaptorControllerAsync extends UnRestrictedBaseController {
                        }
                }
 
-/*             String jsonInString = "";
-               ObjectMapper mapper = new ObjectMapper();
-               // mapper.setVisibility(JsonMethod.FIELD, Visibility.ANY);
-               // mapper.setVisibilityChecker(mapper.getVisibilityChecker().with(JsonAutoDetect.Visibility.NONE));
-               mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
-               mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+               return listJSON;
+       }
 
-               try {
-                       jsonInString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(listJSON);
-               } catch (Exception ex) {
-                       ex.printStackTrace();
-               }
+       @RequestMapping(value = "/report/wizard/list_child_report_col/{reportID}", method = RequestMethod.GET, produces = "application/json")
+       public @ResponseBody ArrayList<ColumnJSON> listChildReportCols(@PathVariable("reportID") String reportID,
+                       HttpServletRequest request, HttpServletResponse response) throws IOException, RaptorException {
+               ReportRuntime ddRr = (new ReportHandler()).loadReportRuntime(request, reportID, false);
+
+               List<DataColumnType> reportColumnList = ddRr.getAllColumns();
+               ArrayList<ColumnJSON> listJSON = new ArrayList<ColumnJSON>();
+               ColumnJSON columnJSON = new ColumnJSON();
 
-               out.write(jsonInString);
-*/     
+               for (DataColumnType reportColumnType : reportColumnList) {
+                       columnJSON = new ColumnJSON();
+                       columnJSON.setId(reportColumnType.getColId());
+                       columnJSON.setName(reportColumnType.getColName());
+                       listJSON.add(columnJSON);
+               }
                return listJSON;
        }
 
-       @RequestMapping(value = "/report/wizard/list_child_report_ff/{reportID}", method = RequestMethod.GET, produces="application/json")
-       public @ResponseBody ArrayList<SearchFieldJSON> listChildReportFormFields(@PathVariable("reportID") String reportID, HttpServletRequest request,
-                       HttpServletResponse response) throws IOException, RaptorException {
-               //PrintWriter out = response.getWriter();
+       @RequestMapping(value = "/report/wizard/list_child_report_ff/{reportID}", method = RequestMethod.GET, produces = "application/json")
+       public @ResponseBody ArrayList<SearchFieldJSON> listChildReportFormFields(@PathVariable("reportID") String reportID,
+                       HttpServletRequest request, HttpServletResponse response) throws IOException, RaptorException {
                ReportRuntime ddRr = (new ReportHandler()).loadReportRuntime(request, reportID, false);
                ArrayList<SearchFieldJSON> listJSON = new ArrayList<SearchFieldJSON>();
                SearchFieldJSON fieldJSON = new SearchFieldJSON();
@@ -383,29 +400,12 @@ public class RaptorControllerAsync extends UnRestrictedBaseController {
                                }
                        }
                }
-/*             String jsonInString = "";
-               ObjectMapper mapper = new ObjectMapper();
-               // mapper.setVisibility(JsonMethod.FIELD, Visibility.ANY);
-               // mapper.setVisibilityChecker(mapper.getVisibilityChecker().with(JsonAutoDetect.Visibility.NONE));
-               mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
-               mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
-
-               try {
-                       jsonInString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(listJSON);
-               } catch (Exception ex) {
-                       ex.printStackTrace();
-               }
-
-               out.write(jsonInString);
-*/     
                return listJSON;
        }
-       
-       @RequestMapping(value = "report/wizard/copy_report/{reportID}", method = RequestMethod.GET, produces="application/json")
+
+       @RequestMapping(value = "report/wizard/copy_report/{reportID}", method = RequestMethod.GET, produces = "application/json")
        public @ResponseBody MessageJSON copyReport(@PathVariable("reportID") String reportID, HttpServletRequest request,
                        HttpServletResponse response) throws IOException, RaptorException {
-               //PrintWriter out = response.getWriter();
-               //String jsonInString = "";             
                MessageJSON messageJSON = new MessageJSON();
                try {
 
@@ -416,50 +416,22 @@ public class RaptorControllerAsync extends UnRestrictedBaseController {
                        messageJSON.setMessage("Success- Report Copied.");
                        messageJSON.setAnyStacktrace(rdef.getReportID() + " is Modified and added to session and DB.");
 
-/*                     ObjectMapper mapper = new ObjectMapper();
-                       // mapper.setVisibility(JsonMethod.FIELD, Visibility.ANY);
-                       // mapper.setVisibilityChecker(mapper.getVisibilityChecker().with(JsonAutoDetect.Visibility.NONE));
-                       mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
-                       mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
-
-                       try {
-                               jsonInString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(messageJSON);
-                       } catch (Exception ex1) {
-                               ex1.printStackTrace();
-                       }
-*/                     
                } catch (RaptorException e) {
                        request.setAttribute("error_extra_msg", "While copying report " + reportID);
                        messageJSON.setMessage("Failed - While copying report " + reportID);
                        messageJSON.setAnyStacktrace(getStackTrace(e));
-//                     ErrorJSONRuntime errorJSONRuntime = new ErrorJSONRuntime();
-//                     errorJSONRuntime.setErrormessage("While copying report " + reportID);
-//                     errorJSONRuntime.setStacktrace(getStackTrace(e));
-
-/*                     ObjectMapper mapper = new ObjectMapper();
-                       // mapper.setVisibility(JsonMethod.FIELD, Visibility.ANY);
-                       // mapper.setVisibilityChecker(mapper.getVisibilityChecker().with(JsonAutoDetect.Visibility.NONE));
-                       mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
-                       mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
-
-                       try {
-                               jsonInString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(errorJSONRuntime);
-                       } catch (Exception ex1) {
-                               ex1.printStackTrace();
-                       }                       
-*/             
+                       logger.debug(EELFLoggerDelegate.debugLogger,
+                                       ("[Controller.processRequest]Invalid raptor action [copyReport]. RaptorException: "
+                                                       + e.getMessage()));
                        return messageJSON;
                }
 
-               return  messageJSON;
+               return messageJSON;
        }
-       
 
-       @RequestMapping(value = "report/wizard/import_report", method = RequestMethod.POST, consumes="application/json")
-       public MessageJSON importReport(@RequestBody ImportJSON importJSON, HttpServletRequest request,
+       @RequestMapping(value = "report/wizard/import_report", method = RequestMethod.POST, consumes = "application/json")
+       public @ResponseBody MessageJSON importReport(@RequestBody ImportJSON importJSON, HttpServletRequest request,
                        HttpServletResponse response) throws IOException, RaptorException {
-               //PrintWriter out = response.getWriter();
-               //String jsonInString = "";
                MessageJSON messageJSON = new MessageJSON();
                try {
                        String reportXML = importJSON.getReportXML();
@@ -472,43 +444,15 @@ public class RaptorControllerAsync extends UnRestrictedBaseController {
                        rdef.clearAllDrillDowns();
 
                        request.getSession().setAttribute(AppConstants.SI_REPORT_DEFINITION, rdef);
-                       
+
                        messageJSON.setMessage("Success- Report imported.");
                        messageJSON.setAnyStacktrace(rdef.getReportID() + " is Modified and added to session and DB.");
 
-/*                     ObjectMapper mapper = new ObjectMapper();
-                       // mapper.setVisibility(JsonMethod.FIELD, Visibility.ANY);
-                       // mapper.setVisibilityChecker(mapper.getVisibilityChecker().with(JsonAutoDetect.Visibility.NONE));
-                       mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
-                       mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
-
-                       try {
-                               jsonInString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(messageJSON);
-                       } catch (Exception ex1) {
-                               ex1.printStackTrace();
-                       }
-*/                     
-                       
                } catch (RaptorException e) {
                        request.setAttribute("error_extra_msg", "Unable to parse XML. Nested error: ");
                        messageJSON.setMessage("Unable to parse XML. Nested error: ");
                        messageJSON.setAnyStacktrace(getStackTrace(e));
-/*                     ErrorJSONRuntime errorJSONRuntime = new ErrorJSONRuntime();
-                       errorJSONRuntime.setErrormessage("Unable to parse XML. Nested error: ");
-                       errorJSONRuntime.setStacktrace(getStackTrace(e));
-*/
-/*                     ObjectMapper mapper = new ObjectMapper();
-                       // mapper.setVisibility(JsonMethod.FIELD, Visibility.ANY);
-                       // mapper.setVisibilityChecker(mapper.getVisibilityChecker().with(JsonAutoDetect.Visibility.NONE));
-                       mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
-                       mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
 
-                       try {
-                               jsonInString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(errorJSONRuntime);
-                       } catch (Exception ex1) {
-                               ex1.printStackTrace();
-                       }
-*/             
                        return messageJSON;
                }
 
@@ -517,105 +461,61 @@ public class RaptorControllerAsync extends UnRestrictedBaseController {
        }
 
        @RequestMapping(value = "report/wizard/save_formfield_tab_data", method = RequestMethod.POST)
-       public MessageJSON saveFFTabWiseData(@RequestBody FormEditJSON formEditJSON, HttpServletRequest request,
-                       HttpServletResponse response) throws IOException, RaptorException {
+       public @ResponseBody MessageJSON saveFFTabWiseData(@RequestBody FormEditJSON formEditJSON,
+                       HttpServletRequest request, HttpServletResponse response) throws IOException, RaptorException {
                ReportDefinition rdef = null;
                rdef = (ReportDefinition) request.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION);
 
-               String tabId = formEditJSON.getTabId();
-               //String errorString = "";
                MessageJSON messageJSON = new MessageJSON();
-
-               //PrintWriter out = response.getWriter();
-               //String jsonInString = "";
                try {
                        if (rdef != null) {
 
-                                       String fieldId = formEditJSON.getFieldId();
-
-                                       if (rdef.getFormFieldList() != null) {
-                                               for (FormFieldType fft : rdef.getFormFieldList().getFormField()) {
-                                                       if (fft.getFieldId().equals(fieldId)) {
-                                                               fft.setFieldName(formEditJSON.getFieldName());
-                                                               fft.setFieldType(formEditJSON.getFieldType());
-                                                               fft.setVisible(formEditJSON.isVisible() ? "Y" : "N");
-                                                               fft.setDefaultValue(formEditJSON.getDefaultValue());
-                                                               fft.setFieldDefaultSQL(formEditJSON.getFieldDefaultSQL());
-                                                               fft.setFieldSQL(formEditJSON.getFieldSQL());
-                                                               fft.setValidationType(formEditJSON.getValidationType());
-
-                                                               // clear predefined value
-                                                               if (fft.getPredefinedValueList() != null) {
-                                                                       for (Iterator iter = fft.getPredefinedValueList().getPredefinedValue()
-                                                                                       .iterator(); iter.hasNext();)
-                                                                               iter.remove();
-                                                               }
+                               String fieldId = formEditJSON.getFieldId();
+
+                               if (rdef.getFormFieldList() != null) {
+                                       for (FormFieldType fft : rdef.getFormFieldList().getFormField()) {
+                                               if (fft.getFieldId().equals(fieldId)) {
+                                                       fft.setFieldName(formEditJSON.getFieldName());
+                                                       fft.setFieldType(formEditJSON.getFieldType());
+                                                       fft.setVisible(formEditJSON.isVisible() ? "Y" : "N");
+                                                       fft.setDefaultValue(formEditJSON.getDefaultValue());
+                                                       fft.setFieldDefaultSQL(formEditJSON.getFieldDefaultSQL());
+                                                       fft.setFieldSQL(formEditJSON.getFieldSQL());
+                                                       fft.setValidationType(formEditJSON.getValidationType());
+
+                                                       // clear predefined value
+                                                       if (fft.getPredefinedValueList() != null) {
+                                                               for (Iterator<String> iter = fft.getPredefinedValueList().getPredefinedValue().iterator(); iter
+                                                                               .hasNext();)
+                                                                       iter.remove();
+                                                       }
 
-                                                               List<IdNameBooleanJSON> predefList = formEditJSON.getPredefinedValueList();
+                                                       List<IdNameBooleanJSON> predefList = formEditJSON.getPredefinedValueList();
+                                                       if (predefList != null && predefList.size() > 0) {
                                                                for (IdNameBooleanJSON item : predefList) {
                                                                        PredefinedValueList predefinedValueList = new ObjectFactory()
                                                                                        .createPredefinedValueList();
                                                                        fft.setPredefinedValueList(predefinedValueList);
                                                                        fft.getPredefinedValueList().getPredefinedValue().add(item.getId());
                                                                }
-
                                                        }
+
                                                }
                                        }
-
+                               }
 
                                persistReportDefinition(request, rdef);
                                messageJSON.setMessage("Success formfield Details of given report is saved in session.");
                                messageJSON.setAnyStacktrace(rdef.getReportID() + " is Modified and added to session and DB.");
 
-/*                             ObjectMapper mapper = new ObjectMapper();
-                               // mapper.setVisibility(JsonMethod.FIELD, Visibility.ANY);
-                               // mapper.setVisibilityChecker(mapper.getVisibilityChecker().with(JsonAutoDetect.Visibility.NONE));
-                               mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
-                               mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
-
-                               try {
-                                       jsonInString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(messageJSON);
-                               } catch (Exception ex1) {
-                                       ex1.printStackTrace();
-                               }
-*/                     } else {
+                       } else {
                                messageJSON.setMessage("Report Definition is not in session");
                                messageJSON.setAnyStacktrace("Report Definition is not in session");
 
-/*                             ObjectMapper mapper = new ObjectMapper();
-                               // mapper.setVisibility(JsonMethod.FIELD, Visibility.ANY);
-                               // mapper.setVisibilityChecker(mapper.getVisibilityChecker().with(JsonAutoDetect.Visibility.NONE));
-                               mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
-                               mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
-
-                               try {
-                                       jsonInString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(errorJSONRuntime);
-                               } catch (Exception ex1) {
-                                       ex1.printStackTrace();
-                               }
-*/                     }
+                       }
                } catch (Exception ex) {
-
                        messageJSON.setMessage("Error occured while formfield details Tab");
                        messageJSON.setAnyStacktrace(getStackTrace(ex));
-                       
-/*                     ErrorJSONRuntime errorJSONRuntime = new ErrorJSONRuntime();
-                       errorJSONRuntime.setErrormessage("Error occured while formfield column details Tab");
-                       errorJSONRuntime.setStacktrace(getStackTrace(ex));
-
-                       ObjectMapper mapper = new ObjectMapper();
-                       // mapper.setVisibility(JsonMethod.FIELD, Visibility.ANY);
-                       // mapper.setVisibilityChecker(mapper.getVisibilityChecker().with(JsonAutoDetect.Visibility.NONE));
-                       mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
-                       mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
-
-                       try {
-                               jsonInString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(errorJSONRuntime);
-                       } catch (Exception ex1) {
-                               ex1.printStackTrace();
-                       }
-*/
                        return messageJSON;
                }
 
@@ -623,92 +523,46 @@ public class RaptorControllerAsync extends UnRestrictedBaseController {
        }
 
        @RequestMapping(value = "report/wizard/save_col_tab_data", method = RequestMethod.POST)
-       public MessageJSON saveColTabWiseData(@RequestBody ColumnEditJSON columnEditJSON, HttpServletRequest request,
-                       HttpServletResponse response) throws IOException, RaptorException {
+       public @ResponseBody MessageJSON saveColTabWiseData(@RequestBody ColumnEditJSON columnEditJSON,
+                       HttpServletRequest request, HttpServletResponse response) throws IOException, RaptorException {
                ReportDefinition rdef = null;
                rdef = (ReportDefinition) request.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION);
 
-               //String errorString = "";
-               //String jsonInString = "";
-               //PrintWriter out = response.getWriter();
                MessageJSON messageJSON = new MessageJSON();
 
                try {
                        if (rdef != null) {
-                                       String colId = columnEditJSON.getColId();
-                                       List<DataColumnType> reportColumnList = rdef.getAllColumns();
-
-                                       for (DataColumnType reportColumnType : reportColumnList) {
-                                               // columnJSON = new ColumnJSON();
-                                               if (reportColumnType.getColId().equals(colId)) {
-                                                       reportColumnType.setColName(columnEditJSON.getColName());
-                                                       reportColumnType.setDisplayAlignment(columnEditJSON.getDisplayAlignment());
-                                                       reportColumnType.setDisplayHeaderAlignment(columnEditJSON.getDisplayHeaderAlignment());
-                                                       reportColumnType.setIsSortable(columnEditJSON.isSortable());
-                                                       reportColumnType.setVisible(columnEditJSON.isVisible());
-                                                       reportColumnType.setDrillDownURL(columnEditJSON.getDrilldownURL());
-                                                       reportColumnType.setDrillDownParams(columnEditJSON.getDrilldownParams());
-                                                       reportColumnType.setDrillDownType(columnEditJSON.getDrilldownType());
+                               String colId = columnEditJSON.getColId();
+                               List<DataColumnType> reportColumnList = rdef.getAllColumns();
 
-                                               }
+                               for (DataColumnType reportColumnType : reportColumnList) {
+                                       // columnJSON = new ColumnJSON();
+                                       if (reportColumnType.getColId().equals(colId)) {
+                                               reportColumnType.setColName(columnEditJSON.getColName());
+                                               reportColumnType.setDisplayAlignment(columnEditJSON.getDisplayAlignment());
+                                               reportColumnType.setDisplayHeaderAlignment(columnEditJSON.getDisplayHeaderAlignment());
+                                               reportColumnType.setIsSortable(columnEditJSON.isSortable());
+                                               reportColumnType.setVisible(columnEditJSON.isVisible());
+                                               reportColumnType.setDrillDownURL(columnEditJSON.getDrilldownURL());
+                                               reportColumnType.setDrillDownParams(columnEditJSON.getDrilldownParams());
+                                               reportColumnType.setDrillDownType(columnEditJSON.getDrilldownType());
 
                                        }
+
+                               }
                                persistReportDefinition(request, rdef);
                                messageJSON.setMessage("Success Column Details of given report is saved in session.");
                                messageJSON.setAnyStacktrace(rdef.getReportID() + " is Modified and added to session and DB.");
 
-/*                             ObjectMapper mapper = new ObjectMapper();
-                               // mapper.setVisibility(JsonMethod.FIELD, Visibility.ANY);
-                               // mapper.setVisibilityChecker(mapper.getVisibilityChecker().with(JsonAutoDetect.Visibility.NONE));
-                               mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
-                               mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
-
-                               try {
-                                       jsonInString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(messageJSON);
-                               } catch (Exception ex1) {
-                                       ex1.printStackTrace();
-                               }
-*/
                        } else {
                                messageJSON.setMessage("Report Definition is not in session");
                                messageJSON.setAnyStacktrace("");
-                               
-/*                             ErrorJSONRuntime errorJSONRuntime = new ErrorJSONRuntime();
-                               errorJSONRuntime.setErrormessage("Report Definition is not in session;");
-                               errorJSONRuntime.setStacktrace("");
-
-                               ObjectMapper mapper = new ObjectMapper();
-                               // mapper.setVisibility(JsonMethod.FIELD, Visibility.ANY);
-                               // mapper.setVisibilityChecker(mapper.getVisibilityChecker().with(JsonAutoDetect.Visibility.NONE));
-                               mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
-                               mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
 
-                               try {
-                                       jsonInString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(errorJSONRuntime);
-                               } catch (Exception ex1) {
-                                       ex1.printStackTrace();
-                               }
-*/                     }
+                       }
                } catch (Exception ex) {
                        messageJSON.setMessage("Error occured while saving column details Tab");
                        messageJSON.setAnyStacktrace(getStackTrace(ex));
-                       
-/*                     ErrorJSONRuntime errorJSONRuntime = new ErrorJSONRuntime();
-                       errorJSONRuntime.setErrormessage("Error occured while saving column details Tab");
-                       errorJSONRuntime.setStacktrace(getStackTrace(ex));
 
-                       ObjectMapper mapper = new ObjectMapper();
-                       // mapper.setVisibility(JsonMethod.FIELD, Visibility.ANY);
-                       // mapper.setVisibilityChecker(mapper.getVisibilityChecker().with(JsonAutoDetect.Visibility.NONE));
-                       mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
-                       mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
-
-                       try {
-                               jsonInString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(errorJSONRuntime);
-                       } catch (Exception ex1) {
-                               ex1.printStackTrace();
-                       }
-*/             
                        return messageJSON;
                }
 
@@ -716,24 +570,14 @@ public class RaptorControllerAsync extends UnRestrictedBaseController {
        }
 
        @RequestMapping(value = "report/wizard/save_def_tab_data/{id}", method = RequestMethod.POST)
-       public MessageJSON saveDefTabWiseData(@PathVariable("id") String id, @RequestBody DefinitionJSON definitionJSON,
-                       HttpServletRequest request, HttpServletResponse response) throws IOException, RaptorException {
+       public @ResponseBody MessageJSON saveDefTabWiseData(@PathVariable("id") String id,
+                       @RequestBody DefinitionJSON definitionJSON, HttpServletRequest request, HttpServletResponse response)
+                       throws IOException, RaptorException {
                ReportDefinition rdef = null;
                ReportRuntime rr = null;
-               String tabId = definitionJSON.getTabId();
-               String errorString = "";
                boolean newReport = false;
-               //String jsonInString = "";
-               //PrintWriter out = response.getWriter();
                MessageJSON messageJSON = new MessageJSON();
 
-
-
-               /*
-                * rdef = (ReportDefinition) request.getSession().getAttribute(
-                * AppConstants.SI_REPORT_DEFINITION); if(rdef!=null) { rdef = (new
-                * ReportHandler()).loadReportDefinition(request, id); } else {
-                */
                try {
                        if (id.equals("InSession")) {
                                rdef = (ReportDefinition) request.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION);
@@ -743,12 +587,12 @@ public class RaptorControllerAsync extends UnRestrictedBaseController {
                                removeVariablesFromSession(request);
                                rdef = (new ReportHandler()).loadReportDefinition(request, "-1");
                                newReport = true;
-                               System.out.println("&&&&&&&&&&&&&&&&&&&&&& CHECK Report Type " + (AppUtils.nvl(rdef.getReportType()).length()<=0));
-                               if(AppUtils.nvl(rdef.getReportType()).length()<=0) { 
+                               System.out.println("&&&&&&&&&&&&&&&&&&&&&& CHECK Report Type "
+                                               + (AppUtils.nvl(rdef.getReportType()).length() <= 0));
+                               if (AppUtils.nvl(rdef.getReportType()).length() <= 0) {
                                        rdef.setReportType(AppConstants.RT_LINEAR);
                                        System.out.println("&&&&&&&&&&&&&&&&&&&&&& ADDED Report Type in session ");
                                }
-                               
 
                        } else if (AppUtils.nvl(id).length() > 0) {
                                rdef = (ReportDefinition) request.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION);
@@ -774,149 +618,22 @@ public class RaptorControllerAsync extends UnRestrictedBaseController {
                        // }
 
                        if (rdef != null) {
-                                       String reportName = definitionJSON.getReportName();
-                                       if (AppUtils.nvl(reportName).length() <= 0)
-                                               errorString = "ReportName cannot be null;";
-                                       rdef.setReportName(reportName);
-
-                                       String reportDescr = definitionJSON.getReportDescr();
-                                       rdef.setReportDescr(reportDescr);
-
-                                       String formHelpText = definitionJSON.getFormHelpText();
-                                       rdef.setFormHelpText(formHelpText);
-
-                                       Integer pageSize = definitionJSON.getPageSize();
-                                       rdef.setPageSize(pageSize);
-
-                                       List<IdNameBooleanJSON> menuIds = definitionJSON.getDisplayArea();
-                                       for (IdNameBooleanJSON menuId : menuIds) {
-                                               if (menuId.isSelected()) {
-                                                       rdef.setMenuID(menuId.getName());
-                                               }
-
-                                       }
-
-                                       Boolean hideFormFieldsAfterRun = definitionJSON.getHideFormFieldsAfterRun();
-                                       rdef.setHideFormFieldAfterRun(hideFormFieldsAfterRun);
-                                       Integer maxRowsInExcelCSVDownload = definitionJSON.getMaxRowsInExcelCSVDownload();
-                                       rdef.setMaxRowsInExcelDownload(maxRowsInExcelCSVDownload);
-                                       Integer frozenColumns = definitionJSON.getFrozenColumns();
-                                       rdef.setFrozenColumns(frozenColumns);
-                                       String dataGridAlign = definitionJSON.getDataGridAlign();
-                                       rdef.setDataGridAlign(dataGridAlign);
-                                       String emptyMessage = definitionJSON.getEmptyMessage();
-                                       rdef.setEmptyMessage(emptyMessage);
-                                       String dataContainerHeight = definitionJSON.getDataContainerHeight();
-                                       rdef.setDataContainerHeight(dataContainerHeight);
-                                       String dataContainerWidth = definitionJSON.getDataContainerWidth();
-                                       rdef.setDataContainerWidth(dataContainerWidth);
-                                       boolean runtimeColSortDisabled = definitionJSON.getRuntimeColSortDisabled();
-                                       rdef.setRuntimeColSortDisabled(runtimeColSortDisabled);
-                                       Integer numFormCols = definitionJSON.getNumFormCols();
-                                       rdef.setNumFormCols(Integer.toString(numFormCols));
-                                       String reportTitle = definitionJSON.getReportTitle();
-                                       rdef.setReportTitle(reportTitle);
-                                       String reportSubTitle = definitionJSON.getReportSubTitle();
-                                       rdef.setReportSubTitle(reportSubTitle);
-
-                                       List<NameBooleanJSON> displayOptions = definitionJSON.getDisplayOptions();
-                                       StringBuffer displayOptionStr = new StringBuffer("NNNNNNN");
-                                       for (NameBooleanJSON displayOption : displayOptions) {
-                                               if (displayOption.isSelected()) {
-                                                       if (displayOption.getName().equals("HideFormFields")) {
-                                                               displayOptionStr.setCharAt(0, 'Y');
-                                                       } else if (displayOption.getName().equals("HideChart")) {
-                                                               displayOptionStr.setCharAt(1, 'Y');
-                                                       } else if (displayOption.getName().equals("HideReportData")) {
-                                                               displayOptionStr.setCharAt(2, 'Y');
-                                                       } else if (displayOption.getName().equals("HideExcel")) {
-                                                               displayOptionStr.setCharAt(5, 'Y');
-                                                       } else if (displayOption.getName().equals("HidePdf")) {
-                                                               displayOptionStr.setCharAt(6, 'Y');
-                                                       }
-                                               }
-
-                                       }
-
-                                       rdef.setDisplayOptions(displayOptionStr.toString());
-                       }
-                       persistReportDefinition(request, rdef);
-                       messageJSON.setMessage("Success Definition of given report is saved in session.");
-                       messageJSON.setAnyStacktrace((newReport ? " New Report info is added to Session "
-                                       : rdef.getReportID() + " is Modified and added to session and DB."));
-
-/*                     ObjectMapper mapper = new ObjectMapper();
-                       // mapper.setVisibility(JsonMethod.FIELD, Visibility.ANY);
-                       // mapper.setVisibilityChecker(mapper.getVisibilityChecker().with(JsonAutoDetect.Visibility.NONE));
-                       mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
-                       mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
-
-                       try {
-                               jsonInString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(messageJSON);
-                       } catch (Exception ex1) {
-                               ex1.printStackTrace();
-                       }
-*/             } catch (Exception ex) {
-                       messageJSON.setMessage("Error occured while saving definition Tab");
-                       messageJSON.setAnyStacktrace(getStackTrace(ex));
-       
-/*                     ErrorJSONRuntime errorJSONRuntime = new ErrorJSONRuntime();
-                       errorJSONRuntime.setErrormessage("Error occured while saving definition Tab");
-                       errorJSONRuntime.setStacktrace(getStackTrace(ex));
-
-                       ObjectMapper mapper = new ObjectMapper();
-                       // mapper.setVisibility(JsonMethod.FIELD, Visibility.ANY);
-                       // mapper.setVisibilityChecker(mapper.getVisibilityChecker().with(JsonAutoDetect.Visibility.NONE));
-                       mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
-                       mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
-
-                       try {
-                               jsonInString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(errorJSONRuntime);
-                       } catch (Exception ex1) {
-                               ex1.printStackTrace();
-                       }
-*/             
-                       return messageJSON;     
-               }
-
-               return messageJSON;
-       }
-
-/*     @RequestMapping(value = "report/wizard/save_tab_wise_data/{reportID}", method = RequestMethod.POST)
-       public void saveTabWiseData(@PathVariable("reportID") String reportID, @RequestBody WizardJSON wizardJSON,
-                       HttpServletRequest request, HttpServletResponse response) throws IOException, RaptorException {
-               ReportDefinition rdef = null;
-               rdef = (ReportDefinition) request.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION);
-               if (rdef != null) {
-                       rdef = (new ReportHandler()).loadReportDefinition(request, reportID);
-               }
-               System.out.println("&&&&&&&&&&&&&&&&&&&&&& CHECK Report Type " + (AppUtils.nvl(rdef.getReportType()).length()<=0));
-               if(AppUtils.nvl(rdef.getReportType()).length()<=0) { 
-                       rdef.setReportType(AppConstants.RT_LINEAR);
-                       System.out.println("&&&&&&&&&&&&&&&&&&&&&& ADDED Report Type in session ");
-               }
-               // ReportDefinition rdef = (ReportDefinition)
-               // request.getSession().getAttribute(
-               // AppConstants.SI_REPORT_DEFINITION);
-               String tabId = wizardJSON.getTabId();
-               String errorString = "";
-               if (rdef != null) {
-                       if (tabId.equals("Def")) {
-                               String reportName = ((DefinitionJSON) wizardJSON).getReportName();
+                               String reportName = definitionJSON.getReportName();
+                               String errorString = "";
                                if (AppUtils.nvl(reportName).length() <= 0)
                                        errorString = "ReportName cannot be null;";
                                rdef.setReportName(reportName);
 
-                               String reportDescr = ((DefinitionJSON) wizardJSON).getReportDescr();
+                               String reportDescr = definitionJSON.getReportDescr();
                                rdef.setReportDescr(reportDescr);
 
-                               String formHelpText = ((DefinitionJSON) wizardJSON).getFormHelpText();
+                               String formHelpText = definitionJSON.getFormHelpText();
                                rdef.setFormHelpText(formHelpText);
 
-                               Integer pageSize = ((DefinitionJSON) wizardJSON).getPageSize();
+                               Integer pageSize = definitionJSON.getPageSize();
                                rdef.setPageSize(pageSize);
 
-                               List<IdNameBooleanJSON> menuIds = ((DefinitionJSON) wizardJSON).getDisplayArea();
+                               List<IdNameBooleanJSON> menuIds = definitionJSON.getDisplayArea();
                                for (IdNameBooleanJSON menuId : menuIds) {
                                        if (menuId.isSelected()) {
                                                rdef.setMenuID(menuId.getName());
@@ -924,30 +641,30 @@ public class RaptorControllerAsync extends UnRestrictedBaseController {
 
                                }
 
-                               Boolean hideFormFieldsAfterRun = ((DefinitionJSON) wizardJSON).getHideFormFieldsAfterRun();
+                               Boolean hideFormFieldsAfterRun = definitionJSON.getHideFormFieldsAfterRun();
                                rdef.setHideFormFieldAfterRun(hideFormFieldsAfterRun);
-                               Integer maxRowsInExcelCSVDownload = ((DefinitionJSON) wizardJSON).getMaxRowsInExcelCSVDownload();
+                               Integer maxRowsInExcelCSVDownload = definitionJSON.getMaxRowsInExcelCSVDownload();
                                rdef.setMaxRowsInExcelDownload(maxRowsInExcelCSVDownload);
-                               Integer frozenColumns = ((DefinitionJSON) wizardJSON).getFrozenColumns();
+                               Integer frozenColumns = definitionJSON.getFrozenColumns();
                                rdef.setFrozenColumns(frozenColumns);
-                               String dataGridAlign = ((DefinitionJSON) wizardJSON).getDataGridAlign();
+                               String dataGridAlign = definitionJSON.getDataGridAlign();
                                rdef.setDataGridAlign(dataGridAlign);
-                               String emptyMessage = ((DefinitionJSON) wizardJSON).getEmptyMessage();
+                               String emptyMessage = definitionJSON.getEmptyMessage();
                                rdef.setEmptyMessage(emptyMessage);
-                               String dataContainerHeight = ((DefinitionJSON) wizardJSON).getDataContainerHeight();
+                               String dataContainerHeight = definitionJSON.getDataContainerHeight();
                                rdef.setDataContainerHeight(dataContainerHeight);
-                               String dataContainerWidth = ((DefinitionJSON) wizardJSON).getDataContainerWidth();
+                               String dataContainerWidth = definitionJSON.getDataContainerWidth();
                                rdef.setDataContainerWidth(dataContainerWidth);
-                               boolean runtimeColSortDisabled = ((DefinitionJSON) wizardJSON).getRuntimeColSortDisabled();
+                               boolean runtimeColSortDisabled = definitionJSON.getRuntimeColSortDisabled();
                                rdef.setRuntimeColSortDisabled(runtimeColSortDisabled);
-                               Integer numFormCols = ((DefinitionJSON) wizardJSON).getNumFormCols();
+                               Integer numFormCols = definitionJSON.getNumFormCols();
                                rdef.setNumFormCols(Integer.toString(numFormCols));
-                               String reportTitle = ((DefinitionJSON) wizardJSON).getReportTitle();
+                               String reportTitle = definitionJSON.getReportTitle();
                                rdef.setReportTitle(reportTitle);
-                               String reportSubTitle = ((DefinitionJSON) wizardJSON).getReportSubTitle();
+                               String reportSubTitle = definitionJSON.getReportSubTitle();
                                rdef.setReportSubTitle(reportSubTitle);
 
-                               List<NameBooleanJSON> displayOptions = ((DefinitionJSON) wizardJSON).getDisplayOptions();
+                               List<NameBooleanJSON> displayOptions = definitionJSON.getDisplayOptions();
                                StringBuffer displayOptionStr = new StringBuffer("NNNNNNN");
                                for (NameBooleanJSON displayOption : displayOptions) {
                                        if (displayOption.isSelected()) {
@@ -967,106 +684,226 @@ public class RaptorControllerAsync extends UnRestrictedBaseController {
                                }
 
                                rdef.setDisplayOptions(displayOptionStr.toString());
+                       }
+                       if (id.equals("Create")) {
+                               rdef.persistReport(request);
+                       } else
+                               persistReportDefinition(request, rdef);
+                       messageJSON.setMessage("Success Definition of given report is saved in session.");
+                       messageJSON.setAnyStacktrace((newReport ? " New Report info is added to Session "
+                                       : rdef.getReportID() + " is Modified and added to session and DB."));
 
-                       } else if (tabId.equals("ColEdit")) {
-                               String colId = ((ColumnEditJSON) wizardJSON).getColId();
-                               List<DataColumnType> reportColumnList = rdef.getAllColumns();
+               } catch (Exception ex) {
+                       messageJSON.setMessage("Error occured while saving definition Tab");
+                       messageJSON.setAnyStacktrace(getStackTrace(ex));
+                       logger.error(EELFLoggerDelegate.errorLogger,
+                                       "[Controller.processRequest]Invalid raptor action [retrieveTabWiseData].", ex);
+                       return messageJSON;
+               }
 
-                               for (DataColumnType reportColumnType : reportColumnList) {
-                                       // columnJSON = new ColumnJSON();
-                                       if (reportColumnType.getColId().equals(colId)) {
-                                               reportColumnType.setColName(((ColumnEditJSON) wizardJSON).getColName());
-                                               reportColumnType.setDisplayAlignment(((ColumnEditJSON) wizardJSON).getDisplayAlignment());
-                                               reportColumnType
-                                                               .setDisplayHeaderAlignment(((ColumnEditJSON) wizardJSON).getDisplayHeaderAlignment());
-                                               reportColumnType.setIsSortable(((ColumnEditJSON) wizardJSON).isSortable());
-                                               reportColumnType.setVisible(((ColumnEditJSON) wizardJSON).isVisible());
-                                               reportColumnType.setDrillDownURL(((ColumnEditJSON) wizardJSON).getDrilldownURL());
-                                               reportColumnType.setDrillDownParams(((ColumnEditJSON) wizardJSON).getDrilldownParams());
-                                               reportColumnType.setDrillDownType(((ColumnEditJSON) wizardJSON).getDrilldownType());
+               return messageJSON;
+       }
 
-                                       }
+       @RequestMapping(value = { "/report/wizard/retrieve_form_tab_wise_data/{id}",
+                       "/report/wizard/retrieve_form_tab_wise_data/{id}/{action}" }, method = RequestMethod.GET)
+       public @ResponseBody FormEditJSON retrieveFormTabWiseData(@PathVariable Map<String, String> pathVariables,
+                       HttpServletRequest request, HttpServletResponse response) throws IOException, RaptorException {
+               ReportDefinition rdef = null;
+               String id = "";
+               String action = "";
+               String detailId = "";
+               FormEditJSON wizardJSON = new FormEditJSON();
+               rdef = (ReportDefinition) request.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION);
 
-                               }
-                       } else if (tabId.equals("FormEdit")) {
-                               String fieldId = ((FormEditJSON) wizardJSON).getFieldId();
+               if (pathVariables.containsKey("id")) {
+                       id = pathVariables.get("id");
+               }
+               if (pathVariables.containsKey("action")) {
+                       action = pathVariables.get("action");
+               }
+               
+               ServletContext servletContext = request.getSession().getServletContext();
+               if (!Globals.isSystemInitialized()) {
+                       Globals.initializeSystem(servletContext);
+               }
+               wizardJSON.setTabId("FormEdit");
+               wizardJSON.setTabName("Form Edit");
+               FormFieldType currField = null;
+               try {
+                       if (id.equals("add")) {
 
-                               if (rdef.getFormFieldList() != null) {
-                                       for (FormFieldType fft : rdef.getFormFieldList().getFormField()) {
-                                               if (fft.getFieldId().equals(fieldId)) {
-                                                       fft.setFieldName(((FormEditJSON) wizardJSON).getFieldName());
-                                                       fft.setFieldType(((FormEditJSON) wizardJSON).getFieldType());
-                                                       fft.setVisible(((FormEditJSON) wizardJSON).isVisible() ? "Y" : "N");
-                                                       fft.setDefaultValue(((FormEditJSON) wizardJSON).getDefaultValue());
-                                                       fft.setFieldDefaultSQL(((FormEditJSON) wizardJSON).getFieldDefaultSQL());
-                                                       fft.setValidationType(((FormEditJSON) wizardJSON).getValidationType());
+                               currField = rdef.addFormFieldType(new ObjectFactory(), "", "", "", "", "", "", "", "", null, null, "",
+                                               "");
+                               wizardJSON.setFieldId(currField.getFieldId());
+                               wizardJSON.setFieldName(currField.getFieldName());
+                               wizardJSON.setFieldType(currField.getFieldType());
+                               wizardJSON.setVisible(AppUtils.nvls(currField.getVisible(), "Y").toUpperCase().startsWith("Y"));
+                               wizardJSON.setDefaultValue(currField.getDefaultValue());
+                               wizardJSON.setFieldDefaultSQL(currField.getFieldDefaultSQL());
+                               wizardJSON.setFieldSQL(currField.getFieldSQL());
+                               wizardJSON.setValidationType(currField.getValidationType());
+                               persistReportDefinition(request, rdef);
 
-                                                       // clear predefined value
-                                                       if (fft.getPredefinedValueList() != null) {
-                                                               for (Iterator iter = fft.getPredefinedValueList().getPredefinedValue().iterator(); iter
-                                                                               .hasNext();)
-                                                                       iter.remove();
-                                                       }
+                       } else if (action.equals("delete")) {
+                               rdef.deleteFormField(id);
+                               persistReportDefinition(request, rdef);
+                               wizardJSON.setMessage("Formfield " + detailId + " Deleted");
+                       }
+                       if (rdef.getFormFieldList() != null) {
+                               for (FormFieldType fft : rdef.getFormFieldList().getFormField()) {
+                                       if (fft.getFieldId().equals(id)) {
+                                               wizardJSON.setFieldId(fft.getFieldId());
+                                               wizardJSON.setFieldName(fft.getFieldName());
+                                               wizardJSON.setFieldType(fft.getFieldType());
+                                               wizardJSON.setVisible(fft.getVisible().toUpperCase().startsWith("Y"));
+                                               wizardJSON.setDefaultValue(fft.getDefaultValue());
+                                               wizardJSON.setFieldDefaultSQL(fft.getFieldDefaultSQL());
+                                               wizardJSON.setFieldSQL(fft.getFieldSQL());
+                                               wizardJSON.setValidationType(fft.getValidationType());
 
-                                                       List<IdNameBooleanJSON> predefList = ((FormEditJSON) wizardJSON).getPredefinedValueList();
-                                                       for (IdNameBooleanJSON item : predefList) {
-                                                               PredefinedValueList predefinedValueList = new ObjectFactory()
-                                                                               .createPredefinedValueList();
-                                                               fft.setPredefinedValueList(predefinedValueList);
-                                                               fft.getPredefinedValueList().getPredefinedValue().add(item.getId());
-                                                       }
+                                               PredefinedValueList preDefined = fft.getPredefinedValueList();
 
+                                               if (preDefined != null) {
+                                                       List<IdNameBooleanJSON> preDefinedList = new ArrayList<IdNameBooleanJSON>();
+                                                       IdNameBooleanJSON idNameBooleanJSON = new IdNameBooleanJSON();
+
+                                                       for (String v : preDefined.getPredefinedValue()) {
+                                                               idNameBooleanJSON = new IdNameBooleanJSON();
+                                                               idNameBooleanJSON.setId(v);
+                                                               idNameBooleanJSON.setName(v);
+                                                               preDefinedList.add(idNameBooleanJSON);
+                                                       }
+                                                       wizardJSON.setPredefinedValueList(preDefinedList);
                                                }
                                        }
                                }
-                       } // formedit
-                       persistReportDefinition(request, rdef);
+                       }
+               } catch (Exception ex) {
+                       logger.error(EELFLoggerDelegate.errorLogger,
+                                       "[Controller.processRequest]Invalid raptor action [retrieveFormTabWiseData].", ex);
+                       ErrorJSONRuntime errorJSONRuntime = new ErrorJSONRuntime();
+                       errorJSONRuntime.setErrormessage("Error occured while retreiving formedit definition Tab");
+                       errorJSONRuntime.setStacktrace(getStackTrace(ex));
+                       wizardJSON.setErrorMessage("Error occured while retreiving formedit definition Tab");
+                       wizardJSON.setErrorStackTrace(getStackTrace(ex));
 
-                       String jsonInString = "";
+               }
 
-                       ErrorJSONRuntime errorJSONRuntime = new ErrorJSONRuntime();
-                       errorJSONRuntime.setErrormessage("Success");
-                       errorJSONRuntime.setStacktrace("Report changed");
-                       PrintWriter out = response.getWriter();
-                       ObjectMapper mapper = new ObjectMapper();
-                       // mapper.setVisibility(JsonMethod.FIELD, Visibility.ANY);
-                       // mapper.setVisibilityChecker(mapper.getVisibilityChecker().with(JsonAutoDetect.Visibility.NONE));
-                       mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
-                       mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+               return wizardJSON;
+       }
 
-                       try {
-                               jsonInString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(errorJSONRuntime);
-                       } catch (Exception ex) {
-                               ex.printStackTrace();
-                       }
+       @RequestMapping(value = { "/report/wizard/retrieve_col_tab_wise_data/{id}" }, method = RequestMethod.GET)
+       public @ResponseBody ColumnEditJSON retrieveColTabWiseData(@PathVariable Map<String, String> pathVariables,
+                       HttpServletRequest request, HttpServletResponse response) throws IOException, RaptorException {
+               ReportDefinition rdef = null;
+               String id = "";
+               ColumnEditJSON wizardJSON = new ColumnEditJSON();
+               rdef = (ReportDefinition) request.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION);
 
-                       out.write(jsonInString);
+               if (pathVariables.containsKey("id")) {
+                       id = pathVariables.get("id");
+               }
+               ServletContext servletContext = request.getSession().getServletContext();
+               if (!Globals.isSystemInitialized()) {
+                       Globals.initializeSystem(servletContext);
+               }
+               if (rdef != null) {
+                       wizardJSON.setTabId("ColEdit");
+                       wizardJSON.setTabName("Column Edit");
 
+                       List<DataColumnType> reportColumnList = rdef.getAllColumns();
+
+                       for (DataColumnType reportColumnType : reportColumnList) {
+                               if (reportColumnType.getColId().equals(id)) {
+                                       wizardJSON.setColId(reportColumnType.getColId());
+                                       wizardJSON.setColName(reportColumnType.getColName());
+                                       wizardJSON.setDisplayAlignment(reportColumnType.getDisplayAlignment());
+                                       wizardJSON.setDisplayHeaderAlignment(reportColumnType.getDisplayHeaderAlignment());
+                                       wizardJSON.setSortable(
+                                                       reportColumnType.isIsSortable() == null ? false : reportColumnType.isIsSortable());
+                                       wizardJSON.setVisible(reportColumnType.isVisible());
+                                       wizardJSON.setDrilldownURL(
+                                                       reportColumnType.getDrillDownURL() == null ? "" : reportColumnType.getDrillDownURL());
+                                       wizardJSON.setDrilldownParams(
+                                                       reportColumnType.getDrillDownParams() == null ? "" : reportColumnType.getDrillDownParams());
+                                       wizardJSON.setDrilldownType(
+                                                       reportColumnType.getDrillDownType() == null ? "" : reportColumnType.getDrillDownType());
+
+                               }
+                       }
+               } else {
+                       wizardJSON.setErrorMessage("Report is not in session");
                }
-       }*/
 
-       @RequestMapping(value = {"/report/wizard/retrieve_tab_wise_data/{tabId}/{id}", "/report/wizard/retrieve_tab_wise_data/{tabId}/{id}/{detailId}"}, method = RequestMethod.GET)
-       public @ResponseBody String retrieveTabWiseData( @PathVariable Map<String, String> pathVariables, /*@PathVariable("tabId") String tabId, @PathVariable("id") String id, @PathVariable("detailId") String detailId,*/
+               return wizardJSON;
+       }
+
+       @RequestMapping(value = { "/report/wizard/retrieve_sql_tab_wise_data/{id}",
+                       "/report/wizard/retrieve_sql_tab_wise_data/" }, method = RequestMethod.GET)
+       public @ResponseBody QueryJSON retrieveSqlTabWiseData(@PathVariable Map<String, String> pathVariables,
                        HttpServletRequest request, HttpServletResponse response) throws IOException, RaptorException {
                ReportDefinition rdef = null;
                ReportRuntime rr = null;
-               boolean newReport = false;
-               String jsonInString = "";
-               String tabId = "";
                String id = "";
                String detailId = "";
-               
-               if (pathVariables.containsKey("tabId")) {
-                       tabId = pathVariables.get("tabId");
+               QueryJSON wizardJSON = new QueryJSON();
+
+               if (pathVariables.containsKey("id")) {
+                       id = pathVariables.get("id");
+               }
+               if (pathVariables.containsKey("detailId")) {
+                       detailId = pathVariables.get("detailId");
                }
+               ServletContext servletContext = request.getSession().getServletContext();
+               if (!Globals.isSystemInitialized()) {
+                       Globals.initializeSystem(servletContext);
+               }
+               if (id.equals("InSession") || AppUtils.nvl(id).length() <= 0) {
+                       rdef = (ReportDefinition) request.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION);
+               } else if (AppUtils.nvl(id).length() > 0) {
+                       rdef = (ReportDefinition) request.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION);
+                       rr = (ReportRuntime) request.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME);
+
+                       if (rdef != null && !rdef.getReportID().equals(id)) {
+                               request.getSession().removeAttribute(AppConstants.SI_REPORT_DEFINITION);
+                               removeVariablesFromSession(request);
+                               rdef = (new ReportHandler()).loadReportDefinition(request, id);
+                       } else if (rr != null && !rr.getReportID().equals(id)) {
+                               request.getSession().removeAttribute(AppConstants.SI_REPORT_RUNTIME);
+                               removeVariablesFromSession(request);
+                               rdef = (new ReportHandler()).loadReportDefinition(request, id);
+                       } else if (rdef == null) {
+                               rdef = (new ReportHandler()).loadReportDefinition(request, id);
+                       }
+               }
+
+               if (rdef != null) {
+
+                       wizardJSON.setTabId("Sql");
+                       wizardJSON.setTabName("Sql");
+                       wizardJSON.setQuery(rdef.getReportSQL());
+               }
+               return wizardJSON;
+       }
+
+       @RequestMapping(value = { "/report/wizard/retrieve_def_tab_wise_data/{id}",
+                       "/report/wizard/retrieve_def_tab_wise_data/{id}/{detailId}" }, method = RequestMethod.GET)
+       public @ResponseBody DefinitionJSON retrieveDefTabWiseData(@PathVariable Map<String, String> pathVariables,
+                       HttpServletRequest request, HttpServletResponse response) throws IOException, RaptorException {
+               ReportDefinition rdef = null;
+               ReportRuntime rr = null;
+               boolean newReport = false;
+               String tabId = "Def";
+               String id = "";
+
                if (pathVariables.containsKey("id")) {
                        id = pathVariables.get("id");
                }
+               String detailId = "";
                if (pathVariables.containsKey("detailId")) {
                        detailId = pathVariables.get("detailId");
                }
-               
-               
+
                ServletContext servletContext = request.getSession().getServletContext();
                if (!Globals.isSystemInitialized()) {
                        Globals.initializeSystem(servletContext);
@@ -1090,31 +927,33 @@ public class RaptorControllerAsync extends UnRestrictedBaseController {
                                request.getSession().removeAttribute(AppConstants.SI_REPORT_DEFINITION);
                                removeVariablesFromSession(request);
                                rdef = (new ReportHandler()).loadReportDefinition(request, id);
+                               request.getSession().setAttribute(AppConstants.SI_REPORT_DEFINITION, rdef);
                        } else if (rr != null && !rr.getReportID().equals(id)) {
                                request.getSession().removeAttribute(AppConstants.SI_REPORT_RUNTIME);
                                removeVariablesFromSession(request);
                                rdef = (new ReportHandler()).loadReportDefinition(request, id);
+                               request.getSession().setAttribute(AppConstants.SI_REPORT_DEFINITION, rdef);
                        } else if (rdef == null) {
                                rdef = (new ReportHandler()).loadReportDefinition(request, id);
+                               request.getSession().setAttribute(AppConstants.SI_REPORT_DEFINITION, rdef);
                        }
                        newReport = false;
 
                } else {
                        rdef = (ReportDefinition) request.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION);
                }
-               WizardJSON wizardJSON = null;
+               DefinitionJSON wizardJSON = new DefinitionJSON();
                if (tabId.equals("Def")) {
-                       wizardJSON = new DefinitionJSON();
-                       ((DefinitionJSON) wizardJSON).setTabId("Def");
-                       ((DefinitionJSON) wizardJSON).setTabName("Definition");
-
-                       ((DefinitionJSON) wizardJSON).setReportId((rdef != null) ? rdef.getReportID() + "" : "");
-                       ((DefinitionJSON) wizardJSON).setReportName((rdef != null) ? rdef.getReportName() : "");
-                       ((DefinitionJSON) wizardJSON).setReportDescr((rdef != null) ? rdef.getReportDescr() : "");
-                       ((DefinitionJSON) wizardJSON).setReportType((rdef != null) ? rdef.getReportType() : AppConstants.RT_LINEAR);
-                       ((DefinitionJSON) wizardJSON).setDbInfo((rdef != null) ? rdef.getDBInfo() : "");
-                       ((DefinitionJSON) wizardJSON).setFormHelpText((rdef != null) ? rdef.getFormHelpText() : "");
-                       ((DefinitionJSON) wizardJSON).setPageSize((rdef != null) ? rdef.getPageSize() : 50);
+                       wizardJSON.setTabId("Def");
+                       wizardJSON.setTabName("Definition");
+
+                       wizardJSON.setReportId((rdef != null) ? rdef.getReportID() + "" : "");
+                       wizardJSON.setReportName((rdef != null) ? rdef.getReportName() : "");
+                       wizardJSON.setReportDescr((rdef != null) ? rdef.getReportDescr() : "");
+                       wizardJSON.setReportType((rdef != null) ? rdef.getReportType() : AppConstants.RT_LINEAR);
+                       wizardJSON.setDbInfo((rdef != null) ? rdef.getDBInfo() : "");
+                       wizardJSON.setFormHelpText((rdef != null) ? rdef.getFormHelpText() : "");
+                       wizardJSON.setPageSize((rdef != null) ? rdef.getPageSize() : 50);
                        List<IdNameBooleanJSON> displayArea = new ArrayList<IdNameBooleanJSON>();
                        IdNameBooleanJSON idNameJSON = new IdNameBooleanJSON();
                        String qMenu = "";
@@ -1128,17 +967,14 @@ public class RaptorControllerAsync extends UnRestrictedBaseController {
                                }
                                displayArea.add(idNameJSON);
                        }
-                       ((DefinitionJSON) wizardJSON).setDisplayArea(displayArea);
-                       ((DefinitionJSON) wizardJSON)
-                                       .setHideFormFieldsAfterRun((rdef != null) ? rdef.isHideFormFieldAfterRun() : false);
-                       ((DefinitionJSON) wizardJSON)
-                                       .setMaxRowsInExcelCSVDownload((rdef != null) ? rdef.getMaxRowsInExcelDownload() : 500);
-                       ((DefinitionJSON) wizardJSON).setFrozenColumns((rdef != null) ? rdef.getFrozenColumns() : 0);
-                       ((DefinitionJSON) wizardJSON).setDataGridAlign((rdef != null) ? rdef.getDataGridAlign() : "left");
-                       ((DefinitionJSON) wizardJSON).setEmptyMessage((rdef != null) ? rdef.getEmptyMessage() : "No records found");
-                       ((DefinitionJSON) wizardJSON)
-                                       .setDataContainerHeight((rdef != null) ? rdef.getDataContainerHeight() : "600");
-                       ((DefinitionJSON) wizardJSON).setDataContainerWidth((rdef != null) ? rdef.getDataContainerWidth() : "900");
+                       wizardJSON.setDisplayArea(displayArea);
+                       wizardJSON.setHideFormFieldsAfterRun((rdef != null) ? rdef.isHideFormFieldAfterRun() : false);
+                       wizardJSON.setMaxRowsInExcelCSVDownload((rdef != null) ? rdef.getMaxRowsInExcelDownload() : 500);
+                       wizardJSON.setFrozenColumns((rdef != null) ? rdef.getFrozenColumns() : 0);
+                       wizardJSON.setDataGridAlign((rdef != null) ? rdef.getDataGridAlign() : "left");
+                       wizardJSON.setEmptyMessage((rdef != null) ? rdef.getEmptyMessage() : "No records found");
+                       wizardJSON.setDataContainerHeight((rdef != null) ? rdef.getDataContainerHeight() : "600");
+                       wizardJSON.setDataContainerWidth((rdef != null) ? rdef.getDataContainerWidth() : "900");
                        List<NameBooleanJSON> displayOptions = new ArrayList<NameBooleanJSON>();
                        NameBooleanJSON nameBooleanJSON = new NameBooleanJSON();
                        nameBooleanJSON.setName("HideFormFields");
@@ -1165,169 +1001,36 @@ public class RaptorControllerAsync extends UnRestrictedBaseController {
                        nameBooleanJSON.setSelected((rdef != null) ? rdef.isDisplayOptionHidePDFIcons() : false);
                        displayOptions.add(nameBooleanJSON);
 
-                       ((DefinitionJSON) wizardJSON).setDisplayOptions(displayOptions);
-
-                       ((DefinitionJSON) wizardJSON)
-                                       .setRuntimeColSortDisabled((rdef != null) ? rdef.isRuntimeColSortDisabled() : false);
-                       ((DefinitionJSON) wizardJSON).setNumFormCols((rdef != null) ? rdef.getNumFormColsAsInt() : 1);
-                       ((DefinitionJSON) wizardJSON).setReportTitle((rdef != null) ? rdef.getReportTitle() : "");
-                       ((DefinitionJSON) wizardJSON).setReportSubTitle((rdef != null) ? rdef.getReportSubTitle() : "");
-
-               } else if (tabId.equals("Sql")) {
-                       wizardJSON = new QueryJSON();
-                       ((QueryJSON) wizardJSON).setTabId("Sql");
-                       ((QueryJSON) wizardJSON).setTabName("Sql");
-                       ((QueryJSON) wizardJSON).setQuery(rdef.getReportSQL());
-
-               } else if (tabId.equals("ColEdit") && rdef != null) {
-                       // wizardJSON = new QueryJSON();
-                       // ((QueryJSON)
-                       // wizardJSON).setQuery((rdef!=null)?rdef.getReportSQL():"");
-                       wizardJSON = new ColumnEditJSON();
-                       ((ColumnEditJSON) wizardJSON).setTabId("ColEdit");
-                       ((ColumnEditJSON) wizardJSON).setTabName("Column Edit");
-
-                       List<DataColumnType> reportColumnList = rdef.getAllColumns();
-
-                       for (DataColumnType reportColumnType : reportColumnList) {
-                               // columnJSON = new ColumnJSON();
-                               if (reportColumnType.getColId().equals(id)) {
-                                       ((ColumnEditJSON) wizardJSON).setColId(reportColumnType.getColId());
-                                       ((ColumnEditJSON) wizardJSON).setColName(reportColumnType.getColName());
-                                       ((ColumnEditJSON) wizardJSON).setDisplayAlignment(reportColumnType.getDisplayAlignment());
-                                       ((ColumnEditJSON) wizardJSON)
-                                                       .setDisplayHeaderAlignment(reportColumnType.getDisplayHeaderAlignment());
-                                       ((ColumnEditJSON) wizardJSON).setSortable(
-                                                       reportColumnType.isIsSortable() == null ? false : reportColumnType.isIsSortable());
-                                       ((ColumnEditJSON) wizardJSON).setVisible(reportColumnType.isVisible());
-                                       ((ColumnEditJSON) wizardJSON).setDrilldownURL(
-                                                       reportColumnType.getDrillDownURL() == null ? "" : reportColumnType.getDrillDownURL());
-                                       ((ColumnEditJSON) wizardJSON).setDrilldownParams(
-                                                       reportColumnType.getDrillDownParams() == null ? "" : reportColumnType.getDrillDownParams());
-                                       ((ColumnEditJSON) wizardJSON).setDrilldownType(
-                                                       reportColumnType.getDrillDownType() == null ? "" : reportColumnType.getDrillDownType());
-
-                               }
-                       }
-
-               } else if (tabId.equals("FormEdit") && rdef != null) {
-                       wizardJSON = new FormEditJSON();
-                       ((FormEditJSON) wizardJSON).setTabId("FormEdit");
-                       ((FormEditJSON) wizardJSON).setTabName("Form Edit");
-                       FormFieldType currField = null;
-                       try {
-                       if (id.equals("add")) {
-
-                               currField = rdef.addFormFieldType(new ObjectFactory(), "", "", "", "", "", "", "", "", null, null, "",
-                                               "");
-                               ((FormEditJSON) wizardJSON).setFieldId(currField.getFieldId());
-                               ((FormEditJSON) wizardJSON).setFieldName(currField.getFieldName());
-                               ((FormEditJSON) wizardJSON).setFieldType(currField.getFieldType());
-                               ((FormEditJSON) wizardJSON).setVisible(currField.getVisible().toUpperCase().startsWith("Y"));
-                               ((FormEditJSON) wizardJSON).setDefaultValue(currField.getDefaultValue());
-                               ((FormEditJSON) wizardJSON).setFieldDefaultSQL(currField.getFieldDefaultSQL());
-                               ((FormEditJSON) wizardJSON).setFieldSQL(currField.getFieldSQL());
-                               ((FormEditJSON) wizardJSON).setValidationType(currField.getValidationType());
-
-                       } else if (id.equals("delete")) {
-                               rdef.deleteFormField(detailId);
-                               persistReportDefinition(request, rdef);
-                               MessageJSON messageJSON = new MessageJSON();
-                               messageJSON.setMessage("Formfield " + detailId+ " Deleted");
-                               messageJSON.setAnyStacktrace("Given formfield deleted");
-
-                               ObjectMapper mapper = new ObjectMapper();
-                               // mapper.setVisibility(JsonMethod.FIELD, Visibility.ANY);
-                               // mapper.setVisibilityChecker(mapper.getVisibilityChecker().with(JsonAutoDetect.Visibility.NONE));
-                               mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
-                               mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
-
-                               try {
-                                       jsonInString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(messageJSON);
-                               } catch (Exception ex1) {
-                                       ex1.printStackTrace();
-                               }
-                               
-
-                       }
-                       if (rdef.getFormFieldList() != null) {
-                               for (FormFieldType fft : rdef.getFormFieldList().getFormField()) {
-                                       if (fft.getFieldId().equals(id)) {
-                                               ((FormEditJSON) wizardJSON).setFieldId(fft.getFieldId());
-                                               ((FormEditJSON) wizardJSON).setFieldName(fft.getFieldName());
-                                               ((FormEditJSON) wizardJSON).setFieldType(fft.getFieldType());
-                                               ((FormEditJSON) wizardJSON).setVisible(fft.getVisible().toUpperCase().startsWith("Y"));
-                                               ((FormEditJSON) wizardJSON).setDefaultValue(fft.getDefaultValue());
-                                               ((FormEditJSON) wizardJSON).setFieldDefaultSQL(fft.getFieldDefaultSQL());
-                                               ((FormEditJSON) wizardJSON).setFieldSQL(fft.getFieldSQL());
-                                               ((FormEditJSON) wizardJSON).setValidationType(fft.getValidationType());
-
-                                               PredefinedValueList preDefined = fft.getPredefinedValueList();
+                       wizardJSON.setDisplayOptions(displayOptions);
 
-                                               if (preDefined != null) {
-                                                       List<IdNameBooleanJSON> preDefinedList = new ArrayList<IdNameBooleanJSON>();
-                                                       IdNameBooleanJSON idNameBooleanJSON = new IdNameBooleanJSON();
-
-                                                       for (String v : preDefined.getPredefinedValue()) {
-                                                               idNameBooleanJSON = new IdNameBooleanJSON();
-                                                               idNameBooleanJSON.setId(v);
-                                                               idNameBooleanJSON.setName(v);
-                                                               preDefinedList.add(idNameBooleanJSON);
-                                                       }
-                                                       ((FormEditJSON) wizardJSON).setPredefinedValueList(preDefinedList);
-                                               }
-                                       }
-                               }
-                       }
-                       } catch (Exception ex) {
-                               ErrorJSONRuntime errorJSONRuntime = new ErrorJSONRuntime();
-                               errorJSONRuntime.setErrormessage("Error occured while retreiving formedit definition Tab");
-                               errorJSONRuntime.setStacktrace(getStackTrace(ex));
-
-                               ObjectMapper mapper = new ObjectMapper();
-                               // mapper.setVisibility(JsonMethod.FIELD, Visibility.ANY);
-                               // mapper.setVisibilityChecker(mapper.getVisibilityChecker().with(JsonAutoDetect.Visibility.NONE));
-                               mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
-                               mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
-
-                               try {
-                                       jsonInString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(errorJSONRuntime);
-                               } catch (Exception ex1) {
-                                       ex1.printStackTrace();
-                               }
-                               
-                       }
+                       wizardJSON.setRuntimeColSortDisabled((rdef != null) ? rdef.isRuntimeColSortDisabled() : false);
+                       wizardJSON.setNumFormCols((rdef != null) ? rdef.getNumFormColsAsInt() : 1);
+                       wizardJSON.setReportTitle((rdef != null) ? rdef.getReportTitle() : "");
+                       wizardJSON.setReportSubTitle((rdef != null) ? rdef.getReportSubTitle() : "");
 
                }
 
-               
-               //PrintWriter out = response.getWriter();
                ObjectMapper mapper = new ObjectMapper();
-               // mapper.setVisibility(JsonMethod.FIELD, Visibility.ANY);
-               // mapper.setVisibilityChecker(mapper.getVisibilityChecker().with(JsonAutoDetect.Visibility.NONE));
                mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
                mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
 
-               try {
-                       jsonInString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(wizardJSON);
-               } catch (Exception ex) {
-                       ex.printStackTrace();
-               }
-               return jsonInString;
+               return wizardJSON;
+
        }
 
        @RequestMapping(value = "/report/wizard/retrieve_data/{validate}", method = RequestMethod.POST)
-       public String retrieveDataForGivenQuery(@PathVariable("validate") boolean validate, @RequestBody QueryJSON queryJSON, HttpServletRequest request,
-                       HttpServletResponse response) throws IOException, RaptorException {
+       public @ResponseBody RaptorResponse retrieveDataForGivenQuery(@PathVariable("validate") boolean validate,
+                       @RequestBody QueryJSON queryJSON, HttpServletRequest request, HttpServletResponse response)
+                       throws IOException, RaptorException {
+               RaptorResponse raptorResponse = new RaptorResponse();
                String sql = queryJSON.getQuery();
                String jsonInString = "";
-               //PrintWriter out = response.getWriter();
-               
+
                ServletContext servletContext = request.getSession().getServletContext();
                if (!Globals.isSystemInitialized()) {
                        Globals.initializeSystem(servletContext);
                }
-               
+
                ReportDefinition rdef = (ReportDefinition) request.getSession().getAttribute(AppConstants.SI_REPORT_DEFINITION);
                if (rdef == null) {
                        ErrorJSONRuntime errorJSONRuntime = new ErrorJSONRuntime();
@@ -1335,15 +1038,16 @@ public class RaptorControllerAsync extends UnRestrictedBaseController {
                        errorJSONRuntime.setStacktrace("");
 
                        ObjectMapper mapper = new ObjectMapper();
-                       // mapper.setVisibility(JsonMethod.FIELD, Visibility.ANY);
-                       // mapper.setVisibilityChecker(mapper.getVisibilityChecker().with(JsonAutoDetect.Visibility.NONE));
                        mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
                        mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
 
                        try {
                                jsonInString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(errorJSONRuntime);
+                               raptorResponse.data().put("elements", jsonInString);
+                               return raptorResponse;
                        } catch (Exception ex1) {
-                               ex1.printStackTrace();
+                               logger.error(EELFLoggerDelegate.errorLogger,
+                                               "[Controller.processRequest]Invalid raptor action [retrieveDataForGivenQuery].", ex1);
                        }
                } else {
                        if (!sql.trim().toUpperCase().startsWith("SELECT")) {
@@ -1351,16 +1055,17 @@ public class RaptorControllerAsync extends UnRestrictedBaseController {
                                errorJSONRuntime.setErrormessage("Invalid statement - the SQL must start with the keyword SELECT");
                                errorJSONRuntime.setStacktrace("SQL Error");
                                ObjectMapper mapper = new ObjectMapper();
-                               // mapper.setVisibility(JsonMethod.FIELD, Visibility.ANY);
-                               // mapper.setVisibilityChecker(mapper.getVisibilityChecker().with(JsonAutoDetect.Visibility.NONE));
                                mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
                                mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
 
                                try {
                                        jsonInString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(errorJSONRuntime);
+                                       raptorResponse.data().put("elements", jsonInString);
+                                       return raptorResponse;
+                                       
                                } catch (Exception ex) {
-                                       ex.printStackTrace();
-
+                                       logger.error(EELFLoggerDelegate.errorLogger,
+                                                       "[Controller.processRequest]Invalid raptor action [retrieveDataForGivenQuery].", ex);
                                }
                        } else {
                                DataSet ds = null;
@@ -1388,17 +1093,10 @@ public class RaptorControllerAsync extends UnRestrictedBaseController {
                                }
                                if (session != null) {
                                        for (int i = 0; i < sessionParameters.length; i++) {
-                                               // if(!sessionParameters[i].startsWith("ff"))
-                                               // sql = Utils.replaceInString(sql, "[" +
-                                               // sessionParameters[i].toUpperCase()+"]",
-                                               // (String)session.getAttribute(sessionParameters[i].toUpperCase())
-                                               // );
-                                               // else {
                                                logger.debug(EELFLoggerDelegate.debugLogger, (" Session " + " sessionParameters[i] "
                                                                + sessionParameters[i] + " " + (String) session.getAttribute(sessionParameters[i])));
                                                sql = Utils.replaceInString(sql, "[" + sessionParameters[i].toUpperCase() + "]",
                                                                (String) session.getAttribute(sessionParameters[i]));
-                                               // }
                                        }
                                }
                                logger.debug(EELFLoggerDelegate.debugLogger, ("After testRunSQL " + sql));
@@ -1406,21 +1104,12 @@ public class RaptorControllerAsync extends UnRestrictedBaseController {
 
                                        response.setContentType("application/json");
                                        ds = ConnectionUtils.getDataSet(sql, "local", true);
-                                       /*
-                                        * SimpleModule module = new SimpleModule();
-                                        * module.addSerializer(new ResultSetSerializer());
-                                        * 
-                                        * ObjectMapper objectMapper = new ObjectMapper();
-                                        * objectMapper.registerModule(module);
-                                        * 
-                                        * ObjectNode objectNode = objectMapper.createObjectNode();
-                                        * objectNode.putPOJO("results", ds);
-                                        * 
-                                        * objectMapper.writeValue(writer, objectNode);
-                                        */
 
                                        QueryResultJSON queryResultJSON = new QueryResultJSON();
                                        queryResultJSON.setQuery(queryJSON.getQuery());
+                                       String query = XSSFilter.filterRequestOnlyScript(queryJSON.getQuery());
+                                       rdef.parseReportSQL(query);
+                                       queryResultJSON.setQuery(query);
 
                                        int numColumns = ds.getColumnCount();
                                        queryResultJSON.setTotalRows(ds.getRowCount());
@@ -1439,18 +1128,14 @@ public class RaptorControllerAsync extends UnRestrictedBaseController {
                                                if (queryResultJSON.getTotalRows() > 0) {
                                                        count = 0;
                                                        dvJSON = new HashMap<String, String>();
-                                                       // for(rd.reportDataRows.resetNext();
-                                                       // rd.reportDataRows.hasNext(); count++) {
                                                        for (int r = 0; r < Math.min(ds.getRowCount(), 100); r++) {
                                                                dvJSON = new HashMap<String, String>();
                                                                for (int c = 0; c < ds.getColumnCount(); c++) {
-                                                                       // jgen.writeFieldName(columnNames[c]);
-                                                                       // jgen.writeString(ds.getString(r, c));
                                                                        try {
                                                                                dvJSON.put(ds.getColumnName(c), ds.getString(r, c));
                                                                        } catch (Exception ex) {
-                                                                               ex.printStackTrace();
-
+                                                                               logger.error(EELFLoggerDelegate.errorLogger,
+                                                                                               "[Controller.processRequest]Invalid raptor action [retrieveDataForGivenQuery].", ex);
                                                                        }
                                                                }
                                                                reportDataRows.add(dvJSON);
@@ -1461,44 +1146,62 @@ public class RaptorControllerAsync extends UnRestrictedBaseController {
                                        }
                                        queryResultJSON.setReportDataRows(reportDataRows);
                                        ObjectMapper mapper = new ObjectMapper();
-                                       // mapper.setVisibility(JsonMethod.FIELD, Visibility.ANY);
-                                       // mapper.setVisibilityChecker(mapper.getVisibilityChecker().with(JsonAutoDetect.Visibility.NONE));
                                        mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
                                        mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
-                                       // String jsonInString = "";
+                                       if (validate) {
+                                               query = XSSFilter.filterRequestOnlyScript(queryJSON.getQuery());
+                                               request.setAttribute("sqlValidated", "N");
+                                               rdef.parseReportSQL(query);
+                                               request.setAttribute("sqlValidated", "Y");
+                                               persistReportDefinition(request, rdef);
+
+                                       }
                                        try {
                                                jsonInString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(queryResultJSON);
+                                               raptorResponse.data().put("elements", jsonInString);
+                                               return raptorResponse;
+                                               
+                                               
                                        } catch (Exception ex) {
-                                               ex.printStackTrace();
-
+                                               logger.error(EELFLoggerDelegate.errorLogger,
+                                                               "[Controller.processRequest]Invalid raptor action [retrieveDataForGivenQuery]. RaptorException: ", ex);
                                        }
-
-                                       // return queryResultJSON;
-
                                } catch (ReportSQLException ex) {
-                                       ex.printStackTrace();
                                        ErrorJSONRuntime errorJSONRuntime = new ErrorJSONRuntime();
-                                       if(sql.contains("[")) {
-                                               errorJSONRuntime.setErrormessage("Formfield information is present in the query, hence couldn't execute");
-                                               errorJSONRuntime.setStacktrace("Formfield information is present in the query, hence couldn't execute");
+                                       if (sql.contains("[")) {
+                                               errorJSONRuntime.setErrormessage(
+                                                               "Formfield information is present in the query, hence couldn't execute");
+                                               errorJSONRuntime
+                                                               .setStacktrace("Formfield information is present in the query, hence couldn't execute");
+                                               if (validate) {
+                                                       String query = XSSFilter.filterRequestOnlyScript(queryJSON.getQuery());
+                                                       request.setAttribute("sqlValidated", "N");
+                                                       rdef.parseReportSQL(query);
+                                                       request.setAttribute("sqlValidated", "Y");
+                                                       persistReportDefinition(request, rdef);
+
+                                               }
+
                                        } else {
                                                errorJSONRuntime.setErrormessage(ex.getMessage());
                                                errorJSONRuntime.setStacktrace(getStackTrace(ex));
                                        }
                                        ObjectMapper mapper = new ObjectMapper();
-                                       // mapper.setVisibility(JsonMethod.FIELD, Visibility.ANY);
-                                       // mapper.setVisibilityChecker(mapper.getVisibilityChecker().with(JsonAutoDetect.Visibility.NONE));
                                        mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
                                        mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
 
                                        try {
                                                jsonInString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(errorJSONRuntime);
-                                       } catch (Exception ex1) {
-                                               ex1.printStackTrace();
+                                               raptorResponse.data().put("elements", jsonInString);
+                                               return raptorResponse;
+                                               
 
+                                       } catch (Exception ex1) {
+                                               logger.error(EELFLoggerDelegate.errorLogger,
+                                                               "[Controller.processRequest]Invalid raptor action [retrieveDataForGivenQuery].", ex1);
                                        }
                                }
-                               if(validate) {
+                               if (validate) {
                                        String query = XSSFilter.filterRequestOnlyScript(queryJSON.getQuery());
                                        request.setAttribute("sqlValidated", "N");
                                        rdef.parseReportSQL(query);
@@ -1506,10 +1209,11 @@ public class RaptorControllerAsync extends UnRestrictedBaseController {
                                        persistReportDefinition(request, rdef);
 
                                }
-                               
+
                        }
                }
-               return jsonInString;
+               raptorResponse.data().put("elements", jsonInString);
+               return raptorResponse;
 
        }
 
@@ -1517,10 +1221,6 @@ public class RaptorControllerAsync extends UnRestrictedBaseController {
        public void reportChartReceive(@RequestBody ChartJSON chartJSON, HttpServletRequest request,
                        HttpServletResponse response) throws IOException {
                ReportRuntime reportRuntime;
-               // System.out.println("*****Hit RaptorChart******");
-
-               // System.out.println("chartJSON"+chartJSON.getRangeAxisList());
-               // System.out.println("chartJSON"+chartJSON.getCommonChartOptions().getLegendPosition());
                reportRuntime = (ReportRuntime) request.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME); // changing
                                                                                                                                                                                                                        // session
                                                                                                                                                                                                                        // to
@@ -1531,8 +1231,8 @@ public class RaptorControllerAsync extends UnRestrictedBaseController {
                                ReportHandler rh = new ReportHandler();
                                reportRuntime = rh.loadReportRuntime(request, reportID);
                        } catch (RaptorException ex) {
-                               ex.printStackTrace();
-
+                               logger.error(EELFLoggerDelegate.errorLogger,
+                                               "[Controller.processRequest]Invalid raptor action [reportChartReceive].", ex);
                        }
                }
 
@@ -1673,8 +1373,8 @@ public class RaptorControllerAsync extends UnRestrictedBaseController {
                        try {
                                reportRuntime.persistLinearReport(request);
                        } catch (Exception ex) {
-                               ex.printStackTrace();
-                               logger.error("While SAVING CHART", ex);
+                               logger.error(EELFLoggerDelegate.errorLogger,
+                                               "[Controller.processRequest]Invalid raptor action [reportChartReceive].", ex);
                        }
                }
 
@@ -1703,8 +1403,6 @@ public class RaptorControllerAsync extends UnRestrictedBaseController {
                return result.toString();
        }
 
-       EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(RaptorControllerAsync.class);
-
        public void persistReportDefinition(HttpServletRequest request, ReportDefinition rdef) throws RaptorException {
                ReportRuntime rr = (ReportRuntime) request.getSession().getAttribute(AppConstants.SI_REPORT_RUNTIME);
                if (rr != null && rr.getReportID().equals(rdef.getReportID()))
index a84d217..79aa005 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 7728e99..c7a8d76 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index f074039..ff0b1d9 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 67370d9..f26a571 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 9c76c36..946eb24 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 3220eeb..0d21a78 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 2d9bef4..78f3b82 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 15b4042..531ea2f 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 0dc6da1..a0cc7ae 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index e8ca429..ebd2b4b 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 1d8af01..a8d74f2 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 822456d..7be6d0a 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index fc39af9..999c4f4 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index ffec606..7285927 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 196da89..12041e8 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 5045cd5..1ba07f4 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 8970d1a..83df0bd 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 090fd86..288d66d 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 1f0928c..3abe55c 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 93fcc0e..d9d78cf 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 8eb090c..af018cf 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index fa54a1d..92a3d73 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index f717e44..886c35f 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 0e1e55e..4a8a621 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index db150d5..e941c12 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index f887e5f..ae6ee76 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 1eb7a52..c02b39b 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index c5366f5..439f2f4 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 48ae70a..be1c0ad 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index f097f3f..ae75064 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 8ba7e2d..e7ce059 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index ad332aa..5d17d38 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 4ba660e..eb38fb8 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 58c7e30..f86e199 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index b8437aa..d344845 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index c6d1748..ad68a4b 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 42f1e41..99cb986 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 4a983ae..341eb43 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 41e8d9a..7068a3e 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index c710a1e..66a3217 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 3dd7e11..38e0103 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 08b066c..3857a4f 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index c26bce7..3df9dc8 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index dc798c8..373657c 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 77922c7..d7be220 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 34361c2..f97ff50 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 5c0abf8..4388b86 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 102e3fc..7d52a9b 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index fe7fb7b..3bf8d8a 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 7c4d784..e57824d 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 5515cd2..35cbe8c 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 78d727c..36fce12 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 6a8e445..2f656d0 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 796f605..b1ac30d 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index fdb833d..be1bc39 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 215e3b4..54ffa7a 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 61323a5..ec371a5 100644 (file)
@@ -1,6 +1,6 @@
 /*-
  * ================================================================================
- * eCOMP Portal SDK
+ * ECOMP Portal SDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property
  * ================================================================================
index 5a01537..e366d7a 100644 (file)
@@ -33,6 +33,22 @@ Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_profile_import
 Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_tab','Sample Tab Menu');
 Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('view_reports','View Raptor reports');
 
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_itracker_admin','Itracker Admin/Support menu');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('quantum_bd','Big Data Function');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('1','test role function');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_hiveconfig','Hive Configuration');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_mapreduce_create','Map Reduce Configuration Create');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_mapreduce_search','Map Reduce Configuration Search');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_hiveconfig_search','Hive Configuration Search');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_hiveconfig_create','Hive Configuration Create');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_test','Test Menu');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_doclib','Document Library Menu');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('doclib','Document Library');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('doclib_admin','Document Library Admin');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_concept','CoNCEPT');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_itracker','iTracker Menu');
+Insert into fn_function (FUNCTION_CD,FUNCTION_NAME) values ('menu_mapreduce','Map Reduce Configuration');
+
 -- fn_lu_activity
 Insert into fn_lu_activity (ACTIVITY_CD,ACTIVITY) values ('add_role','add_role');
 Insert into fn_lu_activity (ACTIVITY_CD,ACTIVITY) values ('remove_role','remove_role');
index 90b6d07..7c6b6a3 100644 (file)
@@ -13,54 +13,8 @@ https://www.eclipse.org/m2e-wtp/
 
 ## Release Notes
 
-All of the release notes in the epsdk-app-common and epsdk-app-overlay areas apply here!
-
-Build 1.2.8, ?? ??? 2017
-* put new entries here *
-
-Build 1.2.7, 10 Apr 2017
-- Drop shared context property 
-
-Build 1.2.6, 23 Mar 2017
-- DE270905 Removed total page/current page text boxes from bottom of Profile Search page
-- DE272154 SDK-App: self profile page, changes on drop downs not saved
-- DE273128 Revise left menu to have unique IDs
-- DE271378 fixed Camunda Page link in fn_menu; additional links were updated: Notebook
-- US847688 Abstraction of support page content for AT&T vs Open Source in SQL Scripts
-- Add sample defs/definitions.xml file for partner applications to configure jsp pages
-- Downgrade angularJS from 1.5.0 to 1.4.8
-
-Build 1.2.5, 16 Mar 2017
-- DE272709 Update icon names from DS1 to DS2 in database load script
-- Upgrade to EPSDK libraries version 1.2.5
-
-Build 1.2.4, 10 Mar 2017
-- DE272042 Add missing includes so left menu appears on collaborate and notebook pages
-- DE272193 Fix class/icon name to restore role icon on Self Profile page
-- Restore spinners by changing class name from icon-spinner to icon-primary-spinner
-- DE272202 updated ionicon.css for open source version of report search page
-- Removed unused js files from samplePage.html in epsdk-app-os
-- Upgrade to EPSDK libraries version 1.2.4
-
-Build 1.2.3, 8 Mar 2017
-- DE271038 Remove references to famous telecommunications company from system.properties
-- Upgrade to EPSDK libraries version 1.2.3
-
-Build 1.2.2, 6 Mar 2017
-- DE270658 EPSDK-app-os header is covering part of left menu.
-- DE271510 Pages not loading in IE and FF properly. Drop page-resource-ds2.js; load scripts in HTML directly
-- Remove references to famous telecommunications company hosts from fusion.properties, portal.properties
-- Upgrade to EPSDK libraries version 1.2.2
-
-Build 1.2.1, 2 Mar 2017
-- DE269231 Separated footer files on OS module displaying black footer with no content
-- US847688 Split database scripts; include full set in distributions
-- US847706 Refactored AdminAuthExtension to implement interface expected in OnboardingApiServiceImpl 
-- Added class conf/HibernateMappingLocations - moved out of common to apps
-- Added file logback.xml to src/main/resources with appropriate logger names
-- Extend HibernateMappingLocations with method that returns list of package names to scan
-- Remove references to famous telecommunications company hosts from system.properties file
-- Upgrade to EPSDK libraries version 1.2.1
-
-Build 1.2.0, 9 Feb 2017
+Version 1.1.0
+- [Portal-7] Improvements added as part of the rebasing process
+Version 1.0.0
 - Initial release
index 839baa0..e5bc4b9 100644 (file)
@@ -4,7 +4,6 @@
 -- ---------------------------------------------------------------------------------------------------------------
 
 SET FOREIGN_KEY_CHECKS=1; 
-
 USE ecomp_sdk;
 
 -- fn_menu 
@@ -15,9 +14,9 @@ INSERT INTO fn_menu (MENU_ID, LABEL, PARENT_ID, SORT_ORDER, ACTION, FUNCTION_CD,
 INSERT INTO fn_menu (MENU_ID, LABEL, PARENT_ID, SORT_ORDER, ACTION, FUNCTION_CD, ACTIVE_YN, SERVLET, QUERY_STRING, EXTERNAL_URL, TARGET, MENU_SET_CD, SEPARATOR_YN, IMAGE_SRC) VALUES (9, 'Profile', 1, 90, 'userProfile', 'menu_profile', 'Y', NULL, NULL, NULL, NULL, 'APP', 'N', 'icon-people-oneperson');
 INSERT INTO fn_menu (MENU_ID, LABEL, PARENT_ID, SORT_ORDER, ACTION, FUNCTION_CD, ACTIVE_YN, SERVLET, QUERY_STRING, EXTERNAL_URL, TARGET, MENU_SET_CD, SEPARATOR_YN, IMAGE_SRC) VALUES (10, 'Admin', 1, 110, 'role_list.htm', 'menu_admin', 'Y', NULL, NULL, NULL, NULL, 'APP', 'N', 'icon-content-star');
 INSERT INTO fn_menu (MENU_ID, LABEL, PARENT_ID, SORT_ORDER, ACTION, FUNCTION_CD, ACTIVE_YN, SERVLET, QUERY_STRING, EXTERNAL_URL, TARGET, MENU_SET_CD, SEPARATOR_YN, IMAGE_SRC) VALUES (84, 'All Reports', 8, 50, 'report', 'menu_reports', 'Y', NULL, NULL, NULL, NULL, 'APP', 'N', '/static/fusion/images/reports.png');
-INSERT INTO fn_menu (MENU_ID, LABEL, PARENT_ID, SORT_ORDER, ACTION, FUNCTION_CD, ACTIVE_YN, SERVLET, QUERY_STRING, EXTERNAL_URL, TARGET, MENU_SET_CD, SEPARATOR_YN, IMAGE_SRC) values (87, 'Create Reports', 8, 120, 'report_wizard.htm?r_action=report.create', 'menu_reports', 'Y', NULL, 'r_action=report.create', NULL, NULL, 'APP', 'N', NULL);
+INSERT INTO fn_menu (MENU_ID, LABEL, PARENT_ID, SORT_ORDER, ACTION, FUNCTION_CD, ACTIVE_YN, SERVLET, QUERY_STRING, EXTERNAL_URL, TARGET, MENU_SET_CD, SEPARATOR_YN, IMAGE_SRC) values (87, 'Create Reports', 8, 120, 'report#/report_wizard', 'menu_reports', 'Y', NULL, 'r_action=report.create', NULL, NULL, 'APP', 'N', NULL);
 INSERT INTO fn_menu (MENU_ID, LABEL, PARENT_ID, SORT_ORDER, ACTION, FUNCTION_CD, ACTIVE_YN, SERVLET, QUERY_STRING, EXTERNAL_URL, TARGET, MENU_SET_CD, SEPARATOR_YN, IMAGE_SRC) values (88, 'Sample Dashboard', 8, 130, 'report_dashboard', 'menu_reports', 'Y', NULL, NULL, NULL, NULL, 'APP', 'N', NULL);
-INSERT INTO fn_menu (MENU_ID, LABEL, PARENT_ID, SORT_ORDER, ACTION, FUNCTION_CD, ACTIVE_YN, SERVLET, QUERY_STRING, EXTERNAL_URL, TARGET, MENU_SET_CD, SEPARATOR_YN, IMAGE_SRC) VALUES (89, 'Import', 8, 140, 'report_wizard.htm?action=report.import', 'menu_reports', 'N', null, null, null, null, 'APP', 'N', null); 
+INSERT INTO fn_menu (MENU_ID, LABEL, PARENT_ID, SORT_ORDER, ACTION, FUNCTION_CD, ACTIVE_YN, SERVLET, QUERY_STRING, EXTERNAL_URL, TARGET, MENU_SET_CD, SEPARATOR_YN, IMAGE_SRC) VALUES (89, 'Import', 8, 140, 'report#/report_import', 'menu_reports', 'N', null, null, null, null, 'APP', 'N', null); 
 INSERT INTO fn_menu (MENU_ID, LABEL, PARENT_ID, SORT_ORDER, ACTION, FUNCTION_CD, ACTIVE_YN, SERVLET, QUERY_STRING, EXTERNAL_URL, TARGET, MENU_SET_CD, SEPARATOR_YN, IMAGE_SRC) VALUES (94, 'Self', 9, 40,'userProfile#/self_profile', 'menu_profile', 'Y', NULL, NULL, NULL, NULL, 'APP', 'N', '/static/fusion/images/profile.png');
 INSERT INTO fn_menu (MENU_ID, LABEL, PARENT_ID, SORT_ORDER, ACTION, FUNCTION_CD, ACTIVE_YN, SERVLET, QUERY_STRING, EXTERNAL_URL, TARGET, MENU_SET_CD, SEPARATOR_YN, IMAGE_SRC) VALUES (101, 'Roles', 10, 20, 'admin#/admin', 'menu_admin', 'Y', NULL, NULL, NULL, NULL, 'APP', 'N', '/static/fusion/images/users.png');
 INSERT INTO fn_menu (MENU_ID, LABEL, PARENT_ID, SORT_ORDER, ACTION, FUNCTION_CD, ACTIVE_YN, SERVLET, QUERY_STRING, EXTERNAL_URL, TARGET, MENU_SET_CD, SEPARATOR_YN, IMAGE_SRC) VALUES (102, 'Role Functions', 10, 30, 'admin#/role_function_list', 'menu_admin', 'Y', NULL, NULL, NULL, NULL, 'APP', 'N', NULL);
index cb57443..ea959a1 100644 (file)
@@ -1,6 +1,7 @@
 -- ---------------------------------------------------------------------------------------------------------------
 -- This rollback script is for the OpenSource ECOMP SDK App database from version 1707 to 1610.2.
 -- change size on 3 name columns from fn_user for the Opensource version
+--
 -- changed DS1 icon names to DS2 icon names
 -- removed unnecessary fn_menu entries, updated fn_menu actions
 -- ---------------------------------------------------------------------------------------------------------------
@@ -39,6 +40,10 @@ update fn_menu
 set action = 'admin'
 where menu_id = 101 and label = 'Roles';
 
+update fn_menu
+set action = 'report_wizard.htm?r_action=report.create'
+where menu_id = 87 and label = 'Create Reports';
+
 delete from fn_menu 
 where menu_id = 150022 and label = 'Menus';
 
index 81522f8..c7d448d 100644 (file)
@@ -1,6 +1,7 @@
 -- ---------------------------------------------------------------------------------------------------------------
 -- This script upgrades the OpenSource ECOMP SDK App database from version 1610.2 to 1707.
 -- change size on 3 name columns from fn_user for the Opensource version
+--
 -- changed DS1 icon names to DS2 icon names
 -- removed unnecessary fn_menu entries, updated fn_menu actions
 -- ---------------------------------------------------------------------------------------------------------------
@@ -39,6 +40,10 @@ update fn_menu
 set action = 'admin#/admin'
 where menu_id = 101 and label = 'Roles';
 
+update fn_menu 
+set action ='report#/report_wizard' 
+where menu_id = 87 and label = 'Create Reports';
+
 delete from fn_menu 
 where menu_id = 13 and label = 'Application Logout';
 
@@ -48,7 +53,7 @@ where menu_id = 92 and label = 'Import User';
 delete from fn_menu 
 where menu_id = 103 and label = 'Broadcast Messages';
 
-INSERT INTO fn_menu (MENU_ID, LABEL, PARENT_ID, SORT_ORDER, ACTION, FUNCTION_CD, ACTIVE_YN, SERVLET, QUERY_STRING, EXTERNAL_URL, TARGET, MENU_SET_CD, SEPARATOR_YN, IMAGE_SRC) VALUES (89, 'Import', 8, 140, 'report_wizard.htm?action=report.import', 'menu_reports', 'Y', null, null, null, null, 'APP', 'N', null); 
+INSERT INTO fn_menu (MENU_ID, LABEL, PARENT_ID, SORT_ORDER, ACTION, FUNCTION_CD, ACTIVE_YN, SERVLET, QUERY_STRING, EXTERNAL_URL, TARGET, MENU_SET_CD, SEPARATOR_YN, IMAGE_SRC) VALUES (89, 'Import', 8, 140, 'report#/report_import', 'menu_reports', 'Y', null, null, null, null, 'APP', 'N', null); 
 INSERT INTO fn_menu (MENU_ID, LABEL, PARENT_ID, SORT_ORDER, ACTION, FUNCTION_CD, ACTIVE_YN, SERVLET, QUERY_STRING, EXTERNAL_URL, TARGET, MENU_SET_CD, SEPARATOR_YN, IMAGE_SRC) VALUES (150022, 'Menus', 10, 60, 'admin#/admin_menu_edit', 'menu_admin', 'Y', NULL, NULL, NULL, NULL, 'APP', 'N', NULL);
 
 alter table fn_user
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-chart-controller.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-controllers/ds2-reports/report-chart-controller.js
new file mode 100644 (file)
index 0000000..806b1bc
--- /dev/null
@@ -0,0 +1,382 @@
+appDS2.controller('reportChartController', function ($scope, $rootScope, $timeout, $window, $http, $routeParams,modalService) {
+       //$scope.test="1223";
+       //alert($scope.chartType.value);
+       console.log("reportChartController called");
+    $scope.commonOptionOpen = false;
+    $scope.additionalOptionOpen = false;
+    
+       $scope.selectedChartType = {value:""};
+    $scope.chartTypeOptions = [
+        {value: 'barChart', text: 'Bar Chart'},
+        {value: 'timeSeries', text: 'Time Series/Area Chart'},
+        {value: 'pieChart', text: 'Pie Chart'},        
+        {value: 'annotationChart', text: 'Annotation Chart'},
+        {value: 'flexibleTimeChart', text: 'Flexible Time Chart'}    
+    ];
+    
+    $scope.animateSelected = {value:false};
+    
+       $scope.populateChrtWzdFields = function() {
+               $scope.reportRunJson = {};
+               $http.get("raptor.htm?action=chart.json&c_master="+$routeParams.reportId).then(function (response) {
+                       $scope.reportRunJson = response.data;
+                         //Set chart type
+                         if ($scope.reportRunJson.chartTypeJSON) {
+                                 var chrtTypeValue = $scope.reportRunJson.chartTypeJSON.value;
+                                        for(var i = 0; i < $scope.chartTypes.length; i++) {
+                                                   var obj = $scope.chartTypes[i];
+                                                   //console.log(obj.id);
+                                                   if ($scope.chartTypes[i].value==chrtTypeValue) {
+                                                       $scope.reportRunJson.chartTypeJSON.index=$scope.chartTypes[i].index;
+                                                       $scope.reportRunJson.chartTypeJSON.title=$scope.chartTypes[i].title;
+                                                   }
+       
+                                       }
+                         }      
+                                
+                               //Set Domain Axis
+                                if ($scope.reportRunJson.domainAxisJSON) {
+                                         var domaninAxisValue = $scope.reportRunJson.domainAxisJSON.value;
+                                                for(var i = 0; i < $scope.reportRunJson.chartColumnJSONList.length; i++) {
+                                                          if ($scope.reportRunJson.chartColumnJSONList[i].value==domaninAxisValue) {
+                                                               $scope.reportRunJson.domainAxisJSON.index=$scope.reportRunJson.chartColumnJSONList[i].index;
+                                                               $scope.reportRunJson.domainAxisJSON.title=$scope.reportRunJson.chartColumnJSONList[i].title;
+                                                           }
+               
+                                               }
+                                 }
+                                
+                               //Set Category
+                                if ($scope.reportRunJson.categoryAxisJSON) {
+                                         var categoryAxisValue = $scope.reportRunJson.categoryAxisJSON.value;
+                                                for(var i = 0; i < $scope.reportRunJson.chartColumnJSONList.length; i++) {
+                                                          if ($scope.reportRunJson.chartColumnJSONList[i].value==categoryAxisValue) {
+                                                               $scope.reportRunJson.categoryAxisJSON.index=$scope.reportRunJson.chartColumnJSONList[i].index;
+                                                               $scope.reportRunJson.categoryAxisJSON.title=$scope.reportRunJson.chartColumnJSONList[i].title;
+                                                           }
+                                               }
+                                 }
+                                
+                               //Set range axis label
+               if ($scope.reportRunJson.rangeAxisList) {
+                       for(var j = 0; j < $scope.reportRunJson.rangeAxisList.length; j++) { 
+                                
+                                if ($scope.reportRunJson.rangeAxisList[j].rangeAxisLabelJSON) {
+                                         var rangeAxisLabelValue = $scope.reportRunJson.rangeAxisList[j].rangeAxisLabelJSON.value;
+                                                for(var i = 0; i < $scope.reportRunJson.chartColumnJSONList.length; i++) {
+                                                          if ($scope.reportRunJson.chartColumnJSONList[i].value==rangeAxisLabelValue) {
+                                                               $scope.reportRunJson.rangeAxisList[j].rangeAxisLabelJSON.index=$scope.reportRunJson.chartColumnJSONList[i].index;
+                                                               $scope.reportRunJson.rangeAxisList[j].rangeAxisLabelJSON.title=$scope.reportRunJson.chartColumnJSONList[i].title;
+                                                           }
+                                               }
+                                 }
+                       }
+               }
+                               
+                               
+                               //set range linetype
+                               if ($scope.reportRunJson.rangeAxisList) {
+                                       for(var j = 0; j < $scope.reportRunJson.rangeAxisList.length; j++) { 
+                                                if ($scope.reportRunJson.rangeAxisList[j].rangeLineTypeJSON != null && $scope.reportRunJson.rangeAxisList[j].rangeLineTypeJSON.value != ""
+                                                        && $scope.reportRunJson.rangeAxisList[j].rangeLineTypeJSON.value != null) {
+                                                        var lineTypeValue = $scope.reportRunJson.rangeAxisList[j].rangeLineTypeJSON.value;
+                                                        for(var i = 0; i < $scope.lineTypes.length; i++) {
+                                                                   if ($scope.lineTypes[i].value==lineTypeValue) {
+                                                                       $scope.reportRunJson.rangeAxisList[j].rangeLineTypeJSON.index=$scope.lineTypes[i].index;
+                                                                       $scope.reportRunJson.rangeAxisList[j].rangeLineTypeJSON.title=$scope.lineTypes[i].title;
+                                                                   }
+                                                       }
+                                               } else {
+                                                       $scope.reportRunJson.rangeAxisList[j].rangeLineTypeJSON = null;
+                                               }  
+                                       }
+                               }
+                               //set range color
+                               if ($scope.reportRunJson.rangeAxisList) {
+                                       for(var j = 0; j < $scope.reportRunJson.rangeAxisList.length; j++) { 
+                                                if ($scope.reportRunJson.rangeAxisList[j].rangeColorJSON != null && $scope.reportRunJson.rangeAxisList[j].rangeColorJSON.value != ""
+                                                        && $scope.reportRunJson.rangeAxisList[j].rangeColorJSON.value != null) {
+                                                        var colorValue = $scope.reportRunJson.rangeAxisList[j].rangeColorJSON.value; 
+                                                        for(var i = 0; i < $scope.rangeColors.length; i++) {
+                                                                if ($scope.rangeColors[i].value==colorValue) {
+                                                                        $scope.reportRunJson.rangeAxisList[j].rangeColorJSON.index=$scope.rangeColors[i].index;
+                                                                        $scope.reportRunJson.rangeAxisList[j].rangeColorJSON.title=$scope.rangeColors[i].title;
+                                                                }
+                                                        }
+                                                }else {
+                                                        $scope.reportRunJson.rangeAxisList[j].rangeColorJSON = null; 
+                                                }
+                                       }
+                               }
+                 });
+               
+               $scope.legend = "true";
+       }
+       
+       $scope.saveChartData = function() {
+               //Converting string variables to numbers
+               $scope.reportRunJson.commonChartOptions.rightMargin = Number($scope.reportRunJson.commonChartOptions.rightMargin);
+               $scope.reportRunJson.commonChartOptions.topMargin = Number($scope.reportRunJson.commonChartOptions.topMargin);
+               $scope.reportRunJson.commonChartOptions.bottomMargin = Number($scope.reportRunJson.commonChartOptions.bottomMargin);
+               $scope.reportRunJson.commonChartOptions.leftMargin = Number($scope.reportRunJson.commonChartOptions.leftMargin);
+        
+               if ($scope.reportRunJson.categoryAxisJSON == "") { 
+                       console.log('Inside categoryAxisJSON value'); 
+                       $scope.reportRunJson.categoryAxisJSON = {}; 
+                       $scope.reportRunJson.categoryAxisJSON.value = -1; 
+                       console.log('$scope.reportRunJson.categoryAxisJSON',$scope.reportRunJson.categoryAxisJSON);  
+               }
+               
+               console.log($scope.reportRunJson);
+               $http.post("save_chart", JSON.stringify($scope.reportRunJson)).success(function(data, status) {
+                        $scope.successSubmit=true;             
+                       })
+       }
+       
+       
+       $scope.addRangeAxisRow = function (rangeaxisitem) {
+               $scope.reportRunJson.rangeAxisList.push({
+             });       
+       };
+
+       $scope.removeRangeAxisRow = function (index) {
+               $scope.reportRunJson.rangeAxisList.splice(index, 1);
+       };
+       
+       
+       $scope.init = function () {
+               if ($scope) { 
+                       $scope.populateChrtWzdFields();
+               }
+       };
+       
+       
+       
+       $scope.domainItems = [{title:"Domain Axis1", content:"Test1", open: false},{title:"Domain Axis2", content:"Test2", open: false}];
+       
+       $scope.chartTypes = [        
+                            {index: 0, value: 'BarChart3D', title: 'Bar Chart'},
+                            {index: 1, value: 'TimeSeriesChart', title: 'Time Series/Area Chart'},
+                            {index: 2, value: 'PieChart', title: 'Pie Chart'},
+                            {index: 3, value: 'AnnotationChart', title: 'Annotation Chart'},
+                            {index: 4, value: 'FlexTimeChart', title: 'Flexible Time Chart'}
+        ];
+        
+        $scope.categories = [        
+                                    {index: 0, value: 'scenario_name', title: 'scenario_name'},
+                                    {index: 1, value: 'total_traffic_in_PB', title: 'Total Traffic in PB'},
+                                    {index: 2, value: 'Avg Utilization Day', title: 'Avg Utilization Day'}      
+                ];
+        
+        $scope.rangeColors = [                                      
+                                    {index: 0, value: "#1f77b4",title: "Dodger Blue"},                                                 
+                                                        {index: 1, value: "#ff7f0e",title: "Vivid orange"},                                                    
+                                                        {index: 2, value: "#2ca02c",title: "Forest Green"},                                                    
+                                                        {index: 3, value: "#8c864b",title: "Greenish Red"},                                                    
+                                                        {index: 4, value: "#9467bd",title: "Desaturated violet"},                                      
+                                                        {index: 5, value: "#8c564b",title: "Dark moderate red"},                                       
+                                                        {index: 6, value: "#e377c2",title: "Soft pink"},                                                       
+                                                        {index: 7, value: "#7f7f7f",title: "Dark gray"},                                                       
+                                                        {index: 8, value: "#bcbd22",title: "Strong yellow"},                                           
+                                                        {index: 9, value: "#17becf",title: "Strong cyan"},                                                     
+                                                        {index: 10, value: "#dc143c",title: "Vivid red"},                                                      
+                                                        {index: 11, value: "#800080",title: "Dark magenta"},                                                   
+                                                        {index: 12, value: "#0000FF",title: "Blue"},                                                                   
+                                                        {index: 13, value: "#008000",title: "Dark lime green"},                                                
+                                                        {index: 14, value: "#D2691E",title: "Reddish Orange"},                                 
+                                                        {index: 15, value: "#FF0000",title: "Red"},                                                            
+                                                        {index: 16, value: "#000000",title: "Black"},                                                          
+                                                        {index: 17, value: "#DB7093",title: "Pink"},                                                           
+                                                        {index: 18, value: "#FF00FF",title: "Pure Magenta"},                                           
+                                                        {index: 19, value: "#7B68EE",title: "Soft blue"},                                                      
+                                                        {index: 20, value: "#1f77b6",title: "Strong blue"},                                            
+                                                        {index: 21, value: "#9edae5",title: "Very soft cyan"},                                         
+                                                        {index: 22, value: "#393b79",title: "Dark Blue"},                                                      
+                                                        {index: 23, value: "#5254a3",title: "Dark moderate Blue"},                                     
+                                                        {index: 24, value: "#6b6ecf",title: "Slightly desaturated blue"},                      
+                                                        {index: 25, value: "#9c9ede",title: "Very soft blue"},                 
+                                                        {index: 26, value: "#637939",title: "Dark Green"},                                                     
+                                                        {index: 27, value: "#8ca252",title: "Dark moderate green"},                            
+                                                        {index: 28, value: "#b5cf6b",title: "Slightly desaturated green"},                     
+                                                        {index: 29, value: "#cedb9c",title: "Desaturated Green"},      
+     
+                                                        /* Old Colors  */
+                                                        {index: 30, value: "#00FFFF",title: "Aqua"},
+                                                        {index: 31, value: "#000000",title: "Black"},
+                                                        {index: 32, value: "#0000FF",title: "Blue"},
+                                                        {index: 33, value: "#FF00FF",title: "Fuchsia"},
+                                                        {index: 34, value: "#808080",title: "Gray"},
+                                                        {index: 35, value: "#008000",title: "Green"},
+                                                        {index: 36, value: "#00FF00",title: "Lime"},
+                                                        {index: 37, value: "#800000",title: "Maroon"},
+                                                        {index: 38, value: "#000080",title: "Navy"},
+                                                        {index: 39, value: "#808000",title: "Olive"},
+                                                        {index: 40, value: "#FF9900",title: "Orange"},
+                                                        {index: 41, value: "#800080",title: "Purple"},
+                                                        {index: 42, value: "#FF0000",title: "Red"},
+                                                        {index: 43, value: "#C0C0C0",title: "Silver"},
+                                                        {index: 44, value: "#008080",title: "Teal"},
+                                                        {index: 45, value: "#FFFFFF",title: "White"},
+                                                        {index: 46, value: "#FFFF00",title: "Yellow"}
+                                               ];      
+    
+    
+        $scope.lineTypes = [        
+                            {index: 0, value: 'default', title: 'Default'},
+                            {index: 1, value: 'dotted_lines', title: 'Dotted Lines'},
+                            {index: 2, value: 'dashed_lines', title: 'Dashed Lines'}       
+        ]; 
+        
+        $scope.hardCodeReport= {
+                  "reportID":"3356",
+                  "reportName":"Test: Line Chart",
+                  "reportDescr":"",
+                  "reportTitle":"",
+                  "reportSubTitle":"",
+                  "formFieldList":[
+                  ],
+                  "chartColumnJSONList":[
+                     {
+                        "index":0,
+                        "value":"tr0",
+                        "title":"traffic_date",
+                        "$$hashKey":"056"
+                     },
+                     {
+                        "index":1,
+                        "value":"ut1",
+                        "title":"util_perc",
+                        "$$hashKey":"057"
+                     }
+                  ],
+                  "formfield_comments":null,
+                  "totalRows":0,
+                  "chartSqlWhole":"SELECT traffic_date tr0, traffic_date tr0_1,util_perc ut1, 1 FROM portal.demo_util_chart   ORDER BY 1",
+                  "chartAvailable":true,
+                  "chartType":{"index": "", "value": "Bar Chart", "title": ""},
+                  "width":"700",
+                  "height":"420",
+                  "animation":false,
+                  "rotateLabels":"90",
+                  "staggerLabels":false,
+                  "showTitle":"false",
+                  "domainAxis":{
+                             "index":0,
+                             "value":"tr0",
+                             "title":"traffic_date",
+                             "$$hashKey":"11H"
+                          },
+
+                          "categoryAxis":{
+                                     "index":1,
+                                     "value":"ut1",
+                                     "title":"util_perc",
+                                     "$$hashKey":"11I"
+                                  },
+
+                  "hasCategoryAxis":false,
+                  "rangeAxisList":[
+                     {
+                        
+                        "rangeColor":{
+                               "index":"",
+                           "value":"#bcbd22",
+                           "title":""
+                        },
+                        
+                        "rangeLineType":{
+                           "index":"",
+                           "value":"dotted_lines",
+                           "title":""
+                        },                      
+                        "rangeAxisLabel":{
+                           "index":0,
+                           "value":"tr0",
+                           "title":"traffic_date",
+                           "$$hashKey":"056"
+                        },
+                        "YAxis":"10",
+                        "chartTitle":"test"
+                     },
+                     {      
+                                "rangeColor":{
+                                       "index":"",
+                                   "value":"#2ca02c",
+                                   "title":""
+                                },
+                                
+                                "rangeLineType":{
+                                   "index":"",
+                                   "value":"dashed_lines",
+                                   "title":""
+                                   
+                                   
+                                },
+                                
+                                "rangeAxisLabel":{
+                                   "index":0,
+                                   "value":"tr0",
+                                   "title":"traffic_date",
+                                   "$$hashKey":"056"
+                                },
+                                "YAxis":"10",
+                                "chartTitle":"test"
+                             }
+                     
+                    
+                  ],
+                 
+                  "primaryAxisLabel":"testlabel",
+                  "secondaryAxisLabel":"testseclabel",
+                  "minRange":"10",
+                  "maxRange":"20",
+                  "topMargin":"6",
+                  "bottomMargin":"5",
+                  "leftMargin":"4",
+                  "rightMargin":"3"
+               };
+        
+        var colorValue = $scope.hardCodeReport.rangeAxisList[0].rangeColor.value;
+                
+               $timeout(function() {
+                       $rootScope.isViewRendering = false;
+                       });
+
+
+});
+
+app.directive('onlyDigits', function () {
+
+    return {
+        restrict: 'A',
+        require: '?ngModel',
+        link: function (scope, element, attrs, ngModel) {
+            if (!ngModel) return;
+            ngModel.$parsers.unshift(function (inputValue) {
+                var digits = inputValue.split('').filter(function (s) { return (!isNaN(s) && s != ' '); }).join('');
+                ngModel.$viewValue = digits;
+                ngModel.$render();
+                return digits;
+            });
+        }
+    };
+});
+
+app.directive('onlyCharacters', function () {
+    return {
+        restrict: 'A',
+        require: '?ngModel',
+        link: function (scope, element, attrs, ngModel) {
+            if (!ngModel) return;
+            ngModel.$parsers.unshift(function (inputValue) {
+                var digits = inputValue.split('').filter(function (s) { return (isNaN(s) && s != ' '); }).join('');
+                ngModel.$viewValue = digits;
+                ngModel.$render();
+                return digits;
+            });
+        }
+    };
+});
+
+
+
index db3422e..1e22cca 100644 (file)
@@ -17,6 +17,10 @@ appDS2.config(['$routeProvider',
                         templateUrl: 'static/fusion/raptor/ebz/report_chart_wizard.html',
                         controller: 'ChartController'
                                }).
+                    when('/report_chart/:reportId', {
+                        templateUrl: 'app/fusion/scripts/DS2-view-models/ds2-reports/report-chart-wizard.html',
+                        controller: 'reportChartController'
+                               }).                                     
                     when("/report_wizard", {
                        templateUrl : "app/fusion/scripts/DS2-view-models/ds2-reports/wz_steps/report-step.html",
                        controller: "reportStepController"
index 02f5898..760ff6d 100644 (file)
@@ -10,7 +10,9 @@ appDS2.controller("reportRunController", ['$scope','$rootScope','$routeParams','
        $scope.reportData.allowEdit = false;
        $scope.formFieldSelectedValues = {};
        $scope.showFormFieldIds = false;
-       
+    $scope.showFormFieldId = {
+            value: false
+        };
        $scope.isInProgress = true;
        
        if($routeParams.reportUrlParams.indexOf("parent___params===")>-1) {
@@ -20,7 +22,7 @@ appDS2.controller("reportRunController", ['$scope','$rootScope','$routeParams','
        } else {
                $scope.currentReportUrlParams = $routeParams.reportUrlParams;
        }
-       console.log($routeParams.reportUrlParams);
+       // console.log($routeParams.reportUrlParams);
        var parseQueryString = function( queryString ) {
            var params = {}, queries, temp, i, l;
            // Split into key/value pairs
@@ -60,10 +62,10 @@ appDS2.controller("reportRunController", ['$scope','$rootScope','$routeParams','
        
        $http.get('raptor.htm?action=report.run.container&'+$scope.currentReportUrlParams).then(
                function(response){
-                       console.log(response);
+                       // console.log(response);
                        $scope.isInProgress = false;
                        $scope.reportData = response.data;
-                       console.log('reportData report run container response',$scope.reportData);
+                       // console.log('reportData report run container response',$scope.reportData);
                        if ($scope.reportData.reportTitle) {
                                $scope.reportData.reportHeading = $scope.reportData.reportTitle;
                                if ($scope.reportData.reportSubTitle) {
@@ -73,7 +75,7 @@ appDS2.controller("reportRunController", ['$scope','$rootScope','$routeParams','
                        else
                                $scope.reportData.reportHeading = $scope.reportData.reportName;
                        if(!$scope.urlParams.hideChart && $scope.reportData.chartAvailable && $scope.reportData.totalRows>1){
-                       console.log('raptor.htm?action=chart.run&'+convertQueryString($scope.urlParams));
+                       // console.log('raptor.htm?action=chart.run&'+convertQueryString($scope.urlParams));
                        $http.get('raptor.htm?action=chart.run&'+convertQueryString($scope.urlParams)).then(
                                        function(response){
                                          $scope.showChart =  true;
@@ -120,7 +122,7 @@ appDS2.controller("reportRunController", ['$scope','$rootScope','$routeParams','
                else
                        $scope.reportData.reportHeading = $scope.reportData.reportName;*/
                        
-       console.log("pagination");
+       // console.log("pagination");
        if(!pagination) {
                //console.log("refreshed ...");
                $scope.gridOptions.pageNumber = 1;
@@ -141,7 +143,7 @@ appDS2.controller("reportRunController", ['$scope','$rootScope','$routeParams','
 
        }
         $scope.currentReportUrlParams = 'c_master='+$scope.urlParams.c_master+'&'+formFieldsUrl+'&display_content=Y&r_page='+(paginationOptions.pageNumber-1);
-       console.log('raptor.htm?action=report.run.container&c_master='+$scope.urlParams.c_master+'&'+formFieldsUrl+'refresh=Y&display_content=Y&r_page='+(paginationOptions.pageNumber-1));
+       // console.log('raptor.htm?action=report.run.container&c_master='+$scope.urlParams.c_master+'&'+formFieldsUrl+'refresh=Y&display_content=Y&r_page='+(paginationOptions.pageNumber-1));
          $http.get('raptor.htm?action=report.run.container&c_master='+$scope.urlParams.c_master+'&'+formFieldsUrl+'refresh=Y&display_content=Y&r_page='+(paginationOptions.pageNumber-1)).then(
                function(response){
                        $scope.reportData = response.data;
@@ -163,12 +165,12 @@ appDS2.controller("reportRunController", ['$scope','$rootScope','$routeParams','
                        }                  
                    if(!pagination) {   
                      if(!$scope.urlParams.hideChart && $scope.reportData.chartAvailable && $scope.reportData.totalRows>1){
-                               console.log('raptor.htm?action=chart.run&c_master='+$scope.urlParams.c_master+'&'+formFieldsUrl+'display_content=Y&r_page='+(paginationOptions.pageNumber-1));
+                               // console.log('raptor.htm?action=chart.run&c_master='+$scope.urlParams.c_master+'&'+formFieldsUrl+'display_content=Y&r_page='+(paginationOptions.pageNumber-1));
                                $http.get('raptor.htm?action=chart.run&c_master='+$scope.urlParams.c_master+'&'+formFieldsUrl+'display_content=Y&r_page='+(paginationOptions.pageNumber-1)).then(
                                                function(response) {
-                                                       console.log(response.data);
+                                                       // console.log(response.data);
                                                        $scope.showChart =  true;
-                                                       console.log('response.data',response.data);
+                                                       // console.log('response.data',response.data);
                                                        document.getElementById('chartiframe').contentWindow.document.write(response.data);
                                                        document.getElementById('chartiframe').contentWindow.document.close();
                                                });
@@ -313,7 +315,7 @@ appDS2.controller("reportRunController", ['$scope','$rootScope','$routeParams','
                });
 
                $scope.triggerOtherFormFields = function(){
-                       console.log("report_run");
+                       // console.log("report_run");
                var formFieldsUrl = $scope.getFormFieldSelectedValuesAsURL();
                $http.get('raptor.htm?action=report.formfields.run.container&c_master='+$scope.reportData.reportID+'&'+formFieldsUrl).then(
                                function(response){
index 1e01a29..3fe5bde 100644 (file)
@@ -45,6 +45,7 @@ appDS2.controller("reportSearchController", ['$scope','$rootScope','$http','$tim
          paginationPageSize: 5,
          paginationTemplate: correctTotalPaginationTemplate,
          columnDefs: [],
+         enableColumnResizing: true,
          data: [],
          enableGridMenu: true,
          enableSelectAll: true,
index 6133fe6..f1e82fa 100644 (file)
@@ -1,5 +1,7 @@
 appDS2.controller('reportStepController', function($scope,$http,$location, $routeParams, $q, $modal,$log,$window, raptorReportFactory, stepFormFactory, DOMHelper) {
 
+       
+       $scope.showLoader = true;
        // tabs for report wizard steps:
        $scope.activeTabsId = 'Definition';
 
@@ -10,8 +12,10 @@ appDS2.controller('reportStepController', function($scope,$http,$location, $rout
                raptorReportFactory.getDefinitionByReportId(id).then(function(data){
                        $scope.loadDefinition(data);
                        $scope.definitionData = data;
+                       $scope.showLoader = false;
                },function(error){
                        $log.error("raptorReportFactory: getSearchData failed.");
+                       $scope.showLoader = false;
                });
        }
        
@@ -20,6 +24,7 @@ appDS2.controller('reportStepController', function($scope,$http,$location, $rout
                raptorReportFactory.createNewDefinition().then(function(data){
                        $scope.loadDefinition(data);
                        $scope.definitionData = data;
+                       $scope.showLoader = false;
                },function(error){
                        $log.error("raptorReportFactory: getSearchData failed.");
                });
@@ -41,6 +46,7 @@ appDS2.controller('reportStepController', function($scope,$http,$location, $rout
                raptorReportFactory.getSqlInSession().then(function(data){
                        $scope.sqlInSessionJSON = data;
                        $scope.sqlScript = data.query;
+               $scope.showLoader = false;
                },function(error){
                        $log.error("raptorReportFactory: getSearchData failed.");
                });
@@ -133,6 +139,7 @@ appDS2.controller('reportStepController', function($scope,$http,$location, $rout
                $scope.hideExcelSelected = {"value":definitionData.displayOptions[3].selected};
                $scope.hidePdfSelected = {"value":definitionData.displayOptions[4].selected};
                $scope.runtimeColSortDisabled = {"value":definitionData.runtimeColSortDisabled};
+               $scope.showLoader = false;
        } 
        
        
@@ -349,11 +356,21 @@ appDS2.controller('reportStepController', function($scope,$http,$location, $rout
                                                        $scope.drilldownURL = data.drilldownURL;
                                                        $scope.drilldownParams = data.drilldownParams;
                                                        $scope.drilldownType = data.drilldownType;                                      
+                                                       $scope.selectedDrillDownReport = {"value":""};
+                                                                                                       
+                                                       
                                                        },function(error){
                                                        $log.error("raptorReportFactory: getColumnEditInfoById failed.");
                                                });                                              
 
                                         var init = function() {
+                                                
+                                                raptorReportFactory.getDrillDownReportList().then(function(data2){
+                                                        $scope.drilldownReports = data2;
+                                                               },function(error){
+                                                               $log.error("raptorReportFactory: getDrillDownReportList failed.");
+                                                       }); 
+                                                
 /*                                              $scope.colTableRowData = colData;*/
                                                 $scope.displayAlignmentOptions = [
                                                         {value:"null", text:""},                                                        
@@ -373,8 +390,15 @@ appDS2.controller('reportStepController', function($scope,$http,$location, $rout
                                         }
                                         
                                         init();
+                                        $scope.$watch('selectedDrillDownReport.value',function(){
+                                                if ($scope.selectedDrillDownReport) {
+                                                    $scope.$emit('openDrillDownpage',$scope.selectedDrillDownReport.value);
+                                                }
+                                        });
                                         
                                         $scope.save = function() {
+                                                var drilldownURL = "";//raptorReportFactory.drillDownPopupOptions
+                                               //raptorReportFactory.drillDownPopupOptions.radioGroup
                                                 var colInfo = {
                                                                  "tabId" : "ColEdit",
                                                                  "tabName" : "Column Edit",
@@ -384,7 +408,7 @@ appDS2.controller('reportStepController', function($scope,$http,$location, $rout
                                                                  "displayHeaderAlignment" : ($scope.selectedDisplayHeaderAlignment.value=="null")?null:$scope.selectedDisplayHeaderAlignment.value,
                                                                  "sortable" : ($scope.sortable.value=="true"),
                                                                  "visible" : ($scope.visible.value=="true"),
-                                                                 "drilldownURL" : "",
+                                                                 "drilldownURL" : drilldownURL,
                                                                  "drilldownParams" : "",
                                                                  "drilldownType" : ""
                                                                }
@@ -576,9 +600,77 @@ appDS2.controller('reportStepController', function($scope,$http,$location, $rout
                      });
  };
     
-       
+       $scope.openDrillDownReportPopup = function (reportId) {
+                  var modalInstance = $modal.open({
+                                scope: $scope,
+                                animation: $scope.animationsEnabled,
+                                templateUrl: 'app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-wizard-drilldown-edit.html',
+                                sizeClass: 'modal-large',
+                                controller: ['$scope', '$modalInstance', '$http', '$log','raptorReportFactory','reportId', function ($scope, $modalInstance, $http, $log, raptorReportFactory, reportId) {
+                                        $scope.selectedvalueradioGroup = {"name":""};
+                                        $scope.selectedChildReportFormField = {"value":""};
+                                        $scope.selectedChildReportColumn = {"value":""};
+                                        $scope.fixedValue = {"value":""};
+                                        $scope.suppressValues = {"value":""};
+
+                                       raptorReportFactory.getChildReportFormField(reportId).then(function(data){
+                                               $scope.childReportFF =data;
+                                               },function(error){
+                                                       $log.error("raptorReportFactory: getChildReportFormField failed.");  
+                                                       });
+
+                                       raptorReportFactory.getChildReportColumn(reportId).then(function(data){
+                                               $scope.childReportCol =data;
+                                               },function(error){
+                                                       $log.error("raptorReportFactory: getChildReportFormField failed.");  
+                                                       });
+                                       
+                                       raptorReportFactory.setDrillDownPopupOptions(null);                                                                                                                     
+                       
+                                 $scope.complete = function() {
+//                                     if ($scope.selectedvalueradioGroup.name=="radiovalue1") {
+//                                             console.log("radio 1 selected");
+//                                     } else if ($scope.selectedvalueradioGroup.name=="radiovalue2") {
+//                                             console.log("radio 2 selected");                                                
+//                                     } else if ($scope.selectedvalueradioGroup.name=="radiovalue3") {
+//                                             console.log("radio 3 selected");
+//                                     } else if ($scope.selectedvalueradioGroup.name=="radiovalue4") {
+//                                             console.log("radio 4 selected");
+//                                     } else if ($scope.selectedvalueradioGroup.name=="radiovalue5") {
+//                                             console.log("radio 5 selected");
+//                                     } else {
+//                                             console.log("None selected");
+//                                     }
+
+                                       var drillDownPopupOptions= {
+                                                       radioGroup : $scope.selectedvalueradioGroup.name,
+                                                       reportFF: $scope.selectedChildReportFormField.value,
+                                                       reportCol:  $scope.selectedChildReportColumn.value,
+                                                       fixedValue:  $scope.fixedValue.value,
+                                                       suppressValues: $scope.suppressValues.value
+                                       }
+                                       raptorReportFactory.setDrillDownPopupOptions(drillDownPopupOptions);
+                                       console.log(raptorReportFactory.drillDownPopupOptions);
+                                       
+                                       $modalInstance.close();
+                                 };
+                           }],
+                               resolve:{
+                                       reportId: function(){
+                                       return reportId;
+                                       }
+                                }
+                         });
+
+                     modalInstance.result.then(function () {
+/*                             $scope.$emit('RefreshFormField');*/
+                     }, function () {
+                     });
+};
     $scope.$watch('activeTabsId', function (newVal, oldVal) {
         if(newVal !== oldVal) {
+               $scope.showLoader = true;
             var selectedTab;
             for (selectedTab = 0; selectedTab < $scope.gTabs.length; selectedTab++) {
                 if ($scope.gTabs[selectedTab].id === newVal) {
@@ -587,28 +679,36 @@ appDS2.controller('reportStepController', function($scope,$http,$location, $rout
                        $scope.isColumnStep = false;                                                
                        $scope.isFormFieldStep = false;
                        $scope.renderStep(selectedTab+1);
-                       if ($scope.stepNum == 2) {
+                       if ($scope.stepNum == 1) {
+                       $scope.showLoader = false;                      
+                       }
+                       else if ($scope.stepNum == 2) {
                                loadSqlInSession();
                        }       else if ($scope.stepNum == 3) {
                                $scope.isColumnStep = true;
-
                                raptorReportFactory.getColumnList().then(function(data){
                                        $scope.colTableRowData = data;
+                               $scope.showLoader = false;
                                },function(error){
-                                       $log.error("raptorReportFactory: get column list failed.");                             });
-                               
+                                       $log.error("raptorReportFactory: get column list failed.");
+                                       $scope.showLoader = false;});
+                                                       
                        }  else if ($scope.stepNum == 4) {
                                $scope.isFormFieldStep = true;
                                // put within then function:
                                raptorReportFactory.getFormFieldList().then(function(data){
                                        $scope.formFieldData = data;
+                               $scope.showLoader = false;
                                },function(error){
-                                       $log.error("raptorReportFactory: get formfields failed.");                              });
+                                       $log.error("raptorReportFactory: get formfields failed."); 
+                                       $scope.showLoader = false;});
                        }  else if ($scope.stepNum == 5) {
                                raptorReportFactory.getDefinitionInSession().then(function(data){
                                $scope.reportId = data.reportId;
+                               $scope.showLoader = false;
                        },function(error){
-                               $log.error("raptorReportFactory: getDefinitionInSession failed.");                              });             
+                               $log.error("raptorReportFactory: getDefinitionInSession failed."); 
+                               $scope.showLoader = false;});           
                        }
                        
                        if ($scope.stepNum>1){
@@ -869,6 +969,13 @@ appDS2.controller('reportStepController', function($scope,$http,$location, $rout
                $scope.getDefinitionById(-1);
        });
        
+           $scope.$on('openDrillDownpage', function(event, reportId) {
+       if (reportId!="") {
+                               $scope.openDrillDownReportPopup(reportId);
+       }
+       });
+
+    
        $scope.$on('RefreshFormField', function(event) {
                raptorReportFactory.getFormFieldList().then(function(data){
                        $scope.formFieldData = data;
@@ -897,4 +1004,4 @@ appDS2.controller('reportStepController', function($scope,$http,$location, $rout
 
     // getAllProjects();
 
-});
\ No newline at end of file
+});
index 87ae7a3..7dcbdbe 100644 (file)
-       appDS2.directive('ds2Header', function () {
-    return {
-        restrict: 'A', //This menas that it will be used as an attribute and NOT as an element. I don't like creating custom HTML elements
-        replace: false,
-        templateUrl: "app/fusion/scripts/DS2-view-models/ds2Header.html",
-        controller: ['$scope', '$filter','$http','$timeout', '$log','UserInfoServiceDS2', '$window', '$cookies', "$cookieStore", function ($scope, $filter, $http, $timeout, $log,UserInfoServiceDS2, $window, $cookies, $cookieStore) {
-               // copy from existing DS1
-               /*Define fields*/
-               $scope.userName;
-               $scope.userFirstName;
-               /*$scope.redirectUrl;
-               $scope.contactUsUrl;
-               $scope.getAccessUrl;
-               $scope.childData=[];
-               $scope.parentData=[];
-               $scope.menuItems = [];
-               $scope.loadMenufail=false;
-               $scope.megaMenuDataObject=[];           
-               $scope.activeClickSubMenu = {
-                       x: ''
-               };
-                       $scope.activeClickMenu = {
-                               x: ''
-                       };
-                       $scope.favoritesMenuItems = [];
-            $scope.favoriteItemsCount = 0;
-            $scope.showFavorites = false;
-            $scope.emptyFavorites = false;
-            $scope.favoritesWindow = false;*/
+appDS2.directive('ds2Header', function () {
+       return {
+               restrict: 'A', //This menas that it will be used as an attribute and NOT as an element. I don't like creating custom HTML elements
+               replace: false,
+               templateUrl: "app/fusion/scripts/DS2-view-models/ds2Header.html",
+               controller: ['$scope', '$filter','$http','$timeout', '$log','UserInfoServiceDS2', 'HeaderServiceDS2', '$window', '$cookies','$cookieStore', function ($scope, $filter, $http, $timeout, $log,UserInfoServiceDS2,HeaderServiceDS2, $window, $cookies,$cookieStore) {
+                       // copy from existing DS1
 
-               //DS2 code
-               $scope.tabItems = [
-                      {
-                  'title': 'ECOMP'                        
-                      },
-                      {
-                  'title': 'Help',
-                  'subitems': [{
-                          'value': 'Contact Us'
+                       /*Define fields*/
+                       $scope.userName;
+                       $scope.userFirstName;
+                       $scope.userId;
+                       $scope.userEmail;
+                       $scope.redirectUrl;
+                       $scope.contactUsUrl;
+                       $scope.getAccessUrl;
+                       $scope.menuItems = [];
+               $scope.showHeader = ($cookieStore.get("show_app_header") == undefined ? true : $cookies.get("show_app_header") );
 
-                  }, {
-                          'value': 'Get Access'
-                  }, 
-               ]}, 
-            ];
-
-               $scope.userProfile = {};
-               $scope.showInfo = false;
-               $scope.showProfile = function () {
-                       $scope.showInfo = !$scope.showInfo;
-               };
-               $scope.loginOptions1 = [
-                                       {value: '', text: 'Log In..'},
-                                       {value: '1', text: 'Premier'},
-                                       {value: '2', text: 'Wifi Services'},
-                                       {value: '3', text: 'Cloud Solutions'}
-                                       ];
-               $scope.loginVal = {};
-               $scope.loginVal.value = $scope.loginOptions1[0].value;
-
-               $scope.clickLogin = function () {
-                       $scope.openDropdown = !$scope.openDropdown;
-               };
-               $scope.skipNavigation = function () {
-                       var element = angular.element(document.querySelector('li.last'))[0];
-                       element.children[0].focus();
-               };
-
-               /***************functions**************/
-               /*Put user info into fields*/
+               
+                       /***************functions**************/
+                       /*getting user info from session*/
+                       $scope.getUserNameFromSession = function(){
+                               UserInfoServiceDS2.getFunctionalMenuStaticDetailSession()
+                               .then(function (res) {
+                                       $scope.contactUsUrl=res.contactUsLink;
+                                       $scope.userName = res.userName;
+                                       $scope.userId = res.userid;
+                                       $scope.userEmail = res.email;
+                                       $scope.userFirstName = res.firstName;
+                                       $scope.redirectUrl = res.portalUrl;
+                                       $scope.getAccessUrl = res.getAccessUrl;
+                               });
+                       }
+                       
+                       $scope.returnToPortal=function(){
+                               window.location.href = $scope.redirectUrl;
+                       }
 
-               $scope.inputUserInfo = function(userInfo){
-                       if (typeof(userInfo) != "undefined" && userInfo!=null && userInfo!=''){
-                               if(typeof(userInfo.USER_FIRST_NAME) != "undefined" && userInfo.USER_FIRST_NAME!=null){          
-                                       $scope.userFirstName = userInfo.USER_FIRST_NAME;
-                               }
-                       }               
-               }
-               /*getting user info from session*/
-               $scope.getUserNameFromSession = function(){
-                       UserInfoServiceDS2.getFunctionalMenuStaticDetailSession()
-                       .then(function (res) {
-                               $scope.contactUsUrl=res.contactUsLink;
-                               $scope.userName = res.userName;
-                               $scope.userFirstName = res.firstName;
-                               $scope.redirectUrl = res.portalUrl;
-                               $scope.getAccessUrl = res.getAccessUrl;
-                               $scope.userProfile.fullName = res.userName;
-                               $scope.userProfile.email = res.email;
-                       });
-               }
+                       /*Menu Structure*/
+                       var menuStructureConvert = function(menuItems) {        
+                               $scope.megaMenuDataObjectTemp = 
+                                       [{
+                                               text: "Manage",
+                                               children: menuItems
+                                       },
+                                       {
+                                               text: "Support",
+                                               children: [
+                                                       {
+                                                               label:"Contact Us",
+                                                               action:$scope.contactUsUrl,
+                                                               childMenus:[]
+                                                       },
+                                                       {
+                                                               label:"Get Access",
+                                                               action:$scope.getAccessUrl,
+                                                               childMenus:[]
+                                                       }]
+                                       }];                             
+                               return $scope.megaMenuDataObjectTemp;
+                       };
 
-               /*Put user info into fields*/
-               $scope.inputUserInfo = function(userInfo){
-                       if (typeof(userInfo) != "undefined" && userInfo!=null && userInfo!=''){
-                               if (typeof(userInfo.USER_FIRST_NAME) != "undefined" && userInfo.USER_FIRST_NAME!=null && userInfo.USER_FIRST_NAME!='')
-                                       $scope.userProfile.firstName = userInfo.USER_FIRST_NAME;
-                               if (typeof(userInfo.USER_LAST_NAME) != "undefined" && userInfo.USER_LAST_NAME!=null && userInfo.USER_LAST_NAME!='')
-                                       $scope.userProfile.lastName = userInfo.USER_LAST_NAME;
-                               if (typeof(userInfo.USER_EMAIL) != "undefined" && userInfo.USER_EMAIL!=null && userInfo.USER_EMAIL!='')
-                                       $scope.userProfile.email = userInfo.USER_EMAIL;         
-                       }               
-               }
+                       $scope.getMenu=function() {
+                               $scope.getUserNameFromSession();
+                               var promise = HeaderServiceDS2.getMenu();
+                               promise.then(
+                                               function(res) {                                         
+                                                       if(res==null || res==''){
+                                                               $log.error('failed to get menu');     
+                                                               $scope.getUserNameFromSession();
+                                                       }else{
+                                                               $scope.parentMenu = JSON.parse(res.data);
+                                                               $scope.childMenu = JSON.parse(res.data2);
+                                                               for(var i=0; i<$scope.parentMenu.length;i++){
+                                                                       $scope.parentMenu[i].childMenus = ($scope.childMenu[i]);
+                                                               }
+                                                               $scope.menuItems = menuStructureConvert($scope.parentMenu);     
+                                                       }
+                                               },
+                                               function(err) {
+                                                       $log.error('getMenu failed', err);
+                                               }
+                               );
+                       }
 
-               /*getting user info from shared context*/
-               $scope.getUserName=function() {
-                       var promise = UserInfoServiceDS2.getFunctionalMenuStaticDetailShareContext();
-                       promise.then(
-                                       function(res) { 
-                                               if(res==null || res==''){
-                                                       $log.warn('DS2HeaderCtlr::getUserName: failed to get info from shared context');
-                                                       $scope.getUserNameFromSession();
-                                               }else{
-                                                       // $log.info('Received User information from shared context',res);
-                                                       var resData = res;
-                                                       $scope.inputUserInfo(resData);
-                                                       $scope.userProfile.fullName = $scope.userProfile.firstName+ ' '+ $scope.userProfile.lastName;                                   
-                                               }
-                                       },
-                                       function(err) {
-                                               console.log('error');
-                                       }
-                       );
-               };
-               
-               $scope.adjustHeader=function() {
-                       $scope.showHeader = ($cookieStore.get("show_app_header") == undefined ? true : $cookies.show_app_header);
-                       if($scope.showHeader == true) {
-                       $scope.drawer_margin_top = 70;
-                       $scope.drawer_custom_top = 54;
-                       $scope.toggle_drawer_top = 55;
-                       }
-                       else  {
-                               
-                               $scope.drawer_margin_top = 60;
-                       $scope.drawer_custom_top = 0;
-                       $scope.toggle_drawer_top = 10;
-                       }
-                       
-               }
+                       
+                       
+                       $scope.adjustHeader=function() {
+                       $scope.showHeader = ($cookies.get("show_app_header") == undefined ? true : $cookies.get("show_app_header"));
+                       console.log($scope.showHeader);
+                       if ($scope.showHeader==true) {
+                               document.getElementById('page-content').style.marginTop = "45px";
+               }else{                  
+                               document.getElementById('page-content').style.marginTop = "0px";
+                       }               
+               }; // adjustHeader
+               $scope.$on('$routeChangeSuccess', function () {
+                       $scope.adjustHeader();          
+               });
                
-               /*call the get user info function*/
-               try{
-                       $scope.getUserName();
-                       $scope.adjustHeader();
-               
-               }catch(err){
-                       $log.info('Error while getting User information',err);
-               }
-        }]
-    }
-});
\ No newline at end of file
+               $scope.getUserNameFromSession();
+               $scope.getMenu();
+               }]
+       }
+});
+
+appDS2.filter("ellipsis", function(){
+       return function(text, length){
+               if (text) {
+                       var ellipsis = text.length > length ? "..." : "";
+                       return text.slice(0, length) + ellipsis;
+               };
+               return text;        
+       }
+});
index 8174c58..758add6 100644 (file)
@@ -64,23 +64,7 @@ appDS2.directive('ds2Menu', function () {
                },function(error){
                        console.log("error happened while calling getAppName "+error);
                });
-               
-               $scope.adjustHeader=function() {
-                       $scope.showHeader = ($cookies.show_app_header == undefined ? true : $cookies.show_app_header);
-                       if ($scope.showHeader == true) {
-                               $scope.drawer_margin_top = 50;
-                               $scope.drawer_custom_top = 54;
-                               $scope.toggle_drawer_top = 55;
-               }
-                       else  {                 
-                               $scope.drawer_margin_top = 40;
-                               $scope.drawer_custom_top = 0;
-                               $scope.toggle_drawer_top = 10;
-                       }               
-               }; // adjustHeader
-
-               
-               $scope.adjustHeader();
+            
                $scope.drawerOpen = true;
                
                
index 06324d3..65e05fb 100644 (file)
@@ -3,7 +3,22 @@ appDS2.factory('raptorReportFactory', function($http, $q) {
                getDefinitionByReportId: function(reportId) {
                        return $http({
                                method: "GET",
-                url: "report/wizard/retrieve_tab_wise_data/Def/"+reportId,                     
+                url: "report/wizard/retrieve_def_tab_wise_data/"+reportId,                     
+                       }).then(function(response) {
+                               if (typeof response.data === 'object') {
+                                       return response.data;
+                               } else {
+                                       return $q.reject("raptorReportFactory: getDefinitionByReportId did not return a valid JSON object.");
+                               }
+                       }, function(response) {
+                               // something went wrong
+                               return $q.reject("raptorReportFactory: getDefinitionByReportId callback failed");
+                       });                     
+               },                      
+               getDefinitionByReportId: function(reportId) {
+                       return $http({
+                               method: "GET",
+                url: "report/wizard/retrieve_def_tab_wise_data/"+reportId,                     
                        }).then(function(response) {
                                if (typeof response.data === 'object') {
                                        return response.data;
@@ -18,7 +33,7 @@ appDS2.factory('raptorReportFactory', function($http, $q) {
                getDefinitionInSession: function() {
                        return $http({
                                method: "GET",
-                url: "report/wizard/retrieve_tab_wise_data/Def/InSession",                     
+                url: "report/wizard/retrieve_def_tab_wise_data/InSession",                     
                        }).then(function(response) {
                                if (typeof response.data === 'object') {
                                        return response.data;
@@ -34,7 +49,7 @@ appDS2.factory('raptorReportFactory', function($http, $q) {
                createNewDefinition: function() {
                        return $http({
                                method: "GET",
-                url: "report/wizard/retrieve_tab_wise_data/Def/Create",                        
+                url: "report/wizard/retrieve_def_tab_wise_data/Create",                        
                        }).then(function(response) {
                                if (typeof response.data === 'object') {
                                        return response.data;
@@ -82,7 +97,7 @@ appDS2.factory('raptorReportFactory', function($http, $q) {
                getSqlInSession: function() {
                        return $http({
                                method: "GET",
-                url: "report/wizard/retrieve_tab_wise_data/Sql/InSession",                     
+                url: "report/wizard/retrieve_sql_tab_wise_data/InSession",                     
                        }).then(function(response) {
                                if (typeof response.data === 'object') {
                                        return response.data;
@@ -100,8 +115,8 @@ appDS2.factory('raptorReportFactory', function($http, $q) {
                 url: "report/wizard/retrieve_data/true",
                 data: queryJSON                        
                        }).then(function(response) {
-                               if (typeof response.data === 'object') {
-                                       return response.data;
+                               if (typeof response.data === 'object') {                                        
+                                       return JSON.parse(response.data.data.elements);
                                } else {
                                        return $q.reject("raptorReportFactory: testRunSQL did not return a valid JSON object.");
                                }
@@ -118,7 +133,7 @@ appDS2.factory('raptorReportFactory', function($http, $q) {
                 data: queryJSON                        
                        }).then(function(response) {
                                if (typeof response.data === 'object') {
-                                       return response.data;
+                                       return JSON.parse(response.data.data.elements);
                                } else {
                                        return $q.reject("raptorReportFactory: formFieldVerifySQL did not return a valid JSON object.");
                                }
@@ -144,11 +159,58 @@ appDS2.factory('raptorReportFactory', function($http, $q) {
                                return $q.reject("raptorReportFactory: getColumnList callback failed");                         
                        });
                },
-               
+               getDrillDownReportList: function() {
+                       return $http({
+                               method: "GET",
+                url: "report/wizard/list_drilldown_reports",
+                       }).then(function(response) {
+                               if (typeof response.data === 'object') {
+                                       return response.data;
+                               } else {
+                                       return $q.reject("raptorReportFactory: getDrillDownReportList did not return a valid JSON object.");
+                               }
+                               return response.data;
+                       }, function(response) {
+                               // something went wrong
+                               return $q.reject("raptorReportFactory: getDrillDownReportList callback failed");                                
+                       });
+               },
+               getChildReportFormField: function(reportId) {
+                       return $http({
+                               method: "GET",
+                url: "report/wizard/list_child_report_ff/"+reportId,
+                       }).then(function(response) {
+                               if (typeof response.data === 'object') {
+                                       return response.data;
+                               } else {
+                                       return $q.reject("raptorReportFactory: getDrillDownReportList did not return a valid JSON object.");
+                               }
+                               return response.data;
+                       }, function(response) {
+                               // something went wrong
+                               return $q.reject("raptorReportFactory: getDrillDownReportList callback failed");                                
+                       });
+               },              
+               getChildReportColumn: function(reportId) {
+                       return $http({
+                               method: "GET",
+                url: "report/wizard/list_child_report_col/"+reportId,
+                       }).then(function(response) {
+                               if (typeof response.data === 'object') {
+                                       return response.data;
+                               } else {
+                                       return $q.reject("raptorReportFactory: getChildReportColumn did not return a valid JSON object.");
+                               }
+                               return response.data;
+                       }, function(response) {
+                               // something went wrong
+                               return $q.reject("raptorReportFactory: getChildReportColumn callback failed");                          
+                       });
+               },              
                getColumnEditInfoById: function(columnId){
                        return $http({
                                method: "GET",
-                url: "report/wizard/retrieve_tab_wise_data/ColEdit/"+columnId,
+                url: "report/wizard/retrieve_col_tab_wise_data/"+columnId,
                        }).then(function(response) {
                                if (typeof response.data === 'object') {
                                        return response.data;
@@ -241,7 +303,7 @@ appDS2.factory('raptorReportFactory', function($http, $q) {
                getFormFieldEditInfoById: function(fieldId){
                        return $http({
                                method: "GET",
-                url: "report/wizard/retrieve_tab_wise_data/FormEdit/"+fieldId,
+                url: "report/wizard/retrieve_form_tab_wise_data/"+fieldId,
                        }).then(function(response) {
                                if (typeof response.data === 'object') {
                                        return response.data;
@@ -257,7 +319,7 @@ appDS2.factory('raptorReportFactory', function($http, $q) {
                deleteFormFieldById: function(fieldId){
                        return $http({
                                method: "GET",
-                url: "report/wizard/retrieve_tab_wise_data/FormEdit/delete/"+fieldId,
+                url: "report/wizard/retrieve_form_tab_wise_data/"+fieldId+"/delete",
                        }).then(function(response) {
                                if (typeof response.data === 'object') {
                                        return response.data;
@@ -314,6 +376,9 @@ appDS2.factory('raptorReportFactory', function($http, $q) {
                                                return $q.reject("raptorReportFactory: getSearchDataAtPage callback failed");                           
                                        });
                },
+               setDrillDownPopupOptions: function(drillDownPopupOptions) {
+                       this.drillDownPopupOptions = drillDownPopupOptions;
+               },      
                getReportDeleteStatus : function(deleteUrl) {
                        return $http.get(deleteUrl).then(function(response) {
                                if (typeof response.data === 'object') {
index 92a99be..c9134f6 100644 (file)
-appDS2.directive('qHeader', function () {
-       
-    return {
-        restrict: 'A', //This menas that it will be used as an attribute and NOT as an element. I don't like creating custom HTML elements
-        replace: false,
-        templateUrl: "app/fusion/scripts/DS2-view-models/ds2Header.html",
-        controller: ['$scope', '$filter','$http','$timeout', '$log','UserInfoServiceDS2', '$window', '$cookies', function ($scope, $filter, $http, $timeout, $log,UserInfoServiceDS2, $window, $cookies) {
-
-               //alert("in header service")
-               /*Define fields*/
-               $scope.userName;
-               $scope.userFirstName;
-               $scope.redirectUrl;
-               $scope.contactUsUrl;
-               $scope.getAccessUrl;
-               $scope.childData=[];
-               $scope.parentData=[];
-               $scope.menuItems = [];
-               $scope.loadMenufail=false;
-               $scope.megaMenuDataObject=[];           
-               $scope.activeClickSubMenu = {
-                       x: ''
-               };
-               $scope.activeClickMenu = {
-                       x: ''
-               };
-               $scope.favoritesMenuItems = [];
-            $scope.favoriteItemsCount = 0;
-            $scope.showFavorites = false;
-            $scope.emptyFavorites = false;
-            $scope.favoritesWindow = false;
-               
-     /*       Menu Structure
-                       var menuStructureConvert = function(menuItems) {        
-                       console.log(menuItems);                 
-                               $scope.megaMenuDataObjectTemp = 
-                               [
-                                        {
-                                                text: "ECOMP",
-                                                children: menuItems
-                                        },
-                                        {
-                                                text: "Help",
-                                                children: [
-                                                           {
-                                                                text:"Contact Us",
-                                                                url:$scope.contactUsUrl
-                                                           },
-                                                                       {
-                                                            text:"Get Access",
-                                                            url:$scope.getAccessUrl
-                                                                       }]
-                                        }
-                                ];                             
-                               return $scope.megaMenuDataObjectTemp;
-               };
-            */   
-               /***************functions**************/
-               /*Put user info into fields*/
-               $scope.inputUserInfo = function(userInfo){
-                       if (typeof(userInfo) != "undefined" && userInfo!=null && userInfo!=''){
-                               if(typeof(userInfo.USER_FIRST_NAME) != "undefined" && userInfo.USER_FIRST_NAME!=null){          
-                                       $scope.userFirstName = userInfo.USER_FIRST_NAME;
-                               }
-                       }               
-               }
-               /*getting user info from session*/
-               $scope.getUserNameFromSession = function(){
-                       UserInfoServiceDS2.getFunctionalMenuStaticDetailSession()
-                       .then(function (res) {
-                               $scope.contactUsUrl=res.contactUsLink;
-                               $scope.userName = res.userName;
-                               $scope.userFirstName = res.firstName;
-                               $scope.redirectUrl = res.portalUrl;
-                               $scope.getAccessUrl = res.getAccessUrl;
-                       });
-               }
-               $scope.getTopMenuStaticInfo=function() {
-                       var promise = UserInfoServiceDS2.getFunctionalMenuStaticDetailShareContext();
-                       promise.then(
-                               function(res) {                                         
-                                       if(res==null || res==''){
-                                               $log.info('failed getting static User information');     
-                                               $scope.getUserNameFromSession();
-                                       }else{
-                                               $log.info('Received static User information');
-                                               
-                                               var resData = res;
-                                               console.log(resData);
-                                               $scope.inputUserInfo(resData);
-                                               $scope.userName = $scope.firstName+ ' '+ $scope.lastName;
-                                       }
-                               },
-                               function(err) {
-                                               $log.info('failed getting static User information');                                    
-                               }
-                       );
-               }
-
-               $scope.returnToPortal=function(){
-                       window.location.href = $scope.redirectUrl;
-               }
-               
-               var unflatten = function( array, parent, tree ){
-                   tree = typeof tree !== 'undefined' ? tree : [];
-                   parent = typeof parent !== 'undefined' ? parent : { menuId: null };
-                   var children = _.filter( array, function(child){ return child.parentMenuId == parent.menuId; });
-                   if( !_.isEmpty( children )  ){
-                     if( parent.menuId === null ){
-                       tree = children;
-                     }else{
-                       parent['children'] = children
-                     }
-                     _.each( children, function( child ){ unflatten( array, child ) } );
-                   }
-                   return tree;
-               }
-               
-               $scope.getMenu=function() {
-                       $scope.getTopMenuStaticInfo();
-                       $http({
-                               method: "GET",
-                               url: 'get_functional_menu',
-// TIMEOUT USED FOR LOCAL TESTING ONLY                         
-//                             timeout: 100
-                        }).success(function (response) {
-                                
-                                               if (response == '101: Timeout') {
-                                                       $log.debug('Timeout attempting to get_functional_menu');
-                                                       $scope.megaMenuDataObject = menuStructureConvert("");
-//                                                     $scope.createErrorMenu();
-                                                       //$scope.loadMenufail=true;
-                                               } else {
-                                                       if(typeof response != 'undefined' && response.length!=0 && typeof response[0] != 'undefined' && typeof response[0].error!="undefined"){
-                                                               $log.debug('Timeout attempting to get_functional_menu');                                                                
-                                                               $scope.menuItems = unflatten( response);
-                                                               $scope.megaMenuDataObject = menuStructureConvert($scope.menuItems);                                              
-//                                                             $scope.createErrorMenu();
-                                                               //$scope.loadMenufail=true;
-                                                       }else{
-                                                               $scope.loadMenufail=false;
-                                                               $scope.contactUsURL = response.contactUsLink;
-                                                               $log.debug('functional_menu',response);                                                         
-                                                               $scope.megaMenuDataObject = menuStructureConvert("");
-                                                       }
-                                               }
-                        }).error(function (response){
-                                               $scope.megaMenuDataObject = menuStructureConvert("");
-//                                             $scope.createErrorMenu();
-                                               //$scope.loadMenufail=true;
-                                       $log.debug('REST API failed get_functional_menu...');
-                        });
-                       
-               }
-               
-               /*$scope.adjustHeader=function() {
-                       $scope.showHeader = ($cookies.show_app_header == undefined ? true : $cookies.show_app_header);
-                       
-                       if($scope.showHeader == true) {
-                       $scope.drawer_margin_top = 70;
-                       $scope.drawer_custom_top = 54;
-                       $scope.toggle_drawer_top = 55;
-                       }
-                       else  {
-                               
-                               $scope.drawer_margin_top = 60;
-                       $scope.drawer_custom_top = 0;
-                       $scope.toggle_drawer_top = 10;
-                       }
-                       
-               }*/
-
-               $scope.getMenu();
-      //       $scope.adjustHeader();
-
-/* **************************************************************************/
-/* Logic for the favorite menus is here */
-
-            $scope.loadFavorites = function () {
-                $log.debug('loadFavorites has happened.');
-                if ($scope.favoritesMenuItems == '') {
-                    $scope.generateFavoriteItems();
-                    $log.debug('loadFavorites is calling generateFavoriteItems()');
-                } else {
-                    $log.debug('loadFavorites is NOT calling generateFavoriteItems()');
-                }
-            }
-            
-            $scope.goToUrl = function (item) {
-                $log.info("goToUrl called")
-                $log.info(item);
-
-                var url = item.url;
-                var restrictedApp = item.restrictedApp;
-                $log.debug('Restricted app status is: ' + restrictedApp);
-                if (!url) {
-                    $log.info('No url found for this application, doing nothing..');
-                    return;
-                }
-                if (restrictedApp) {
-                    $window.open(url, '_blank');
-                } else {
-                    $window.open(url, '_self');
-                }
-
-            }
-            
-            $scope.submenuLevelAction = function(index, column) {
-                if ($scope.favoritesMenuItems == '') {
-                    $scope.generateFavoriteItems();
-                    $log.debug('submenuLevelAction is calling generateFavoriteItems()');
-                }
-                $log.debug('item hovered/clicked: ' + index + '; column = ' + column);
-                if (column == 2) {  // 2 is Design
-                    $scope.favoritesWindow = false;
-                    $scope.showFavorites = false;
-                    $scope.emptyFavorites = false;
-                }
-                if (index=='Favorites' && $scope.favoriteItemsCount != 0) {
-                    $log.debug('Showing Favorites window');
-                    $scope.favoritesWindow = true;
-                    $scope.showFavorites = true;
-                    $scope.emptyFavorites = false;
-                }
-                if (index=='Favorites' && $scope.favoriteItemsCount == 0) {
-                    $log.debug('Hiding Favorites window in favor of No Favorites Window');
-                    $scope.favoritesWindow = true;
-                    $scope.showFavorites = false;
-                    $scope.emptyFavorites = true;
-                }
-                if (column > 2) {
-                    $scope.favoritesWindow = false;
-                    $scope.showFavorites = false;
-                    $scope.emptyFavorites = false;
-                }
-            };
-            
-            $scope.hideFavoritesWindow = function() {
-                $log.debug('$scope.hideFavoritesWindow has been called');
-                $scope.showFavorites = false;
-                $scope.emptyFavorites = false;
-            }
-            
-            $scope.isUrlFavorite = function (menuId) {
-//                 $log.debug('array objects in menu favorites = ' + $scope.favoriteItemsCount + '; menuId=' + menuId);
-                var jsonMenu =  JSON.stringify($scope.favoritesMenuItems);
-                var isMenuFavorite =  jsonMenu.indexOf('menuId\":' + menuId);
-                if (isMenuFavorite==-1) {
-                    return false;
-                } else {
-                    return true;
-                }
-
-            }
-            
-            $scope.generateFavoriteItems  = function() {
-               $http({
-                       method: "GET",
-                       url: 'get_favorites',
-// TIMEOUT USED FOR LOCAL TESTING ONLY                         
-//                             timeout: 100
-                           }).success(function (response) {
-                                               if (response == '101: Timeout') {
-                                               $log.error('Timeout attempting to get_favorites_menu');
+appDS2.factory('HeaderServiceDS2', function ($http,$log, $q) {
+       return {
+               getMenu: function() {
+                       return $http.get('get_menu')
+                       .then(function(response) {
+                                       if (typeof response.data === 'object') {
+                                               return response.data;
                                        } else {
-                                               if(typeof response != 'undefined' && response.length!=0 && typeof response[0] != 'undefined' && typeof response[0].error!="undefined"){
-                                                   $log.error('REST API failed get_favorites' + response);
-                                                       }else{
-                                                               $log.debug('get_favorites = ' + JSON.stringify(response));
-                                                               $scope.favoritesMenuItems = response;
-                                       $scope.favoriteItemsCount = Object.keys($scope.favoritesMenuItems).length;
-                                       $log.info('number of favorite menus: ' + $scope.favoriteItemsCount);
-                               }
-                                               }
-                               }).error(function (response){
-                                   $log.error('REST API failed get_favorites' + response);
-//createFavoriteErrorMenu() USED FOR LOCAL TESTING ONLY                                
-//                                     $scope.createFavoriteErrorMenu();
-                               });
-               }
-
-               $scope.createFavoriteErrorMenu=function() {
-                $scope.favoritesMenuItems = [];
-                $scope.favoriteItemsCount = Object.keys($scope.favoritesMenuItems).length;
-                $log.info('number of favorite menus: ' + $scope.favoriteItemsCount);
-               }
-            
-               /* end of Favorite Menu code */
-               /* **************************************************************************/
-
-               
-               /* **************************************************************************/
-               // THIS IS USED FOR LOCAL TESTING ONLY
-               /* **************************************************************************/
-               $scope.createErrorMenu=function() {
-                               $log.debug('Creating fake menu now...');
-//                     $scope.loadMenufail=true;
-                $scope.menuItems = [
-                                       {
-                                           "menuId": 1,
-                                           "column": 2,
-                                           "text": "Design",
-                                           "parentMenuId": null,
-                                           "url": ""
-                                         },
-                                         {
-                                           "menuId": 2,
-                                           "column": 3,
-                                           "text": "Infrastructure Ordering",
-                                           "parentMenuId": null,
-                                           "url": ""
-                                         },
-                                         {
-                                           "menuId": 3,
-                                           "column": 4,
-                                           "text": "Service Creation",
-                                           "parentMenuId": null,
-                                           "url": ""
-                                         },
-                                         {
-                                           "menuId": 4,
-                                           "column": 5,
-                                           "text": "Service Mgmt",
-                                           "parentMenuId": null,
-                                           "url": ""
-                                         },
-                                         {
-                                           "menuId": 90,
-                                           "column": 1,
-                                           "text": "Google",
-                                           "parentMenuId": 1,
-                                           "url": "http://google.com"
-                                         },
-                                         {
-                                           "menuId": 91,
-                                           "column": 1,
-                                           "text": "Mike Little's Coffee Cup",
-                                           "parentMenuId": 2,
-                                           "url": "http://coffee.com"
-                                         },
-                                         {
-                                           "menuId": 92,
-                                           "column": 2,
-                                           "text": "Andy and his Astrophotgraphy",
-                                           "parentMenuId": 3,
-                                           "url": "http://nightskypix.com"
-                                         },
-                                         {
-                                           "menuId": 93,
-                                           "column": 1,
-                                           "text": "JSONLint",
-                                           "parentMenuId": 4,
-                                           "url": "http://http://jsonlint.com"
-                                         },
-                                         {
-                                           "menuId": 94,
-                                           "column": 2,
-                                           "text": "HROneStop",
-                                           "parentMenuId": 4,
-                                           "url": "http://ebiz.sbc.com/hronestop"
-                                         },
-                                         {
-                                           "menuId": 95,
-                                           "column": 2,
-                                           "text": "4th Level App4a R16",
-                                           "parentMenuId": 4,
-                                           "url": "http://www.e-access.att.com/ecomp_portal_ist/ecompportal/widgets"
-                                         },
-                                         {
-                                           "menuId": 96,
-                                           "column": 3,
-                                           "text": "3rd Level App1c R200",
-                                           "parentMenuId": 4,
-                                           "url": "http://app1c.com"
-                                         },
-                                         {
-                                           "menuId": 97,
-                                           "column": 1,
-                                           "text": "3rd Level App4b R16",
-                                           "parentMenuId": 5,
-                                           "url": "http://app4b.com"
-                                         },
-                                         {
-                                           "menuId": 98,
-                                           "column": 2,
-                                           "text": "3rd Level App2b R16",
-                                           "parentMenuId": 5,
-                                           "url": "http://app2b.com"
-                                         },
-                                         {
-                                           "menuId": 99,
-                                           "column": 1,
-                                           "text": "Favorites",
-                                           "parentMenuId": null,
-                                           "url": ""
-                                         }
-                                       ];
-                               $scope.menuItems = unflatten( $scope.menuItems );
-                               //remove this
-                               $scope.megaMenuDataObject = menuStructureConvert($scope.menuItems);
-               }
-        }]
-    }
+                                               return $q.reject(response.data);
+                                       }
+                       }, function(response) {
+                               // something went wrong
+                               return $q.reject(response.data);
+                       });
+               }
+       };
 });
-
-appDS2.filter("ellipsis", function(){
-    return function(text, length){
-        if (text) {
-            var ellipsis = text.length > length ? "..." : "";
-            return text.slice(0, length) + ellipsis;
-        };
-        return text;        
-    }
-});
-function reloadPageOnce() {
-       if( window.localStorage )
-       {
-         if( !localStorage.getItem('firstLoad') )
-         {
-           localStorage['firstLoad'] = true;
-           window.location.reload();
-         }  
-         else
-           localStorage.removeItem('firstLoad');
-       }
-}
-appDS2.controller('loginSnippetCtrl', function ($scope,$http, $log,UserInfoServiceDS2){
-       /*Define fields*/
-       $scope.userProfile={
-                       firstName:'',
-                       lastName:'',
-                       fullName:'',
-                       email:'',
-       }
-       /*Put user info into fields*/
-       $scope.inputUserInfo = function(userInfo){
-               if (typeof(userInfo) != "undefined" && userInfo!=null && userInfo!=''){
-                       if (typeof(userInfo.USER_FIRST_NAME) != "undefined" && userInfo.USER_FIRST_NAME!=null && userInfo.USER_FIRST_NAME!='')
-                       $scope.userProfile.firstName = userInfo.USER_FIRST_NAME;
-               if (typeof(userInfo.USER_LAST_NAME) != "undefined" && userInfo.USER_LAST_NAME!=null && userInfo.USER_LAST_NAME!='')
-                       $scope.userProfile.lastName = userInfo.USER_LAST_NAME;
-               if (typeof(userInfo.USER_EMAIL) != "undefined" && userInfo.USER_EMAIL!=null && userInfo.USER_EMAIL!='')
-                       $scope.userProfile.email = userInfo.USER_EMAIL; 
-       
-               }               
-       }
-       /*getting user info from session*/
-       $scope.getUserNameFromSession = function(){
-               UserInfoServiceDS2.getFunctionalMenuStaticDetailSession()
-               .then(function (response) {                     
-                       $scope.userProfile.fullName = response.userName;                        
-                       $scope.userProfile.email = response.email;
-               });
-    }
-       /*getting user info from shared context*/
-       $scope.getUserName=function() {
-               var promise = UserInfoServiceDS2.getFunctionalMenuStaticDetailShareContext();
-               promise.then(
-                       function(res) { 
-                               if(res==null || res==''){
-                                       $log.info('headerServiceDS2: get user information from session');
-                                       $scope.getUserNameFromSession();
-                                       
-                               }else{
-                                       // $log.info('Received User information from shared context',res);
-                                       var resData = res;
-                                       console.log(resData);
-                                       $scope.inputUserInfo(resData);
-                                       $scope.userProfile.fullName = $scope.userProfile.firstName+ ' '+ $scope.userProfile.lastName;                                   
-                               }
-                       },
-                       function(err) {
-                               console.log('error');
-                       }
-               );
-    };
-    /*call the get user info function*/
-    try{
-       $scope.getUserName();
-    }catch(err){
-       $log.info('Error while getting User information',err);
-    }
-});
\ No newline at end of file
index 879da8e..61346c8 100644 (file)
@@ -70,22 +70,9 @@ window.onscroll = function (e) {
        adjustLeftMenuHeight();
 } 
 
-function adjustHeader() {
-       var showHeader = getCookie("show_app_header");
-       if(showHeader==''){
-               $(".menu-container").css({
-                       "margin-top" : 45,
-               });
-       }else{
-               $(".menu-container").css({
-                       "margin-top" : 0,
-               });
-       }
-};
 /* adjust left menu height on page load */
 $(function() {
        adjustLeftMenuHeight();
-       adjustHeader();
 });
 
 
index c90f95b..bbfddca 100644 (file)
@@ -61,6 +61,7 @@
        <script src="./app/fusion/scripts/DS2-controllers/ds2-reports/report-run-controller.js"></script>
        <script src="./app/fusion/scripts/DS2-controllers/ds2-reports/report-step-controller.js"></script>
        <script src="./app/fusion/scripts/DS2-controllers/ds2-reports/report-import-controller.js"></script>
+       <script src="./app/fusion/scripts/DS2-controllers/ds2-reports/report-chart-controller.js"></script>
        <script src="./app/fusion/scripts/DS2-view-models/ds2-reports/directive/dynamicform.js"></script>
        <script src="./app/fusion/scripts/DS2-controllers/ds2-reports/report-router.js"></script>
                
index ad08199..097d179 100644 (file)
                                </td>
             </tr>                        
 
-<!--             <tr>
-                <td class="colTableLeftColumn">Drill-down Link:</td>
+             <tr>
+                <td class="colTableLeftColumn" style="width:350px;">Drill-down Link:</td>
                                <td>
-                                       <select name="drillDown" b2b-dropdown ng-model="selectedDrillDownLink.value" placeholder-text="Select">
-                                               <option b2b-dropdown-list option-repeat="d in drillDownOptions" value="{{d.value}}">{{d.text}}</option>
+                                       <select name="drillDown" b2b-dropdown ng-model="selectedDrillDownReport.value" placeholder-text="Select">
+                                               <option  b2b-dropdown-list option-repeat="d in drilldownReports" value="{{d.id}}">{{d.name}}</option>
                     </select>
                                </td>
-            </tr>                         -->
+            </tr>                         
 
 
         </tbody>
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-wizard-drilldown-edit.html b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/modal/report-wizard-drilldown-edit.html
new file mode 100644 (file)
index 0000000..ec2134b
--- /dev/null
@@ -0,0 +1,150 @@
+<style>
+#columnEditTable table tbody td {
+    border: none;
+}
+
+#columnEditTable table tbody tr {
+    border: none;
+}
+
+.colTableLeftColumn {
+       width: 45%;
+       vertical-align:center;
+}
+
+.colTableInput {
+       width:220px;
+}
+
+#columnEditTable .selectWrap{
+       width:220px;
+}
+
+</style>
+
+<div style="height: 700px;">
+    <div class="b2b-modal-header ng-scope in">
+        <h2 id="myModalLabel" modal-title="">Drill-down Parameters Configuration</h2>
+                       <div class="corner-button in">
+                       <button type="button" class="close" aria-label="Close"
+                               ng-click="$dismiss('cancel')"></button>
+               </div>
+       </div>
+       <div class="b2b-modal-body ng-scope ng-isolate-scope in"  style="margin-bottom: -50px;">
+               <form name="workflowForm" class="css-form" novalidate>
+                       
+       <div id="columnEditTable">
+    <table class="striped">
+        <tbody>
+        <fieldset role="radiogroup" radio-group-accessibility>
+            <tr ng-show="childReportFF.length>0">      
+               <td colspan="2">
+                       <h2>User</h2>
+               </td>       
+                       </tr>            
+                       
+            <tr ng-show="childReportFF.length>0">      
+                <td>
+                       <div class="form-row" role="radio" style="margin-top:0px;">
+                                   <label for="optionsRadios1111" class="radio">
+                                       <input type="radio" ng-model="selectedvalueradioGroup.name" id="optionsRadios1111" name="optionsRadio11" value="noValue" required>
+                                       <i class="skin"></i>
+                                       <span>No Value</span>
+                                   </label>
+                               </div>                
+                </td>
+                               <td style="margin-top:10px;">
+                                       <p>Accept Default</p>
+                               </td>
+            </tr>
+            
+            <tr ng-show="childReportFF.length>0">      
+                <td>
+                       <div class="form-row" role="radio" style="margin-top:0px;">
+                                   <label for="optionsRadios2222" class="radio">
+                                       <input type="radio" ng-model="selectedvalueradioGroup.name" id="optionsRadios2222" name="optionsRadio11" value="fixedValue">
+                                       <i class="skin"></i>
+                                       <span>Fixed Value</span>
+                                   </label>
+                               </div>             
+                </td>
+                <td><input type="text" name="defaultValue" ng-model="fixedValue.value" class="colTableInput"></td>                
+            </tr>
+            
+                                    
+            <tr ng-show="childReportFF.length>0">      
+                <td>
+                       <div class="form-row" role="radio" style="margin-top:0px;">
+                                   <label for="optionsRadios333333" class="radio">
+                                       <input type="radio" ng-model="selectedvalueradioGroup.name" id="optionsRadios333333" name="optionsRadio11" value="reportCol">
+                                       <i class="skin"></i>
+                                       <span>Value of Column</span>
+                               </div>
+                </td>
+                               <td>
+                                       <select name="childReportColumn" b2b-dropdown ng-model="selectedChildReportColumn.value" placeholder-text="Select">
+                                               <option b2b-dropdown-list option-repeat="d in childReportCol" value="{{d.id}}">{{d.name}}</option>
+                    </select>
+                               </td>
+                
+            </tr>
+            
+            <tr ng-show="childReportFF.length>0">      
+                <td>
+                       <div class="form-row" role="radio" style="margin-top:0px;">
+                               <label for="optionsRadios444444" class="radio">
+                                       <input type="radio" ng-model="selectedvalueradioGroup.name" id="optionsRadios444444" name="optionsRadio11" value="reportFF">
+                                       <i class="skin"></i>
+                               <span>Value of Form Field</span>
+                               </div>
+                </td>
+                               <td>
+                                       <select name="childReportFormField" b2b-dropdown ng-model="selectedChildReportFormField.value" placeholder-text="Select">
+                                               <option b2b-dropdown-list option-repeat="d in childReportFF" value="{{d.id}}">{{d.name}}</option>
+                    </select>
+                               </td>
+            </tr> 
+
+            <tr ng-show="childReportFF.length>0">      
+                <td>
+                       <div class="form-row" role="radio" style="margin-top:0px;">
+                                   <label for="optionsRadios5555" class="radio">
+                                       <input type="radio" ng-model="selectedvalueradioGroup.name" id="optionsRadios5555" name="optionsRadio11" value="valueSet" required>
+                                       <i class="skin"></i>
+                                       <span>Value Set</span>
+                                   </label>
+                               </div>                
+                </td>
+                               <td style="margin-top:10px;">
+                                       <p>Pass the value of the selected column if not empty, otherwise pass the value of the selected form field</p>
+                               </td>
+            </tr>
+                       
+             </fieldset>
+
+                       <tr>
+                               <td colspan="2">
+                                       <h2>Parameter values not to be passed to the drill-down report</h2>       
+                               </td>
+                       </tr>            
+
+            <tr>
+                <td class="colTableLeftColumn">Suppress Values</td>
+                <td><input type="text" name="suppressValue" ng-model="suppressValues.value" class="colTableInput"></td>
+            </tr>
+
+        </tbody>
+      </table>
+      </div>                           
+                                       <div class="b2b-modal-footer ng-scope ng-isolate-scope in">
+               <div class="cta-button-group in">
+                       <button class="btn btn-alt btn-small" type="button"
+                               ng-click="complete()">Complete</button>
+               </div>
+               
+       </div>
+               </form>
+               <br />
+       </div>
+</div>
\ No newline at end of file
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/report-chart-wizard.html b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/app/fusion/scripts/DS2-view-models/ds2-reports/report-chart-wizard.html
new file mode 100644 (file)
index 0000000..16676d2
--- /dev/null
@@ -0,0 +1,719 @@
+<style>
+table tbody td {
+    border: none;
+}
+
+table tbody tr {
+    border: none;
+}
+
+table{
+    border: none;
+    margin-bottom:0px;
+}
+
+#RangeTable{
+       margin-top: 5px;
+       border: 1px solid black;
+}
+</style>
+
+<div id="page-content">
+<h1 class="heading-page">Report Chart Configuration</h1>
+<!-- <div style="color:#2ca02c" ng-show="successSubmit">Your configurations have been successfully submitted</div> -->
+
+
+
+<div>
+<table>
+       <thead>
+           <tr>
+               <th width="30%">Chart Type</th>
+               <th>Animate</th>
+           </tr>
+       </thead>
+       
+    <tbody>
+        <tr>
+            <td>
+                               <select name="chartType" b2b-dropdown ng-model="reportRunJson.chartTypeJSON.value" placeholder-text="Select">
+                                       <option b2b-dropdown-list option-repeat="d in chartTypeOptions" value="{{d.value}}">{{d.text}}</option>
+                   </select>
+            </td>
+            <td>
+                <label for="animateCheckbox" class="checkbox">
+                    <input id="animateCheckbox" type="checkbox" ng-model="reportRunJson.animation" /><i class="skin"></i><span></span>
+                </label>            
+                       </td>
+        </tr>
+    </tbody>
+</table>
+
+<table>        
+       <thead>
+           <tr>
+               <th width="50px">Width (px)</th>
+               <th>Height (px)</th>
+           </tr>
+       </thead>
+    <tbody>
+        <tr>
+            <td>
+            <input type="text" name="displayName" ng-model="reportRunJson.width" style="width:100px;">
+            </td>
+            <td>
+            <input type="text" name="displayName" ng-model="reportRunJson.height" style="width:100px;">
+            </td>
+        </tr>
+    </tbody>
+</table>
+
+<table>        
+       <thead>
+           <tr>
+               <th width="50px">Title</th>
+           </tr>
+       </thead>
+    <tbody>
+        <tr>
+               <fieldset role="radiogroup" radio-group-accessibility>
+            <td>
+            <label for="optionsRadiosShowTitleTrue" class="radio">
+                <input type="radio" ng-model="reportRunJson.showTitle" id="optionsRadiosShowTitleTrue" name="optionsRadiosShowTitleTrue" value="true">
+                <i class="skin"></i>
+                <span>Show</span>
+            </label>            
+            </td>
+            <td>
+            <label for="optionsRadiosShowTitleFalse" class="radio">
+                <input type="radio" ng-model="reportRunJson.showTitle" id="optionsRadiosShowTitleFalse" name="optionsRadiosShowTitleFalse" value="false">
+                <i class="skin"></i>
+                <span>Hide</span>
+            </label>            
+            </td>
+            </fieldset>
+        </tr>
+        
+    </tbody>
+</table>
+
+<table>        
+       <thead>
+           <tr>
+               <th width="30%">Domain Axis</th>
+               <th  width="30%">Category</th>
+               <th  width="40%"></th>
+           </tr>
+       </thead>
+    <tbody>
+        <tr>
+            <td>
+                               <select name="chartType" b2b-dropdown ng-model="reportRunJson.domainAxisJSON" placeholder-text="Select">
+                                       <option b2b-dropdown-list option-repeat="d in reportRunJson.chartColumnJSONList" value="{{d.value}}">{{d.title}}</option>
+                   </select>
+            </td>
+            <td>
+                               <select name="chartType" b2b-dropdown ng-model="reportRunJson.categoryAxisJSON" placeholder-text="Select">
+                                       <option b2b-dropdown-list option-repeat="d in reportRunJson.chartColumnJSONList" value="{{d.value}}">{{d.title}}</option>
+                   </select>
+            </td>
+        </tr>
+    </tbody>
+</table>
+
+
+       <div id="RangeTable">
+
+<table ng-repeat="rangeReport in reportRunJson.rangeAxisList">
+       <thead>
+           <tr>
+               <th width="25%">Range Axis</th>
+               <th  width="10%">Y Axis</th>
+               <th  width="20%">Chart Title</th>
+               <th  width="22%">Color</th>
+               <th  width="18%">Line Type</th>
+               <th></th>               
+           </tr>
+       </thead>
+    <tbody>
+        <tr>
+            <td>
+                               <select name="chartType" b2b-dropdown ng-model="rangeReport.rangeAxisLabelJSON.value" placeholder-text="Select">
+                                       <option b2b-dropdown-list option-repeat="d in reportRunJson.chartColumnJSONList" value="{{d.value}}">{{d.title}}</option>
+                   </select>
+            </td>
+            <td>
+               <input type="text" name="displayName" ng-model="rangeReport.rangeYAxis" style="width:100px;">
+            </td>            <td>
+               <input type="text" name="displayName" ng-model="rangeReport.rangeChartGroup" style="width:150px;">
+            </td>
+            <td>
+                               <select name="chartType" b2b-dropdown ng-model="rangeReport.rangeColorJSON" placeholder-text="Select">
+                                       <option b2b-dropdown-list option-repeat="d in rangeColors" value="{{d.value}}">{{d.title}}</option>
+                   </select>
+            </td>
+            <td>
+                               <select name="chartType" b2b-dropdown ng-model="rangeReport.rangeLineTypeJSON" placeholder-text="Select">
+                                       <option b2b-dropdown-list option-repeat="d in lineTypes" value="{{d.value}}">{{d.title}}</option>
+                   </select>
+            </td>
+            <td>
+               <button ng-show="$index==0" type="submit" style="width: 90px; height:35px;margin-left:5px;" class="btn btn-secondary btn-small" ng-click="addRangeAxisRow()">Add</button>
+               <button ng-hide="$index==0" type="submit" style="width: 90px; height:35px;margin-left:5px;" class="btn btn-secondary btn-small" ng-click="removeRangeAxisRow($index)">Remove</button>
+            </td>
+        </tr>
+      
+    </tbody>
+</table>
+</div>
+
+</div>
+             
+<div ng-show=false style="min-height:500px" data-ng-init="init()">
+       <div class="fn-ebz-container" >
+               <label class="fn-ebz-text-label">Chart Type</label><BR>
+               <div class="form-field" att-select="chartTypes" ng-model="reportRunJson.chartTypeJSON" placeholder="Select an Option" show-input-filter="true" ng-change="actionClicked()"></div>
+       </div>
+       
+       
+       <div class="fn-ebz-container" style="position:relative; top: -8px;">
+               <label class="fn-ebz-text-label">Animate</label><BR>
+                       <div><input type="checkbox" ng-model="reportRunJson.animation" att-checkbox data-ng-value="true"></div>
+       </div>
+       <BR>
+       
+       <div class="fn-ebz-container" >
+               <label class="fn-ebz-text-label">Width (Px)</label><BR>
+               <input type="text"  name="chartWidth"  maxlength=4  only-digits ng-model="reportRunJson.width" style="width:80px"/>
+       </div> 
+       
+       <div class="fn-ebz-container" >
+               <label class="fn-ebz-text-label">Height (Px)</label><BR>
+               <input type="text" name="chartHeight" maxlength=4  only-digits ng-model="reportRunJson.height" style="width:80px"/>
+       </div>
+       <BR>
+       
+       <div class="fn-ebz-container">
+               <label class="fn-ebz-text-label">Title</label><BR>
+               <span><input  name="tle" type="radio" ng-model="reportRunJson.showTitle"  data-ng-value="true"/>Show</span>
+               <span><input name="tle" type="radio" ng-model="reportRunJson.showTitle" data-ng-value="false"/>Hide</span>
+       </div>
+       <BR>
+       
+
+       <div class="fn-ebz-container" >
+               <label class="fn-ebz-text-label">Domain Axis</label><BR>
+               <div class="form-field" att-select="reportRunJson.chartColumnJSONList" ng-model="reportRunJson.domainAxisJSON" placeholder="Select an Option" show-input-filter="true"></div>
+       </div>  
+       
+       <div class="fn-ebz-container" >
+               <label class="fn-ebz-text-label">Category</label><BR>
+               <div class="form-field" att-select="reportRunJson.chartColumnJSONList" ng-model="reportRunJson.categoryAxisJSON" placeholder="Select an Option" show-input-filter="true"></div>
+       </div>
+       <BR>
+
+<div style="border:2px;border-style:solid;border-color:#808080;margin-bottom:9px">     
+<div ng-repeat="rangeReport in reportRunJson.rangeAxisList">   
+       <div style="margin-left:5px">
+       <div class="fn-ebz-container">
+               <label class="fn-ebz-text-label">Range Axis</label><BR>
+               <div class="form-field" att-select="reportRunJson.chartColumnJSONList" 
+                       ng-model="rangeReport.rangeAxisLabelJSON" placeholder="Select an Option" show-input-filter="true"></div>
+       </div>
+       
+       
+       <div class="fn-ebz-container" >
+               <label class="fn-ebz-text-label">Y Axis</label><BR>
+               <input id="yaxs" type="text" name="yAxis" maxlength=50 ng-model=rangeReport.rangeYAxis style="width:100px"/>
+       </div>
+       
+       <div class="fn-ebz-container" >
+               <label class="fn-ebz-text-label">Chart Title</label><BR>
+               <input type="text" name="chartTitle"  maxlength=50 ng-model="rangeReport.rangeChartGroup" style="width:200px"/>
+       </div>
+       
+       <div class="fn-ebz-container" >
+               <label class="fn-ebz-text-label">Color</label><BR>
+               <div class="form-field" att-select="rangeColors" ng-model="rangeReport.rangeColorJSON" placeholder="Select an Option" show-input-filter="true"></div>
+       </div>
+       
+       <div class="fn-ebz-container" >
+               <label class="fn-ebz-text-label">Line Type</label><BR>
+               <div class="form-field" att-select="lineTypes" ng-model="rangeReport.rangeLineTypeJSON" placeholder="Select an Option" show-input-filter="true"></div>
+       </div>
+       
+       <div class="fn-ebz-container" ng-show="reportRunJson.chartTypeJSON.value=='FlexTimeChart' || 
+                       reportRunJson.chartTypeJSON.value=='AnnotationChart'" style="position:relative; top: -8px;">
+               <label class="fn-ebz-text-label">Area</label><BR>
+               <input type="checkbox" ng-model="rangeReport.showAsArea" att-checkbox data-ng-value="true">
+       </div>
+       
+       <div class="fn-ebz-container" style="position:relative; top: 25px;">
+       <a href="javascript:void(0)" ng-show="{{$index==0}}" style="float: right;" att-button btn-type="secondary" size="small" att-accessibility-click="13,32" 
+                       ng-click="addRangeAxisRow(rangeReport);" >Add</a>
+       <a href="javascript:void(0)" ng-show="{{$index>0}}" style="float: right;" att-button btn-type="secondary" size="small" att-accessibility-click="13,32" ng-click="removeRangeAxisRow($index);" >
+                       Remove</a>
+         </div>
+         </div>
+        </div>
+       </div>
+       <BR>
+       
+<accordion close-others="true" css="att-accordion--no-box">
+       <accordion-group id="additionalOptions" heading="Additional Options"  child-length="10">
+       <div class="fn-ebz-container">
+               <label class="fn-ebz-text-label">Primary Axis Label</label><BR>
+               <input type="text" name="prAxis" maxlength=50 ng-model="reportRunJson.primaryAxisLabel" style="width:210px"/>
+       </div>
+       <div class="fn-ebz-container" >
+               <label class="fn-ebz-text-label">Secondary Axis Label</label><BR>
+               <input type="text" name="secAxis" maxlength=75 ng-model="reportRunJson.secondaryAxisLabel"  style="width:210px"/>
+       </div>
+       <BR>
+       <div class="fn-ebz-container" >
+               <label class="fn-ebz-text-label">Range Axis Minimum Range</label><BR>
+               <input type="text" name="rAxisMinRange" only-digits ng-model="reportRunJson.minRange" style="width:210px"/>
+       </div>
+       <div class="fn-ebz-container">
+               <label class="fn-ebz-text-label">Maximum Range</label><BR>
+               <input type="text" name="rAxisMaxRange" only-digits ng-model="reportRunJson.maxRange"  ng-maxLength="35" style="width:210px"/>
+       </div><BR>
+       </accordion-group>
+</accordion>
+       
+       
+       
+
+<div ng-show="reportRunJson.chartTypeJSON.value=='BarChart3D'">
+  
+       <accordion close-others="true" css="att-accordion--no-box">
+       <accordion-group id="accBar" heading="Bar Chart Options"  child-length="10">
+                               
+       
+       <div style="border:2px;border-style:solid;border-color:#808080;margin-bottom:9px">
+               <div class="fn-ebz-container" style="position:relative;margin:10px;" >
+                       <label class="fn-ebz-text-label">Orientation</label><BR>
+                       <span><input  name="orient" type="radio" ng-model="reportRunJson.barChartOptions.verticalOrientation"  data-ng-value="true"/>Vertical</span>
+                       <span><input name="orient" type="radio" ng-model="reportRunJson.barChartOptions.verticalOrientation" data-ng-value="false"/>Horizontal</span>
+               </div>
+       
+       <div class="fn-ebz-container" style="position:relative;margin:10px;">
+               <label class="fn-ebz-text-label">Stacked</label><BR>
+               <span><input  name="stack" type="radio" ng-model="reportRunJson.barChartOptions.stackedChart"  data-ng-value="true"/>Yes</span>
+               <span><input name="stack" type="radio" ng-model="reportRunJson.barChartOptions.stackedChart" data-ng-value="false"/>No</span>
+       </div>
+       
+       <div class="fn-ebz-container" style="position:relative;margin:10px;">
+               <label class="fn-ebz-text-label">Show Controls</label><BR>
+               <span><input  name="shwcontrol" type="radio" ng-model="reportRunJson.barChartOptions.displayBarControls"  data-ng-value="true"/>Yes</span>
+               <span><input name="shwcontrol" type="radio" ng-model="reportRunJson.barChartOptions.displayBarControls" data-ng-value="false"/>No</span>
+       </div>
+       
+       <div class="fn-ebz-container" style="position:relative;margin:10px;">
+               <label class="fn-ebz-text-label">XAxis Date Type</label><BR>
+               <span><input  name="xAxisDtype" type="radio" ng-model="reportRunJson.barChartOptions.xAxisDateType"  data-ng-value="true"/>Yes</span>
+               <span><input name="xAxisDtype" type="radio" ng-model="reportRunJson.barChartOptions.xAxisDateType" data-ng-value="false"/>No</span>
+       </div>
+       
+       <div class="fn-ebz-container" style="position:relative;margin:10px;">
+               <label class="fn-ebz-text-label">Display less XAxis tickers</label><BR>
+               <span><input  name="xTicker" type="radio" ng-model="reportRunJson.barChartOptions.minimizeXAxisTickers"  data-ng-value="true"/>Yes</span>
+               <span><input name="xTicker" type="radio" ng-model="reportRunJson.barChartOptions.minimizeXAxisTickers" data-ng-value="false"/>No</span>
+       </div><BR>
+       
+       <div class="fn-ebz-container" style="position:relative;margin:10px;">
+               <label class="fn-ebz-text-label">Is Time Axis?</label><BR>
+               <span><input  name="timeAxis" type="radio" ng-model="reportRunJson.barChartOptions.timeAxis"  data-ng-value="true"/>Yes</span>
+               <span><input name="timeAxis" type="radio" ng-model="reportRunJson.barChartOptions.timeAxis" data-ng-value="false"/>No</span>
+       </div>
+       
+       <div class="fn-ebz-container" style="position:relative;margin:10px;">
+               <label class="fn-ebz-text-label">Log Scale (Y Axis)</label><BR>
+               <span><input type="checkbox" ng-model="reportRunJson.barChartOptions.yAxisLogScale" att-checkbox data-ng-value="true"></span>
+               
+       </div>
+ </div>
+
+  </accordion-group>
+</accordion>
+</div>
+       
+       <div ng-show="reportRunJson.chartTypeJSON.value=='TimeSeriesChart'">
+       <!-- <div class="fn-ebz-text-label"><b>Time Series Chart Options</b></div><BR> -->
+        <accordion close-others="true" css="att-accordion--no-box">
+               <accordion-group id="accTimeChart"  heading="Time Series Chart Options"  child-length="10">
+               
+               <div style="border:2px;border-style:solid;border-color:#808080;margin-bottom:9px">
+                       <div style="margin-left:5px">
+                       <div class="fn-ebz-container">
+                               <label class="fn-ebz-text-label">Render as</label><BR>
+                               <span><input  name="renderAs" type="radio" ng-model="reportRunJson.timeSeriesChartOptions.lineChartRenderer"  value="line"/>Line</span>
+                               <span><input name="orient" type="radio" ng-model="reportRunJson.timeSeriesChartOptions.lineChartRenderer" value="area"/>Area</span>
+                       </div>
+       
+               <div class="fn-ebz-container" style="position:relative;margin:10px;">
+                       <label class="fn-ebz-text-label">X Axis Label</label><BR>
+                       <span><input type="checkbox" ng-model="reportRunJson.timeSeriesChartOptions.showXAxisLabel" att-checkbox data-ng-value="true"></span>
+               </div><BR>
+               
+               <div class="fn-ebz-container" style="position:relative;bottom:10px;">
+                       <label class="fn-ebz-text-label">X Axis <br>Tickers</label><BR>
+                       <span style="position:relative;top:10px;"><input type="checkbox" ng-model="reportRunJson.timeSeriesChartOptions.addXAxisTicker" att-checkbox data-ng-value="true"></span>
+               </div>
+               
+               <div class="fn-ebz-container" style="position:relative;margin:20px;">
+                       <label class="fn-ebz-text-label">Is Time Axis?</label><BR>
+                       <span><input  name="timeAxisChart" type="radio" ng-model="reportRunJson.timeSeriesChartOptions.nonTimeAxis"  data-ng-value="true"/>Yes</span>
+                       <span><input name="timeAxisChart" type="radio" ng-model="reportRunJson.timeSeriesChartOptions.nonTimeAxis" data-ng-value="false"/>No</span>
+               </div>
+               
+               <div class="fn-ebz-container" style="position:relative;margin:10px;">
+                       <label class="fn-ebz-text-label">Multi Series?</label><BR>
+                       <span><input  name="mSeries" type="radio" ng-model="reportRunJson.timeSeriesChartOptions.multiSeries"  data-ng-value="true"/>Yes</span>
+                       <span><input name="mSeries" type="radio" ng-model="reportRunJson.timeSeriesChartOptions.multiSeries" data-ng-value="false"/>No</span>
+               </div>
+                </div>
+               </div>
+       
+        </accordion-group>
+       </accordion>
+       
+       </div>
+       
+       <div ng-show="reportRunJson.chartTypeJSON.value=='FlexTimeChart'">
+               
+               
+               <accordion close-others="true" css="att-accordion--no-box">
+               <accordion-group id="accFlexTimeChart"  heading="Flex Time Series Chart Options"  child-length="10">
+               
+               <!-- <div class="fn-ebz-text-label"><b>Flex Time Series Chart Options</b></div><BR>  -->
+               <div style="border:2px;border-style:solid;border-color:#808080;margin-bottom:9px">
+                       <div style="margin-left:5px">
+               <div class="fn-ebz-container">
+                       <label class="fn-ebz-text-label">Zoom-In Window</label><BR>
+                       <span><input type="text" name="zWindow" only-digits maxlength=3 ng-model="reportRunJson.flexTimeSeriesChartOptions.zoomIn"></span>
+               </div>
+               
+               <div class="fn-ebz-container" style="position:relative;margin:10px;">
+                       <label class="fn-ebz-text-label">Time Axis Type</label><BR>
+                       <span><input  name="timeAxisType" type="radio" ng-model="reportRunJson.flexTimeSeriesChartOptions.timeAxisType"  value="weekly"/>Weekly</span>
+                       <span><input name="timeAxisType" type="radio" ng-model="reportRunJson.flexTimeSeriesChartOptions.timeAxisType" value="daily"/>Daily</span>
+                       <span><input name="timeAxisType" type="radio" ng-model="reportRunJson.flexTimeSeriesChartOptions.timeAxisType" value="hourly"/>Hourly</span>
+                       <span><input name="timeAxisType" type="radio" ng-model="reportRunJson.flexTimeSeriesChartOptions.timeAxisType" value="30min"/>30 Min</span>
+               </div>
+         </div>
+        </div>
+               </accordion-group>
+       </accordion>
+       
+       </div>  
+       
+       
+       
+       
+       
+       
+        
+       <!-- <div class="fn-ebz-text-label"><b>Common Options</b></div><BR>  -->
+       
+       <accordion close-others="true" css="att-accordion--no-box">
+       <accordion-group id="accCommonOptions"  heading="Common Options"  child-length="10">
+       
+       <div style="border:2px;border-style:solid;border-color:#808080;margin-bottom:9px">
+       <div style="margin-left:5px">
+       <div class="fn-ebz-container">
+               <label class="fn-ebz-text-label">Legend Angle</label><BR>
+               <span><input name="langle" type="radio" ng-model="reportRunJson.commonChartOptions.legendLabelAngle" value="up45"/>up 45&deg;</span>
+               <span><input name="langle" type="radio" ng-model="reportRunJson.commonChartOptions.legendLabelAngle" value="up90"/>up 90&deg;</span>
+           <span><input name="langle" type="radio" ng-model="reportRunJson.commonChartOptions.legendLabelAngle" value="down45"/>down 45&deg;</span>
+           <span><input name="langle" type="radio" ng-model="reportRunJson.commonChartOptions.legendLabelAngle" value="down90"/>down 90&deg;</span>
+           <span><input name="langle" type="radio" ng-model="reportRunJson.commonChartOptions.legendLabelAngle" value="standard"/>Standard</span>
+       </div>
+       
+       <div class="fn-ebz-container" style="position:relative;margin:15px;">
+               <label class="fn-ebz-text-label">Legend Position</label><BR>
+               <span><input  name="lgPosition" type="radio" ng-model="reportRunJson.commonChartOptions.legendPosition"  value="top"/>Top</span>
+               <span><input name="lgPosition" type="radio" ng-model="reportRunJson.commonChartOptions.legendPosition" value="bottom"/>Bottom</span>
+       </div><BR>
+       
+       <div class="fn-ebz-container">
+               <label class="fn-ebz-text-label">Legend</label><BR>
+               <span><input name="lgd" type="radio" ng-model="reportRunJson.commonChartOptions.hideLegend" data-ng-value="false"/>Yes</span>
+               <span><input name="lgd" type="radio" ng-model="reportRunJson.commonChartOptions.hideLegend" data-ng-value="true"/>No</span>
+       </div>
+       
+       <div class="fn-ebz-container" style="position:relative;margin:10px;">
+               <label class="fn-ebz-text-label">Animation</label><BR>
+               <span><input name="anmtate"  type="radio" ng-model="reportRunJson.commonChartOptions.animateAnimatedChart" data-ng-value="true" />Yes</span>
+               <span><input name="anmtate"  type="radio" ng-model="reportRunJson.commonChartOptions.animateAnimatedChart" data-ng-value="false"/>No</span>
+       </div><BR>
+       
+       <div class="fn-ebz-container">
+               <label class="fn-ebz-text-label">Top Margin</label><BR>
+               <input type="text" name="reportRunJson.commonChartOptions.topMargin" only-digits maxlength=3 ng-model="reportRunJson.commonChartOptions.topMargin" style="width:210px"/>
+       </div>
+       <div class="fn-ebz-container">
+               <label class="fn-ebz-text-label">Bottom Margin</label><BR>
+               <input type="text" name="reportRunJson.commonChartOptions.bottomMargin" only-digits maxlength=3 ng-model="reportRunJson.commonChartOptions.bottomMargin"  style="width:210px"/>
+       </div>
+       <div class="fn-ebz-container">
+               <label class="fn-ebz-text-label">Left Margin</label><BR>
+               <input type="text" name="reportRunJson.commonChartOptions.leftMargin" only-digits maxlength=3 ng-model="reportRunJson.commonChartOptions.leftMargin" style="width:210px"/>
+       </div>
+       <div class="fn-ebz-container">
+               <label class="fn-ebz-text-label">Right Margin</label><BR>
+               <input type="text" name="reportRunJson.commonChartOptions.rightMargin" only-digits maxlength=3 ng-model="reportRunJson.commonChartOptions.rightMargin" style="width:210px">
+         </div><BR>
+        </div>
+       </div>
+ </accordion-group>
+</accordion>
+       <br/><br/>
+       <a href="javascript:void(0)" att-button btn-type="primary" att-accessibility-click="13,32" ng-click="saveChartData();">Save</a>
+       <a href="report#/report_run/c_master={{reportRunJson.reportID}}&refresh=Y" att-button btn-type="primary" att-accessibility-click="13,32">Run</a>
+</div>
+
+<div>
+    <b2b-expanders class="mpc-expanders" is-open="additionalOptionOpen">            
+        <b2b-expander-heading>
+            <div class="row">    
+                <div class="span6">
+                    <div class="heading-medium b2b-blue" ng-class=" { 'b2b-toggle-header-active': !additionalOptionOpen, 'b2b-toggle-header-inactive': additionalOptionOpen } ">Additional Options</div>
+                    <p class="p-small">
+                    </p>                    
+                </div>
+                <div style="position: absolute;right: 250px;" class="span1">
+                       <i class="pull-right b2b-toggle-header-icon" b2b-expander-toggle b2b-accessibility-click="13,32" expand-icon="icon-primary-collapsed" collapse-icon="icon-primary-expanded" tabindex="0" aria-posinset="1" aria-setsize="2"></i>
+                </div>  
+            </div>    
+        </b2b-expander-heading>               
+        <b2b-expander-body>                   
+            <div>
+<!--   <div style="border:2px;border-style:solid;border-color:#808080;margin-bottom:9px"> -->
+<!--   <div style="margin-left:0px">
+       
+       <div class="fn-ebz-container">
+               <label class="fn-ebz-text-label">Primary Axis Label</label><BR>
+               <input type="text" name="prAxis" maxlength=50 ng-model="reportRunJson.primaryAxisLabel" style="width:210px"/>
+       </div>
+       <div class="fn-ebz-container" >
+               <label class="fn-ebz-text-label">Secondary Axis Label</label><BR>
+               <input type="text" name="secAxis" maxlength=75 ng-model="reportRunJson.secondaryAxisLabel"  style="width:210px"/>
+       </div>
+       <BR>
+       <div class="fn-ebz-container" >
+               <label class="fn-ebz-text-label">Range Axis Minimum Range</label><BR>
+               <input type="text" name="rAxisMinRange" only-digits ng-model="reportRunJson.minRange" style="width:210px"/>
+       </div>
+       <div class="fn-ebz-container">
+               <label class="fn-ebz-text-label">Maximum Range</label><BR>
+               <input type="text" name="rAxisMaxRange" only-digits ng-model="reportRunJson.maxRange"  ng-maxLength="35" style="width:210px"/>
+       </div><BR>              
+       
+        </div> -->
+        
+<div id="RangeTable">
+<table>
+       <thead>
+           <tr>
+               <th width="30%">Primary Axis Label</th>
+               <th  width="30%">Secondary Axis Label</th>
+               <th></th>               
+           </tr>
+       </thead>
+    <tbody>
+        <tr>
+            <td>
+               <input type="text" name="primaryAxisLabel" ng-model="reportRunJson.primaryAxisLabel" style="width:200px;">
+            </td>
+            <td>
+               <input type="text" name="secondaryAxisLabel" ng-model="reportRunJson.secondaryAxisLabel" style="width:200px;">
+            </td>
+        </tr>
+    </tbody>
+</table>
+<table>
+       <thead>
+           <tr>
+               <th width="30%">Range Axis Minimum Range</th>
+               <th  width="30%">Maximum Range</th>
+               <th></th>
+           </tr>
+       </thead>
+    <tbody>
+        <tr>
+            <td>
+               <input type="text" name="minRange" ng-model="reportRunJson.minRange" style="width:200px;">
+            </td>
+            <td>
+               <input type="text" name="maxRange" ng-model="reportRunJson.maxRange" style="width:200px;">
+            </td>
+        </tr>
+    </tbody>
+</table>
+</div>                 
+            </div>
+        </b2b-expander-body>     
+    </b2b-expanders>
+
+    <b2b-expanders class="mpc-expanders" is-open="commonOptionOpen">            
+        <b2b-expander-heading>
+            <div class="row">    
+                <div class="span6">
+                    <div class="heading-medium b2b-blue" ng-class=" { 'b2b-toggle-header-active': !commonOptionOpen, 'b2b-toggle-header-inactive': commonOptionOpen } ">Common Options</div>
+                    <p class="p-small">
+                    </p>                    
+                </div>
+                <div style="position: absolute;right: 250px;" class="span1">
+                       <i class="pull-right b2b-toggle-header-icon" b2b-expander-toggle b2b-accessibility-click="13,32" expand-icon="icon-primary-collapsed" collapse-icon="icon-primary-expanded" tabindex="0" aria-posinset="1" aria-setsize="2"></i>
+                </div>  
+            </div>    
+        </b2b-expander-heading>               
+        <b2b-expander-body>                   
+            <div >
+                <div>
+                                       <div style="border:2px;border-style:solid;border-color:#808080;margin-bottom:9px">
+                                               <div style="margin-left:0px">
+                                                       <table> 
+                                                       <thead>
+                                                           <tr>
+                                                               <th>Legend Angle</th>
+                                                               <th>Legend Position</th>
+                                                           </tr>
+                                                       </thead>
+                                                   <tbody>
+                                                       <tr>
+                                                               <fieldset role="radiogroup" radio-group-accessibility>
+                                                           <td>
+                                                           <label for="optionsRadios1" class="radio">
+                                                               <input type="radio" ng-model="reportRunJson.commonChartOptions.legendLabelAngle" id="optionsRadios1" name="optionsRadio1" value="up45">
+                                                               <i class="skin"></i>
+                                                               <span>up 45&deg;</span>
+                                                           </label>            
+                                                           <label for="optionsRadios2" class="radio">
+                                                               <input type="radio" ng-model="reportRunJson.commonChartOptions.legendLabelAngle" id="optionsRadios2" name="optionsRadio2" value="up90">
+                                                               <i class="skin"></i>
+                                                               <span>up 90&deg;</span>
+                                                           </label>            
+                                                           <label for="optionsRadios3" class="radio">
+                                                               <input type="radio" ng-model="reportRunJson.commonChartOptions.legendLabelAngle" id="optionsRadios3" name="optionsRadio3" value="down45">
+                                                               <i class="skin"></i>
+                                                               <span>down 45&deg;</span>
+                                                           </label>            
+                                                           <label for="optionsRadios4444" class="radio">
+                                                               <input type="radio" ng-model="reportRunJson.commonChartOptions.legendLabelAngle" id="optionsRadios4444" name="optionsRadio44" value="down90">
+                                                               <i class="skin"></i>
+                                                               <span>down 90&deg;</span>
+                                                           </label>            
+                                                           <label for="optionsRadios5555" class="radio">
+                                                               <input type="radio" ng-model="reportRunJson.commonChartOptions.legendLabelAngle" id="optionsRadios5555" name="optionsRadio55" value="Standard">
+                                                               <i class="skin"></i>
+                                                               <span>Standard</span>
+                                                           </label>            
+                                                           </td>    
+                                                           </fieldset>
+                                                           
+                                                           <fieldset role="radiogroup" radio-group-accessibility>
+                                                           <td>
+                                                           <label for="optionsRadiosTop" class="radio">
+                                                               <input type="radio" ng-model="reportRunJson.commonChartOptions.legendPosition" id="optionsRadiosTop" name="optionsRadioTop" value="Top">
+                                                               <i class="skin"></i>
+                                                               <span>Top</span>
+                                                           </label>            
+                                                           <label for="optionsRadiosBottom" class="radio">
+                                                               <input type="radio" ng-model="reportRunJson.commonChartOptions.legendPosition" id="optionsRadiosBottom" name="optionsRadioBottom" value="Bottom">
+                                                               <i class="skin"></i>
+                                                               <span>Bottom</span>
+                                                           </label>            
+                                                           </td>                    
+                                                           </fieldset>
+                                                       </tr>
+                                                   </tbody>
+                                               </table>
+
+
+                                               <table> 
+                                               <thead>
+                                                   <tr>
+                                                       <th width="20%">Legend</th>
+                                                       <th width="20%">Animation</th>
+                                                       <th></th>
+                                                   </tr>
+                                               </thead>
+                                           <tbody>
+                                               <tr>
+                                                       <fieldset role="radiogroup" radio-group-accessibility>
+                                                   <td>
+                                                   <label for="optionsRadiosHideLegendFalse" class="radio">
+                                                       <input type="radio" ng-model="reportRunJson.commonChartOptions.hideLegend" id="optionsRadiosHideLegendFalse" name="optionsRadiosHideLegendFalse" value="false">
+                                                       <i class="skin"></i>
+                                                       <span>Yes</span>
+                                                   </label>            
+                                                   <label for="optionsRadiosHideLegendTrue" class="radio">
+                                                       <input type="radio" ng-model="reportRunJson.commonChartOptions.hideLegend" id="optionsRadiosHideLegendTrue" name="optionsRadiosHideLegendTrue" value="true">
+                                                       <i class="skin"></i>
+                                                       <span>No</span>
+                                                   </label>            
+                                                   </td>    
+                                                   </fieldset>
+                                                   
+                                                   <fieldset role="radiogroup" radio-group-accessibility>
+                                                   <td>
+                                                   <label for="optionsRadiosAnimateChartTrue" class="radio">
+                                                       <input type="radio" ng-model="reportRunJson.commonChartOptions.animateAnimatedChart" id="optionsRadiosAnimateChartTrue" name="optionsRadiosAnimateChartTrue" value="true">
+                                                       <i class="skin"></i>
+                                                       <span>Yes</span>
+                                                   </label>            
+                                                   <label for="optionsRadiosAnimateChartFalse" class="radio">
+                                                       <input type="radio" ng-model="reportRunJson.commonChartOptions.animateAnimatedChart" id="optionsRadiosAnimateChartFalse" name="optionsRadiosAnimateChartFalse" value="false">
+                                                       <i class="skin"></i>
+                                                       <span>No</span>
+                                                   </label>            
+                                                   </td>                    
+                                                   </fieldset>
+                                                   <td>
+                                                   </td>
+                                               </tr>
+                                           </tbody>
+                                       </table>
+
+                                       <table>
+                                               <thead>
+                                                   <tr>
+                                                       <th width="25%">Top Margin</th>
+                                                       <th width="25%">Bottom Margin</th>
+                                                       <th width="25%">Left Margin</th>
+                                                       <th width="25%">Right Margin</th>
+                                                   </tr>
+                                               </thead>
+                                           <tbody>
+                                               <tr>
+                                                   <td>
+                                                       <input type="text" name="topMargin" ng-model="reportRunJson.commonChartOptions.topMargin" style="width:200px;">
+                                                   </td>
+                                                   <td>
+                                                       <input type="text" name="bottomMargin" ng-model="reportRunJson.commonChartOptions.bottomMargin" style="width:200px;">
+                                                   </td>
+                                                   <td>
+                                                       <input type="text" name="leftMargin" ng-model="reportRunJson.commonChartOptions.leftMargin" style="width:200px;">
+                                                   </td>
+                                                   <td>
+                                                       <input type="text" name="rightMargin" ng-model="reportRunJson.commonChartOptions.rightMargin" style="width:200px;">
+                                                   </td>
+                                               </tr>
+                                           </tbody>
+                                       </table>
+                               </div>                  
+            </div>
+           </div>
+        </b2b-expander-body>     
+    </b2b-expanders>
+
+</div>
+</div>
+       <div>
+       <button type="submit" style="width: 90px; height:35px;margin-top:20px; margin-left:5px;" class="btn btn-alt btn-small" ng-click="saveChartData();">Save</button>        
+       <a href="report#/report_run/c_master={{reportRunJson.reportID}}&refresh=Y">
+       <button type="submit" style="width: 90px; height:35px;margin-top:20px; margin-left:5px;" class="btn btn-alt btn-small">Run</button>
+       </a>
+       </div>    
index 82b7e87..70b2492 100644 (file)
@@ -55,23 +55,28 @@ body {
 }
 </style>
 
-<div id="page-content">
-       <!-- <h1 class="heading2">{{reportData.reportName}}  -->  
-       <h1 class="heading-page">{{reportData.reportHeading}}
-       <a ng-href="{{reportEditURL}}" ng-show="reportData.allowEdit" class="icon-edit" style="font-size:20px;"></a>
-       
-       &nbsp;&nbsp;&nbsp;<a ng-href="{{reportChartURL}}" ng-show="reportData.allowEdit && reportData.chartWizardAvailable" class="icon-bar-chart-vertical" style="font-size:20px;"></a>
-       &nbsp;&nbsp;&nbsp;<span  ng-show="reportData.allowEdit && showFormFields" ><input type="checkbox" ng-model="showFormFieldIds" ng-true-value="Hide_IDs" ng-false-value="Show_IDs" att-toggle-main></span>
-       
-       <!-- &nbsp;&nbsp;&nbsp;<a ng-href="{{reportChartURLNew}}" ng-show="reportData.allowEdit" class="icon-bar-chart-horizontal" style="font-size:20px;"></a> -->
-       </h1>
-       
+<div id="page-content">        
+       <div style="width:100%; overflow:hidden;">
+               <div style="float:left;"><h1 class="heading-page">{{reportData.reportHeading}}</h1></div>
+               <div style="float:left; margin-left: 10px; margin-right: 10px;">
+                       <a style="font-size:180%;" ng-href="report#/report_wizard/{{reportData.reportID}}" class="icon-misc-pen" ng-show="reportData.allowEdit"></a>
+               </div>
+               <div style="float:left; margin-left: 5px; margin-right: 10px;">
+                       <a style="font-size:180%;" ng-href="report#/report_chart/{{reportData.reportID}}" class="icon-misc-piechart" ng-show="reportData.allowEdit"></a>
+               </div>
+
+           <div ng-show ="reportData.allowEdit && showFormFields" style="margin-top:5px;">
+               <label for="checkbox1" class="checkbox">
+                   <input id="checkbox1" type="checkbox" ng-model="showFormFieldId.value" /><i class="skin"></i><span>show IDs</span>
+               </label>
+           </div>
+       </div>
        <h3 class="heading3">{{reportData.reportSubTitle}} </h3>
          
          <div ng-show="isInProgress" style="font-size:50px;color:#2ca02c">Loading...</div>
          
          <form ng-show="showFormFields" class="row section-row" style="margin: 10px">
-           <form-builder ng-form-fields="reportData.formFieldList" ng-show-field-id="showFormFieldIds" ng-num-form-cols="reportData.numFormCols" ng-model="formFieldSelectedValues" ng-trigger-method="triggerOtherFormFields"></form-builder>
+           <form-builder ng-form-fields="reportData.formFieldList" ng-show-field-id="showFormFieldId.value" ng-num-form-cols="reportData.numFormCols" ng-model="formFieldSelectedValues" ng-trigger-method="triggerOtherFormFields"></form-builder>
            <br><br>
            <button type="submit" style="width: 90px; height:35px;margin-top:20px; margin-left:5px;" class="btn btn-alt btn-small" ng-click="runReport()">Run</button>
          </form>
index 5767afb..6665dcf 100644 (file)
@@ -22,7 +22,6 @@
 <h1 class="heading-page">Report Wizard</h1>
 
 
-
 <!-- <h1 id="tabs---promo">Tabs - Promo</h1>
 <button class="btn btn-secondary btn-small" ng-click="gTabs[3].disabled = !gTabs[3].disabled">{{gTabs[3].disabled?'Enable':'Disable'}}</button> - Toggle 4th (Features) Tab
 <br><br> -->
      </b2b-tab>
  </b2b-tabset>
 <br><br>
+<div ng-show="showLoader" class="span loader-container">
+       <i class="icon-primary-spinner" role="img"
+               aria-label="Please wait while we load your content"></i>
+</div>
+
+<div ng-hide="showLoader">
+
 <!-- <select ng-model="prj" 
         ng-options="item.projectName for item in allProjects track by item.id" data-ng-init="getAllProjects()" 
         ng-change="selectAction();">
@@ -92,7 +98,7 @@
 <div id="stepView">
 <!--     <step-form ng-model="jsonSrcName" renderForm="changeme"></step-form> -->
 </div>
-
+</div>
 
 <!-- <select id="dropdown1" name="dropdown1" b2b-dropdown placeholder-text="Select" ng-model="selectedReportType.value">
     <option b2b-dropdown-list option-repeat="d in reportTypes" value="{{d.value}}">{{d.text}}</option>
index ef84751..5c0e2bc 100644 (file)
@@ -1,69 +1,69 @@
-<div style="position:relative;width: 100%;top: 0px;left: 0;background-color: #222;z-index:9999">
-    <header class="b2b-header-tabs" b2b-header-responsive ng-show="{{showHeader}}">
-        <ul class="header__items" role="navigation">
-            <li class="header__item icon__item" tabindex="0">
-                                                               
-                                                               <!--
-                                                                        -TODO: needs to be this icon but is not availble
-                                                                        -->
-               
-                <span class="globe-text">ECOMP Portal</span>
-            </li>
-            <li b2b-header-menu class="header__item b2b-headermenu" ng-repeat="item in menuItems" role="presentation">
-                <a href="#" class="menu__item" role="menuitem"></a>
-                <div class="header-secondary-wrapper">
-                    <ul class="header-secondary" role="menu">
-                        <li class="header-subitem" b2b-header-submenu ng-repeat="i in item.subitems" role="presentation">
-                            <a href="#" class="menu__item" aria-haspopup="{{i.links ? true:false}}" role="menuitem">{{i.value}}</a>
-                            <div class="header-tertiary-wrapper" ng-if="i.links">
-                            <ul class="header-tertiary" role="menu">
-                                <li b2b-header-tertiarymenu ng-repeat="link in i.links" role="presentation">
-                                    <label>{{link.title}}</label>
-                                    <div b2b-tertiary-link ng-repeat="title in link.value">
-                                    <a href="{{link.href}}" class="header-tertiaryitem" ng-if="!title.subitems" aria-haspopup="false" role="menuitem"><span class="b2b-label-hide">{{link.title}}</span>{{title.title}}</a>
-                                    <a href="{{link.href}}" class="header-tertiaryitem" b2b-header-togglemenu ng-if="title.subitems" aria-haspopup="true" role="menuitem"><span class="b2b-label-hide">{{link.title}}</span>{{title.title}}</a>
-                                    <ul class="header-quarternary" role="menu"  ng-if="title.subitems">
-                                            <li b2b-header-quarternarymenu role="presentation">
-                                                <a href="{{nav.href}}" ng-repeat="nav in title.subitems" role="menuitem" aria-haspopup="true">
-                                                    {{nav.title}}
-                                                </a>
-                                            </li>
-                                        </ul>
-                                    </div>
-                                </li>
-                            </ul>
-                            </div>
-                        </li>
-                    </ul>
-                </div>
-            </li>           
-            <!--<li class="header__item profile" b2b-header-responsive>-->
-            <li class="header__item profile">
-            
-                               <label  ng-click="showInfo = !showInfo" class="headerUserName" tabindex="0" ddh-accessibility-click="13,32">
-                               <!--  Temporarily copied the font file from DS1 to local directory(as DS2 component is not working yet) -->
-                                       <!-- <div class="icon-user-small login-snippet-icon"></div> -->
-                                       <i class="icon-user" style="color:#FFFFFF;"></i>
-                                       <span class="header_profile">{{userFirstName}}</span>
-                               </label>
-                               
-                               <div class="profile-info" ng-class="{'open': showInfo,'': !showInfo}">
-                                       <h6 id="example_source_john-smith">{{userProfile.fullName}}</h6>
-                                       <label for='email'>Email</label> <span id='email'>{{userProfile.email}}</span>
-                                       <label for='profileId'>Organization User ID</label> <span id='profileId'>{{userProfile.orgUserId}}</span>
-                                       <!-- <label for='comp'>Company</label> <span id='comp'>{{userProfile.serviceProviderName}}</span> -->
-                                       <i class="caret"></i>
-                                       <!-- <p>
-                                               <a href="{{userProfile.userProfileUrl}}" style="float: left">My Profile</a> 
-                                               <a href="{{userProfile.companyProfileUrl}}" style="float: right">Company Profile</a>
-                                       </p> -->
-                                       <p>
-                                               <a class="btn btn-alt" style="float: right" href="logout.htm">Log Out</a>
-                                       </p>
-                               </div> 
-                               <div style="width:250px;"></div>
-            </li>
-       </ul>
-    </header>
-  
-   </div>
\ No newline at end of file
+<div class="header-main-div" >
+       <header class="b2b-header-tabs" b2b-header-responsive ng-show="{{showHeader}}">
+               <ul class="header__items" role="navigation">
+                       <li class="header__item icon__item" tabindex="0" ng-click="returnToPortal()">
+                               <span class="icon-primary-att-globe"></span> 
+                               <span class="globe-text">ECOMP Portal</span>
+                       </li>
+                       <li b2b-header-menu class="header__item b2b-headermenu" ng-repeat="item in menuItems" role="presentation">
+                               <a href="javascript:void(0);"   class="menu__item" role="menuitem" ng-bind="item.text"></a>
+                               <div class="header-secondary-wrapper">
+                                       <ul class="header-secondary" role="menu">
+                                               <li class="header-subitem" b2b-header-submenu
+                                                       ng-repeat="secondLevMenu in item.children" role="presentation">
+                                                       <a href="{{secondLevMenu.action}}"      ng-if="secondLevMenu.childMenus.length==0" class="menu__item"   role="menuitem" ng-bind="secondLevMenu.label"></a> 
+                                                       <a href="javascript:void(0);" ng-if="secondLevMenu.childMenus.length!=0" class="menu__item"     role="menuitem" ng-bind="secondLevMenu.label" ></a>
+                                                       <div class="header-tertiary-wrapper">
+                                                               <ul class="header-tertiary" role="menu">
+                                                                       <li b2b-header-tertiarymenu ng-repeat="thirdLevMenu in secondLevMenu.childMenus"role="presentation">
+                                                                               <a href="{{thirdLevMenu.action}}"role="menuitem" aria-haspopup="true" ng-bind="thirdLevMenu.label"></a> 
+                                                                       </li>
+                                                               </ul>
+                                                       </div>
+                                               </li>
+                                       </ul>
+                               </div></li>
+                       <li class="header__item profile">
+                       <b2b-flyout>
+                               <div b2b-flyout-toggler class="header-profile" >
+                                       <div class="icon-people-oneperson" id="header-user-icon" tabindex="0" b2b-accessibility-click="13,32" aria-label="notifications" aria-haspopup="true" aria-expanded="{{flyoutOpened}}" role="button"></div>
+                               <div id="login-snippet-text" class="login-snippet-text">{{userFirstName}}</div>                  
+                               </div>                                  
+                   <b2b-flyout-content horizontal-placement="center" vertical-placement="below">
+                                       <div>
+                                               <div id="reg-header-snippet">
+                                                       <div tabindex="0" class="reg-profileDetails" id="reg-profiledetails-id">
+                                                               <ul class="reg-Details-table">
+                                                                       <li>
+                                                       <div class="reg-userName-table">
+                                                           <div id="reg-userName-table-row">
+                                                               <div id="reg-userName-table-cell">
+                                                                   <h3 ng-bind="userName">&nbsp;</h3>
+                                                                   <span>&nbsp;</span>
+                                                               </div>
+                                                           </div>
+                                                       </div>
+                                                   </li>
+                                                                       <li><div class="reg-userEmail-label"><span class="reg-userEmail-label-spn" style=font-weight:bold>Email<span class="visuallyhidden">:
+                                                   </span></span></div></li>
+                                                                       <li><div class="reg-userEmail-value"><span class="reg-userEmail-value-spn">
+                                                       {{userEmail}}</span></div></li>
+                                                   <li>&nbsp;</li>
+                                                                       <li><div class="reg-userRole-label"><span class="reg-userRole-label-spn" style=font-weight:bold>
+                                                       User Id<span class="visuallyhidden">:</span></span></div></li>
+                                                                       <li><div class="reg-userRole-value"><span class="reg-userRole-value-spn">
+                                                       {{userId}}<span class="visuallyhidden"></span></span></div></li>
+                                                               </ul>
+                                               <div id="reg-logout-div" style="padding-top: 8px">
+                                                     <a href="logout.htm" id="allLogout" class="btn btn-alt btn-small">
+                                                                               Log out
+                                                                       </a>
+                                               </div>
+                                               </div>
+                                               </div>
+                                       </div>          
+                   </b2b-flyout-content>
+                       </b2b-flyout>
+               </ul>
+       </header>
+</div>
index 7b659e9..bf5e400 100644 (file)
@@ -11,6 +11,8 @@
 .header-container {
        width: 100%;
        float: left;
+       position: fixed;
+    z-index: 100;
 }
 .menu-container {
        float: left;
     display:none;
 }
 
+#header-user-icon{
+       font-size:25px;
+       color:#FFFFFF;
+       
+}
+.header-tertiary-wrapper{
+       top:52px;
+}
+.header-profile div{
+       display:inline-block;
+}
+.b2b-header-tabs .header-secondary{;
+       width: 97%;
+       height:42px;
+}
+.b2b-header-tabs .header-tertiary{
+       width:97%;      
+}
 
-/*  .icon-accordion-plus, .icon-accordion-minus {
-       float: right;
-       line-height: 40px;
+.b2b-header-tabs .header-secondary .header-subitem a.menu__item{
+       padding: 10px 0;
 }
- */
  .b2b-ln-icon-fix-pos{
        margin-top:10px;
  }
@@ -133,3 +151,16 @@ p,a{
 .b2b-footer-wrapper .copyright-text-sdk a:hover {
        text-decoration: none; 
 }
+
+.b2b-header-tabs .header__items{
+       width:97%;
+}
+
+.header-main-div{
+       position: fixed;
+       width: 100%;
+       top: 0px;
+       left: 0;
+       background-color: #222;
+       z-index: 9999;
+}
\ No newline at end of file
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/static/fusion/raptor/ebz/date_time_picker.js b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/static/fusion/raptor/ebz/date_time_picker.js
deleted file mode 100644 (file)
index ae69a91..0000000
+++ /dev/null
@@ -1,277 +0,0 @@
- String.prototype.paddingLeft = function (paddingValue) {
-    return String(paddingValue + this).slice(-paddingValue.length);
- };
-
-angular.module("app/scripts/ng_js_att_tpls/datepicker/dateTimePickerPopup.html", []).run(["$templateCache", function($templateCache) {
-  $templateCache.put("app/scripts/ng_js_att_tpls/datepicker/dateTimePickerPopup.html",
-    "<div class=\"calendar\">\n" +
-    "    <div class=\"box\" ng-class=\"{'active': isOpen}\">\n" +
-    "        <span ng-transclude></span>\n" +
-    
-    "        <i class=\"calendar-icon\" tabindex=\"0\" att-accessibility-click=\"13,32\" ng-click=\"toggle()\" alt=\"Calendar Icon\"  ></i>\n" +
-    "    </div>\n" +
-
-       '<div class="datetimepicker datepicker-wrapper datepicker-wrapper-display-none" style="z-index:10000;width:292px" ng-style="{display: (isOpen && \'block\') || \'none\'}" aria-hidden=\"false\" role=\"dialog\" tabindex=\"-1\">'
-        +   '<div class="datetimepicker-content">'
-        
-        +   '<ul class="tabsbid--small">'
-        +   '<li class="tabsbid__item" ng-class="{\'tabsbid__item--active\':tab==\'date\'}" ng-click="setTab(\'date\')">'
-        +   '<a class="tabsbid__item-link" href="" tabindex="0" att-accessibility-click="32,13">Date</a>'
-        +   '</li>'
-        +   '<li class="tabsbid__item " ng-class="{\'tabsbid__item--active\':tab==\'time\'}" ng-click="setTab(\'time\')">'
-        +   '<a class="tabsbid__item-link" href="" tabindex="0" att-accessibility-click="32,13">Time</a>'
-        +   '</li>'
-        +   '</ul>'
-
-        +     '<div class="datetimepicker-section datetimepicker-date-section" ng-if="tab==\'date\'">'
-        +       '<div class="datetimepicker-month">'
-        +'<div class="icons-list left" style="margin:5px;cursor: pointer;" data-size="medium" ng-click="addMonth(-1)"><i class="icon-arrow-left-circle" ng-class="{\'disabled\': disablePrev}" alt="Left Arrow"></i></div>'
-        +'<div class="icons-list right" style="margin:5px;cursor: pointer;" data-size="medium" ng-click="addMonth(1)"><i class="icon-arrow-right-circle" ng-class="{\'disabled\': disableNext}" alt="Right Arrow"></i></div>'
-        +         '<div class="datetimepicker-current-month">{{displayMonth}} {{year}}</div>'
-        +       '</div>'
-        +       '<div class="datetimepicker-calendar">'
-        +         '<div class="datetimepicker-day" ng-repeat="day in dayNames">{{day | limitTo: 1}}</div>'
-        +         '<div class="datetimepicker-day datetimepicker-leading-day" ng-repeat="d in days.leadingDays">{{d}}</div>'
-        +         '<div class="datetimepicker-day datetimepicker-active-day" ng-class="{\'selected\':day==d}" ng-click="setDay(d)" ng-repeat="d in days.days">{{d}}</div>'
-        +         '<div class="datetimepicker-day datetimepicker-trailing-day" ng-repeat="d in days.trailingDays">{{d}}</div>'
-        +       '</div>'
-        +     '</div>'
-        
-        +     '<div class="datetimepicker-section datetimepicker-date-time" ng-if="tab==\'time\'">'
-        +       '<div class="datetimepicker-month">'
-        +         '<div class="datetimepicker-current-month">{{hour}}:{{minute}}</div>'
-        +       '</div>'        
-        +       '<div class="time-circle-outer">'
-        +         '<div class="time-meridian time-left" ng-click="setMeridian(\'AM\')" ng-class="{\'selected\':meridian==\'AM\'}">AM</div>'
-        +         '<div class="time-meridian time-right" ng-click="setMeridian(\'PM\')" ng-class="{\'selected\':meridian==\'PM\'}">PM</div>'
-        +         '<div class="time-circle-center"></div>'
-        +         '<div class="time-circle-hand time-circle-hand-large deg-{{minute/5}}" ></div>'
-        +         '<div class="time time-{{$index+1}}" ng-class="{\'selected\':minute==time}" ng-click="setMinutes(time)" ng-repeat="time in [5,10,15,20,25,30,35,40,45,50,55,0]">{{time}}</div>'
-        +         '<div class="time-circle-inner">'
-        +           '<div class="time-circle-hand deg-{{hour}}" ></div>'
-        +           '<div class="time time-{{$index+1}}" ng-class="{\'selected\':hour==time}" ng-click="setHour(time)" ng-repeat="time in [1,2,3,4,5,6,7,8,9,10,11,12]">{{time}}</div>'
-        +         '</div>'
-        +       '</div>'
-        +     '</div>'
-        
-        +   '</div>'
-        + '</div>' +
-
-    "</div>\n" +
-    "");
-}]);
-
-angular.module('quantum').requires.push("app/scripts/ng_js_att_tpls/datepicker/dateTimePickerPopup.html");
-
-angular.module('quantum')
-.directive('dateTimePickerPopup', ['$document', 'datepickerService', '$isElement', '$documentBind', function($document, datepickerService, $isElement, $documentBind) {
-    var link = function (scope, elem, attr) {
-        datepickerService.bindScope(attr, scope);
-
-        scope.isOpen = false;
-
-        var toggle = scope.toggle = function (show) {
-            if(show === true || show === false) {
-                scope.isOpen = show;
-            } else {
-                scope.isOpen = !scope.isOpen;
-            }
-        };
-
-//        scope.$watch('current', function () {
-//            toggle(false);
-//        });
-
-        var outsideClick = function (e) {
-            var isElement = $isElement(angular.element(e.target), elem, $document);
-            if(!isElement) {
-                toggle(false);
-                scope.$apply();
-            }
-        };
-
-        $documentBind.click('isOpen', outsideClick, scope);
-        
-       scope.tabs = [{
-            title: 'DATE',
-            url: '#option1'
-        }, {
-            title: 'TIME',
-            url: '#option2',
-            selected: true
-        }
-    ];
-        
-        //--------------------------------------
-
-        scope.state = false;
-        scope.tab = 'time';
-        scope.setTab = function(tab){
-          scope.tab = tab;
-        };
-        scope.config = {
-          modal: true,
-          color:'rgba(5, 116, 172, 1)',
-          backgroundColor: 'rgba(0,0,0,0.75)'
-        };
-        scope.months = ["January","February","March","April","May","June","July","Augusta","September","October","November","December"];
-        scope.dayNames = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
-        scope.$watch('current',function(value){
-          var m;
-          if(value)
-            m = moment(value);
-          else
-            m = moment();
-          m = m.minute(5*Math.ceil(m.minute()/5));
-          scope.display = m.format('YYYY-MM-DD hh:mm A');
-          scope.days = scope.getDaysInMonth(m.year(),m.month());
-          scope.minute = m.minute();
-          scope.meridian = m.format('A');
-          scope.hour  = scope.meridian == 'PM' ? m.hour() - 12: m.hour();
-          if(scope.hour==0) scope.hour = 12;
-          scope.datePreview = m.format('YYYY-MM-DD');
-          scope.timePreview = m.format('hh:mm A');
-          scope.displayMonth = scope.months[m.month()];
-          scope.day = m.date();
-          scope.year = m.year();
-
-        });
-
-        scope.setDay = function(date){
-          scope.current = moment(scope.current).date(date).toDate();
-        };
-
-        scope.setState = function(state){
-          scope.state = false;
-        };
-
-        scope.setHour = function(hour){
-          if(scope.meridian == 'PM' && hour < 12)
-            hour = hour + 12;
-          if(scope.meridian == 'AM' && hour == 12)
-            hour = hour - 12;
-          scope.current = moment(scope.current).hour(hour).toDate();
-        };
-
-        scope.setMeridian = function(meridian){
-          var m = moment(scope.current);
-
-          if(meridian == 'AM'){
-            if(m.hours()>=12){
-              m = m.add(-12,'hours');
-              scope.current = m.toDate();
-            }
-          }else{
-            if(m.hours()<12){
-              m = m.add(12,'hours');
-              scope.current = m.toDate();
-            }
-          }
-        };
-
-        scope.setMinutes = function(minutes){
-          scope.current = moment(scope.current).minute(minutes).toDate();
-        };
-
-        var days = [];
-        for(var i=1;i<=31;i++){
-          days.push(i);
-        }
-        scope.getDaysInMonth = function(year,month){
-          var firstDayOfWeek = 0;
-          var firstDayOfMonth = new Date(year, month, 1),
-              lastDayOfMonth = new Date(year, month + 1, 0),
-              lastDayOfPreviousMonth = new Date(year, month, 0),
-              daysInMonth = lastDayOfMonth.getDate(),
-              daysInLastMonth = lastDayOfPreviousMonth.getDate(),
-              dayOfWeek = firstDayOfMonth.getDay(),
-              leadingDays = (dayOfWeek - firstDayOfWeek + 7) % 7 || 7,
-              trailingDays = days.slice(0, 6 * 7 - (leadingDays + daysInMonth));
-          if (trailingDays.length > 7) {
-            trailingDays = trailingDays.slice(0, trailingDays.length-7);
-          }
-
-          return {
-            year: year,
-            month: month,
-            days: days.slice(0, daysInMonth),
-            leadingDays: days.slice(- leadingDays - (31 - daysInLastMonth), daysInLastMonth),
-            trailingDays: trailingDays
-          };
-        };
-
-        scope.addMonth = function(increment){
-          scope.current = moment(scope.current).add(increment,'months').toDate();
-        };
-      
-    };
-
-    return {
-        restrict: 'EA',
-        replace: true,
-        transclude: true,
-        templateUrl: 'app/scripts/ng_js_att_tpls/datepicker/dateTimePickerPopup.html',
-        scope: {
-            current: "=current"
-        },
-        compile: function (elem, attr) {
-            var wrapperElement = elem.find('span').eq(1);
-            wrapperElement.attr('current', 'current');
-            datepickerService.setAttributes(attr, wrapperElement);
-
-            return link;
-        }
-    };
-}])
-.directive('attDateTimePicker', ['$log', function($log) {
-    return {
-        restrict: 'A',
-        require: 'ngModel',
-        scope: {},
-        controller: ['$scope', '$element', '$attrs', '$compile', 'datepickerConfig', 'datepickerService', function($scope, $element, $attrs, $compile, datepickerConfig, datepickerService) {
-            var dateFormatString = angular.isDefined($attrs.dateFormat) ? $scope.$parent.$eval($attrs.dateFormat) : datepickerConfig.dateFormat;
-            var selectedDateMessage = '<div class="sr-focus hidden-spoken" tabindex="-1">the date you selected is {{$parent.current | date : \'' + dateFormatString + '\'}}</div>';
-
-            $element.removeAttr('att-date-time-picker');
-            $element.removeAttr('ng-model');
-            $element.attr('ng-model', '$parent.current');
-            $element.attr('aria-describedby', 'datepicker');
-            $element.attr('format-date', dateFormatString);
-            $element.attr('att-input-deny', '[^0-9ampAMP \/:-]');
-            $element.attr('maxlength', 20);
-
-            var wrapperElement = angular.element('<div></div>');
-            wrapperElement.attr('date-time-picker-popup', '');
-            wrapperElement.attr('current', 'current');
-
-            datepickerService.setAttributes($attrs, wrapperElement);
-            datepickerService.bindScope($attrs, $scope);
-
-            wrapperElement.html('');
-            wrapperElement.append($element.prop('outerHTML'));
-            if (navigator.userAgent.match(/MSIE 8/) === null) {
-                wrapperElement.append(selectedDateMessage);
-            }
-            var elm = wrapperElement.prop('outerHTML');
-
-            elm = $compile(elm)($scope);
-            $element.replaceWith(elm);
-        }],
-        link: function(scope, elem, attr, ctrl) {
-            if (!ctrl) {
-                // do nothing if no ng-model
-                $log.error("ng-model is required.");
-                return;
-            }
-            
-            scope.$watch('current', function(value) {
-                ctrl.$setViewValue(value);
-            });
-            ctrl.$render = function() {
-                scope.current = ctrl.$viewValue;
-            };
-        }
-    };
-}]);
-
-
index d2320a3..2858974 100644 (file)
@@ -13,156 +13,8 @@ ECOMP SDK web application.
 
 ### OpenECOMP Distributions
 
-Build 1.2.8, ?? ??? 2017
-* put new entries here *
-
-Build 1.2.7, 10 Apr 2017
-- Moved all annotated controllers to epsdk-common from epsdk-core
-- Update shared context service for revised Portal endpoint path; drop separate property
-
-Build 1.2.6, 23 Mar 2017
-- DE273039 Adjust MenuListController to get OrgUserID from session, not cookie
-
-Build 1.2.5, 16 Mar 2017
-- No changes
-
-Build 1.2.4, 10 Mar 2017
-- No changes
-
-Build 1.2.3, 8 Mar 2017
-- No changes
-
-Build 1.2.2, 6 Mar 2017
-- US872039 Revise Element Map feature to drop absolute filesystem path in property file
-
-Build 1.2.1, 2 Mar 2017
-- US845636 Extend user-import controller to detect and return message on failure
-- Move UEB/Cambria library and demonstration use classes into core (from FW)
-- Exclude all log4j dependencies in core pom file 
-- Remove references to ATTUID in UserUtils.java comments
-- Remove logback.xml from src/main/resources
-- Extend HibernateMappingLocatable and HibernateConfiguration to allow config of packages to scan
-- Extend MenuListController.java to send content-type application/json 
-
-Build 1.2.0, 9 Feb 2017
-- Change group to org.openecomp.ecompsdkos; restart version numbering for open-source distribution
-
-### Closed-Source Distributions
-
-The following history is preserved for the benefit of partner application teams.
-
-Version 4.3.5, 2 Feb 2017
-- DE260606 Extend role controller to check existing roles when creating a new one
-
-Version 4.3.4 13 Jan 2017
-- No changes
-
-Version 4.3.3, 11 Jan 2017
-- DE239065 Adjust fix that initializes the start & stop timestamp on first call to loggers
-
-Version 4.3.2, 9 Jan 2017
-- DE261061 Remove System.out.println() debug output statements
-
-Version 4.3.1, 3 Jan 2017
-- DE239065 Initialize the start & stop timestamp on first call to the audit and metrics loggers
-
-Version 4.2.1, 15 Dec 2016
-- DE255409 trim trailing space on values fetched from Portal, System properties
-- DE257028 add a constant value and modify the hibernate mapping to AuditLog class
-
-Version 4.1.4, 22 Nov 2016
-- DE250794 add trace-level logging methods to EELFLoggerDelegate
-- US811188 add constants to AuditLog class
-
-Version 4.1.3, 14 Nov 2016
-- DE250319 All controllers that require user info should be Restricted within session
-- Restore exclusion in pom to avoid pulling in outdated HttpServlet and other jars,
-   which cause compile errors in SDK-App depending on Maven repository contents.
-
-Version 4.1.2, 14 Nov 2016
-- US777777 enhance network map mime type in ElementModelController
-
-Version 4.1.1, 3 Nov 2016
-- No changes.
-
-Version 3.3.3, 13 Oct 2016
-- DE240192 show useful message if cache configuration file is missing
-- DE238612 new property app\_base\_url for apps using WebJunction address 
+Version 1.1.0
+- [Portal-7] Improvements added as part of the rebasing process
  
-Version 3.3.2, 26 Sep 2016
-- US710856 remove stray System.out.println statement and minor logging improvements. 
-Version 3.3.1, 22 Sep 2016
-- DE224872 fix errors shown in browser on profile page
-- Show Quantum license information at top-right of screen
-- Moved R Notebook controllers to SDK-Workflow project
-- US710856 updated aspect-oriented programming (AOP) logging support,
-   including the EELFLoggerDelegate and other classes.
-- Updated favorites, functional menu, menu list, and profile controllers.
-- Updated EELF Library to 0.0.5, the latest available version.
-- US772823 Introduce Audit Log
-- Remove some JFree code as open-source prep
-- DE224872 fix errors shown in browser on profile page
-- DE216279 fix behavior of pagination on profile page
-
-Version 3.2.2, 4 Aug 2016
-- New feature: R Cloud integration via a guard notebook
-- New feature: fetch functional menu via REST
-- Remove Spring annotation from OnBoardingApiServiceImpl class
-- Extend EELFLoggerDelegate with methods that accept a throwable
-- Revise logger to remove class name from MDC after logging 
-- DE215237, fix script error on menu admin page
-- DE214174, refresh menu contents after edit
-- Moved MockApplicationContextTestSuite class into core, out of sdk-app
-- Support application name at top of left menu
-- DE210771, fix the multiple/invalid role assignment behavior
-- New class for the error message returned as JSON
-- Return error as JSON in case of unauthenticated request
-- Removed database creation scripts used by ECOMP Portal
-- Improved the shared context feature
-Version 3.2.1, 12 Jul 2016
- - Use EELF loggers to be compliant with ECOMP project guidelines
- - Log controller requests to the audit log
- - Add alarm codes to the error log
- - Correct popup issue in profile page
- - Change the functional menu to show only user's first name
- - Show 20 items by default in the functional menu 
- - Refresh the left menu after items are edited 
- - Correct problem that prevented deletion of a role
- - Correct problem of missing country on Webphone import
- - US693240, support link-only onboarding
- - Extend logging to use instance_uuid from properties file
- - Show favorites menu items
- - Include logging ApplicationCodes.properties file in jar
- - Use EELFLoggingDelegate to ensure class names are shown
- - DE205174, correct problems in role functions
- - Remove Apache commons logging
- - Create new users as active (not inactive)
- - Move database scripts for SDK-App out of core, into app
- - Adjust OnBoardingApiServiceImpl to return null if user not found (for Portal)
- - Fix ASE editor position
- - Correct validation of menu entries
-
-Version 3.1.1, 15 Jun 2016
- - Add custom logging filter to reduce UEB logging quantity
- - Fix admin/menu popup behavior
- - Correct hibernate mapping for user class and table
-Version 2.2.0, 14 Jun 2016
- - Analytics and Workflow factored out of SDK-core library
- - Add application logout feature
- - Enhancements for DROOLS
- - Move DROOLs files to core and add library to POM
- - Revise logging for compliance with ECOMP guidelines
- - Revise error responses from REST interface to be JSON
- - Adjust HTML template for profile page
- - Rename war directory to src/main/webapp
- - Show error information if user is not found
- - Split database scripts into Portal/SDK versions
- - Add client for new shared context feature in Portal
- - Revise favorites implementation to use app-to-app REST comms
- - Exclude commons-logging and log4j libraries in POM
- - Remove try/catch/discard block for exception in DataAccessServiceImpl
-
+Version 1.0.0
+- Initial release