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

pl.fhframework.Podsystem Maven / Gradle / Ivy

package pl.fhframework;

import pl.fhframework.core.logging.FhLogger;
import pl.fhframework.annotations.ElementPresentedOnTree;
import pl.fhframework.model.dto.SubsystemMetadata;

import java.util.List;

/**
 * Created by Gabriel on 04.03.2016.
 */
@Deprecated
public interface Podsystem {
    String getLabel();
    String getNazwa();
    String getDescription();
    String getImage();
    int getPositionNumber();
    default Package[] getScanedPackages(){
        return new Package[]{this.getClass().getPackage()};
    }

    default void dodajPodprzypadki(SubsystemMetadata subsystemMetadata){
        Class klasaPodsystemu = this.getClass();
        for (Package pakietPodsystemu : this.getScanedPackages()) {
            List> klasyPrzypadkow = ReflectionUtils.getAnnotatedClasses(pakietPodsystemu.getName(), ElementPresentedOnTree.class, InicjujacyPrzypadekUzycia.class);
            for (Class klasaPU : klasyPrzypadkow){
                try {
                    ElementPresentedOnTree metadanePU =  klasaPU.getAnnotation(ElementPresentedOnTree.class);
                    if (klasaPodsystemu.equals(metadanePU.group())) {
                        subsystemMetadata.addUseCase(klasaPU);
                        FhLogger.info(this.getClass(), "Wczytywanie PU: {} jako '{}'", klasaPU.getName(), subsystemMetadata.getLabel());
                    }else{
                        FhLogger.info(this.getClass(), "Pominięcie PU: {}", klasaPU.getName());
                    }
                } catch (Exception e) {
                    FhLogger.error("Problem przy wczytywaniu PU: {}", klasaPU.getName(), e);
                }
            }
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy