gernotbelger@8915: /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde gernotbelger@8915: * Software engineering by gernotbelger@8915: * Björnsen Beratende Ingenieure GmbH gernotbelger@8915: * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt gernotbelger@8915: * gernotbelger@8915: * This file is Free Software under the GNU AGPL (>=v3) gernotbelger@8915: * and comes with ABSOLUTELY NO WARRANTY! Check out the gernotbelger@8915: * documentation coming with Dive4Elements River for details. gernotbelger@8915: */ gernotbelger@8915: package org.dive4elements.river.artifacts.sinfo.util; gernotbelger@8915: gernotbelger@8915: import org.dive4elements.artifacts.Artifact; gernotbelger@8915: import org.dive4elements.artifacts.ArtifactDatabase; gernotbelger@8915: import org.dive4elements.artifacts.CallContext; gernotbelger@8915: gernotbelger@8915: /** gernotbelger@8915: * @author Gernot Belger gernotbelger@8915: */ gernotbelger@8915: public final class CalculationUtils { gernotbelger@8915: gernotbelger@8915: private CalculationUtils() { gernotbelger@8915: throw new UnsupportedOperationException("Helper class"); gernotbelger@8915: } gernotbelger@8915: gernotbelger@8915: /** gernotbelger@8915: * Find the the user of the given artifact, sadly this is not part of the calling context, so instead we determine the gernotbelger@8915: * owner oft the artifact gernotbelger@8915: * gernotbelger@8915: * @param artifact gernotbelger@8915: * @param context gernotbelger@8915: */ gernotbelger@8915: public static String findArtifactUser(final CallContext context, final Artifact artifact) { gernotbelger@9311: gernotbelger@9311: // REMARK: can't do that, because sometimes the user inside the collection is a fake user gernotbelger@9311: // if (context instanceof CollectionCallContext) { gernotbelger@9311: // /* avoid db access if we already know the user */ gernotbelger@9311: // final CollectionCallContext ccc = (CollectionCallContext) context; gernotbelger@9311: // final ArtifactCollection collection = ccc.getCollection(); gernotbelger@9311: // final User user = collection.getUser(); gernotbelger@9311: // if (user != null) gernotbelger@9311: // return user.getName(); gernotbelger@9311: // } gernotbelger@9311: gernotbelger@8915: final ArtifactDatabase database = context.getDatabase(); gernotbelger@8915: return database.findArtifactUser(artifact.identifier()); gernotbelger@8915: } gernotbelger@8915: }