auphong2707/dl4se-code-review-dataset huggingface dataset:
Source:
<code>private SearchCursor searchOneLevel(Dn parent) throws NoSuchNodeException, MissingParentException { try { if (!connection.exists(parent.getParent())) { throw new MissingParentException(lastMatch(parent)); } else if (!connection.exists(parent)) { throw new NoSuchNodeException(parent); } } catch (LdapException e) { <START> throw new RuntimeException(e); <END> } SearchRequest searchRequest = new SearchRequestImpl(); searchRequest.setBase(parent); searchRequest.setScope(SearchScope.ONELEVEL); try { searchRequest.setFilter("(objectclass=*)"); return connection.search(searchRequest); } catch (LdapException e) { throw new RuntimeException(e); } }</code><technical_language>pls try avoid simple runtime exceptions if a chance give a exception; if create a new</technical_language>

Target:
private SearchCursor searchOneLevel(Dn parent) throws NoSuchNodeException, MissingParentException { try { if (!connection.exists(parent.getParent())) { throw new MissingParentException(lastMatch(parent)); } else if (!connection.exists(parent)) { throw new NoSuchNodeException(parent); } } catch (LdapException e) { throw new LdapDaoException(e); } SearchRequest searchRequest = new SearchRequestImpl(); searchRequest.setBase(parent); searchRequest.setScope(SearchScope.ONELEVEL); try { searchRequest.setFilter("(objectclass=*)"); return connection.search(searchRequest); } catch (LdapException e) { throw new LdapDaoException(e); } }
Source:
<code>String render(String iconName, IconSet iconSet) throws IconException; String renderHTML(String iconName, IconSet iconSet) throws IconException; <START> default String renderIcon(String iconName, IconSet iconSet, String renderer) throws IconException <END> { throw new UnsupportedOperationException(); }</code><technical_language>I name of this method I a name ATM. Also, I feel exposing some internal method, I guess to</technical_language>

Target:
String render(String iconName, IconSet iconSet) throws IconException; default String render(String iconName, IconSet iconSet, String renderer) throws IconException { throw new UnsupportedOperationException(); }
Source:
<code>public static String encode(String URL, String force, boolean ascii, String extraSafeChars) { StringBuilder enc = new StringBuilder(URL.length()); for (int i = 0; i < URL.length(); ++i) { char c = URL.charAt(i); if (((safeURLCharacters.indexOf(c) >= 0) || ((!ascii) && c >= 0200 && Character.isDefined(c) && !Character.isISOControl(c)) || extraSafeChars.indexOf(c) >= 0) && (force == null || force.indexOf(c) < 0)) { enc.append(c); } else { try { <START> for (byte b: ( String.valueOf(c)).getBytes("UTF-8")) { <END> int x = b & 0xFF; if (x < 16) enc.append("%0"); else enc.append('%'); enc.append(Integer.toHexString(x)); } } catch (UnsupportedEncodingException e) { throw new Error("Impossible: JVM doesn't support UTF-8: " + e, e); } } } return enc.toString(); }</code><technical_language>Is a reason for extra parenthesis valueOf() result? is leading whitespace here</technical_language>

Target:
public static String encode(String URL, String force, boolean ascii, String extraSafeChars) { StringBuilder enc = new StringBuilder(URL.length()); for (int i = 0; i < URL.length(); ++i) { char c = URL.charAt(i); if (((safeURLCharacters.indexOf(c) >= 0) || ((!ascii) && c >= 0200 && Character.isDefined(c) && !Character.isISOControl(c)) || extraSafeChars.indexOf(c) >= 0) && (force == null || force.indexOf(c) < 0)) { enc.append(c); } else { try { for (byte b: String.valueOf(c).getBytes("UTF-8")) { int x = b & 0xFF; if (x < 16) enc.append("%0"); else enc.append('%'); enc.append(Integer.toHexString(x)); } } catch (UnsupportedEncodingException e) { throw new Error("Impossible: JVM doesn't support UTF-8: " + e, e); } } } return enc.toString(); }
Source:
<code>private String extractErrorMessageFromResponse(HttpResponse response) { String contentType = response.getEntity().getContentType().getValue(); <START> String responseBody = null; <END> if(contentType.contains("application/json")) { Gson gson = GsonResponseParser.getDefaultGsonParser(false); try { responseBody = EntityUtils.toString(response.getEntity()); LOG.error("Body of error response from Canvas: " + responseBody); CanvasErrorResponse errorResponse = gson.fromJson(responseBody, CanvasErrorResponse.class); List<ErrorMessage> errors = errorResponse.getErrors(); if(errors != null) { return errors.stream().map(e -> e.getMessage()).collect(Collectors.joining(", ")); } } catch (Exception e) { if(StringUtils.isNotBlank(responseBody)) { return responseBody; } } } return responseBody; }</code><technical_language>Consider initializing this empty string null. This lead unexpected NullPointerException line</technical_language>

Target:
private String extractErrorMessageFromResponse(HttpResponse response) { String contentType = response.getEntity().getContentType().getValue(); String responseBody = ""; if(contentType.contains("application/json")) { Gson gson = GsonResponseParser.getDefaultGsonParser(false); try { responseBody = EntityUtils.toString(response.getEntity()); LOG.error("Body of error response from Canvas: " + responseBody); CanvasErrorResponse errorResponse = gson.fromJson(responseBody, CanvasErrorResponse.class); List<ErrorMessage> errors = errorResponse.getErrors(); if(errors != null) { return errors.stream().map(e -> e.getMessage()).collect(Collectors.joining(", ")); } } catch (Exception e) { if(StringUtils.isNotBlank(responseBody)) { return responseBody; } } } return responseBody; }
Source:
<code>public void saveCredentialsInSmartLock(@NonNull final String username, @NonNull final String password, @NonNull final String displayName, @Nullable final Uri profilePicture) { <START> if (password.isEmpty() || username.isEmpty()) { <END> return; } Activity activity = getActivityAndCheckAvailability(); if (activity == null || mCredentialsClient == null || !mCredentialsClient.isConnected()) { return; } Credential credential = new Credential.Builder(username).setPassword(password) .setName(displayName).setProfilePictureUri(profilePicture).build(); Auth.CredentialsApi.save(mCredentialsClient, credential).setResultCallback( new ResultCallback<Status>() { @Override public void onResult(@NonNull Status status) { if (!status.isSuccess() && status.hasResolution()) { try { Activity activity = getActivityAndCheckAvailability(); if (activity == null) { return; } status.startResolutionForResult(activity, SignInActivity.SMART_LOCK_SAVE); } catch (IntentSender.SendIntentException e) { } } } }); }</code><technical_language>I TextUtils.isEmpty() here, @NonNull annotation prevent NPEs. AppLog it, miss if this happen recurrently in future due bad input</technical_language>

Target:
public void saveCredentialsInSmartLock(@NonNull final String username, @NonNull final String password, @NonNull final String displayName, @Nullable final Uri profilePicture) { if (TextUtils.isEmpty(password) || TextUtils.isEmpty(username)) { AppLog.i(T.MAIN, String.format( "Cannot save Smart Lock credentials, username (%s) or password (%s) is empty", username, password)); return; } Activity activity = getActivityAndCheckAvailability(); if (activity == null || mCredentialsClient == null || !mCredentialsClient.isConnected()) { return; } Credential credential = new Credential.Builder(username).setPassword(password) .setName(displayName).setProfilePictureUri(profilePicture).build(); Auth.CredentialsApi.save(mCredentialsClient, credential).setResultCallback( new ResultCallback<Status>() { @Override public void onResult(@NonNull Status status) { if (!status.isSuccess() && status.hasResolution()) { try { Activity activity = getActivityAndCheckAvailability(); if (activity == null) { return; } status.startResolutionForResult(activity, SignInActivity.SMART_LOCK_SAVE); } catch (IntentSender.SendIntentException e) { } } } }); }
Source:
<code><START> public void injectAccountAndContainerForPutRequest(RestRequest restRequest, RestRequestMetricsGroup metricsGroup) <END> throws RestServiceException { accountAndContainerSanityCheckForNamedBlob(restRequest); if (restRequest.getUri() != null) { frontendMetrics.putWithAccountAndContainerHeaderRate.mark(); injectAccountAndContainerUsingAccountAndContainerUri(restRequest, metricsGroup); } else if (frontendConfig.allowServiceIdBasedPutRequest) { ensureRequiredHeadersOrThrow(restRequest, requiredAmbryHeadersForPutWithServiceId); frontendMetrics.putWithServiceIdForAccountNameRate.mark(); String serviceId = getHeader(restRequest.getArgs(), Headers.SERVICE_ID, true); boolean isPrivate = isPrivate(restRequest.getArgs()); injectAccountAndContainerUsingServiceId(restRequest, serviceId, isPrivate, metricsGroup); } else { throw new RestServiceException( "Missing either " + Headers.TARGET_ACCOUNT_NAME + " or " + Headers.TARGET_CONTAINER_NAME + " header", RestServiceErrorCode.BadRequest); } }</code><technical_language>put requests injected differently post requests? Put requests blobId, here</technical_language>

Target:
public void injectAccountAndContainerForPutRequest(RestRequest restRequest, RestRequestMetricsGroup metricsGroup) throws RestServiceException { accountAndContainerSanityCheck(restRequest); if (restRequest.getUri() != null) { frontendMetrics.putWithAccountAndContainerHeaderRate.mark(); injectAccountAndContainerUsingAccountAndContainerUri(restRequest, metricsGroup); } else { throw new RestServiceException( "Missing either " + Headers.TARGET_ACCOUNT_NAME + " or " + Headers.TARGET_CONTAINER_NAME + " header", RestServiceErrorCode.BadRequest); } }
Source:
<code><START> public static WsClient newWsClient() { <END> return WsClientFactories.getDefault().newClient(HttpConnector.newBuilder() .url(orchestrator.getServer().getUrl()) .build()); }</code><technical_language>access private</technical_language>

Target:
private static WsClient newWsClient() { return WsClientFactories.getDefault().newClient(HttpConnector.newBuilder() .url(orchestrator.getServer().getUrl()) .build()); }
Source:
<code>public List<GBTData> parse() { final List<GBTData> retList = new LinkedList<>(); for (final Pair<LongWritable, Text> keyValue : dataSet) { final String text = keyValue.getSecond().toString().trim(); if (text.startsWith("#") || text.length() == 0) { continue; } final String[] split = text.split("\\s+"); final Vector feature = vectorFactory.createDenseZeros(numFeatures); final int identity = Integer.parseInt(split[0]); for (int index = 1; index <= numFeatures; index++) { feature.set(index - 1, Double.parseDouble(split[index])); } <START> final double yValue = Double.parseDouble(split[numFeatures + 1]); <END> retList.add(new GBTData(identity, feature, yValue)); } return retList; }</code><technical_language>implicitly assuming split numFeatures + 2 elements. However, good add assertion (assert(split.length() == numFeatures + 2);) L69</technical_language>

Target:
public List<GBTData> parse() { final List<GBTData> retList = new LinkedList<>(); for (final Pair<LongWritable, Text> keyValue : dataSet) { final String text = keyValue.getSecond().toString().trim(); if (text.startsWith("#") || text.length() == 0) { continue; } final String[] split = text.split("\\s+"); assert (split.length == numFeatures + 1); final Vector feature = vectorFactory.createDenseZeros(numFeatures); for (int index = 0; index < numFeatures; index++) { feature.set(index, Double.parseDouble(split[index])); } final double yValue = Double.parseDouble(split[numFeatures]); retList.add(new GBTData(feature, yValue)); } return retList; }
Source:
<code>private void rotate() { long currentTimeMillis = System.currentTimeMillis(); long lastRotateTimestampMillis = this.lastRotateTimestampMillis.get(); CKMSQuantiles currentBucket = buckets.peek(); while (currentTimeMillis - lastRotateTimestampMillis > durationBetweenRotatesMillis) { CKMSQuantiles bucket = new CKMSQuantiles(quantiles); if (this.lastRotateTimestampMillis.compareAndSet( lastRotateTimestampMillis, lastRotateTimestampMillis + durationBetweenRotatesMillis) <START> && buckets.remove(currentBucket)) { <END> buckets.add(bucket); } lastRotateTimestampMillis = this.lastRotateTimestampMillis.get(); currentBucket = buckets.peek(); } }</code><technical_language>a difference buckets.remove() buckets.remove(currentBucket), compareAndSet fail concurrent modifications</technical_language>

Target:
private void rotate() { long currentTime = System.nanoTime(); long lastRotate = lastRotateTimestampNanos.get(); while (currentTime - lastRotate > durationBetweenRotatesNanos) { if (lastRotateTimestampNanos.compareAndSet(lastRotate, lastRotate + durationBetweenRotatesNanos)) { CKMSQuantiles[] oldBuckets = buckets.get(); int ageBuckets = oldBuckets.length; CKMSQuantiles[] newBuckets = new CKMSQuantiles[ageBuckets]; newBuckets[ageBuckets - 1] = new CKMSQuantiles(quantiles); System.arraycopy(oldBuckets, 1, newBuckets, 0, ageBuckets - 1); while (!buckets.compareAndSet(oldBuckets, newBuckets)) { oldBuckets = buckets.get(); System.arraycopy(oldBuckets, 1, newBuckets, 0, ageBuckets - 1); } } lastRotate = lastRotateTimestampNanos.get(); } }
Source:
<code>public void testWaitForCompletionSuccess() { TestAnalysis module = setUpAnalysis(); IStatus status = module.schedule(); assertEquals(IStatus.ERROR, status.getSeverity()); try { module.setTrace(TmfTestTrace.A_TEST_10K.getTrace()); } catch (TmfAnalysisException e) { fail(e.getMessage()); } module.setParameter(TestAnalysis.PARAM_TEST, 1); status = module.schedule(); assertEquals(Status.OK_STATUS, status); boolean completed = module.waitForCompletion(); assertTrue(completed); <START> assertEquals(1, module.getAnalysisOutput()); <END> }</code><technical_language>Add module.dispose()</technical_language>

Target:
public void testWaitForCompletionSuccess() { TestAnalysis module = setUpAnalysis(); IStatus status = module.schedule(); assertEquals(IStatus.ERROR, status.getSeverity()); try { module.setTrace(TmfTestTrace.A_TEST_10K.getTrace()); } catch (TmfAnalysisException e) { fail(e.getMessage()); } module.setParameter(TestAnalysis.PARAM_TEST, 1); status = module.schedule(); assertEquals(Status.OK_STATUS, status); boolean completed = module.waitForCompletion(); assertTrue(completed); assertEquals(1, module.getAnalysisOutput()); module.dispose(); }
Source:
<code>public void cleanup() throws DBException { try { <START> mclient.drain(); <END> mclient.close(); } catch (NoConnectionsException e) { logger.error(e.getMessage(), e); } catch (InterruptedException e) { logger.error(e.getMessage(), e); } mclient = null; }</code><technical_language>a nit, a null guard here</technical_language>

Target:
public void cleanup() throws DBException { if (mclient != null && mclient.getConnectedHostList().size() > 0) { try { mclient.drain(); mclient.close(); } catch (NoConnectionsException e) { logger.error(e.getMessage(), e); } catch (InterruptedException e) { logger.error(e.getMessage(), e); } mclient = null; } }
Source:
<code>private void dumpFoundVertxApplications(List<String> cmd) throws IOException, InterruptedException { boolean none = true; final Process process = new ProcessBuilder(cmd).start(); <START> BufferedReader reader = <END> new BufferedReader(new InputStreamReader(process.getInputStream())); String line; while ((line = reader.readLine()) != null) { final Matcher matcher = PS.matcher(line); if (matcher.find()) { out.println(matcher.group(1)); none = false; } } process.waitFor(); if (none) { out.println("No vert.x application found."); } }</code><technical_language>close reader</technical_language>

Target:
private void dumpFoundVertxApplications(List<String> cmd) throws IOException, InterruptedException { boolean none = true; final Process process = new ProcessBuilder(cmd).start(); BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream())); String line; while ((line = reader.readLine()) != null) { final Matcher matcher = PS.matcher(line); if (matcher.find()) { out.println(matcher.group(1)); none = false; } } process.waitFor(); reader.close(); if (none) { out.println("No vert.x application found."); } }
Source:
<code>public void toFlowableError1() { TestSubscriber<Integer> ts = Observable.range(1, 5) .toFlowable(BackpressureStrategy.ERROR) .test(1) <START> .assertError(MissingBackpressureException.class); <END> }</code><technical_language>assertFailure(MissingBackpressureException.class, 1) 1 through</technical_language>

Target:
public void toFlowableError1() { TestSubscriber<Integer> ts = Observable.range(1, 5) .toFlowable(BackpressureStrategy.ERROR) .test(1) .assertFailure(MissingBackpressureException.class, 1); }
Source:
<code>public static void afterClass() throws Exception { if (cacheManager != null && cacheManager.getStatus() == Status.AVAILABLE) { <START> System.out.println("====> Asking Ehcache to stop sending stats"); <END> if (tmsAgentService != null) { Context ehcacheClient = readTopology().getClient(ehcacheClientIdentifier).get().getContext().with("cacheManagerName", "my-super-cache-manager"); tmsAgentService.stopStatisticCollector(ehcacheClient).waitForReturn(); } System.out.println("====> Closing Ehcache"); cacheManager.close(); } if (tmsAgentService != null) { System.out.println("====> Asking server to stop sending stats"); Context context = readTopology().getSingleStripe().getActiveServerEntity(tmsServerEntityIdentifier).get().getContext(); tmsAgentService.stopStatisticCollector(context); System.out.println("====> Closing management connection"); managementConnection.close(); } }</code><technical_language>System.out</technical_language>

Target:
public static void afterClass() throws Exception { if (cacheManager != null && cacheManager.getStatus() == Status.AVAILABLE) { if (tmsAgentService != null) { Context ehcacheClient = readTopology().getClient(ehcacheClientIdentifier).get().getContext().with("cacheManagerName", "my-super-cache-manager"); tmsAgentService.stopStatisticCollector(ehcacheClient).waitForReturn(); } cacheManager.close(); } if (tmsAgentService != null) { Context context = readTopology().getSingleStripe().getActiveServerEntity(tmsServerEntityIdentifier).get().getContext(); tmsAgentService.stopStatisticCollector(context); managementConnection.close(); } }
Source:
<code>private boolean isUncheckedExceptionCatchBlock(BytecodeCFG.Block b) { String exceptionTypeName = b.getExceptionType(); if (exceptionTypeName == null) { return false; } Type exceptionType = semanticModel.getClassType(exceptionTypeName); if (exceptionType == null) { return false; } <START> return exceptionType.isSubtypeOf("java.lang.RuntimeException") <END> || exceptionType.isSubtypeOf("java.lang.Error") || exceptionType.is("java.lang.Exception") || exceptionType.is("java.lang.Throwable"); }</code><technical_language>I I prefer this part shared EGWalker. In order handling unchecked exceptions way. putting a static method in ExceptionalSymbolicValue ? public static boolean isUncheckedException(@Nullable Type exceptionType) { if (exceptionType == null) { return false; } return exceptionType.isSubtypeOf("java.lang.RuntimeException") || exceptionType.isSubtypeOf("java.lang.Error") || exceptionType.is("java.lang.Exception") || exceptionType.is("java.lang.Throwable"); }</technical_language>

Target:
private boolean isUncheckedExceptionCatchBlock(BytecodeCFG.Block b) { String exceptionTypeName = b.getExceptionType(); if (exceptionTypeName == null) { return false; } Type exceptionType = semanticModel.getClassType(exceptionTypeName); return ExceptionUtils.isUncheckedException(exceptionType); }
Source:
<code>public Map<String, Object> asMap() { Map<String, Object> map = super.asMap(); doIfNotNull(spot, sp -> { putIfValueNotNull(map, AwsInstanceTemplate.EC2_SPOT_PERCENTAGE, sp.getPercentage()); putIfValueNotNull(map, AwsInstanceTemplate.EC2_SPOT_MAX_PRICE, sp.getMaxPrice()); }); if (encryption != null) { putIfValueNotNull(map, InstanceTemplate.VOLUME_ENCRYPTION_KEY_TYPE, encryption.getType()); putIfValueNotNull(map, AwsInstanceTemplate.EBS_ENCRYPTION_ENABLED, encryption.getType() != EncryptionType.NONE); } if (placementGroup != null) { putIfValueNotNull(map, AwsInstanceTemplate.PLACEMENT_GROUP_STRATEGY, placementGroup.getStrategy().name()); <START> } <END> return map; }</code><technical_language>if null put map</technical_language>

Target:
public Map<String, Object> asMap() { Map<String, Object> map = super.asMap(); doIfNotNull(spot, sp -> { putIfValueNotNull(map, AwsInstanceTemplate.EC2_SPOT_PERCENTAGE, sp.getPercentage()); putIfValueNotNull(map, AwsInstanceTemplate.EC2_SPOT_MAX_PRICE, sp.getMaxPrice()); }); if (encryption != null) { putIfValueNotNull(map, InstanceTemplate.VOLUME_ENCRYPTION_KEY_TYPE, encryption.getType()); putIfValueNotNull(map, AwsInstanceTemplate.EBS_ENCRYPTION_ENABLED, encryption.getType() != EncryptionType.NONE); } putIfValueNotNull(map, AwsInstanceTemplate.PLACEMENT_GROUP_STRATEGY, Optional.ofNullable(placementGroup) .map(AwsPlacementGroupV4Parameters::getStrategy) .orElse(AwsPlacementGroupStrategy.NONE).name()); return map; }
Source:
<code>public void start() throws ReplicationException { try { for (String mountPath : partitionGroupedByMountPath.keySet()) { readFromFileAndPersistIfNecessary(mountPath); } if (dataNodeRemoteReplicaInfosPerDC.size() == 0) { logger.warn("Number of Datacenters to replicate from is 0, not starting any replica threads"); return; } assignReplicasToThreadPool(); replicationMetrics.trackLiveThreadsCount(replicaThreadPools, dataNodeId.getDatacenterName()); replicationMetrics.trackReplicationDisabledPartitions(replicaThreadPools); for (List<ReplicaThread> replicaThreads : replicaThreadPools.values()) { for (ReplicaThread thread : replicaThreads) { Thread replicaThread = Utils.newThread(thread.getName(), thread, false); logger.info("Starting replica thread " + thread.getName()); replicaThread.start(); } } this.scheduler.scheduleAtFixedRate(persistor, replicationConfig.replicationTokenFlushDelaySeconds, replicationConfig.replicationTokenFlushIntervalSeconds, TimeUnit.SECONDS); } catch (IOException e) { <START> logger.error("IO error while starting replication"); <END> } }</code><technical_language>include e in log message</technical_language>

Target:
public void start() throws ReplicationException { try { for (String mountPath : partitionGroupedByMountPath.keySet()) { readFromFileAndPersistIfNecessary(mountPath); } if (dataNodeRemoteReplicaInfosPerDC.size() == 0) { logger.warn("Number of Datacenters to replicate from is 0, not starting any replica threads"); return; } assignReplicasToThreadPool(); replicationMetrics.trackLiveThreadsCount(replicaThreadPools, dataNodeId.getDatacenterName()); replicationMetrics.trackReplicationDisabledPartitions(replicaThreadPools); for (List<ReplicaThread> replicaThreads : replicaThreadPools.values()) { for (ReplicaThread thread : replicaThreads) { Thread replicaThread = Utils.newThread(thread.getName(), thread, false); logger.info("Starting replica thread " + thread.getName()); replicaThread.start(); } } this.scheduler.scheduleAtFixedRate(persistor, replicationConfig.replicationTokenFlushDelaySeconds, replicationConfig.replicationTokenFlushIntervalSeconds, TimeUnit.SECONDS); } catch (IOException e) { logger.error("IO error while starting replication", e); } }
Source:
<code>private static void consumeStreamSilently(InputStream is) { char[] tmpBuff = new char[8 * 1024]; InputStreamReader isr = new InputStreamReader(is); try { try { while (isr.read(tmpBuff) > -1) { } } finally { isr.close(); } } catch (IOException e) { <START> e.printStackTrace(); <END> } }</code><technical_language>Propagate exception java.util.logging.Logger.getAnonymousLogger() log test errors</technical_language>

Target:
private static void consumeStreamSilently(InputStream is) { char[] tmpBuff = new char[8 * 1024]; InputStreamReader isr = new InputStreamReader(is); try { try { while (isr.read(tmpBuff) > -1) { } } finally { isr.close(); } } catch (IOException e) { java.util.logging.Logger.getAnonymousLogger().log(Level.WARNING, "Error ocured during reading InputStream.", e); } }
Source:
<code>private void resolveModuleConfigReferences(List<? extends Module> modules, Map<String, ?> ruleConfiguration) { if (modules != null) { StringBuffer statusDescription = new StringBuffer(); for (Module module : modules) { try { ReferenceResolver.updateConfiguration(module.getConfiguration(), ruleConfiguration, logger); } catch (Exception e) { statusDescription.append(" in module[" + module.getId() + "]: " + e.getLocalizedMessage() + ";"); } } String statusDescriptionStr = statusDescription.toString(); if (!statusDescriptionStr.isEmpty()) { <START> throw new IllegalArgumentException(String.format("Incorrect configurations:%s", statusDescriptionStr)); <END> } } }</code><technical_language>add a space %s (or string concatenation here)</technical_language>

Target:
private void resolveModuleConfigReferences(List<? extends Module> modules, Map<String, ?> ruleConfiguration) { if (modules != null) { StringBuffer statusDescription = new StringBuffer(); for (Module module : modules) { try { ReferenceResolver.updateConfiguration(module.getConfiguration(), ruleConfiguration, logger); } catch (IllegalArgumentException e) { statusDescription.append(" in module[" + module.getId() + "]: " + e.getLocalizedMessage() + ";"); } } String statusDescriptionStr = statusDescription.toString(); if (!statusDescriptionStr.isEmpty()) { throw new IllegalArgumentException(String.format("Incorrect configurations: %s", statusDescriptionStr)); } } }
Source:
<code>public UserStoragePreference getUserStoragePreference(String userId, String gatewayId, String storageId) throws AppCatalogException { UserStoragePreferenceRepository userStoragePreferenceRepository = new UserStoragePreferenceRepository(); Map<String, Object> queryParameters = new HashMap<>(); queryParameters.put(DBConstants.UserStoragePreference.USER_ID, userId); queryParameters.put(DBConstants.UserStoragePreference.GATEWAY_ID, gatewayId); queryParameters.put(DBConstants.UserStoragePreference.STORAGE_RESOURCE_ID, storageId); <START> List<UserStoragePreference> userStoragePreferenceList = <END> userStoragePreferenceRepository.select(QueryConstants.GET_USER_STORAGE_PREFERENCE, -1, 0, queryParameters); if(!userStoragePreferenceList.isEmpty() && userStoragePreferenceList != null) { logger.debug("Return the record (there is only one record)"); return userStoragePreferenceList.get(0); } return null; }</code><technical_language>Same, do a userStoragePreferenceRepository.get()</technical_language>

Target:
public UserStoragePreference getUserStoragePreference(String userId, String gatewayId, String storageId) throws AppCatalogException { UserStoragePreferenceRepository userStoragePreferenceRepository = new UserStoragePreferenceRepository(); UserStoragePreferencePK userStoragePreferencePK = new UserStoragePreferencePK(); userStoragePreferencePK.setUserId(userId); userStoragePreferencePK.setGatewayId(gatewayId); userStoragePreferencePK.setStorageResourceId(storageId); UserStoragePreference userStoragePreference = userStoragePreferenceRepository.get(userStoragePreferencePK); return userStoragePreference; }
Source:
<code>public Response getRatedUser( @PathParam("uuid") String uuid){ CommentsManager commentsManager = APIUtil.getCommentsManager(); int ratedUsers=0; try { ratedUsers= commentsManager.getRatedUser(uuid); } catch (SQLException e) { <START> log.error("SQL Exception occurs", e); <END> } return Response.status(Response.Status.OK).entity(ratedUsers).build(); }</code><technical_language>send a 500 error response here</technical_language>

Target:
public Response getRatedUser( @PathParam("uuid") String uuid) { CommentsManager commentsManager = APIUtil.getCommentsManager(); int ratedUsers = 0; try { ratedUsers = commentsManager.getRatedUser(uuid); } catch (CommentManagementException e) { log.error("Comment Management Exception occurs", e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR) .entity("Internal server error occurs").build(); } catch (ApplicationManagementException e) { log.error("Application Management Exception occurs", e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR) .entity("Application with UUID" + uuid + " Internal server error occurs").build(); } return Response.status(Response.Status.OK).entity(ratedUsers).build(); }
Source:
<code>public void testUnmarshallTopLevelEmptyEventProperties() throws Exception { Diagram<Graph, Metadata> diagram = unmarshall(marshaller, BPMN_START_EVENT_FILE_PATH); assertDiagram(diagram, AMOUNT_OF_NODES_IN_DIAGRAM); StartEscalationEvent emptyTop = getStartNodeById(diagram, EMPTY_TOP_LEVEL_EVENT_ID, StartEscalationEvent.class); assertGeneralSet(emptyTop.getGeneral(), EMPTY_VALUE, EMPTY_VALUE); <START> assertEscalationEventExecutionSet(emptyTop.getExecutionSet(), EMPTY_VALUE, INTERRUPTING, ""); <END> assertDataIOSet(emptyTop.getDataIOSet(), EMPTY_VALUE); }</code><technical_language>suggestion assertEscalationEventExecutionSet(emptyTop.getExecutionSet(), EMPTY_VALUE, INTERRUPTING, EMPTY_VALUE);</technical_language>

Target:
public void testUnmarshallTopLevelEmptyEventProperties() throws Exception { Diagram<Graph, Metadata> diagram = unmarshall(marshaller, BPMN_START_EVENT_FILE_PATH); assertDiagram(diagram, AMOUNT_OF_NODES_IN_DIAGRAM); StartEscalationEvent emptyTop = getStartNodeById(diagram, EMPTY_TOP_LEVEL_EVENT_ID, StartEscalationEvent.class); assertGeneralSet(emptyTop.getGeneral(), EMPTY_VALUE, EMPTY_VALUE); assertEscalationEventExecutionSet(emptyTop.getExecutionSet(), EMPTY_VALUE, INTERRUPTING, EMPTY_VALUE); assertDataIOSet(emptyTop.getDataIOSet(), EMPTY_VALUE); }
Source:
<code>public FileEditor createEditor(@NotNull Project project, @NotNull VirtualFile file) { throw new <START> RuntimeException( <END> "SystemInfoEditorProvider should let the default text editor provider handle this file type, and this method should not be called."); }</code><technical_language>UnsupportedOperationException</technical_language>

Target:
public FileEditor createEditor(@NotNull Project project, @NotNull VirtualFile file) { throw new UnsupportedOperationException( "SystemInfoEditorProvider should let the default text editor provider handle this file type, and this method should not be called."); }
Source:
<code>public String getSQL() { String left = getContextSQL(nodes[LEFT]); String right = getContextSQL(nodes[RIGHT]); StringBuffer sb = new StringBuffer(); <START> sb.append(left).append(' ').append(Tokens.T_STARTS).append(Tokens.T_WITH).append(' '); <END> sb.append(right); return sb.toString(); }</code><technical_language>space STARTS WITH?</technical_language>

Target:
public String getSQL() { String left = getContextSQL(nodes[LEFT]); String right = getContextSQL(nodes[RIGHT]); StringBuffer sb = new StringBuffer(); sb.append(left).append(' ').append(Tokens.T_STARTS).append(' ').append(Tokens.T_WITH).append(' '); sb.append(right); return sb.toString(); }
Source:
<code>private Set<String> listProjectsFor(final String user, final String token) throws Exception { Set<String> names = new HashSet<>(); try { ConfigBuilder builder = new ConfigBuilder(false).withOauthToken(token) .withMasterUrl(openshiftMasterUrl) .withTrustCerts(openshiftMasterUrlTrustedCert); if (openshiftCaPath != null) { builder.withCaCertFile(openshiftCaPath); } <START> <END> try (OpenShiftClient client = clientFactory.create(builder.build())) { List<Project> projects = client.projects().list().getItems(); for (Project project : projects) { if (!isBlacklistProject(project.getMetadata().getName())) { names.add(project.getMetadata().getName() + "." + project.getMetadata().getUid()); } } } } catch (KubernetesClientException e) { LOGGER.error("Error retrieving project list for '{}'", e, user); throw new ElasticsearchSecurityException(e.getMessage()); } catch (Exception e) { LOGGER.error("Error retrieving project list for '{}'", e, user); } return names; }</code><technical_language>additional types of Exceptions thrown need handled? e.g. if user specifies incorrect openshiftCaPath api throw a FileNotFound PermissionDenied some other type of exception? I want e.g. if user a typo easily identify problem, if user set right file permission, etc</technical_language>

Target:
private Set<Project> listProjectsFor(final String user, final String token) throws Exception { final SecurityManager sm = System.getSecurityManager(); if (sm != null) { sm.checkPermission(new SpecialPermission()); } return AccessController.doPrivileged(new PrivilegedAction<Set<Project>>(){ @Override public Set<Project> run() { Set<Project> projects = apiService.projectNames(token); for (Iterator<Project> it = projects.iterator(); it.hasNext();) { if (isBlacklistProject(it.next().getName())) { it.remove(); } } return projects; } }); }
Source:
<code>public void deleteFile(File dFile) { if ((dFile.isDirectory() && dFile.list().length == 0) || dFile.isFile()) { <START> dFile.delete(); <END> } else { String files[] = dFile.list(); for (String file : files) { File fileDelete = new File(dFile, file); deleteFile(fileDelete); } } if (dFile.isDirectory() && dFile.list().length == 0) { dFile.delete(); } }</code><technical_language>I clicked delete xml_files_dir parent directory 2 xml files in it, deleted all! I want delete a directory contains files. if do, confirmation message explicitly mention directory. above, in run method, do some more processing of selected item showing a message depends selection</technical_language>

Target:
public void deleteFile(File dFile) { if ((dFile.isDirectory() && dFile.list().length == 0) || dFile.isFile()) { dFile.delete(); } else { String files[] = dFile.list(); for (String file : files) { File fileDelete = new File(dFile, file); deleteFile(fileDelete); } } dFile.delete(); XmlAnalysisModuleSource.notifyModuleChange(); }
Source:
<code>public static boolean shouldCaptureIncrementalChanges(FileSystem fs,Path rootDir) throws StandardException{ boolean shouldRegister = false; try { boolean enabled = incrementalBackupEnabled(); if (enabled) { RecoverableZooKeeper zooKeeper = ZkUtils.getRecoverableZooKeeper(); String spliceBackupPath = BackupUtils.getBackupPath(); if (zooKeeper.exists(spliceBackupPath, false)==null){ return false; } boolean isRestoreMode = SIDriver.driver().lifecycleManager().isRestoreMode(); if (!isRestoreMode) { List<String> backupJobs = zooKeeper.getChildren(spliceBackupPath, false); if (backupJobs.size() > 0) { for (String backupId : backupJobs) { String path = spliceBackupPath + "/" + backupId; byte[] data = zooKeeper.getData(path, false, null); BackupJobStatus status = BackupJobStatus.parseFrom(data); if (status.getScope() == BackupJobStatus.BackupScope.DATABASE) { if (LOG.isDebugEnabled()) { SpliceLogUtils.debug(LOG, "A database backup is running"); } shouldRegister = true; } } } <START> else if (BackupUtils.existsDatabaseBackup(fs, rootDir)) { <END> if (LOG.isDebugEnabled()) { SpliceLogUtils.debug(LOG, "There exists a successful full or incremental backup in the system"); } shouldRegister = true; } } } return shouldRegister; } catch (Exception e) { e.printStackTrace(); throw StandardException.plainWrapException(e); } }</code><technical_language>if a table/schema backup a previous full backup ? this change register HFile wouldn't. change check if (!shouldRegister && BackupUtils.existsDatabaseBackup(fs, rootDir) ? create a race condition in SYSBACKUPS file too</technical_language>

Target:
public static boolean shouldCaptureIncrementalChanges(FileSystem fs,Path rootDir) throws StandardException{ boolean shouldRegister = false; try { boolean enabled = incrementalBackupEnabled(); if (enabled) { RecoverableZooKeeper zooKeeper = ZkUtils.getRecoverableZooKeeper(); String spliceBackupPath = BackupUtils.getBackupPath(); if (zooKeeper.exists(spliceBackupPath, false)==null){ return false; } boolean isRestoreMode = SIDriver.driver().lifecycleManager().isRestoreMode(); if (!isRestoreMode) { List<String> backupJobs = zooKeeper.getChildren(spliceBackupPath, false); if (backupJobs.size() > 0) { for (String backupId : backupJobs) { String path = spliceBackupPath + "/" + backupId; byte[] data = zooKeeper.getData(path, false, null); BackupJobStatus status = BackupJobStatus.parseFrom(data); if (status.getScope() == BackupJobStatus.BackupScope.DATABASE) { if (LOG.isDebugEnabled()) { SpliceLogUtils.debug(LOG, "A database backup is running"); } shouldRegister = true; } } } if (!shouldRegister && BackupUtils.existsDatabaseBackup(fs, rootDir)) { if (LOG.isDebugEnabled()) { SpliceLogUtils.debug(LOG, "There exists a successful full or incremental backup in the system"); } shouldRegister = true; } } } return shouldRegister; } catch (Exception e) { e.printStackTrace(); throw StandardException.plainWrapException(e); } }
Source:
<code>public void merge(TDigest other) { checkArgument(other != null, "Cannot merge with a null t-digest"); checkArgument(this.publicCompression == other.getCompressionFactor(), format("TDigests must have the same compression, found (%s, %s)", this.publicCompression, other.getCompressionFactor())); <START> List<Centroid> tmp = new ArrayList<>(); <END> for (Centroid centroid : other.centroids()) { tmp.add(centroid); } shuffle(tmp, gen); for (Centroid centroid : tmp) { add(centroid.getMean(), centroid.getWeight()); } }</code><technical_language>List<Centroid> centroids = new ArrayList<>(other.centroidCount());</technical_language>

Target:
public void merge(TDigest other) { checkArgument(other != null, "Cannot merge with a null t-digest"); checkArgument(this.publicCompression == other.getCompressionFactor(), "TDigests must have the same compression, found (%s, %s)", this.publicCompression, other.getCompressionFactor()); List<Centroid> tmp = new ArrayList<>(); for (Centroid centroid : other.centroids()) { tmp.add(centroid); } shuffle(tmp, gen); for (Centroid centroid : tmp) { add(centroid.getMean(), centroid.getWeight()); } }
Source:
<code>public void onCommandSend(final PlayerCommandSendEvent event) { User user = ess.getUser(event.getPlayer()); ArrayList<String> removedCmds = new ArrayList<>(event.getCommands()); event.getCommands().removeIf(str -> shouldHideFromUser(str, user)); removedCmds.removeAll(event.getCommands()); <START> ess.getLogger().info("Removed commands: " + removedCmds.toString()); <END> }</code><technical_language>this need logged time if debug is enabled</technical_language>

Target:
public void onCommandSend(final PlayerCommandSendEvent event) { User user = ess.getUser(event.getPlayer()); ArrayList<String> removedCmds = new ArrayList<>(event.getCommands()); event.getCommands().removeIf(str -> shouldHideFromUser(str, user)); if (ess.getSettings().isDebug()) { removedCmds.removeAll(event.getCommands()); ess.getLogger().info("Removed commands: " + removedCmds.toString()); } }
Source:
<code>void setEnd(int end) { this.end = end; <START> if (this.end > this.maxSeen) <END> { this.maxSeen = this.end; } }</code><technical_language>need sequence number wrap account. Alternatively, do is unconditionally set maxSeen, prevent maxSeen set if end set. However, I adding this kind of logic in setters. a getMaxOrEnd() method</technical_language>

Target:
void setEnd(int end) { this.end = end; }
Source:
<code>public EventBuilder setEventData(Eventful entity) { if (entity != null) { if (entity instanceof Named && ((Named) entity).getName() != null) { event.setTargetName(((Named) entity).getName()); } if (entity instanceof Owned) { Owner entityOwner = ((Owned) entity).getOwner(); if (entityOwner != null && entityOwner.getId() != null) { event.setOwnerId(entityOwner.getId()); } } if (entity instanceof Entitlement) { event.setReferenceType(Event.ReferenceType.POOL); Pool referencedPool = ((Entitlement) entity).getPool(); if (referencedPool != null && referencedPool.getId() != null) { event.setReferenceId(referencedPool.getId()); } } if ((String) entity.getId() != null) { event.setEntityId((String) entity.getId()); if (entity instanceof ConsumerProperty) { Consumer owningConsumer = ((ConsumerProperty) entity).getConsumer(); if (owningConsumer != null && owningConsumer.getId() != null) { event.setConsumerId(owningConsumer.getId()); } } } if (event.getTarget().equals(Target.POOL) && event.getType().equals(Type.CREATED)) { <START> StringBuilder eventDataBuilder = new StringBuilder() <END> .append("{\"subscriptionId\": \"") .append(((Pool) entity).getSubscriptionId()) .append("\"") .append("}"); event.setEventData(eventDataBuilder.toString()); } } return this; }</code><technical_language>I want get in habit of manually building JSON strings. JsonObjectBuilder javax.json package, build maps pass Jackson (ObjectMapper) directly</technical_language>

Target:
public EventBuilder setEventData(Eventful entity) { if (entity != null) { if (entity instanceof Named && ((Named) entity).getName() != null) { event.setTargetName(((Named) entity).getName()); } if (entity instanceof Owned) { Owner entityOwner = ((Owned) entity).getOwner(); if (entityOwner != null && entityOwner.getId() != null) { event.setOwnerId(entityOwner.getId()); } } if (entity instanceof Entitlement) { event.setReferenceType(Event.ReferenceType.POOL); Pool referencedPool = ((Entitlement) entity).getPool(); if (referencedPool != null && referencedPool.getId() != null) { event.setReferenceId(referencedPool.getId()); } } if (entity.getId() != null) { event.setEntityId((String) entity.getId()); if (entity instanceof ConsumerProperty) { Consumer owningConsumer = ((ConsumerProperty) entity).getConsumer(); if (owningConsumer != null && owningConsumer.getId() != null) { event.setConsumerId(owningConsumer.getId()); } } } if (event.getTarget().equals(Target.POOL) && event.getType().equals(Type.CREATED)) { Map<String, String> eventData = new HashMap<String, String>(); eventData.put("subscriptionId", ((Pool) entity).getSubscriptionId()); try { event.setEventData(mapper.writeValueAsString(eventData)); } catch (JsonProcessingException e) { log.error("Error while building JSON for pool.created event.", e); throw new IseException("Error while building JSON for pool.created event."); } } } return this; }
Source:
<code>public void getProcessData() throws InterruptedException, ExecutionException, TimeoutException { <START> final AsyncCompletionWaitor<IThreadDMData> waitor = new AsyncCompletionWaitor<>(); <END> final DataRequestMonitor<IThreadDMData> rm = new DataRequestMonitor<IThreadDMData>(fSession.getExecutor(), null) { @Override protected void handleCompleted() { if (isSuccess()) { waitor.setReturnInfo(getData()); } waitor.waitFinished(getStatus()); } }; final IProcessDMContext processContext = DMContexts.getAncestorOfType(SyncUtil.getContainerContext(), IProcessDMContext.class); fSession.getExecutor().submit(new Runnable() { @Override public void run() { fProcService.getExecutionData(processContext, rm); } }); waitor.waitUntilDone(TestsPlugin.massageTimeout(2000)); Assert.assertTrue(waitor.getMessage(), waitor.isOK()); IThreadDMData processData = waitor.getReturnInfo(); Assert.assertNotNull("No process data is returned for Process DMC", processData); Assert.assertTrue("Process data should be executable name " + EXEC_NAME + "but we got " + processData.getName(), processData.getName().contains(EXEC_NAME)); }</code><technical_language>this test a Query instead</technical_language>

Target:
public void getProcessData() throws InterruptedException, ExecutionException, TimeoutException { final IProcessDMContext processContext = DMContexts.getAncestorOfType( SyncUtil.getContainerContext(), IProcessDMContext.class); Query<IThreadDMData> query = new Query<IThreadDMData>() { @Override protected void execute(DataRequestMonitor<IThreadDMData> rm) { fProcService.getExecutionData(processContext, rm); } }; fProcService.getExecutor().execute(query); IThreadDMData processData = query.get(TestsPlugin.massageTimeout(2000), TimeUnit.MILLISECONDS); Assert.assertNotNull("No process data is returned for Process DMC", processData); Assert.assertTrue("Process data should be executable name " + EXEC_NAME + "but we got " + processData.getName(), processData.getName().contains(EXEC_NAME)); }
Source:
<code>public boolean add(Tuple ps, int count) { if (count <= 0) { throw new IllegalArgumentException("The count value must be positive!"); } <START> boolean exists = occurrences.containsKey(ps); <END> if (exists) occurrences.put(ps, occurrences.get(ps) + count); else occurrences.put(ps, count); return !exists; }</code><technical_language>microoptimization nitpick: replace this Integer oldCount = occurences.get(ps); boolean exists = oldCount != null if (exists) occurrences.put(ps, oldCount + count) ... this way, get spare superfluous hashmap access</technical_language>

Target:
public boolean add(Tuple ps, int count) { if (count < 0) { throw new IllegalArgumentException("The count value must be positive!"); } Integer oldCount = occurrences.get(ps); if (oldCount != null) { occurrences.put(ps, oldCount + count); } else { occurrences.put(ps, count); } return oldCount == null; }
Source:
<code>public void stop() { LOG.info("Stop called."); <START> _executor.shutdown(); <END> while (!_executor.isTerminated()) { Thread.yield(); } }</code><technical_language>this, need a volatile signal executeTask stop, right</technical_language>

Target:
public void stop() { LOG.info("Stop called."); _executor.shutdownNow(); while (!_executor.isTerminated()) { Thread.yield(); } }
Source:
<code>public void testDruidRequestBodyToJson() { DruidClient.DruidRequestBody requestBody = new DruidClient.DruidRequestBody( <START> "select \"column.1\" from \"table-1\"", "arrayLines", false); <END> assertEquals("{\n" + " \"query\" : \"select \\\"column.1\\\" from \\\"table-1\\\"\",\n" + " \"resultFormat\" : \"arrayLines\",\n" + " \"queryHeader\" : false\n" + "}", requestBody.toJson()); }</code><technical_language>naming than: column.1 table-1 column.field, table-name</technical_language>

Target:
public void testDruidRequestBodyToJson() { DruidClient.DruidRequestBody requestBody = new DruidClient.DruidRequestBody( "select \"city.name\" from \"geo-location\"", "arrayLines", false); assertEquals("{\n" + " \"query\" : \"select \\\"city.name\\\" from \\\"geo-location\\\"\",\n" + " \"resultFormat\" : \"arrayLines\",\n" + " \"queryHeader\" : false\n" + "}", requestBody.toJson()); }
Source:
<code><START> public HomePresenter(EventBus eventBus, <END> MyView view, MyProxy proxy) { super(eventBus, view, proxy, ApplicationPresenter.SLOT_SetMainContent); }</code><technical_language>Remove public. reformat ctor latest code style</technical_language>

Target:
HomePresenter(EventBus eventBus, MyView view, MyProxy proxy) { super(eventBus, view, proxy, ApplicationPresenter.SLOT_SetMainContent); }
Source:
<code>private static Set<String> getBoundFields(String enrichmentType) { final Descriptor enrichmentDescriptor = KnownTypes.getDescriptorForType(enrichmentType); final Set<String> result = new HashSet<>(); for (FieldDescriptor field : enrichmentDescriptor.getFields()) { final String extension = field.getOptions() .getExtension(EventAnnotationsProto.by); final String fieldName = extension.substring(WILDCARD_TYPE_UPON_FIELD_INDICATOR.length()); result.add(fieldName); } <START> <END> return result; }</code><technical_language>Please remove empty line</technical_language>

Target:
private static Set<String> getBoundFields(String enrichmentType) { final Descriptor enrichmentDescriptor = KnownTypes.getDescriptorForType(enrichmentType); final Set<String> result = new HashSet<>(); for (FieldDescriptor field : enrichmentDescriptor.getFields()) { final String extension = field.getOptions() .getExtension(EventAnnotationsProto.by); final String fieldName = extension.substring(WILDCARD_TYPE_INDICATOR.length()); result.add(fieldName); } return result; }
Source:
<code>protected void init420() { Builder version = forVersion(VersionEnum.V4_2_0); version.onTable("HFJ_RESOURCE").dropColumn("20200130.1", "FORCED_ID_PID"); version.onTable("HFJ_RES_VER").dropColumn("20200130.2", "FORCED_ID_PID"); <START> version.onTable("HFJ_RES_VER").addForeignKey("20200130.3", "FK_RESOURCE_HISTORY_RESOURCE").toColumn("RES_ID").references("HFJ_RESOURCE", "RES_ID"); <END> }</code><technical_language>merge master this branch, adjust this put tasks in a new init430 method current date tasks</technical_language>

Target:
protected void init420() { Builder version = forVersion(VersionEnum.V4_2_0); version.onTable("TRM_VALUESET_C_DESIGNATION").dropIndex("20200202.1", "IDX_VALUESET_C_DSGNTN_VAL").failureAllowed(); Builder.BuilderWithTableName searchTable = version.onTable("HFJ_SEARCH"); searchTable.dropIndex("20200203.1", "IDX_SEARCH_LASTRETURNED"); searchTable.dropColumn("20200203.2", "SEARCH_LAST_RETURNED"); searchTable.addIndex("20200203.3", "IDX_SEARCH_CREATED").unique(false).withColumns("CREATED"); }