package com.framsticks.examples; import com.framsticks.core.Instance; import com.framsticks.core.Node; import com.framsticks.core.Parameters; import com.framsticks.core.Path; import com.framsticks.model.*; import com.framsticks.model.Package; import com.framsticks.params.*; import com.framsticks.params.types.CompositeParam; import com.framsticks.parsers.F0Parser; import com.framsticks.parsers.Schema; import org.apache.log4j.Logger; import java.util.List; /** * Author: Piotr Ĺšniegowski */ public class GenotypeBrowser extends Instance { private static final Logger LOGGER = Logger.getLogger(Instance.class.getName()); protected Schema schema; public GenotypeBrowser(Parameters parameters) { super(parameters); LOGGER.info("model builder created"); } @Override protected void configure() throws Exception { super.configure(); schema = new Schema(Schema.getDefaultDefinitionAsStream()); this.registry = schema.getRegistry(); Package.register(this.getRegistry()); registry.putInfoIntoCache(new FramsClass("ModelBuilderRoot", "ModelBuilderRoot", null) .append(new ParamBuilder().setType("o Model").setId("model").setName("model").build()) ); root = new Node((CompositeParam)new ParamBuilder().setType("o ModelBuilderRoot").setId(name).setName("Instance").build(), PropertiesAccess.createPropertiesMap()); } @Override protected void run() { assert isActive(); try { List accesses = new F0Parser(schema, GenotypeBrowser.class.getResourceAsStream("/examples/f0_example.txt")).parse(); List objects = Util.stripAccessInterface(accesses); Model model = Model.build(objects); AccessInterface rootAccess = bindAccess(new Path(this, "/")); rootAccess.set("model", model); } catch (Exception e) { LOGGER.error("exception caught: " + e); } //done(); } }