use of org.openlca.core.model.Process in project olca-modules by GreenDelta.
the class ProcessReferenceSearchTest method createModel.
@Override
protected Process createModel() {
Process process = new Process();
process.category = insertAndAddExpected("category", new Category());
process.location = insertAndAddExpected("location", new Location());
process.dqSystem = insertAndAddExpected("dqSystem", new DQSystem());
process.exchangeDqSystem = insertAndAddExpected("exchangeDqSystem", new DQSystem());
process.socialDqSystem = insertAndAddExpected("socialDqSystem", new DQSystem());
String n1 = generateName();
String n2 = generateName();
String n3 = generateName();
String n4 = generateName();
String n5 = generateName();
createExchange(process, 3d, true);
createExchange(process, "2*" + n4, false);
process.parameters.add(createParameter(n1, 3d, false));
process.parameters.add(createParameter(n2, n1 + "*2*" + n3, false));
process.socialAspects.add(createSocialAspect());
process.socialAspects.add(createSocialAspect());
process.documentation = createDocumentation();
insertAndAddExpected(n3, createParameter(n3, "5*5", true));
// formula with parameter to see if added as reference (unexpected)
insertAndAddExpected(n4, createParameter(n4, "3*" + n5, true));
Parameter globalUnreferenced = createParameter(n1, "3*3", true);
Parameter globalUnreferenced2 = createParameter(n5, "3*3", true);
// must be inserted manually
globalUnreferenced = db.insert(globalUnreferenced);
globalUnreferenced2 = db.insert(globalUnreferenced2);
process = db.insert(process);
for (Exchange e : process.exchanges) {
addExpected("flow", e.flow, "exchanges", Exchange.class, e.id);
addExpected("flowPropertyFactor", e.flowPropertyFactor, "exchanges", Exchange.class, e.id);
addExpected("flowProperty", e.flowPropertyFactor.flowProperty, "flowPropertyFactor", FlowPropertyFactor.class, e.flowPropertyFactor.id);
addExpected("unit", e.unit, "exchanges", Exchange.class, e.id);
Process provider = processes.get(e.defaultProviderId);
if (provider != null)
addExpected("defaultProviderId", provider, "exchanges", Exchange.class, e.id);
}
for (SocialAspect a : process.socialAspects) {
addExpected("indicator", a.indicator, "socialAspects", SocialAspect.class, a.id);
addExpected("source", a.source, "socialAspects", SocialAspect.class, a.id);
}
ProcessDocumentation doc = process.documentation;
addExpected("dataDocumentor", doc.dataDocumentor, "documentation", ProcessDocumentation.class, doc.id);
addExpected("dataGenerator", doc.dataGenerator, "documentation", ProcessDocumentation.class, doc.id);
addExpected("dataSetOwner", doc.dataSetOwner, "documentation", ProcessDocumentation.class, doc.id);
addExpected("reviewer", doc.reviewer, "documentation", ProcessDocumentation.class, doc.id);
addExpected("publication", doc.publication, "documentation", ProcessDocumentation.class, doc.id);
for (Source s : process.documentation.sources) addExpected("sources", s, "documentation", ProcessDocumentation.class, doc.id);
return process;
}
use of org.openlca.core.model.Process in project olca-modules by GreenDelta.
the class ProductSystemReferenceSearchTest method createModel.
@Override
protected ProductSystem createModel() {
ProductSystem system = new ProductSystem();
system.category = insertAndAddExpected("category", new Category());
system.referenceProcess = createProcess();
system.referenceExchange = system.referenceProcess.exchanges.get(0);
system.targetFlowPropertyFactor = system.referenceExchange.flowPropertyFactor;
system.targetUnit = system.targetFlowPropertyFactor.flowProperty.unitGroup.units.get(0);
system.processes.add(system.referenceProcess.id);
Process p1 = insertAndAddExpected("processes", new Process());
Process p2 = insertAndAddExpected("processes", new Process());
Process p3 = insertAndAddExpected("processes", new Process());
system.processes.add(p1.id);
system.processes.add(p2.id);
system.processes.add(p3.id);
system.processLinks.add(createLink(p1, p2));
system.processLinks.add(createLink(p2, p3));
String n1 = generateName();
String n2 = generateName();
String n3 = generateName();
// TODO: find parameter references
// system.parameterRedefs.add(createParameterRedef(n1, p1.id));
// formula with parameter to see if added as reference (unexpected)
// system.parameterRedefs.add(createParameterRedef(n2, n3 + "*5"));
Parameter globalUnreferenced = createParameter(n1, "3*3", true);
Parameter globalUnreferenced2 = createParameter(n3, "3*3", true);
// must be inserted manually
globalUnreferenced = db.insert(globalUnreferenced);
globalUnreferenced2 = db.insert(globalUnreferenced2);
return db.insert(system);
}
use of org.openlca.core.model.Process in project olca-modules by GreenDelta.
the class TestSystem method link.
public TestSystem link(Process process) {
if (processes.contains(process))
return this;
index(process);
for (Process p : processes) {
for (Exchange e : p.exchanges) {
if (isProvider(e))
continue;
if (e.flow == null || e.flow.flowType == FlowType.ELEMENTARY_FLOW)
continue;
long flowId = e.flow.id;
Process provider = providers.get(flowId);
if (provider == null)
continue;
ProcessLink link = new ProcessLink();
link.providerId = provider.id;
link.flowId = flowId;
link.processId = p.id;
link.exchangeId = e.id;
if (!system.processLinks.contains(link)) {
system.processLinks.add(link);
}
}
}
return this;
}
use of org.openlca.core.model.Process in project olca-modules by GreenDelta.
the class ExchangeUseSearchTest method setUp.
@Before
public void setUp() {
db.clear();
p = new Process();
q = new Process();
addExchanges();
ProcessDao dao = new ProcessDao(db);
p = dao.insert(p);
q = dao.insert(q);
modelStack.push(p);
modelStack.push(q);
createSystem();
}
use of org.openlca.core.model.Process in project olca-modules by GreenDelta.
the class FlowPropertyFactorUseSearchTest method testFindInProcesses.
@Test
public void testFindInProcesses() {
Process process = createProcess();
List<RootDescriptor> results = search.findUses(factor);
new ProcessDao(database).delete(process);
Descriptor expected = Descriptor.of(process);
Assert.assertEquals(1, results.size());
Assert.assertEquals(expected, results.get(0));
}
Aggregations