/**
   * Checks whether current state is applicable for the properties update
   *
   * @param descriptor
   * @return success/failure
   */
  private boolean shouldPull(HttpRepoDescriptor descriptor) {
    if (descriptor == null) {
      log.debug(
          "Not performing content synchronization due to missing HttpRepoDescriptor in context,"
              + " for instance, this may happen if repoKey is incorrect");
      return false;
    }

    if (descriptor.getContentSynchronisation() == null) {
      log.debug(
          "Not performing content synchronization due to missing ContentSynchronisation config");
      return false;
    }

    if (!descriptor.getContentSynchronisation().isEnabled()
        || !descriptor.getContentSynchronisation().getProperties().isEnabled()) {
      log.debug("Not performing content synchronization due to disabled ContentSynchronisation");
      return false;
    }
    return true;
  }
 private RemoteBasicRepositoryConfigModel createRemoteBasicConfig(HttpRepoDescriptor descriptor) {
   RemoteBasicRepositoryConfigModel basic = new RemoteBasicRepositoryConfigModel();
   addSharedBasicConfigModel(basic, descriptor);
   basic.setUrl(descriptor.getUrl());
   basic.setContentSynchronisation(descriptor.getContentSynchronisation());
   RepoLayout remoteRepoLayout = descriptor.getRemoteRepoLayout();
   if (remoteRepoLayout != null) {
     basic.setRemoteLayoutMapping(remoteRepoLayout.getName());
   }
   basic.setOffline(descriptor.isOffline());
   return basic;
 }