当前位置: 首页>>代码示例>>Java>>正文


Java XTrace.add方法代码示例

本文整理汇总了Java中org.deckfour.xes.model.XTrace.add方法的典型用法代码示例。如果您正苦于以下问题:Java XTrace.add方法的具体用法?Java XTrace.add怎么用?Java XTrace.add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.deckfour.xes.model.XTrace的用法示例。


在下文中一共展示了XTrace.add方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: removeOutlierSelect

import org.deckfour.xes.model.XTrace; //导入方法依赖的package包/类
private void removeOutlierSelect(XTrace t, XTrace newT, int i) {
    XEvent before = t.get(i - 1);
    XEvent guilty = t.get(i);
    XEvent after = t.get(i + 1);

    String nameBefore = getEventName(before);
    String nameGuilty = getEventName(guilty);
    String nameAfter = getEventName(after);

    OutlierIdentifier outlierIdentifier = outlierIdentifierGenerator.generate(nameBefore, nameAfter);
    Set<Outlier<String>> set = mapOutliers.getOutliers(outlierIdentifier);
    Outlier<String> outlier = new Outlier<String>(nameGuilty, outlierIdentifier, false);

    if (set == null || !set.contains(outlier)) {
        newT.add((XEvent) t.get(i).clone());
    }
}
 
开发者ID:raffaeleconforti,项目名称:ResearchCode,代码行数:18,代码来源:OutlierRemoverBridge.java

示例2: generateNewLog

import org.deckfour.xes.model.XTrace; //导入方法依赖的package包/类
@Override
public XLog generateNewLog(XLog log, OutlierIdentifierGenerator<String> outlierIdentifierGenerator, int lookAHead, boolean selectOnlyOneOutlier) {
    boolean outlearsFound = false;
    if(mapOutliers.size() > 0) {
        outlearsFound = true;
    }

    if(outlearsFound) {
        XLog newLog = (XLog) log.clone();
        newLog.clear();

        for (XTrace t : log) {
            XTrace newT = (XTrace) t.clone();
            newT.clear();

            newT.add((XEvent) t.get(0).clone());
            for (int i = 1; i < t.size() - 1; i++) {
                if(selectOnlyOneOutlier) {
                    removeOutlierSelectOnlyOne(t, newT, i);
                }else {
                    removeOutlierSelect(t, newT, i);
                }
            }
            newT.add((XEvent) t.get(t.size()-1).clone());
            if(newT.size() > 0) newLog.add(newT);
        }

        return newLog;
    }else {
        return log;
    }
}
 
开发者ID:raffaeleconforti,项目名称:ResearchCode,代码行数:33,代码来源:OutlierRemoverBridge.java

示例3: removeOutlierSelectOnlyOne

import org.deckfour.xes.model.XTrace; //导入方法依赖的package包/类
private void removeOutlierSelectOnlyOne(XTrace t, XTrace newT, int i) {
    XEvent before = t.get(i - 1);
    XEvent guilty = t.get(i);
    XEvent after = t.get(i + 1);

    String nameBefore = getEventName(before);
    String nameGuilty = getEventName(guilty);
    String nameAfter = getEventName(after);

    if (!nameBefore.equals(((DoubleOutlierIdentifier) outlier.getIdentifier()).getIdentifier1())
            || !nameAfter.equals(((DoubleOutlierIdentifier) outlier.getIdentifier()).getIdentifier2())
            || !nameGuilty.equals(outlier.getElementToRemove())) {
        newT.add((XEvent) t.get(i).clone());
    }
}
 
开发者ID:raffaeleconforti,项目名称:ResearchCode,代码行数:16,代码来源:OutlierRemoverBridge.java

示例4: generateNewLog

import org.deckfour.xes.model.XTrace; //导入方法依赖的package包/类
@Override
public XLog generateNewLog(XLog log, OutlierIdentifierGenerator<String> outlierIdentifierGenerator, int lookAHead, boolean selectOnlyOneOutlier) {
    boolean outlearsFound = false;
    if(mapOutliers.size() > 0) {
        outlearsFound = true;
    }

    if(outlearsFound) {
        XLog newLog = (XLog) log.clone();
        newLog.clear();

        for (XTrace t : log) {
            XTrace newT = (XTrace) t.clone();
            newT.clear();

            for (int i = 0; i < lookAHead && i < t.size(); i++) {
                XEvent current = (XEvent) t.get(i).clone();
                newT.add(current);
            }

            for (int i = lookAHead; i < t.size(); i++) {
                if(selectOnlyOneOutlier) {
                    removeOutlierSelectOnlyOne(t, newT, i, lookAHead, true);
                }else {
                    removeOutlierSelect(t, newT, i, lookAHead, true);
                }
            }
            if(newT.size() > 0) newLog.add(newT);
        }

        return newLog;
    }else {
        return log;
    }
}
 
开发者ID:raffaeleconforti,项目名称:ResearchCode,代码行数:36,代码来源:OutlierRemoverNextAndPrevious.java

示例5: generateNewLogReverse

import org.deckfour.xes.model.XTrace; //导入方法依赖的package包/类
@Override
public XLog generateNewLogReverse(XLog log, OutlierIdentifierGenerator<String> outlierIdentifierGenerator, int lookAHead, boolean selectOnlyOneOutlier) {
    boolean outlearsFound = false;
    if(mapOutliers.size() > 0) {
        outlearsFound = true;
    }

    if(outlearsFound) {
        XLog newLog = (XLog) log.clone();
        newLog.clear();

        for (XTrace t : log) {
            XTrace newT = (XTrace) t.clone();
            newT.clear();

            for (int i = t.size() - 1; i >= t.size() - lookAHead && i >= 0; i--) {
                XEvent current = (XEvent) t.get(i).clone();
                newT.add(current);
            }

            for (int i = t.size() - lookAHead - 1; i >= 0; i--) {
                if(selectOnlyOneOutlier) {
                    removeOutlierSelectOnlyOne(t, newT, i, lookAHead, true);
                }else {
                    removeOutlierSelect(t, newT, i, lookAHead, true);
                }
            }
            if(newT.size() > 0) newLog.add(newT);
        }

        return newLog;
    }else {
        return log;
    }
}
 
开发者ID:raffaeleconforti,项目名称:ResearchCode,代码行数:36,代码来源:OutlierRemoverNextAndPrevious.java

示例6: permuteXEventsRandom

import org.deckfour.xes.model.XTrace; //导入方法依赖的package包/类
private Set<XTrace> permuteXEventsRandom(XTrace trace, Set<XEvent> events) {
    Set<XTrace> traces = new UnifiedSet<>();

    Collection<List<XEvent>> permutations = createRandomPermutation(events);

    Set<List<String>> processedSequences = new UnifiedSet<>();
    List<String> sequence;
    for(List<XEvent> permutation : permutations) {
        sequence = new ArrayList<>(permutation.size());

        for (int i = 0; i < permutation.size(); i++) {
            sequence.add(getEventName(permutation.get(i)));
        }

        if (!processedSequences.contains(sequence)) {
            processedSequences.add(sequence);
        } else {
            continue;
        }

        XTrace t = factory.createTrace();
        for(Map.Entry<String, XAttribute> entry : trace.getAttributes().entrySet()) {
            t.getAttributes().put(entry.getKey(), logCloner.getXAttribute(entry.getKey(), entry.getValue()));
        }

        t.getAttributes().put(fixed, fixedAttribute);

        int position = 0;
        for (int i = 0; i < trace.size(); i++) {
            if (!events.contains(trace.get(i))) {
                t.add(trace.get(i));
            } else {
                XEvent e = logCloner.getXEvent(permutation.get(position));
                t.add(e);
                position++;
            }
        }

        String seqCorr = TraceToString.convertXTraceToString(t, nameExtractor);
        if (sequences.contains(seqCorr)) {
            traces.add(t);
        }
    }

    return traces;
}
 
开发者ID:raffaeleconforti,项目名称:ResearchCode,代码行数:47,代码来源:EventPermutatorRandom.java

示例7: permuteXEventsDummy

import org.deckfour.xes.model.XTrace; //导入方法依赖的package包/类
private Set<XTrace> permuteXEventsDummy(XTrace trace, Set<XEvent> events) {
    Set<XTrace> traces = new UnifiedSet<>();

    Collection<List<XEvent>> permutations = createPatternAndGetExistingTraceBasedOnPattern(events);

    Set<List<String>> processedSequences = new UnifiedSet<>();
    List<String> sequence;
    for(List<XEvent> permutation : permutations) {
        sequence = new ArrayList<>(permutation.size());

        for (int i = 0; i < permutation.size(); i++) {
            sequence.add(getEventName(permutation.get(i)));
        }

        if (!processedSequences.contains(sequence)) {
            processedSequences.add(sequence);
        } else {
            continue;
        }

        XTrace t = factory.createTrace();
        for(Map.Entry<String, XAttribute> entry : trace.getAttributes().entrySet()) {
            t.getAttributes().put(entry.getKey(), logCloner.getXAttribute(entry.getKey(), entry.getValue()));
        }

        t.getAttributes().put(fixed, fixedAttribute);

        int position = 0;
        for (int i = 0; i < trace.size(); i++) {
            if (!events.contains(trace.get(i))) {
                t.add(trace.get(i));
            } else {
                XEvent e = logCloner.getXEvent(permutation.get(position));
                t.add(e);
                position++;
            }
        }

        String seqCorr = TraceToString.convertXTraceToString(t, nameExtractor);
        if (sequences.contains(seqCorr)) {
            traces.add(t);
        }
    }

    return traces;
}
 
开发者ID:raffaeleconforti,项目名称:ResearchCode,代码行数:47,代码来源:EventPermutatorDummy.java

示例8: main

import org.deckfour.xes.model.XTrace; //导入方法依赖的package包/类
public static void main(String[] args) {
    XFactory factory = new XFactoryNaiveImpl();
    XConceptExtension xce = XConceptExtension.instance();
    XTimeExtension xte = XTimeExtension.instance();

    XEvent a = factory.createEvent();
    xce.assignName(a, "a");

    XEvent b = factory.createEvent();
    xce.assignName(b, "b");

    XEvent c = factory.createEvent();
    xce.assignName(c, "c");

    XEvent d = factory.createEvent();
    xce.assignName(d, "d");

    XTrace trace1 = factory.createTrace();
    trace1.add(a);
    trace1.add(b);
    trace1.add(c);
    trace1.add(d);

    XTrace trace2 = factory.createTrace();
    trace2.add(a);
    trace2.add(c);
    trace2.add(b);
    trace2.add(d);

    XEvent a1 = factory.createEvent();
    xce.assignName(a1, "a");
    xte.assignTimestamp(a1, 1000000);

    XEvent b1 = factory.createEvent();
    xce.assignName(b1, "b");
    xte.assignTimestamp(b1, 2000000);

    XEvent c1 = factory.createEvent();
    xce.assignName(c1, "c");
    xte.assignTimestamp(c1, 3000000);

    XEvent d1 = factory.createEvent();
    xce.assignName(d1, "d");
    xte.assignTimestamp(d1, 4000000);

    XTrace trace3 = factory.createTrace();
    trace3.add(a1);
    trace3.add(b1);
    trace3.add(c1);
    trace3.add(d1);

    XLog log = factory.createLog();
    log.add(trace1);
    log.add(trace2);
    log.add(trace3);

    EventDistributionCalculator eventDistributionCalculator = new EventDistributionCalculatorImpl(log, new XEventNameClassifier());
    eventDistributionCalculator.analyseLog();

    Set<XEvent> events = new UnifiedSet<>();
    events.add(b1);
    events.add(c1);

    ILPApproach ilpApproach = new ILPApproach(events, eventDistributionCalculator, a1, d1, new LPSolve_Solver(), true);
    System.out.println(ilpApproach.findBestStartEnd());
}
 
开发者ID:raffaeleconforti,项目名称:ResearchCode,代码行数:67,代码来源:ILPApproach.java


注:本文中的org.deckfour.xes.model.XTrace.add方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。