Development Guide SAP Mobile Platform - Mobiliser 5.5

Total Page:16

File Type:pdf, Size:1020Kb

Development Guide SAP Mobile Platform - Mobiliser 5.5 Mobiliser Framework Development Guide SAP Mobile Platform - Mobiliser 5.5 Copyright c 2015 SAP AG. All rights reserved. SAP, R/3, SAP NetWeaver, Duet, PartnerEdge, ByDesign, SAP BusinessObjects Explorer, StreamWork, SAP HANA, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and other countries. Business Objects and the Business Objects logo, BusinessObjects, Crystal Reports, Crystal Decisions, Web Intelligence, Xcelsius, and other Business Objects products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of Business Objects Software Ltd. Business Objects is an SAP company. Sybase and Adaptive Server, iAnywhere, Sybase 365, SQL Anywhere, and other Sybase products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of Sybase Inc. Sybase is an SAP company. Crossgate, m@gic EDDY, B2B 360, and B2B 360 Services are registered trademarks of Crossgate AG in Germany and other countries. Crossgate is an SAP company. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary. These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty. Contents 1 Introduction 15 2 Getting Started 16 2.1 Development Environment...................................... 16 2.1.1 Prerequisites.......................................... 16 2.1.2 Hardware and OS....................................... 16 2.1.3 Java.............................................. 17 2.1.4 Integrated Development Environment............................ 17 2.1.5 Source Control......................................... 17 2.1.6 Build Tool........................................... 18 2.1.7 Database........................................... 19 2.2 Build Environment........................................... 20 2.2.1 Nexus............................................. 20 2.2.2 Jenkins............................................. 22 2.2.3 Sonar............................................. 22 3 Customization Project Conventions 23 3.1 Customization Template........................................ 23 3.2 Project Structure........................................... 23 3.3 Module Structure........................................... 25 3.3.1 pom.xml............................................ 26 3.3.2 bundle-context-osgi.xml.................................... 26 3.4 Dist Module.............................................. 28 3.4.1 The POM File......................................... 28 3.4.2 Dist Assembly......................................... 34 4 Persistence 36 4.1 Schema................................................ 36 4.1.1 Create a PowerDesigner Physical Data Model........................ 38 4.1.2 Create or Modify a Table................................... 39 3 4.1.3 Trigger............................................. 43 4.1.4 Sequences........................................... 43 4.1.5 Migrate Model......................................... 43 4.1.6 Apply Schema Changes................................... 43 4.1.7 Generate DDL......................................... 44 4.1.8 Generate Update Script.................................... 44 4.2 Data Model Beans........................................... 44 4.2.1 Constructors.......................................... 46 4.2.2 Fields............................................. 46 4.2.3 Annotations.......................................... 46 4.2.4 Getter and Setter....................................... 47 4.2.5 isSet-methods......................................... 47 4.2.6 Common Patterns for entity beans.............................. 47 4.2.7 Composite Primary Key.................................... 49 4.3 Data Access Object API........................................ 49 4.3.1 Large Result Sets....................................... 51 4.4 Implementing a DAO......................................... 51 4.4.1 Quick Guide.......................................... 51 4.4.2 DAO Implementation..................................... 52 4.4.3 DAO Factory.......................................... 55 4.4.4 Exception Translation..................................... 56 4.4.5 Persistence Service Provider................................. 57 4.4.6 Caching............................................ 57 4.4.7 JDBC.............................................. 59 4.5 Transaction Demarcation....................................... 60 4.6 Data Scripts.............................................. 60 5 Services 62 5.1 Component Architecture....................................... 62 5.1.1 Transaction Manager..................................... 62 5.1.2 Access Security........................................ 66 5.1.3 Error Handling......................................... 66 5.2 Context................................................. 68 5.3 Contract................................................ 71 5.3.1 Layout............................................. 71 5.3.2 Beans XSD.......................................... 72 4 5.3.3 Requests XSD......................................... 73 5.3.4 POM configuration....................................... 75 5.4 OData................................................. 78 5.4.1 Basics............................................. 78 5.4.2 GET Operation........................................ 80 5.4.3 GetAll Operation........................................ 81 5.4.4 PUT Operation (update).................................... 82 5.4.5 POST Operation (create)................................... 82 5.4.6 MERGE Operation...................................... 84 5.4.7 Links.............................................. 84 5.4.8 General............................................ 86 5.5 Endpoint................................................ 87 5.5.1 Configuration......................................... 87 5.6 Service Aspects............................................ 90 5.6.1 Security Advisor........................................ 90 5.6.2 ResponseCodeAspect.................................... 90 5.6.3 TraceableRequestAspect................................... 91 5.6.4 AuditAspect.......................................... 91 5.6.5 SessionInterceptor...................................... 91 5.6.6 TransactionInterceptor..................................... 91 5.6.7 Service Filters......................................... 92 5.6.8 Custom Service Aspects................................... 94 5.7 Service Business Logic........................................ 95 5.7.1 Converter........................................... 96 5.7.2 Service Business Logic.................................... 98 5.7.3 Configuration......................................... 101 5.8 Mobiliser Virus Scan Framework................................... 102 5.8.1 Usage............................................. 103 5.9 Using Services............................................ 104 5.9.1 Within the Container...................................... 104 5.9.2 Outside the Container..................................... 105 6 Audit 108 7 Security 111 7.1 Filters................................................. 111 7.2 Authentication............................................. 111 5 8 Preferences 114 8.1 Using Preferences........................................... 114 8.2 Accessing Preferences from within the container.......................... 116 8.3 Accessing Preferences outside the container............................ 117 8.3.1 Configuration......................................... 117 8.4 Extending Preferences........................................ 119 8.4.1 Encryption........................................... 119 8.4.2 Interceptor........................................... 120 9 Events and Alerts 122 9.1 Event Generation API......................................... 122 9.1.1 Header And Body....................................... 122 9.1.2 Event Factory......................................... 126 9.1.3 Regular Events........................................ 127 9.1.4 Conditional Events...................................... 128 9.1.5 Scheduled Events....................................... 130 9.1.6 Transient Events........................................ 133 9.2 Event Handling API.......................................... 134 9.2.1 Abstract Event Handler.................................... 135 9.2.2 Serial Event Handler..................................... 137 9.2.3 Parallel Event Handler..................................... 138 9.2.4 Event Handler Registration.................................. 139 9.3 Task Handling API........................................... 140 9.3.1 Abstract Task Handler..................................... 140 9.3.2 Task Handler Registration................................... 143 9.4 System Bundles and Services.................................... 143 9.4.1 OSGi Configuration Admin Properties...........................
Recommended publications
  • IBM Db2 for Linux, UNIX, and Windows Database: IBM Db2 for Linux, UNIX, and Windows
    Installation Guide | PUBLIC Software Provisioning Manager 1.0 SP 32 Document Version: 3.5 – 2021-06-21 Installation of SAP Systems Based on the Application Server ABAP of SAP NetWeaver 7.0 to 7.03 on UNIX: IBM Db2 for Linux, UNIX, and Windows Database: IBM Db2 for Linux, UNIX, and Windows company. All rights reserved. All rights company. Operating System: UNIX and Linux affiliate THE BEST RUN 2021 SAP SE or an SAP SE or an SAP SAP 2021 © Content 1 About this Document........................................................12 1.1 SAP Products Based on SAP NetWeaver 7.0 to 7.0 EHP3 Supported for Installation Using Software Provisioning Manager 1.0 .......................................................13 1.2 Naming Conventions..........................................................14 1.3 New Features...............................................................15 1.4 Constraints................................................................20 1.5 Before You Start.............................................................20 1.6 SAP Notes for the Installation....................................................21 2 Installation Options Covered by this Guide........................................23 2.1 Central System..............................................................23 2.2 Distributed System...........................................................24 2.3 High-Availability System.......................................................25 2.4 ASCS Instance with Integrated SAP Web Dispatcher ...................................26
    [Show full text]
  • Using SAP Crystal Reports with SAP Sybase SQL Anywhere
    Using SAP Crystal Reports with SAP Sybase SQL Anywhere USING SAP CRYSTAL REPORTS WITH SAP SYBASE SQL ANYWHERE TABLE OF CONTENTS INTRODUCTION ............................................................................................................................................... 3 REQUIREMENTS .............................................................................................................................................. 3 CONNECTING TO SQL ANYWHERE WITH CRYSTAL REPORTS ............................................................... 4 CREATING A SIMPLE REPORT ...................................................................................................................... 7 Adding Data to Crystal Reports ............................................................................................................................ 7 Formatting Records in Crystal Reports ............................................................................................................... 8 Displaying Records on a Map in Crystal Reports ............................................................................................... 9 ADDING DATA TO CRYSTAL REPORTS USING A SQL QUERY .............................................................. 10 Inserting a Chart Displaying Queried Data ........................................................................................................15 CREATING A SALES REPORT ....................................................................................................................
    [Show full text]
  • SAP Enterprise Resource Planning 6.0 Including Enhancement Package 7 Java and ABAP
    Installation Guide SAP Enterprise Resource Planning 6.0 Including Enhancement Package 7 Java and ABAP For: ■ ABAP ■ Java Target Audience ■ System Administrators ■ Technology Consultants PUBLIC Document version: 1.3 – 2014-01-09 Document History CAUTION Before you start the implementation, make sure you have the latest version of this document. For the latest version, see http://service.sap.com/instguides. The following table provides an overview of the most important document changes. Version Date Description 1.0 2013-08-13 Initial version 1.1 2013-08-21 Section Installation Process for SAP HANA: Note regarding HANA content activation added 2013-09-26 Section Getting Started: Installation of Additional Technical Usages (ABAP) added 1.2 2013-11-15 Section Process: Subsection Installation Process for SAP HANA : Information on SAP HANA content activation updated 1.3 2013-01-09 Cross-references to SL Toolset guides updated 2/32 PUBLIC 2014-01-09 Table of Contents Chapter 1 Getting Started ................................................ 5 1.1 Essential Information: Process and Documentation Overview .............. 5 1.2 Installation Information .......................................... 6 1.3 Installation of Additional Technical Usages (ABAP) ..................... 7 1.4 Important SAP Notes ............................................. 7 1.5 Naming Conventions ............................................. 8 Chapter 2 Process ....................................................... 11 2.1 Dual-Stack Split ...............................................
    [Show full text]
  • SAP Netweaver Rapid Installer
    SAP NetWeaver Rapid Installer Cross NetWeaver Product Management, SAP AG Product Overview Installation and Deployment Partner Offering What is it? SAP NetWeaver Rapid Installer – A tool that allows you to quickly install and deploy SAP NetWeaver front-end components Easy, wizard-based installation Setting up an Enterprise Portal with knowledge management and collaboration capabilities on the Java-based application server Pre-configured integration allows connectivity to existing systems (e.g. SAP BW, SAP CRM) Pre-defined configurations (for specific platforms / business scenarios) © SAP AG 2004, Title of Presentation / Speaker Name / 3 SAP NetWeaver Rapid Installer Business Benefits Cuts down installation time from days to hours Simplifies installation and deployment Gives organizations a jump-start in evolving their IT landscapes Available in different sizes, best leveraging a customer's platform © SAP AG 2004, Title of Presentation / Speaker Name / 4 Installation SAP NetWeaver Rapid Installer reduces installation and deployment time of front-end components to a minimum Prepare Install Configure Validate Start* 1h 1h30min 2hrs Log on to the portal * Prerequisite: Hardware matching minimum requirements with properly installed OS, DB and Java development kit. © SAP AG 2004, Title of Presentation / Speaker Name / 5 Product Details at a Glance SAP NetWeaver Rapid Installer 1.0 comprises of: Installation wizard SAP Enterprise Portal 6.0, SP2 incl. Content Management and TREX Pre-configured for specific platforms First optimized for HP and SUN Supported OS/DB combinations: MS Windows 2003 / MS SQL SUN Solaris / Oracle Small T-Shirt size Backend integration provided (to SAP CRM 4.0 and SAP BW 3.1) Business package for SAP CRM 4.0 (Rel.
    [Show full text]
  • SAP Netweaver® Identity Management Release Note
    SAP NetWeaver® Identity Management Release Note SAP NetWeaver Identity Management 7.1 SP5 Version 7.1 SP5 Rev 1 © Copyright 2010 SAP AG. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. Microsoft, Windows, Excel, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation. IBM, DB2, DB2 Universal Database, System i, System i5, System p, System p5, System x, System z, System z10, System z9, z10, z9, iSeries, pSeries, xSeries, zSeries, eServer, z/VM, z/OS, i5/OS, S/390, OS/390, OS/400, AS/400, S/390 Parallel Enterprise Server, PowerVM, Power Architecture, POWER6+, POWER6, POWER5+, POWER5, POWER, OpenPower, PowerPC, BatchPipes, BladeCenter, System Storage, GPFS, HACMP, RETAIN, DB2 Connect, RACF, Redbooks, OS/2, Parallel Sysplex, MVS/ESA, AIX, Intelligent Miner, WebSphere, Netfinity, Tivoli and Informix are trademarks or registered trademarks of IBM Corporation. Linux is the registered trademark of Linus Torvalds in the U.S. and other countries. Adobe, the Adobe logo, Acrobat, PostScript, and Reader are either trademarks or registered trademarks of Adobe Systems Incorporated in the United States and/or other countries. Oracle is a registered trademark of Oracle Corporation. UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group. Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc.
    [Show full text]
  • Oracle for SAP ® Cloud Update
    ® ® 1 Oracle for SAP Cloud Update March 2019 2 DEAR SAP CUSTOMER, The relationship of Oracle Corporation and SAP SE has been based on our long history, a rich heritage of joint developments and a solid future – for the benefit of mutual customers. SAP and Oracle have agreed to a long-term extension of SAP‘s global reseller and technical support relationship. For more than twenty years, SAP and Oracle have worked together to provide customers with a supported SAP/Oracle environ- ment, running SAP applications on the Oracle database. During this extension new and existing SAP customers can continue to acquire Oracle licenses from SAP or Oracle to support their SAP business applications, and SAP and Oracle will continue to offer technical support for the combined stack. Oracle Cloud Infrastructure has been certified on Bare Metal and Virtual Machine shapes as well as for Exadata Cloud Service. ExaCS is the most powerful platform to run Oracle Database in the cloud, only available from Oracle. It is offered for SAP Application Server ABAP/Java and SAP Business Objects. Oracle Cloud Infrastructure combines the elasticity and utility of public cloud with the granular control, security, and predictability of on premises infrastructure to deliver high performance, high availability, and cost effective infrastructure services. Oracle Cloud Infrastructure offers a set of core infrastructure capabilities like compute and elastic storage to provide customers the ability to run any workload in the cloud. It offers a comprehensive set of integrated, subscription based infrastructure services that enable businesses to run any workload in an enterprise grade cloud-managed, hosted, and supported by Oracle.
    [Show full text]
  • How To... Develop, Monitor and Debug WS Consumer and Provider
    SAP NetWeaver How-To Guide How To... Develop, Monitor and Debug WS Consumer and Provider Applicable Releases: SAP NetWeaver 7.0 SP14 IT Practice: Service SOA & Design IT Scenario: Enabling Enterprise Services Version 1.0 January 2010 © Copyright 2010 SAP AG. All rights reserved. These materials are subject to change without notice. No part of this publication may be reproduced or These materials are provided by SAP AG and its affiliated transmitted in any form or for any purpose without the companies ("SAP Group") for informational purposes only, express permission of SAP AG. The information contained without representation or warranty of any kind, and SAP herein may be changed without prior notice. Group shall not be liable for errors or omissions with Some software products marketed by SAP AG and its respect to the materials. The only warranties for SAP distributors contain proprietary software components of Group products and services are those that are set forth in other software vendors. the express warranty statements accompanying such products and services, if any. Nothing herein should be Microsoft, Windows, Outlook, and PowerPoint are construed as constituting an additional warranty. registered trademarks of Microsoft Corporation. These materials are provided “as is” without a warranty of IBM, DB2, DB2 Universal Database, OS/2, Parallel any kind, either express or implied, including but not Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, limited to, the implied warranties of merchantability, OS/400, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, fitness for a particular purpose, or non-infringement. Intelligent Miner, WebSphere, Netfinity, Tivoli, Informix, i5/OS, POWER, POWER5, OpenPower and PowerPC are SAP shall not be liable for damages of any kind including trademarks or registered trademarks of IBM Corporation.
    [Show full text]
  • SAP Netweaver® Application Server ABAP/Java on Oracle Cloud Infrastructure
    SAP NetWeaver® Application Server ABAP/Java on Oracle Cloud Infrastructure August 2021, Version 2.1 Copyright © 2021, Oracle and/or its affiliates Public 1 SAP NetWeaver® Application Server ABAP/Java on Oracle Cloud Infrastructure / Version 2.1 Copyright © 2021, Oracle and/or its affiliates / Pub lic Disclaimer This document in any form, software or printed matter, contains proprietary information that is the exclusive property of Oracle. Your access to and use of this confidential material is subject to the terms and conditions of your Oracle software license and service agreement, which has been executed and with which you agree to comply. This document and information contained herein may not be disclosed, copied, reproduced or distributed to anyone outside Oracle without prior written consent of Oracle. This document is not part of your license agreement nor can it be incorporated into any contractual agreement with Oracle or its subsidiaries or affiliates. This document is for informational purposes only and is intended solely to assist you in planning for the implementation and upgrade of the product features described. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described in this document remains at the sole discretion of Oracle. Due to the nature of the product architecture, it may not be possible to safely include all features described in this document without risking significant destabilization of the code. Revision History The following revisions have been made to this technical brief since its initial publication: DATE REVISION August 2021 Version 2.1 of this document covers the VM.Standard.E4.Flex shape.
    [Show full text]
  • Powerdesigner Document Version: 16.6.2 – 2016-12-15
    User Guide PUBLIC SAP PowerDesigner Document Version: 16.6.2 – 2016-12-15 PowerDesigner Web SAP PowerDesigner Documentation Collection Content 1 Modeling with PowerDesigner Web.................................................6 1.1 Connecting to PowerDesigner Web...................................................7 1.2 The Workspace.................................................................8 Creating a Diagram from the Workspace............................................10 Reviewing Diagrams for Publication................................................11 1.3 The Repository................................................................ 12 Object Properties............................................................13 Creating a Diagram...........................................................15 Creating a Chart.............................................................16 Uploading and Working with External Files...........................................17 Renaming, Moving, and Deleting Repository Items.....................................18 Subscribing to Change Notifications...............................................18 Object Names and Codes.......................................................19 1.4 The Diagram Viewer............................................................ 20 Editing Diagrams............................................................23 Commenting on Diagrams......................................................25 Sharing Links to and Printing and Exporting Diagrams..................................28
    [Show full text]
  • Using SAP Netweaver with Oracle Database Appliance Software 12.1.2.6.0 Key Guidelines
    Using SAP NetWeaver with Oracle Database Appliance Software 12.1.2.6.0 Key Guidelines O R A C L E W HITE P A P E R | M A R C H 2 0 1 6 Table of Contents Disclaimer 3 Introduction 3 Mixed Grid Infrastructure and RDBMS Versions 4 Oracle Database Appliance Software Installation Overview 5 ASM Disk Groups for SAP Databases 6 Clustering Solution for SAP HA on Oracle Database Appliance 6 SAP NetWeaver Products on the Oracle Database Appliance 6 Character Set Requirements for SAP Databases 7 Non-Unicode SAP Installations 7 Shared File Systems in SAP Environments 7 Oracle Database Appliance Node as an NFS Server 8 Oracle Database Appliance Node as an NFS Client 8 Oracle Database Appliance Software for SAP Deployment 9 Rolling back initial DB PSU 20 SAP Software Provisioning Manager on Oracle Database Appliance 21 SWPM: ASCS Instance installation 47 SAP Oracle Home Naming Requirements 56 SWPM: Oracle Database Instance 57 Post SWPM Installation Steps 93 etc/oratab adjustments 93 Setup orabtt – Ora BaseTabTool 93 Copy init<SID>.ora file to remote host 93 1 | USING SAP NETWEAVER WITH THE ORACLE DATABASE APPLIANCE 12.1.2.6.0 Verify correct database parameter settings, and correct if needed 93 Database Service scripts on PAS / subsequent Application Server instance(s) 93 Clean up install space – TMP 94 SAP PAS, subsequent Application Servers require uuid and uuidd packages 94 Virtual host names for SAP PAS and subsequent SAP Application Servers 94 Complete the HA awareness for ASCS and ERS instances 94 Verify environment for user oraado 94 SAP Database
    [Show full text]
  • SAP Crystal Reports, Developer Version for Microsoft Visual Studio - Supported Platforms
    SAP Crystal Reports, developer version for Microsoft Visual Studio - Supported Platforms Applies to: SAP Crystal Reports, developer version for Microsoft Visual Studio Summary This document contains information specific to platforms and configurations with regards to SAP Crystal Reports, developer version for Microsoft Visual Studio. For the latest information or updates to this document, please visit this page. Updated on: Aug 31, 2021 Applies to: Up to Support Package 31 SAP COMMUNITY NETWORK SDN - sdn.sap.com | BPX - bpx.sap.com | BOC - boc.sap.com © 2021 SAP SE 1 SAP Crystal Reports, developer version for Microsoft Visual Studio - Supported Platforms Table of Contents Products ....................................................................................................................................................... 3 Languages .................................................................................................................................................... 3 Supported Operating Systems....................................................................................................................... 4 Minimum Hardware Requirements ................................................................................................................ 4 Design Time .............................................................................................................................................. 5 Runtime ....................................................................................................................................................
    [Show full text]
  • MDM 7.1 Sizing Guide
    Sizing Guide SAP NetWeaver® Master Data Management 7.1 Released for SAP Customers and Partners Document Version 2.5 – August 2020 Released for SAP Customers and Partners Internal Novell and SUSE Linux Enterprise Server are registered © 2020 SAP SE or an SAP affiliate company. All rights trademarks of Novell Inc. reserved. OpenText is a registered trademark of OpenText No part of this publication may be reproduced or Corporation. transmitted in any form or for any purpose without the express permission of SAP SE. The information contained Oracle and Java are registered trademarks of Oracle and herein may be changed without prior notice. its affiliates. Some software products marketed by SAP SE and its QR Code is a registered trademark of Denso Wave distributors contain proprietary software components of Incorporated. other software vendors. RIM, BlackBerry, BBM, BlackBerry Curve, BlackBerry Adobe, the Adobe logo, Acrobat, PostScript, and Reader Bold, BlackBerry Pearl, BlackBerry Torch, BlackBerry are trademarks or registered trademarks of Adobe Storm, BlackBerry Storm2, BlackBerry PlayBook, and Systems Incorporated in the United States and other BlackBerry AppWorld are trademarks or registered countries. trademarks of Research in Motion Limited. Apple, App Store, FaceTime, iBooks, iPad, iPhone, iPhoto, SAVO is a registered trademark of The Savo Group Ltd. iPod, iTunes, Multi-Touch, Objective-C, Retina, Safari, Siri, and Xcode are trademarks or registered trademarks of The Skype name is a trademark of Skype or related Apple Inc. entities. Bluetooth is a registered trademark of Bluetooth SIG Inc. Twitter and Tweet are trademarks or registered trademarks of Twitter. Citrix, ICA, Program Neighborhood, MetaFrame now XenApp, WinFrame, VideoFrame, and MultiWin are UNIX, X/Open, OSF/1, and Motif are registered trademarks or registered trademarks of Citrix Systems Inc.
    [Show full text]