本文整理汇总了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());
}
}
示例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;
}
}
示例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());
}
}
示例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;
}
}
示例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;
}
}
示例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;
}
示例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;
}
示例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());
}