All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.camunda.tasklist.webapp.security.identity.PermissionConverter Maven / Gradle / Ivy

/*
 * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH under
 * one or more contributor license agreements. See the NOTICE file distributed
 * with this work for additional information regarding copyright ownership.
 * Licensed under the Camunda License 1.0. You may not use this file
 * except in compliance with the Camunda License 1.0.
 */
package io.camunda.tasklist.webapp.security.identity;

import io.camunda.tasklist.webapp.security.Permission;
import org.springframework.core.convert.converter.Converter;

public final class PermissionConverter implements Converter {

  public static final String READ_PERMISSION_VALUE = "read:*";
  public static final String WRITE_PERMISSION_VALUE = "write:*";

  private static volatile PermissionConverter instance;
  private static Object lock = new Object();

  private PermissionConverter() {
    // private constructor
  }

  public static PermissionConverter getInstance() {
    if (instance == null) {
      synchronized (lock) {
        if (instance == null) {
          instance = new PermissionConverter();
        }
      }
    }
    return instance;
  }

  @Override
  public Permission convert(final String source) {
    if (source.equals(READ_PERMISSION_VALUE)) {
      return Permission.READ;
    }
    if (source.equals(WRITE_PERMISSION_VALUE)) {
      return Permission.WRITE;
    }
    return null;
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy