source: java/main/src/main/java/com/framsticks/examples/GenotypeBrowser.java @ 79

Last change on this file since 79 was 79, checked in by psniegowski, 11 years ago

Simplify f0 class organization.

File size: 1.8 KB
Line 
1package com.framsticks.examples;
2
3import com.framsticks.core.Instance;
4import com.framsticks.core.Node;
5import com.framsticks.core.Parameters;
6import com.framsticks.core.Path;
7import com.framsticks.model.*;
8import com.framsticks.model.Package;
9import com.framsticks.params.*;
10import com.framsticks.params.types.CompositeParam;
11import com.framsticks.parsers.F0Parser;
12import com.framsticks.parsers.Schema;
13import org.apache.log4j.Logger;
14
15import java.util.List;
16
17/**
18 * Author: Piotr Śniegowski
19 */
20public class GenotypeBrowser extends Instance {
21
22        private static final Logger LOGGER = Logger.getLogger(Instance.class.getName());
23        protected Schema schema;
24
25
26        public GenotypeBrowser(Parameters parameters) {
27                super(parameters);
28                LOGGER.info("model builder created");
29        }
30
31        @Override
32        protected void configure() throws Exception {
33                super.configure();
34                schema = new Schema(Schema.getDefaultDefinitionAsStream());
35                this.registry = schema.getRegistry();
36                Package.register(this.getRegistry());
37
38                registry.putInfoIntoCache(new FramsClass("ModelBuilderRoot", "ModelBuilderRoot", null)
39                                .append(new ParamBuilder().setType("o Model").setId("model").setName("model").build())
40                );
41                root = new Node((CompositeParam)new ParamBuilder().setType("o ModelBuilderRoot").setId(name).setName("Instance").build(), PropertiesAccess.createPropertiesMap());
42        }
43
44        @Override
45        protected void run() {
46                assert isActive();
47
48                try {
49                        List<AccessInterface> accesses = new F0Parser(schema, GenotypeBrowser.class.getResourceAsStream("/examples/f0_example.txt")).parse();
50                        List<Object> objects = Util.stripAccessInterface(accesses);
51                        Model model = Model.build(objects);
52
53                        AccessInterface rootAccess = bindAccess(new Path(this, "/"));
54
55                        rootAccess.set("model", model);
56
57                } catch (Exception e) {
58                        LOGGER.error("exception caught: " + e);
59                }
60                //done();
61        }
62
63}
Note: See TracBrowser for help on using the repository browser.