100% found this document useful (1 vote)
20 views

PDF Practical Spring LDAP: Using Enterprise Java-Based LDAP in Spring Data and Spring Framework 6 2nd Edition Balaji Varanasi download

The document promotes the ebook 'Practical Spring LDAP' by Balaji Varanasi, which covers the use of LDAP in Spring Data and Spring Framework 6. It provides a comprehensive guide on LDAP concepts, Spring LDAP features, and practical applications, including unit and integration testing. Additionally, it lists other related ebooks available for download on ebookmeta.com.

Uploaded by

temajtopic0k
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
20 views

PDF Practical Spring LDAP: Using Enterprise Java-Based LDAP in Spring Data and Spring Framework 6 2nd Edition Balaji Varanasi download

The document promotes the ebook 'Practical Spring LDAP' by Balaji Varanasi, which covers the use of LDAP in Spring Data and Spring Framework 6. It provides a comprehensive guide on LDAP concepts, Spring LDAP features, and practical applications, including unit and integration testing. Additionally, it lists other related ebooks available for download on ebookmeta.com.

Uploaded by

temajtopic0k
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 40

Get the full ebook with Bonus Features for a Better Reading Experience on ebookmeta.

com

Practical Spring LDAP: Using Enterprise Java-Based


LDAP in Spring Data and Spring Framework 6 2nd
Edition Balaji Varanasi

https://ebookmeta.com/product/practical-spring-ldap-using-
enterprise-java-based-ldap-in-spring-data-and-spring-
framework-6-2nd-edition-balaji-varanasi/

OR CLICK HERE

DOWLOAD NOW

Download more ebook instantly today at https://ebookmeta.com


Recommended digital products (PDF, EPUB, MOBI) that
you can download immediately if you are interested.

Spring REST: Building Java Microservices and Cloud


Applications Balaji Varanasi

https://ebookmeta.com/product/spring-rest-building-java-microservices-
and-cloud-applications-balaji-varanasi/

ebookmeta.com

Pro Spring Security: Securing Spring Framework 6 and Boot


3–based Java Applications, Third Edition Massimo Nardone

https://ebookmeta.com/product/pro-spring-security-securing-spring-
framework-6-and-boot-3-based-java-applications-third-edition-massimo-
nardone/
ebookmeta.com

Beginning Spring Data: Data Access and Persistence for


Spring Framework 6 and Boot 3 1st Edition Andres Sacco

https://ebookmeta.com/product/beginning-spring-data-data-access-and-
persistence-for-spring-framework-6-and-boot-3-1st-edition-andres-
sacco/
ebookmeta.com

Beauty in Chaos 1st Edition Nacole Stayton

https://ebookmeta.com/product/beauty-in-chaos-1st-edition-nacole-
stayton/

ebookmeta.com
The Aliens Are Coming 1st Edition Ben Miller

https://ebookmeta.com/product/the-aliens-are-coming-1st-edition-ben-
miller-2/

ebookmeta.com

Vegan Junk Food 200 Vegan Recipes for the Foods You Crave
Minus the Ingredients You Don t Lane Gold

https://ebookmeta.com/product/vegan-junk-food-200-vegan-recipes-for-
the-foods-you-crave-minus-the-ingredients-you-don-t-lane-gold/

ebookmeta.com

Real-Time Twilio and Flybase. Build Real-Time Web Apps


Using Twilio and Flybase with Node.js 1st Edition Roger
Stringer
https://ebookmeta.com/product/real-time-twilio-and-flybase-build-real-
time-web-apps-using-twilio-and-flybase-with-node-js-1st-edition-roger-
stringer/
ebookmeta.com

Worlds Worst Conspiracies The Truth is they dont want you


to know 1st Edition Mike Rothschild

https://ebookmeta.com/product/worlds-worst-conspiracies-the-truth-is-
they-dont-want-you-to-know-1st-edition-mike-rothschild/

ebookmeta.com

America Unbound Encyclopedic Literature and Hemispheric


Studies 1st Edition Antonio Barrenechea

https://ebookmeta.com/product/america-unbound-encyclopedic-literature-
and-hemispheric-studies-1st-edition-antonio-barrenechea/

ebookmeta.com
Let s Taco Bout Love Man of the Month May a fake
relationship curvy girl romance 1st Edition Kat Baxter

https://ebookmeta.com/product/let-s-taco-bout-love-man-of-the-month-
may-a-fake-relationship-curvy-girl-romance-1st-edition-kat-baxter/

ebookmeta.com
Balaji Varanasi and Andres Sacco

Practical Spring LDAP


Using Enterprise Java-Based LDAP in Spring Data
and Spring Framework 6
2nd ed.
Balaji Varanasi
Salt Lake City, UT, USA

Andres Sacco
Buenos Aires, Buenos Aires, Argentina

ISBN 979-8-8688-0001-6 e-ISBN 979-8-8688-0002-3


https://doi.org/10.1007/979-8-8688-0002-3

© Balaji Varanasi and Andres Sacco 2013, 2023

This work is subject to copyright. All rights are solely and exclusively
licensed by the Publisher, whether the whole or part of the material is
concerned, specifically the rights of translation, reprinting, reuse of
illustrations, recitation, broadcasting, reproduction on microfilms or in
any other physical way, and transmission or information storage and
retrieval, electronic adaptation, computer software, or by similar or
dissimilar methodology now known or hereafter developed.

The use of general descriptive names, registered names, trademarks,


service marks, etc. in this publication does not imply, even in the
absence of a specific statement, that such names are exempt from the
relevant protective laws and regulations and therefore free for general
use.

The publisher, the authors, and the editors are safe to assume that the
advice and information in this book are believed to be true and accurate
at the date of publication. Neither the publisher nor the authors or the
editors give a warranty, expressed or implied, with respect to the
material contained herein or for any errors or omissions that may have
been made. The publisher remains neutral with regard to jurisdictional
claims in published maps and institutional affiliations.
This Apress imprint is published by the registered company APress
Media, LLC, part of Springer Nature.
The registered company address is: 1 New York Plaza, New York, NY
10004, U.S.A.
To my grandparents who taught me the importance of learning new
things all the time.
To my wife and children for supporting me while writing this book.
Introduction
Practical Spring LDAP provides complete coverage of Spring LDAP, a
framework designed to take the pain out of LDAP programming. This
book starts by explaining the fundamental concepts of LDAP and
showing the reader how to set up the development environment. It
then dives into Spring LDAP, analyzing the problems it is designed to
solve. After that, the book focuses on the practical aspects of unit
testing and integration testing with LDAP. An in-depth treatment of
LDAP controls and Spring LDAP features, such as Object-Directory
Mapping and LDIF (LDAP Data Interchange Format) parsing, follows
this. Finally, it concludes with discussions on LDAP authentication and
connection pooling.
What the Book Covers
Chapter 1 starts with an overview of directory servers. It then discusses
the basics of LDAP and introduces the four LDAP information models. It
finishes with an introduction to the LDIF format used for representing
LDAP data.
Chapter 2 focuses on the Java Naming and Directory Interface
(JNDI). In this chapter, you look at creating applications that interact
with LDAP using plain JNDI.
Chapter 3 explains Spring LDAP and why it is an important option in
an enterprise developer’s repertoire. In this chapter, you set up the
development environment to create Spring LDAP applications and
other important tools, such as Maven and a test LDAP server. Finally,
you implement a basic but complete Spring LDAP application using
annotations.
Chapter 4 covers the fundamentals of unit and integration testing.
You then look at setting up an embedded LDAP server for unit testing
your application code; alternatively, you will see how to use
Testcontainers to run LDAP using a docker image. You also review
available tools for generating test data. Finally, you use the Mockito
library to mock test LDAP code.
Chapter 5 introduces the basics of JNDI object factories and uses
these factories for creating objects that are more meaningful to the
application. You then examine a complete Data Access Object (DAO)
layer implementation using Spring LDAP and object factories.
Chapter 6 covers LDAP search. This chapter begins with the
underlying ideas of LDAP search. I then introduce various Spring LDAP
filters that make LDAP searching easier. Finally, you look at creating a
custom search filter to address situations where the current set is
insufficient.
Chapter 7 provides an in-depth overview of LDAP controls that can
be used for extending LDAP server functionality. Then it moves on to
sorting and paging LDAP results using sort and page controls.
Chapter 8 deals with Object-Directory Mapping (ODM), a feature in
Spring LDAP. In this chapter, you look at bridging the gap between the
domain model and the directory server. You then re-implement the DAO
using ODM concepts.
Chapter 9 introduces the important ideas of transactions and
transactional integrity before analyzing the transaction abstractions
provided by Spring Framework. Finally, it takes a look at Spring LDAP’s
compensating transaction support.
Chapter 10 starts with implementing authentication, the most
common operation against LDAP. It then deals with parsing LDIF files
using another feature introduced in Spring. I end the chapter by looking
at the connection pooling support provided by Spring LDAP.

Target Audience
Practical Spring LDAP is intended for developers interested in building
Java/JEE applications using LDAP. It also teaches techniques for
creating unit/integration tests for LDAP applications. The book
assumes basic familiarity with Spring Framework; prior exposure to
LDAP is helpful but optional. Developers already familiar with Spring
LDAP will find best practices and examples to help them get the most
out of the framework.

Prerequisites
You should install Java JDK1 21 or higher on your machine, Maven2 3.8.0
or higher, and some IDE. Some options for the IDE could be Eclipse,3
IntelliJ IDEA,4 Visual Studio Code,5 and others, but you can choose
which is the best for you.
To reduce the complexity of installing all LDAP vendors on your
machine, I recommend you install Docker6 and use it to run each LDAP.
The use and installation of Docker are outside the scope of this book,
but there are some tutorials7 or cheatsheet8 with the most common
commands.

Note If you don’t have it installed on your machine, you can check
Appendixes A, B, and C, which have information about installing the
different tools and loading the information on LDAP.
After installing all the tools, you must check if they are correctly
installed before reading the different chapters.
In the case of Java, you need to run the following command:

% java -version
openjdk 21 2023-09-19
OpenJDK Runtime Environment (build 21+35-2513)
OpenJDK 64-Bit Server VM (build 21+35-2513, mixed
mode, sharing)

After that, you need to check if the version of Maven is correct using
this command:

% mvn --version
Apache Maven 3.9.1
Maven home: /usr/share/maven

Last, if you want to check whether Docker runs correctly on your


machine, you can do that using the following command:

% docker --version
Docker version 24.0.2, build cb74dfc

Remember that I mentioned that Docker is optional. It’s only


recommended for reducing the complexity of installing LDAP vendors
on your machine.

Downloading Source Code


The source code for the examples in this book can be downloaded from
www.apress.com. For detailed information about locating this book’s
source code, visit www.apress.com/gp/services/source-
code. The code is organized by chapter and can be built using Maven.

Questions?
If you have any questions or suggestions, contact the author at
sacco.andres@gmail.com.
Any source code or other supplementary material referenced by the
author in this book is available to readers on GitHub
(https://github.com/Apress). For more detailed information, please
visit https://www.apress.com/gp/services/source-code.
Acknowledgments
I would like to thank my family members and friends for their
encouragement and support during the writing of this book:
My wife, Gisela, who was always patient when I spent long hours at
my computer desk working on this book
My little daughter, Francesca, who helped me relax while writing
each chapter
My baby, Allegra, who is the new family member and my inspiration
to write this book
My friends, German Canale and Julian Delley, who always trusted me
to write a book and supported me during tough times
Specially mentioning Manuel Jordan for guiding me in improving
the quality of the book.
My sincere thanks to the beautiful team at Apress for their support
during the publication of this book. Thanks to Shonmirin P.A. for
providing excellent support. Finally, thanks to Mark Powers and Melissa
Duffy for suggesting and allowing me to write a book. Also, I want to
mention the great job that Balaji Varanasi did with the first edition of
this book which gave the base to write the second edition.
Table of Contents
Chapter 1:​Introduction to LDAP
LDAP Overview
Directory vs.​Database
Information Model
Object Classes
Directory Schema
Naming Model
Functional Model
Security Model
LDIF Format
LDAP History
LDAP Vendors
Sample Application
Summary
Chapter 2:​Java Support for LDAP
LDAP Using JNDI
Connect to LDAP
LDAP Operations
Closing Resources
Creating a New Entry
Updating an Entry
Removing an Entry
Searching Entries
Check How the Operations Work
JNDI Drawbacks
Summary
Chapter 3:​Introducing Spring LDAP
Motivation
Documentation and Source Code Spring LDAP
Spring LDAP Packaging
Installing Spring LDAP Using Maven
Spring LDAP Archetypes
Creating Projects Using IntelliJ
Spring LDAP Hello World
Spring ApplicationConte​xt
Spring-Powered Search Client
Spring LdapTemplate Operations
Add Operation
Modify Operation
Deleting Operation
Summary
Chapter 4:​Testing LDAP Code
Concepts About Testing
Unit Testing
Mock Testing
Integration Testing
Libraries to Do Tests
JUnit
Mockito
Testcontainers
Creating the Tests
Mocking the Templates
Testing Using Embedded Server
Moving to Tests with Testcontainers
Summary
Chapter 5:​Advanced Spring LDAP
JNDI Object Factories
Spring and Object Factories
DAO Implementation Using Object Factory
Implementing Finder Methods
Create Method
Update Method
Delete Method
Summary
Chapter 6:​Searching LDAP
LDAP Search Criteria
Base Parameter
Scope Parameter
Filter Parameter
Optional Parameters
LDAP Injection
Spring LDAP Filters
EqualsFilter
LikeFilter
PresentFilter
NotPresentFilter​
Not Filter
Other documents randomly have
different content
She stopped, wishing her last words unsaid; but he took her remark to be
general and nodded, and leaned forward to look at Peter, lying wan and
sleepy in her lap. He was very tired; but not fretful: only silent and languid.
Julian touched his cheek.
‘And is Peter part of the dream too?’ he asked softly.
‘Yes. Isn’t he?’
He was the passive, waiting core of the ominousness, the unexpected
thing you shrank from yet knew you had to come back to find. In the dream,
it was quite natural to sit there with Julian, holding Charlie’s child.
‘Isn’t it strange,’ he said musingly, ‘that this is the only proof—the only
proof that Charlie ever lived? A child! Not another whisper from him.... I
haven’t even a letter. I suppose she has.’ An utter misery showed for a
moment in his face, and he paused before adding: ‘And no portrait. Do you
remember him?’
‘Of course.’ Her throat ached with tears. ‘He was the most beautiful
person——’
‘Yes he was. A spring of beauty. He didn’t care about that, you know, in
spite of what people said. His physical brilliance somehow obscured his
character, I think, made it difficult to judge. But he had a very simple heart.’
Was it true? Who had ever known Charlie’s heart? Was not Julian
speaking as it were in epitaphs, as if his brother had become unreal to him,
—a symbol for grief,—the individual ghost forgotten? Perhaps Mariella
alone of all people had known his heart—strange thought!—and still had
him quick within her; but she would never tell.
‘It’s not often I speak of him to anyone,’ said Julian; and his usually
narrow swift-glancing eyes suddenly opened wide and held hers as if he had
some unendurable thought. They were pits of misery. What was he
remembering?
After a long silence he took the boy on his lap again and said softly:
‘Peter shall play.’
Peter put out both his hands, and carefully, delicately dropped them on
the keys, listening and smiling.
‘Is he musical?’
Julian nodded.
‘Oh yes. He’s that—more or less. I seem to detect all the symptoms.’
He looked down at the leaning head on his shoulder with a sort of harsh
tenderness; and after a while he spoke again as if out of a deep musing.
‘What, one asks oneself, is she going to do about him?’
‘Mariella?’
‘Yes.’
‘Well—it’s more or less mechanical, with a boy, isn’t it? School and
university,—and in his case, musical instruments?’
‘How wretched he’s going to be,’ he said fiercely, ‘Can’t you see?’
‘She wouldn’t let him be wretched,’ she said, startled.
‘She?—she won’t know it! And if she did, she’d be helpless.’
‘Well, he’s got you.’
‘Me!’ He gave his bark of laughter.
‘I mean—you like him,’ she ventured timidly.
‘I can’t stand brats. And they can’t stand me.’
‘I’m not talking about brats. I’m talking about Peter. I thought you liked
him.’
He laughed.
‘You look so shocked. Do you like brats then?’
‘Yes.’
‘Hmm—Well, I dare say Mariella says the same. In fact, I’ve heard her.
She’s very correct, poor darling, in all her little contributions.’ He looked at
the clock. ‘It’s time I took him up. Wait for me.’
When he came back he laughed again.
‘You still look shocked. I’m not a nice man, am I?’
‘I’m not thinking about you.’
After a pause he said:
‘It’s all right, Judy. You’re right. I do like him. But because I’m bound to
feel, must I refuse to think?’
‘Think what?’
‘That he ought never to have been born.’
‘Oh!’ she blushed, horrified.
He flung at her:
‘What do you wish for the people you love? Life?’
‘Of course. Don’t you?’ She was confused, out of her depth.
‘No—God, no!’
‘Then what?’
‘Unconsciousness. Heavenly, heavenly annihilation.’
‘Then why don’t you kill him?’ She was shocked at the sound of her
own words.
‘Because I don’t love him enough.’ He laughed. ‘Luckily I don’t love
anyone enough—never shall. Not even myself.’ He turned to the window
and said, speaking low, with strained composure: ‘Sometimes—in moments
of clear vision—I see it all, the whole futile sickening farce. But it gets
obscured. So my friends are safe. Besides, I’m so damned emotional: if they
implored me to save them I shouldn’t have the heart to argue how much
wiser they’d be to die.’
She wondered with alarm if he were mad and sat silent, waiting in vain
for an intelligent counter-argument to present itself. Finally she stammered:
‘But it’s not a futile sickening farce to normal people.’
‘Oh, normal people! they’re the whole trouble. They don’t think. They
don’t see that you can’t miss anything of which you’ve never been
conscious. All the things for which they value life—their food, their loves
and lusts and little schemes and athletic exercises, all the little excitements
—what are they but a desperate questioning: ‘What shall I do to be happy,
to fill up the emptiness, leaven the dreariness? How can I best cheat myself
and God?’ And, strange to say, they don’t think what a lot of trouble would
have been saved if they’d never been—never had to go hunting for their
pleasures or flying from their pains. A trivial agitation that should never
have begun; and back into nothing again. How silly!... As you may have
guessed, I am not altogether convinced of the One Increasing Purpose. I
have the misfortune to be doubtful of the objective value of life, and
especially of its pains. Neither do my own griefs either interest or purify
me. So you see——’
He turned from the window and smiled at her.
‘Yet even I have my compensations: music, food, beautiful people,
conversation—or should I say monologue?—especially this sort of bogus
philosophy to which you have been so patiently listening. Do you agree
with me, by the way?’
‘No. Do you?’
He laughed and shrugged.
‘Still,’ she added, ‘it’s a point of view. I’ll think about it. I can’t think
quickly. But oh!—--’ She stopped.
‘What?’
‘I’m so thankful I’ve been born.’ She blushed. ‘Even if I knew you were
right I wouldn’t feel it.’
‘Ah, you’ve never bored yourself. Perhaps you never will. I hope and
believe it’s unlikely.’
She looked at him with distress. Poor Julian! He had to be theatrical, but
his unhappiness was sincere enough. His jesting was so humourless, so
affected that it crushed the spirit; and all his talking seemed less a normal
exercise than a forced hysterical activity assumed to ease sharp
wretchedness. It was not fair to judge and dislike him: he was a sick man.
He sat down again at the piano, and she rose on an impulse and went and
stood beside him.
‘Some chaps dance,’ he said. ‘They haven’t stopped dancing since
they’ve been back. I play——’ He plunged into a medley of ragtime—‘and
play—and play—and play. Syncopation—gets you—right on the nerves—
like cocaine—No wonder it’s popular.’
‘Do you like it?’
‘Intellectually,’ he said, ‘I adore it. It’s so clever.’
He played on loudly, rapidly, with pyrotechnical brilliance, then stopped.
‘My passions, however, are too debile to be stirred.’
He flung round on the piano stool and dropped his face into his hands,
rubbing his eyes wearily.
‘Julian—I wish you weren’t—I wish you could——’
He looked up, startled, saw her expression, looked quickly away again
and gave an embarrassed laugh like a boy.
‘It’s all right,’ he said, ‘You needn’t take any notice of me. I’m being a
bore. I’m sorry.’ The last words were faintly husky.
‘Oh, you’re not a bore, you’re not! Only—don’t be so miserable.’
In the awkward silence that followed she said:
‘I must go.’
‘No, you’re not to go,’ he said gently. ‘Stay and talk to me.’ He paused.
‘The trouble is, I can’t sleep, you know, and it makes me a bit jumpy. I
don’t like my thoughts, and they will, they will be thought about. But I shall
get better in time.’
‘Poor Julian!’
He allowed his face to relax, and his manner was suddenly quiet and
simple, almost happy: the unexpected sympathy had made him cheerful.
‘You mustn’t go, Judith, you must stay to supper.’
‘I can’t. What will Mariella say?’
‘Mariella doesn’t say. Whether she thinks is the problem,—or even feels.
Is she a very remarkable person? Or is it simply arrested development?’
‘No. I don’t think so.’
‘Not?’
She smiled to herself, struck with a fancy.
‘Perhaps she’s a fairy, Julian.’
As she said it she grew suddenly thoughtful; for it had flashed upon her
that perhaps that was the explanation of Roddy; perhaps he was a fairy, and
in that case it was no use—he would never....
‘A fairy. I never thought of that.’ He mused, pleased with the idea. ‘You
know it must mean something, that nobody’s ever suggested giving her a
petit nom, or curtailing the mouthful; she’s always been Mariella.’
He began humming a little tune in his contentment. Quickly she said:
‘Just to go back to Peter. You don’t mean it, do you? Why should he be
wretched? Think of the things you can teach him. You know you’ll love
that.’
He looked a trifle dashed; but after a moment his face cleared again, and
his eyes smiled kindly at her.
‘Don’t worry. At all events, I’ll see he’s not ill-treated—except in my
own way. That is, if she’ll let me. She will. She’s very good-tempered, I
must say. She’s never allowed me to quarrel with her. She well might have.’
He looked like brooding again; but seeing her gazing at him anxiously,
added:
‘It’s odd how natural it seems to be talking to you alone like this. You
haven’t changed a bit. I always remember you listening so solemnly and
staring at me. I’m so glad I’ve found you again. I could always talk to you.’
‘At me,’ she corrected.
He made a face at her, but looked cheerful. She had always known how
near the edge to venture without upsetting him. He hummed his little tune
again, then played it on the piano.
‘I think I made that up.... It’s rather a nice little tune. Perhaps I’ll take up
my music seriously again.’
‘Oh, you must, Julian. It is so well worth it: such a special talent.’
He looked at her with sudden attention.
‘How old are you, Judith?’
‘Seventeen. Nearly eighteen.’
He studied her.
‘You must put your hair up.’
‘Must I?’
‘Yes, because then you’ll be beautiful.’
She was still speechless when Mariella, Martin, two Great Danes and the
puppy came in.

‘Hullo!’ said Mariella. ‘Still here?’


‘I’m afraid so. But I’m just going.’
‘She’s not. She’s staying to supper,’ said Julian.
‘Oh, good,’ said Martin surprisingly; and his shy red face smiled at her.
‘Of course you must,’ said Mariella cheerfully. ‘We’re just going to eat
now. Where’s Roddy?’
‘He stayed down at the boathouse. He said he’d come soon.’
‘He’d better,’ said Julian, and turning to Judith explained politely: ‘What
with poor Martin having to build himself up so, experience has proved it’s
wiser to be punctual.’
‘I’ll go and fetch him,’ said Judith, to her own surprise.
She left them amicably wrestling, and escaped light-heartedly into the
garden. The cool air refreshed her brain, shaken and excited from its contact
with Julian; and she walked slowly to the boathouse by the shrubbery path,
sniffing as she went at wild cherry, japonica, almond and plum. It was joy
to look for and recognize afresh the beauties of the garden; its unforgotten
corners,—places of childish enchantment. Somewhere near, under the
laurel, was the rabbit’s grave. She remembered that evening, how she had
been shaken with revelation. This was just such another mysterious and
poignant fall of the light: anything might happen. Her senses were so
overstrung that the slightest physical impression hit her sharply, with a
shock.
There on the raft was the curious young man Roddy. He raised his head
from the examination of an old red-painted canoe, and smiled when he saw
her.
‘I’m sent to say supper’s ready.’
‘Thank you very much. I’ll come.’
‘I’m staying to supper.’ She smiled radiantly at him, sure of herself and
full of an immense amusement.
‘I’m delighted.’
His golden-brown eyes sent her their clear and shallow light.
‘What are you doing?’
‘Seeing if this old canoe is sea-worthy. You see, there’s a leak, but I
don’t think it’s anything much. I’ll leave her in the water over-night. I want
to rig her up with a sail.’ He stroked the canoe lovingly.
‘You like going in boats, don’t you?’
‘I suppose I do rather.’
‘I like it too. Especially at night.’
But he would not give himself away. She saw him slipping down the
stream, alone in his canoe, the night before, but she was not to know it, she
could not say: ‘I saw you.’
He bent over his canoe, fingering the wood, then straightened himself
and stood looking down the long willow-bordered stretch of water. The sun
had gone out of it and it was a quiet grey limpid solitude. A white owl flew
over, swooping suddenly low.
‘There he goes,’ said Roddy softly. ‘He goes every evening.’
‘Yes, I know.’
She smiled still in her immense mysterious amusement. She saw him
look up at the poplar from whence the owl had come, and as he did so his
whole image was flung imperishably on her mind. She saw the portrait of a
young man, with features a trifle blurred and indeterminate, as if he had just
waked up; the dark hair faintly ruffled and shining, the expression secret-
looking, with something proud and sensual and cynical, far older than his
years, in the short full curve of his lips and the heaviness of his under-lids.
She saw all the strange blend of likeness and unlikeness to the boy Roddy
which he presented without a clue.
He caught her smile and smiled back, all his queer face breaking up in
intimate twinklings, and the mouth parting and going downward in its
bitter-sweet way. They smiled into each other’s eyes; and all at once the
light in his seemed to gather to a point and become fixed, dwelling on her
for a moment.
‘Well?’ he said at last; for they still lingered uncertainly, as if aware of
something between them that kept them hesitating, watching, listening
subconsciously, each waiting on the other for a decisive action.
He spread out his hands and looked down at them; a nervous gesture and
look she remembered with a pang.
‘Yes, we must go,’ she said softly.
At supper he sat opposite to her, and twinkled at her incessantly, as if
encouraging her to continue to share with him a secret joke. But, confused
amongst them all, she had lost her sense of vast amusement and assurance;
she was unhappy because he was a stranger laughing at her and she could
not laugh back.
Beside him was the face of Martin, staring solemnly, with absorption,
watching her mouth when she spoke, her eyes when she glanced at him.
Thank God the meal was soon over.

A gay clipped exhilarating dance tune sounded from the drawing-room.


Roddy had turned on the gramophone. He came and took Mariella without a
word and they glided off together. Judith stayed with Julian and Martin in
the verandah, looking in at them. She was frightened; she could not dance,
so she would be no use to Roddy.
‘Do you dance, Julian?’
‘No. At least only with two people.’
Alas,—wounding reminder of his elegant unknown world where she had
no place!... She blushed in the dusk.
‘Julian’s very lordly about his dancing;’ said Martin. ‘I expect he’s rotten
really.’
‘It may be,’ said Julian, stung and irritable. ‘It may be that I therefore
bestow the burden of my gyrations on the only two creatures of my
acquaintance whose rottenness equals mine. It may be that I derive more
satisfaction from the idea of this artistic whole of rottenness than from the
physical delights of promiscuous contact.’
‘It may be,’ said Martin pleasantly, unperturbed.
Julian hunched his shoulders and went away, clouded by a dreadful
mood.
‘Poor old Ju,’ said Martin softly.
‘Yes, poor thing.’ Her voice implied how well she understood, and he
looked grateful.
In the drawing-room, Roddy and Mariella moved like a dream, smoothly
turning, pausing and swaying, quite silent.
‘Well, shall we?’ Martin smiled down at her.
Now she must confess.
‘I can’t, Martin, I don’t know how. I’ve never learnt. I haven’t ever——’
Shame and despair flooded her.
‘Oh, you’ll soon learn,’ he said cheerfully. ‘Come and try.’
‘Oh, I couldn’t.’
She glanced at the competent interweaving feet of Mariella and Roddy,
at Marietta’s slender back pivoting gracefully from the hips, at Roddy’s
composed dancing-face and shoulders. She could not let them see her
stumbling and struggling.
‘Well, come and practise in the hall. Here now. Can you hear the music?
Follow me. This is a fox-trot. Look, your feet between my feet. Now just go
backwards, following my movements. Don’t think about it. If you step on
my feet it’s my fault and vice versa. Now—short, long, short, two short.
Don’t keep your back so stiff,—quite free and supple but quite upright.’
‘Do it by yourself,’ said Judith perspiring with anxiety. ‘Then I can see.’
He chasséd solemnly round the hall, pausing now and then to show her
how he brought his feet together; then, with a firm hand on her shoulder-
blades he made her follow him.
‘That’s good. It’s coming. Oh, good! Sorry, that was my fault. You’ve
got the trick now.’
All at once the music had got into her limbs; it seemed impossible not to
move to it.
‘But you can!’ said Martin, letting her go and beaming at her in joyful
surprise.
‘Come back into the drawing-room,’ said Judith, exalted. They went.
‘Now,’ she said trembling.
Martin put his arm round her and they glided off. It was easier than
walking, it was more delicious than swimming or climbing; her body had
always known how it was done. Martin looked down at her with eloquent
eyes and said:
‘You know, you’re marvellous. I didn’t know anyone could learn so
quickly.’
‘It’s because I’ve had such a good teacher,’ she said sweetly.
They went on dancing, and every now and then she looked up and
smiled at him and his eyes shone and smiled in answer, happy because of
her pleasure. He really was a dear. In his looks he had improved beyond
expectation. He was still a little red, a little coltish and untidy, but his figure
was impressive, with powerful heavy shoulders and narrow hips; and the
muscles of his thigh and calf bulged beneath his trousers. His head with the
brown wings of hair brushed flat and straight on it, was finely set, his eyes
were dark and warm, kindly rather than intelligent; his nose was biggish
and thick, his mouth long, thin and rather ineffectual, with a faint twitch at
one corner,—the corner that lifted first, swiftly, when he smiled his frequent
shy smile. His teeth were magnificent; and he smelt a little of Virginian
cigarettes.
‘You must dance with Roddy,’ said Martin. ‘He’s ever so much better
than I am.’
Roddy and Mariella were dancing in the porch now, not speaking or
looking about them. The record came to an end, but they went on whirling
while Martin sought a new tune and set it going; then they glided forward
again.
Roddy had forgotten her: she was not up to his dancing.
At last Mariella stopped and disengaged herself.
‘I want to dance with Martin now,’ she said.
Roddy left her and strolled over to Judith.
‘Been giving Martin a dancing-lesson?’ he said.
‘Goodness, no! He’s been teaching me. I didn’t know how.’
‘Oh?—How did you get on?’
‘Quite well, thank you. It’s easy. I think I can dance now.’
‘Good!’
It was plain he was not interested; or else was incredulous. He thought
she was just a stumbling novice; he was not going to dance with her or even
offer to go on teaching her. Roddy would never have bothered to give her
hints or be patient while she was awkward. He was so good himself that he
could not condescend to incompetence. But Judith, still, though more
doubtfully, exalted, said:
‘Shall we dance?’
He looked surprised.
‘All right. Certainly. Just let me cool down a bit.’
He was not in any hurry. He sat on the table and watched Marietta’s
neatly moving feet.
‘She’s good at her stuff,’ he said.
‘Do you adore dancing?’
‘Well, I don’t know that I adore it. It’s fun once in a way.’
‘It seems funny not to be mad about a thing if you can do it so
beautifully.’
He looked at her with amusement.
She must remember not to ask Roddy if he adored things. His secret life
went on in a place where such states of feeling were unknown.
‘Shall we?’ he said at last.
She was not going to be able to do it; the rhythm had gone out of her
limbs. He was going to be too good for her and she would stumble and he
would get disgusted and not dance with her any more....
After a few moments of anguish, suddenly she could, after all. Long
light movements flowed from her body.
Roddy looked down.
‘But you can dance,’ he said.
‘I told you I could. You didn’t believe me.’
He laughed.
‘You don’t mean to tell me you’ve never danced before?’
‘Never.’
‘Swear?’
‘Cross my heart.’
‘But of course,’ said Roddy, ‘you couldn’t help dancing, such a beautiful
mover as you.’
He had really said that! She lifted her face and glowed at him: life was
too, too rich.
The music came to an end. Roddy stood still with his arm round her
waist and called imperiously to Martin for another tune.
‘Come on,’ he said, and tightened his arm round her. You might almost
dare to suppose he was a little, a very little exalted too.
‘But you do love it, Roddy!’
He looked down at her and smiled.
‘Sometimes.’
‘Do you now?’
‘Yes.’
‘Roddy!’
She was silenced by happiness.
They were alone now. Martin and Mariella were on the verandah, and
she heard Mariella say:
‘Darlin’ Martin, fetch me my coat.’
‘Mariella’s very fond of Martin, isn’t she?’
‘I don’t know. I suppose she is. What makes you think so?’
‘I just heard her call him darling just now.’
He laughed.
‘Oh yes. She does that now and again.’
‘She doesn’t call you darling,’ said Judith twinkling.
‘No. Nobody ever does.’
‘Not anybody,—ever?’
‘Not anybody—ever.’
‘What a pity! And it is so enjoyable to be called darling.’
‘I’ve no doubt it is. I tell you I’ve no experience.’ He peered into her
face, and repeated piteously: ‘Nobody ever does.’
Judith laughed aloud.
‘I will,’ she heard her own voice saying.
‘You really will?’
She waited.
‘Go on,’ he urged.
The word would not come.
‘Go on, go on!’ he shouted triumphantly.
‘Oh, be quiet!’
‘Please!...’
‘No....’
She hid her face away from him and blushed. Laughing silently he
gathered her up and started whirling, whirling. A deeper dream started. The
room was a blur, flying, sinking away; only Roddy’s dark red tie and the
line of his cheek and chin above it were real.
She laughed and gasped, clinging to him.
‘Giddy?’
‘Yes. No. I don’t know.’
He stopped and looked at her amusedly.
‘Oh, I am.’
She threw out an arm blindly and he caught it and supported her.
‘Come out on the verandah and get sober,’ he said.
The spring night greeted them with a chill fragrance. Roddy’s eyes were
so bright that she could see them shining, brimming with amusement in the
dim light.
‘What are you looking at, Roddy?’
‘You.’
‘I can see your eyes. Can you see mine?’ He bent his head over hers.
‘Yes, of course. They’re like stars. Lovely dark eyes.’
‘Are they?... Roddy paying compliments,—how funny! Roddy, I
remember you. Do you remember yourself when we were children?’
‘Not much. I never remember the past. I suppose I’m not interested
enough—or interesting enough.’
She felt checked, and dared not ask the ‘What do you remember about
me?’ which should have opened the warm little paths of childish
reminiscence. Roddy had no desire to recall the uninteresting figures of
himself and the little girl Judith: that trifling relationship had been brushed
away as soon as it had ceased. She must realize that, for him, no long
threads came dragging from the web of the past, tangling the present.
She stared into the dark garden, wondering what safe topic to propose.
‘When do you go back to Paris, Roddy?’
‘Oh,—soon, I suppose.’
‘Do you work very hard there?’
‘Terribly hard.’
‘Drawing or painting?’
‘Some of both. Nothing of either.’
‘I suppose you wouldn’t show me some of your things?’
‘Couldn’t. I’ve nothing here. I’m having a rest.’ He twinkled at her.
‘What a pity! I should so have loved.... Which are you best at, drawing
or painting?’
‘Oh, I don’t know. Drawing, I think. But I’m not any good. I just waste
time.’
‘Why do you?’
‘Why indeed?’
‘How funny! If I could draw I’d draw all day. I’d be so excited at being
able to, I’d go on and on. I’d be so horrid and enthusiastic. I wouldn’t have
any sense of humour about it. You’d think me nauseating, wouldn’t you?’
He nodded, smiling.
‘But I’d draw. I’d be the best drawer in the world. Oh, you are lucky! I
do envy people with a specialty, and I do love them. Isn’t it funny how
fingers take naturally to one form of activity and not to another? Mine—
mine—’ she spread them out and looked at them—‘mine wouldn’t draw if I
spent all my life trying to make them; but—they know how to touch a piano
—only a little of course; but they understand that without having it
explained. And some fingers can make lovely things with a needle and
thread and a bit of stuff. There’s another mystery! Then there are the
machine makers, and the ones that can use knives like artists to take away
bits of people or put bits in,—and the ones that can remove pain just by
touching.... Some people are their hands, aren’t they? They understand with
them. But most people have idiot hands,—destroyers. Roddy, why are some
of our senses always idiots? All my senses are semi-imbecile, and I’m
better off than lots of people, I suppose. Seems to me, what they call the
norm is practically idiot, and any departure is just a little more or less so.
Yet one has this idea of perfection——’
She stopped abruptly. He was not interested, and his face in the wan light
was a blank which might be hiding mockery or distrust of a girl who
affected vaporous philosophizings, trying, no doubt, to appear clever. She
flushed. Such stuff had been her food for years, chewed over secretly, or
confided to the one friend, the Roddy of her imagination; and here she was
in the foolishness of her elation pouring it out to this unmoved young man
who thought—she must remember this—that he was meeting her for the
first time. It was plain, it must be plain to him, that she was a person with
no notion of the rules of behaviour.
‘Come back and dance,’ suggested Roddy at last.
It was curious how much easier it was to get on with Roddy if he had an
arm round you. His mind, the whole of him, came freely to meet you then;
there was entire happiness, entire peace and harmony. It was far more
difficult to find him on the plane where only minds, not senses, had contact,
—the plane on which a Julian, one whose physical touch could never be
desirable, was reached without any groping. Roddy put something in the
way. He guarded himself almost as if he suspected you of trying to catch
him out; or of taking an impertinent interest in him. His mind would be
thrilling if you could dig it out: all hidden and withheld things were.
‘I don’t want ever to stop,’ she said suddenly.
‘We won’t,’ he promised and held her closer, as if he were as much
caught away and dazed as she.
He bent his head and whispered laughingly:
‘Just say it.’
‘Say what?’
‘That word you like—in your delicious voice—just as a kindness.’
‘No, I won’t—now.’
‘When will you?’
‘You are naughty, Roddy.... Perhaps when I know you better.’
‘You’ll never know me better than you do now.’
‘Don’t say that. Why do you?’
‘There’s nothing more to know.’
‘Oh, if there’s nothing more to know, then you are——’
‘What?’
‘More or less—as far as I can tell——’
‘What?’
She whispered.
‘A darling.’
‘Ah, thank you.’ He added rapidly, in the full soft voice of laughter:
‘Thank you, darling.’
‘Now we’ve both said it. Roddy, aren’t we absurd?’
‘No, very sensible.’
‘Did you like it?’
‘I adored it.’
‘Roddy, are we flirting?’
‘Are we?’
‘If we are, it’s your fault. You make me feel sort of stimulated. I didn’t
flirt with Martin.’
‘I’m very glad to hear it. Martin wouldn’t have liked it at all.’
They laughed and danced on. He held her very close, the cold rim of his
ear touching her forehead.
‘To think I’ve never danced before!’
‘Why haven’t you?’
‘Nobody to dance with.’
‘Nobody?’
‘Nobody at all.’
‘Have you been living on your little lone since I went away?’
‘Ever since then.’
‘Well, now I’ve come back we’ll dance a lot, won’t we?’
‘Oh yes. But you’ll disappear again, I know you will.’
‘Not yet. And not for long.’
She could have cried, he was so comforting.
He spun, holding her tightly, stopped, held her a moment more, and let
her go as the record came to an end. She watched him as he went, with that
secret of idle grace in his movements, to switch off the gramophone. He
looked pale and composed as ever, while she was flushed, throbbing and
exhausted with excitement. She stood at the open French windows and
leaned towards the cool night air; and he found her silent when he came
back.
‘A penny for them, Judith.’
‘I was thinking—what extraordinary things one says. I suppose it’s the
dancing. It seems so incredibly easy to behave as one naturally wouldn’t
——’
‘I find that myself,’ he said solemnly.
‘The—the unsuitable things that generally stay inside one’s head,—they
spring to one’s lips, don’t they?’
‘They do.’
‘Values are quite changed. Don’t you think so?’
She must make him realize that she was not really a cheap flirtatious
creature: re-establish her dignity in his eyes. She had behaved so lightly he
might be led to think of her and treat her without respect, and laugh at her
behind her back after she had ceased to divert him. It was very worrying.
‘Quite, quite changed,’ he said.
‘Isn’t it queer? I suppose—it doesn’t do much harm? One oughtn’t to
think worse of a person for——’
He threw back his head to laugh at his ease, silently, as always, as if his
joke were too deep down and individual for audible laughter.
‘Are you laughing at me, Roddy?’
‘I can’t help it. You’re so terribly funny. You’re the funniest person I’ve
ever met.’
‘Why am I?’
‘You’re so incredibly serious.’
‘I’m not—not always.’
‘I’m afraid you are. I’m afraid you’re terribly introspective.’
‘Am I? Is that wrong? Roddy, please don’t laugh at me. It leaves me out
if you laugh by yourself like that. I could laugh with you at any thing, if
you’d let me——’ she pleaded.
‘Anything—even yourself?’
She pondered.
‘I don’t know. Perhaps not. That’s a weakness, isn’t it?’
‘There you go again! Never mind about your weaknesses. I was only
teasing you. Let me see you smile.’
To obey him her lips went upwards sorrowfully; but when she saw his
laughing, coaxing face, her heart had to lift too.
‘Well you’re very nice anyway,’ he said, ‘serious or no. Have you
forgiven me?’
‘Oh yes. Yes, Roddy.’
As she said it she realised with a passing prophetic sense of helplessness
and joy and fear that whatever he did she would always inevitably forgive
him. But she must not tell him that, yet.
Martin and Mariella came strolling back from the garden, the spark of
their cigarettes going before them. She heard Mariella’s little laugh
bubbling out contentedly, her childish voice answering his in an easy
chatter. Yes, Mariella was happy with Martin. He was polite and kind to her,
and she was equal to him without effort. As she came into the light Judith
was struck afresh by the lack of all emphasis, the careful absence of any one
memorable feature in the memorable whole of her beauty. Her lovely
athletic body effaced itself in simple clothes of no particular fashion or cut;
subdued in colour, moderately long, moderately low in their necks and short
in their sleeves,—negative clothes that nevertheless were distinguished, and
said “Mariella” and nothing else in the world.
It was time to go.
‘Oh, must you?’ said Mariella.
Roddy said not a word. He had detached himself as soon as the others
came in, and was idly busy in a corner, tuning a guitar. Either he had not
heard or was not interested. It seemed impossible that his face had been off
its guard a few minutes ago, warming and lighting in swift response.
Julian lounged in again silently, a book in his hand. He looked tired and
fierce, as if daring her to remember his recent lapse into friendliness. The
strange disheartening people....
She stammered: ‘Well, good-night everybody. Thank you so much.’
‘One of the boys will see you home,’ said Mariella dubiously.
‘Oh no. It isn’t necessary. I’ll just climb over the wall if the gate’s
locked. I shall be quite all right, honestly....’
There was no need to protest. They dismissed the matter in silence.
‘Well, come in any time,’ said Mariella.
But any time was no good. She had dreaded just such a non-committal
invitation. Any time probably meant never. Despondently she looked back
to smile her thanks; and as her eyes took in the group of them standing there
looking at her, she felt suddenly startled.
But they were all alike!
So strange, so diverse in feature and colour, they yet had grown up with
this overpowering likeness; as if one mind had thought them all out and set
upon them, in spite of variations, the unmistakable stamp of itself. Alone
among all the tall distinguished creatures Roddy made sharp departure, and
preserved, though not wholly intact, the profounder individuality of his
unimportant features.

4
It was some weeks later. The day had been long and fruitless. She had
idled through the hours, playing the piano, reading ‘Pecheurs d’Islande’
with voluptuous sorrow, doing nothing. A letter from her mother in Paris
had arrived in the afternoon. They were not coming home just yet. Father
had caught another of his colds and seemed so exhausted by it. He was in
bed and she was nursing him, and it had meant cancelling his party, that
party. Why should not Judith come out and join them, now that her
examinations were over? It would amuse her; and Father would be glad to
have her. They would expect her in a few days; she was old enough now to
make the journey by herself.
Her heart was heavy. She could not leave the house, the spring garden,
this delicious solitude, these torturing and exquisite hopes. How could she
drag herself to Paris when she dared not even venture beyond the garden for
fear of missing them if they came for her? If she went now, the great
opportunity would be gone irrevocably; they would slip from her again just
as life was beginning to tremble on the verge of revelation. She must devise
an excuse; but it was difficult. She swallowed a few mouthfuls of supper
and wandered back into the library.
The last of the sun lay in the great room like blond water, lightly
clouded, still, mysterious. The brown and gold and red ranks of the dear
books shone mellow through it, all round the room from the floor three
quarters way to the ceiling; the Persian rugs, the Greek bronzes on the
mantlepiece, the bronze lamps with their red shades, the tapestry curtains,
the heavy oak chairs and tables, all the dim richnesses, were lit and caressed
by it into a single harmony. The portrait of her father as a dark-eyed, dark-
browed young man of romantic beauty was above the level of the sun,
staring sombrely down at his possessions. She could sit in this room,
especially now with hair brushed smooth and coiled low across the nape,
defining the lines of head and neck and the clear curve of the jaw,—she
could sit alone here in her wine-red frock and feel part of the room in
darkness and richness and simplicity of line; decorating it so naturally that,
if he saw, his uncommunicating eyes would surely dwell and approve.
She and the young man of the portrait recognised each other as of the
same blood, springing with kindred thoughts and dreams from a common
root of being, and with the same physical likeness at the source of their
unlikeness which she had noticed in the cousins next-door. She was knit by
a heart-pulling bond to the portrait; through it, she knew she loved the
elderly man whose silent, occasional presence embarrassed her.
There was sadness in everything,—in the room, in the ringing bird-calls
from the garden, in the lit, golden lawn beyond the window, with its single

You might also like