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

com.mofum.scope.common.utils.ScopeUtils Maven / Gradle / Ivy

There is a newer version: 2.0.0.RELEASE
Show newest version
package com.mofum.scope.common.utils;

import com.mofum.scope.common.model.Scope;
import com.mofum.scope.common.model.ScopeContext;

import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author [email protected]
 * @since 2019-03-25
 **/
public class ScopeUtils {

    public static List object2Scope(List dataList, String column) throws IllegalAccessException {
        return object2Scope(dataList, column, false, false);
    }

    public static List object2Scope(List dataList, String column, boolean includeObjectClass, boolean saveOrigData) throws IllegalAccessException {

        List scopes = new ArrayList<>();

        for (Object data : dataList) {

            if (data != null) {

                Field field = ParentFieldUtils.getFieldByName(column, data.getClass());

                if (field != null) {
                    Scope scope = new Scope();

                    field.setAccessible(true);
                    Object id = field.get(data);
                    field.setAccessible(false);

                    if (id == null) {
                        continue;
                    }

                    if (String.class.equals(id.getClass())) {
                        scope.setId((String) id);
                        if (saveOrigData) {
                            scope.setOrigData(data);
                        }
                    } else {
                        if (includeObjectClass) {
                            scope.setId(id.toString());
                            if (saveOrigData) {
                                scope.setOrigData(data);
                            }
                        }
                    }

                    scopes.add(scope);
                }

            }

        }

        return scopes;

    }


    public static ScopeContext> convert2Context(HashMap parameters) {
        if (parameters == null) {
            return null;
        }
        ScopeContext> scopeContext = new ScopeContext();
        scopeContext.setUsername(String.valueOf(parameters.get("username")));
        scopeContext.setPermission(String.valueOf(parameters.get("permission")));
        scopeContext.setContext(parameters);
        return scopeContext;
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy