Мне нужно построить матрицу DSM-матрицу для Jar файлов (DSMForJars).
https://dsmweb.org/sequencing-a-dsm
https://www.uml-diagrams.org/artifact.html
Задание следующее: Для заданного классификатора (Classifier) мне нужно выдать атрифакт (Artifact) (jar-файл) в котором он содержится. Т.е. мне на вход дают классификатор, а я должен буду получить артифакт файла, в котором находится мой класс.
public static Artifact getArtifact(Classifier cls) {
return null;
}
Собственно, сам класс, в котором находится данный метод:
public class DSM4Jars {
static List<Artifact> jars = new ArrayList<>();
public static DSM dsm = new DSM(jars);
public static void load(Model model) {
Consumer<? super Element> action = e -> jars.add((Artifact) e);
UMLUtil.walkAll(model, e -> true, e -> e instanceof Artifact, action);
dsm = new DSM(jars);
dsm.buildJars();
}
/**
* Для заданного классификатора выдать атрифакт (jar-файл)
* в котором он содержится.
*
* @param cls - классификатор.
* @return найденный артифакт или null
*/
/*
* Мне на вход дают классификатор, а я должен буду получить артефакт файла, в котором находится мой класс.
* Классификатор - это общий предок для класса, интерфейса, и перечисления*/
public static Artifact getArtifact(Classifier cls) {
for(Artifact jar: jars)
{
???
}
return null;
}
public static void dump(String dumpPath) {
...
}
public static void dumpArtifactPackages(String dumpPath) {
...
}
}
В общем я сам решил задачу.
public static Artifact getArtifact(Classifier cls) {
for(Artifact jar: jars){
List<String> list_strPackages = jar.getManifestations()
.stream()
.map(Manifestation::getUtilizedElement)
.map(PackageableElement::getNearestPackage)
.distinct()
.map(UMLUtil::getJavaName)
.filter(x -> x.equals(UMLUtil.getJavaName(cls.getNearestPackage())))
.collect( Collectors.toList() );
if(list_strPackages != null && !list_strPackages.isEmpty())
{
return jar;
}
}
return null;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
У меня есть WebView, содержание которого я формирую из локального txt, даю ему необходимые настройкиВ принципе, по вот этой инструкции я формирую...
Такой вопрос: как сделать что бы заголовок spinner отличался от выбранного значения, те
Всем приветПишу приложение на android для управления LED-лампой и для этого возникла задача сделать Color Picker который будет регулировать теплый...
Имеется конструктор, который получает какой-либо объект наследуемый от Node, те