[prev in list] [next in list] [prev in thread] [next in thread]
List: forgerock-openidm-commit
Subject: [CommitOpenIDM] Bitbucket - Jim Mitchener has pushed changes to OpenIDM/openidm (master)
From: ForgeRock Stash <stash () forgerock ! org>
Date: 2016-11-29 18:30:39
Message-ID: 761672996.28642.1480444239189 () stash ! internal ! forgerock ! com
[Download RAW message or body]
[Attachment #2 (text/html)]
<!doctype html>
<html lang="en">
<head></head>
<body class="bitbucket-theme fullwidth">
<table width="100%" class="fullwidth">
<tbody>
<tr>
<td class="body-cell" colspan="3">
<table width="100%">
<tbody>
<tr>
<td bgcolor="#f5f5f5" class="header" style="background-color: #f5f5f5; border-bottom: \
1px solid #cccccc; padding-left: 20px; height: 50px; padding-top: 10px; \
padding-bottom: 10px; font-size: 18px; font-family: Arial" height="50"><a \
href="https://stash.forgerock.org/projects/OPENIDM" style="color: #3b73af; \
text-decoration: none; font-size: 17px; font-weight: bold; padding-bottom: \
10px">OpenIDM</a> / <a \
href="https://stash.forgerock.org/projects/OPENIDM/repos/openidm/browse" \
style="color: #3b73af; text-decoration: none; font-size: 17px; font-weight: bold; \
padding-bottom: 10px">openidm</a><br> <div style="margin: 0; padding: 0; margin-top: \
3px"> Jim Mitchener has
<span class="il">pushed changes</span> to: 'master'
</div></td>
</tr>
<tr>
<td>
<table border="0" width="100%" style="width:100%;min-width:100%">
<tbody>
<tr>
<td style="padding-right:10px;font-size:13px;font-family:Arial" valign="top" \
nowrap><a href="https://stash.forgerock.org/projects/OPENIDM/repos/openidm/commits/91587d1bd31ed1670315277176ffa50ad757f4fd" \
style="text-decoration: none; color: #3c78b5;font-family: monospace;; color: #3b73af; \
text-decoration: none">91587d1bd31</a></td> <td width="100%" \
style="width:100%;min-width:100%;padding-right:10px;font-size:13px;font-family:Arial" \
valign="top"><a style="text-decoration: none; color: #3c78b5; color: #3b73af; \
text-decoration: none" \
href="https://bugster.forgerock.org/jira/browse/OPENIDM-6856">OPENIDM-6856</a> Move \
DB2 read-for-update to single query</td> <td nowrap valign="top" \
style="font-size:13px;font-family:Arial;text-align:left;padding-right:1em;">jim.mitchener</td>
<td nowrap valign="top" \
style="font-size:13px;font-family:Arial;text-align:right;"><time title="07 November \
2016 11:22 PM" datetime="2016-11-07T23:22:52+0000" class="deprecated">07 Nov - 11:22 \
PM</time></td> </tr>
<tr>
<td></td>
<td colspan="3">
<table class="aui" style="border-collapse: collapse; margin: 20px 0; width: 100%; \
margin-top: 5px"> <tbody>
<tr style="background: #ffffff; color: #333333">
<td style="font-size:13px;font-family:Arial;padding-top:2px;padding-right:10px;margin:0;; \
padding: 7px 10px; text-align: left; vertical-align: top; border-bottom: 1px solid \
#cccccc; border-top: 1px solid #cccccc" valign="top"><a style="text-decoration: none; \
color: #3c78b5; color: #3b73af; text-decoration: none" \
href="https://stash.forgerock.org/projects/OPENIDM/repos/openidm/browse?at=master">ope \
nidm-repo-jdbc/src/main/...k/openidm/repo/jdbc/impl/DB2TableHandler.java</a></td> <td \
style="font-size:13px;font-family:Arial;padding-top:2px;text-align:right \
!important;margin:0;; padding: 7px 10px; text-align: left; vertical-align: top; \
border-bottom: 1px solid #cccccc; border-top: 1px solid #cccccc" nowrap \
valign="top"><a style="text-decoration: none; color: #3c78b5; color: #3b73af; \
text-decoration: none" \
href="https://stash.forgerock.org/projects/OPENIDM/repos/openidm/commits/91587d1bd31ed \
1670315277176ffa50ad757f4fd#openidm-repo-jdbc/src/main/java/org/forgerock/openidm/repo/jdbc/impl/DB2TableHandler.java">View \
changes</a></td> </tr>
<tr class="diff-hunk" style="background: #ffffff; color: #333333">
<td colspan="2" style="padding: 7px 10px; text-align: left; vertical-align: top; \
border-bottom: 1px solid #cccccc"> <table class="segmentlines CONTEXT" style="width: \
100%"> <tbody>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">51</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em">51</td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em"></td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> String mainTable = d \
bSchemaName == null ? mainTableName : dbSchemaName + "." + mainTableName;</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">52</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em">52</td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em"></td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> String propertyTable =&nb \
sp;dbSchemaName == null ? propTableName : dbSchemaName + "." + propTableName;</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">53</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em">53</td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em"></td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"></td> </tr>
</tbody>
</table>
<table class="segmentlines REMOVED" style="border-top-color: #fee8e9; \
background-color: #fee8e9; width: 100%" bgcolor="#fee8e9"> <tbody>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">54</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> // Not allowed to&nb \
sp;use "FOR UPDATE" on multiple tables in DB2</td> \
</tr> </tbody>
</table>
<table class="segmentlines ADDED" style="border-top-color: #ddffdd; background-color: \
#ddffdd; width: 100%" bgcolor="#ddffdd"> <tbody>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em"></td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em">54</td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">+</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> /*</td> </tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em"></td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em">55</td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">+</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> * DB2 does not \
allow 'FOR UPDATE' clause with multiple tables in FROM or a JOIN.</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em"></td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em">56</td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">+</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> * Must use sub-select to get around this</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em"></td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em">57</td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">+</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> */</td> </tr>
</tbody>
</table>
<table class="segmentlines CONTEXT" style="width: 100%">
<tbody>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">55</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em">58</td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em"></td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> result.put(</td> </tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">56</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em">59</td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em"></td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> QueryDefinition.READFORUPDATEQUERYSTR,</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">57</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em">60</td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em"></td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> "SELECT obj.* FROM "</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">58</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em">61</td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em"></td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0">   \
; + mainTable</td> \
</tr> </tbody>
</table>
<table class="segmentlines REMOVED" style="border-top-color: #fee8e9; \
background-color: #fee8e9; width: 100%" bgcolor="#fee8e9"> <tbody>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">59</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0">   \
; + " obj WH \
ERE obj.objecttypes_id = ? AND obj.objectid = ? FOR UPDATE");</td>
</tr>
</tbody>
</table>
<table class="segmentlines ADDED" style="border-top-color: #ddffdd; background-color: \
#ddffdd; width: 100%" bgcolor="#ddffdd"> <tbody>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em"></td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em">62</td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">+</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0">   \
; + " obj WH \
ERE obj.objecttypes_id = (SELECT id FROM " + t \
ypeTable + " objtype WHERE objtype.objecttype = ?)& \
nbsp;AND obj.objectid = ? FOR UPDATE OF rev, fullobject");</td>
</tr>
</tbody>
</table>
<table class="segmentlines CONTEXT" style="width: 100%">
<tbody>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">60</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em">63</td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em"></td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"></td> </tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">61</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em">64</td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em"></td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> // Main object table DB2 Script</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">62</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em">65</td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em"></td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> result.put(QueryDefinition.DELETEQU \
ERYSTR, "DELETE FROM " + mainTable + " obj&nbs \
p;WHERE EXISTS (SELECT 1 FROM " + typeTable +& \
nbsp;" objtype WHERE obj.objecttypes_id = objtype.id AND \
objtype.objecttype = ?) AND obj.objectid = ? AND obj.rev = ?");</td>
</tr>
</tbody>
</table></td>
</tr>
<tr class="diff-hunk" style="background: #ffffff; color: #333333">
<td colspan="2" style="padding: 7px 10px; text-align: left; vertical-align: top; \
border-bottom: 1px solid #cccccc"> <table class="segmentlines CONTEXT" style="width: \
100%"> <tbody>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">142</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em">145</td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em"></td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> return builder.toSQL();</td> \
</tr> <tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">143</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em">146</td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em"></td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> }</td> </tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">144</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em">147</td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em"></td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> </td> </tr>
</tbody>
</table>
<table class="segmentlines REMOVED" style="border-top-color: #fee8e9; \
background-color: #fee8e9; width: 100%" bgcolor="#fee8e9"> <tbody>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">145</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> /**</td> </tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">146</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> * Reads an object with for update locking applied</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">147</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> *</td> </tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">148</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> * Note: statement associated with the returned resultset</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">149</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> * is not closed upon return.</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">150</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> * Aside from taking care to close the resultset it also is</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">151</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> * the responsibility of the caller to close the associated</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">152</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> * statement. Although the specification specifies that drivers/pools</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">153</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> * should close the statement automatically, not all do this reliably.</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">154</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> *</td> </tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">155</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> * @param fullId qualified id of component type and id</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">156</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> * @param type the component type</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">157</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> * @param localId the id of the object within the component type</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">158</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> * @param connection the connection to use</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">159</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> * @return the row for the requested object, selected FOR UPDATE</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">160</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> * @throws NotFoundException if th \
e requested object was not found in the DB</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">161</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> * @throws java.sql.SQLException for general DB issues</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">162</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> */</td> </tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">163</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> @Override</td> </tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">164</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> public Map<String, Object> readForUpda \
te(String fullId, String type, String localId, Connection connection)</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">165</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> throws NotFoundException, SQLException {</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">166</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"></td> </tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">167</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> PreparedStatement readForUpdateStatement = null;</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">168</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> ResultSet rs = null;</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">169</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> try {</td> </tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">170</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> long typeId = readTypeId(type, connection);</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">171</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> if (typeId < 0) {</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">172</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0">   \
; throw new NotFoundException("Object " + fullId&n \
bsp;+ " not found. No id could be retrieved for type " + type);</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">173</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> }</td> \
</tr> <tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">174</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> readForUpda \
teStatement = getPreparedStatement(connection, QueryDefinition.READFORUPDATEQUERYSTR);</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">175</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> logger.trac \
e("Populating prepared statement {} for {}", readForUpdateStatement, fullId);</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">176</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> readForUpdateStatement.setString(1, String.valueOf(typeId));</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">177</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> readForUpdateStatement.setString(2, localId);</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">178</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"></td> </tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">179</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> logger.debug("Executing: {}", readForUpdateStatement);</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">180</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> rs = readForUpdateStatement.executeQuery();</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">181</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> List<Map \
<String, Object>> result = genericResultMapper.mapToRawObject(rs);</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">182</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> if (result.isEmpty()) {</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">183</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0">   \
; throw new NotFoundException("Object " + fullId + " not found in " + type);</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">184</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> }</td> \
</tr> <tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">185</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> return result.get(0);</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">186</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> } finally {</td> </tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">187</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> CleanupHelper.loggedClose(rs);</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">188</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> CleanupHelper.loggedClose(readForUpdateStatement);</td>
</tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">189</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> }</td> </tr>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">190</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em"></td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em">-</td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0"> }</td> </tr>
</tbody>
</table>
<table class="segmentlines CONTEXT" style="width: 100%">
<tbody>
<tr>
<td class="line number" style="font-family: monospace, 'Courier New', Courier; \
font-size: 12px; margin: 0; width: 2em">191</td> <td class="line number" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: 0; \
width: 2em">148</td> <td class="line marker" style="font-family: monospace, 'Courier \
New', Courier; font-size: 12px; margin: 0; width: 1em"></td> <td class="line" \
style="font-family: monospace, 'Courier New', Courier; font-size: 12px; margin: \
0">}</td> </tr>
</tbody>
</table></td>
</tr>
</tbody>
</table></td>
</tr>
</tbody>
</table></td>
</tr>
</tbody>
</table></td>
</tr>
</tbody>
</table>
<table width="100%" class="fullwidth">
<tbody>
<tr>
<td class="chrome-cell footer" bgcolor="#f5f5f5" style="border-top: 1px solid \
#cccccc; padding-left: 20px; height: 20px; padding-top: 10px; padding-bottom: 10px; \
font-size: 12px; color: #707070; background-color: #f5f5f5; background-position: \
right 10px center; background-repeat: no-repeat; background-image: \
url(https://stash.forgerock.org/s/-1082932839/781e1f7/1/3.2.2/_/download/resources/nl. \
stefankohler.stash.stash-notification-plugin:email-resources/logo-email-footer.png)" \
height="20"><strong>Hint:</strong> You received this notification because you're \
watching <a href="https://stash.forgerock.org/projects/OPENIDM/repos/openidm/browse" \
style="color: #3b73af; text-decoration: none">openidm</a></td> </tr>
</tbody>
</table>
<table width="100%" style="width:100%;min-width:100%" cellpadding="0" \
cellspacing="0"> <tbody>
<tr>
<td style="font-size: 11px;font-family:Arial;color: #666; text-align: center; \
padding-top: 5px">Sent by <a \
href="https://marketplace.atlassian.com/plugins/nl.stefankohler.stash.stash-notification-plugin" \
style="text-decoration: none; color: #666; color: #3b73af; text-decoration: \
none">Notifyr for Bitbucket Server</a>, the <a \
href="http://www.atlassian.com/software/bitbucket/" style="text-decoration: none; \
color: #666; color: #3b73af; text-decoration: none">Git repository management for \
enterprise teams</a></td> </tr>
</tbody>
</table>
</body>
</html>
_______________________________________________
CommitOpenIDM mailing list
CommitOpenIDM@forgerock.org
https://lists.forgerock.org/mailman/listinfo/commitopenidm
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic