Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * Sonatype Nexus (TM) Open Source Version
  * Copyright (c) 2008-2015 Sonatype, Inc.
  * All rights reserved. Includes the third-party code listed at http://links.sonatype.com/products/nexus/oss/attributions.
  *
  * This program and the accompanying materials are made available under the terms of the Eclipse Public License Version 1.0,
  * which accompanies this distribution and is available at http://www.eclipse.org/legal/epl-v10.html.
  *
  * Sonatype Nexus (TM) Professional Version is available from Sonatype, Inc. "Sonatype" and "Sonatype Nexus" are trademarks
 * of Sonatype, Inc. Apache Maven is a trademark of the Apache Software Foundation. M2eclipse is a trademark of the
 * Eclipse Foundation. All other trademarks are the property of their respective owners.
 */
package org.sonatype.nexus.plugins.capabilities.internal.validator;
import  javax.inject.Inject;
import  javax.inject.Named;
import  javax.inject.Provider;
import  com.google.inject.assistedinject.Assisted;
import static com.google.common.base.Preconditions.checkNotNull;

A Validator that ensures that capability repository property references a repository that exists.

Since:
capabilities 2.3
@Named
    extends ValidatorSupport
    implements Validator
  private final String propertyKey;
  @Inject
  RepositoryExistsValidator(final RepositoryRegistry repositoryRegistry,
                            final Provider<CapabilityDescriptorRegistrycapabilityDescriptorRegistryProvider,
                            final @Assisted CapabilityType type,
                            final @Assisted String propertyKey)
  {
    super(capabilityDescriptorRegistryProvidertype);
    this. = checkNotNull(repositoryRegistry);
    this. = checkNotNull(propertyKey);
  }
  public ValidationResult validate(final Map<StringStringproperties) {
    String repositoryId = properties.get();
    if (repositoryId != null) {
      try {
        .getRepository(repositoryId);
      }
      catch (NoSuchRepositoryException ignore) {
        return new DefaultValidationResult().add(buildMessage(repositoryId));
      }
    }
    return .;
  }
  public String explainValid() {
    final StringBuilder message = new StringBuilder();
    message.append(propertyName()).append(" exists");
    return message.toString();
  }
  public String explainInvalid() {
    final StringBuilder message = new StringBuilder();
    message.append(propertyName()).append(" does not exist");
    return message.toString();
  }
  private String buildMessage(final String repositoryId) {
    final StringBuilder message = new StringBuilder();
    message.append("Selected ").append(propertyName().toLowerCase())
        .append(" '").append(repositoryId).append("' could not be found");
    return message.toString();
  }
New to GrepCode? Check out our FAQ X