Changes in / [1:3]


Ignore:
Location:
/src
Files:
11 added
6 edited

Legend:

Unmodified
Added
Removed
  • /src/main/webapp/domainsrepo/7issues/7issues.json

    r1 r3  
    33        "issuesValues": {
    44                "i1": {
    5                         "range": ["0", "9", "1"]
     5                        "range": [0, 9, 1]
    66                },
    77                "i2": {
    8                         "range": ["0", "9", "1"]
     8                        "range": [0, 9, 1]
    99                },
    1010                "i3": {
    11                         "range": ["0", "9", "1"]
     11                        "range": [0, 9, 1]
    1212                },
    1313                "i4": {
    14                         "range": ["0", "9", "1"]
     14                        "range": [0, 9, 1]
    1515                },
    1616                "i5": {
    17                         "range": ["0", "9", "1"]
     17                        "range": [0, 9, 1]
    1818                },
    1919                "i6": {
    20                         "range": ["0", "9", "1"]
     20                        "range": [0, 9, 1]
    2121                },
    2222                "i7": {
    23                         "range": ["0", "9", "1"]
     23                        "range": [0, 9, 1]
    2424                }
    2525        }
  • /src/main/webapp/domainsrepo/7issues/7issues1.json

    r1 r3  
    99                                        "highValue": 9,
    1010                                        "highUtility": 0.99
    11 
    1211                                }
    1312                        },
     
    1817                                        "highValue": 9,
    1918                                        "highUtility": 0.97
    20 
    2119                                }
    2220                        },
     
    2725                                        "highValue": 9,
    2826                                        "highUtility": 0.96
    29 
    3027                                }
    3128                        },
     
    3633                                        "highValue": 9,
    3734                                        "highUtility": 0.94
    38 
    3935                                }
    4036                        },
     
    4541                                        "highValue": 9,
    4642                                        "highUtility": 0.93
    47 
    4843                                }
    4944                        },
     
    5449                                        "highValue": 9,
    5550                                        "highUtility": 0.92
    56 
    5751                                }
    5852                        },
     
    6357                                        "highValue": 9,
    6458                                        "highUtility": 0.91
    65 
    6659                                }
    6760                        }
     
    8073                        "issuesValues": {
    8174                                "i1": {
    82                                         "range": ["0", "9", "1"]
     75                                        "range": [
     76                                                0,
     77                                                9,
     78                                                1
     79                                        ]
    8380                                },
    8481                                "i2": {
    85                                         "range": ["0", "9", "1"]
     82                                        "range": [
     83                                                0,
     84                                                9,
     85                                                1
     86                                        ]
    8687                                },
    8788                                "i3": {
    88                                         "range": ["0", "9", "1"]
     89                                        "range": [
     90                                                0,
     91                                                9,
     92                                                1
     93                                        ]
    8994                                },
    9095                                "i4": {
    91                                         "range": ["0", "9", "1"]
     96                                        "range": [
     97                                                0,
     98                                                9,
     99                                                1
     100                                        ]
    92101                                },
    93102                                "i5": {
    94                                         "range": ["0", "9", "1"]
     103                                        "range": [
     104                                                0,
     105                                                9,
     106                                                1
     107                                        ]
    95108                                },
    96109                                "i6": {
    97                                         "range": ["0", "9", "1"]
     110                                        "range": [
     111                                                0,
     112                                                9,
     113                                                1
     114                                        ]
    98115                                },
    99116                                "i7": {
    100                                         "range": ["0", "9", "1"]
     117                                        "range": [
     118                                                0,
     119                                                9,
     120                                                1
     121                                        ]
    101122                                }
    102123                        }
  • /src/main/webapp/domainsrepo/7issues/7issues2.json

    r1 r3  
    99                                        "highValue": 9,
    1010                                        "highUtility": 0.11
    11 
    1211                                }
    1312                        },
     
    1817                                        "highValue": 9,
    1918                                        "highUtility": 0.21
    20 
    2119                                }
    2220                        },
     
    2725                                        "highValue": 9,
    2826                                        "highUtility": 0.13
    29 
    3027                                }
    3128                        },
     
    3633                                        "highValue": 9,
    3734                                        "highUtility": 0.14
    38 
    3935                                }
    4036                        },
     
    4541                                        "highValue": 9,
    4642                                        "highUtility": 0.15
    47 
    4843                                }
    4944                        },
     
    5449                                        "highValue": 9,
    5550                                        "highUtility": 0.16
    56 
    5751                                }
    5852                        },
     
    6357                                        "highValue": 9,
    6458                                        "highUtility": 0.17
    65 
    6659                                }
    6760                        }
     
    8073                        "issuesValues": {
    8174                                "i1": {
    82                                         "range": ["0", "9", "1"]
     75                                        "range": [
     76                                                0,
     77                                                9,
     78                                                1
     79                                        ]
    8380                                },
    8481                                "i2": {
    85                                         "range": ["0", "9", "1"]
     82                                        "range": [
     83                                                0,
     84                                                9,
     85                                                1
     86                                        ]
    8687                                },
    8788                                "i3": {
    88                                         "range": ["0", "9", "1"]
     89                                        "range": [
     90                                                0,
     91                                                9,
     92                                                1
     93                                        ]
    8994                                },
    9095                                "i4": {
    91                                         "range": ["0", "9", "1"]
     96                                        "range": [
     97                                                0,
     98                                                9,
     99                                                1
     100                                        ]
    92101                                },
    93102                                "i5": {
    94                                         "range": ["0", "9", "1"]
     103                                        "range": [
     104                                                0,
     105                                                9,
     106                                                1
     107                                        ]
    95108                                },
    96109                                "i6": {
    97                                         "range": ["0", "9", "1"]
     110                                        "range": [
     111                                                0,
     112                                                9,
     113                                                1
     114                                        ]
    98115                                },
    99116                                "i7": {
    100                                         "range": ["0", "9", "1"]
     117                                        "range": [
     118                                                0,
     119                                                9,
     120                                                1
     121                                        ]
    101122                                }
    102123                        }
  • /src/main/webapp/index.jsp

    r1 r3  
    1515                these may contain files with errors, and thus are not available for
    1616                use.
    17 
    18                 <h2>
    19                         Adding domains and profiles
    20                         </h1>
    21                         You can add and remove domains and profiles by dragging your .json
    22                         files into and out of the repo directory.
    23 
    24                         <h2>
    25                                 Access
    26                                 </h1>
    27                                 Your agent has JSON based access to the repo through websockets. Two
    28                                 examples are provided, one based on javax.websocket and one on
    29                                 neovisionaries websocket
    30 
    31 
    32                                 <h3>Example with javax websocket</h3>
    33                                 The example code is available
    34                                 <a
    35                                         href="https://tracinsy.ewi.tudelft.nl/trac/Genius2ProfilesServer/browser/src/test/java/geniusweb/examples/DownloadProfileExample.java">here</a>
    36 and also is part of the JavaClientTest junit test in this project (run with <code>mvn test</code>)
    37                                 To compile that example you need the javax websocket
    38                                 dependency in your pom:
    39                                 <code>
    40                                         <pre>                                   
    41 &lt;dependency>
    42         &lt;groupId>javax.websocket&lt;/groupId>
    43         &lt;artifactId>javax.websocket-api&lt;/artifactId>
    44         &lt;version>1.1&lt;/version>
    45 &lt;/dependency>
    46 
    47                                
    48                                 </code>
    49                                 </pre>
    50 
    51 
    52                                 <h3>Example with neovisionaries websocket</h3>
    53                                 The example code is available
    54                                 <a
    55                                         href="https://tracinsy.ewi.tudelft.nl/trac/Genius2ProfilesServer/browser/src/test/java/geniusweb/examples/DownloadProfileExample.java">here</a>
    56 and also is part of the JavaClientTest junit test in this project (run with <code>mvn test</code>)
    57                                 To compile that example you need the neovisionaries websocket
    58                                 dependency in your pom:
    59                                 <code>
    60                                         <pre>                                   
    61 &lt;dependency>
    62         &lt;groupId>com.neovisionaries&lt;/groupId>
    63         &lt;artifactId>nv-websocket-client&lt;/artifactId>
    64         &lt;version>2.6&lt;/version>
    65 &lt;/dependency>
    66 
    67                                
    68                                 </code>
    69                                 </pre>
     17                <p>
     18                        For creating a profile or adding it to the server please check the <a
     19                                href="https://tracinsy.ewi.tudelft.nl/pubtrac/GeniusWebProfilesServer">wiki</a>.
     20               
    7021</body>
    7122</html>
  • /src/test/java/geniusweb/clienttest/JavaClientTest.java

    r1 r3  
    55
    66import java.io.IOException;
     7import java.util.HashMap;
    78import java.util.LinkedList;
    89import java.util.List;
     10import java.util.Map;
    911
    1012import org.junit.AfterClass;
     
    1315import org.python.util.PythonInterpreter;
    1416
     17import com.fasterxml.jackson.core.type.TypeReference;
     18import com.fasterxml.jackson.databind.ObjectMapper;
    1519import com.neovisionaries.ws.client.WebSocket;
    1620import com.neovisionaries.ws.client.WebSocketAdapter;
     
    5660        @Test
    5761        public void clientSmokeTest() throws IOException {
    58                 WebSocketFactory factory = new WebSocketFactory()
    59                                 .setConnectionTimeout(5000);
    60                 WebSocket ws = factory.createSocket(
    61                                 "ws://localhost:8080/profilesserver/websocket/liststream");
     62                WebSocketFactory factory = new WebSocketFactory().setConnectionTimeout(5000);
     63                WebSocket ws = factory.createSocket("ws://localhost:8080/profilesserver/websocket/liststream");
    6264        }
    6365
    6466        @Test
    65         public void testGetList()
    66                         throws IOException, InterruptedException, WebSocketException {
     67        public void testGetList() throws IOException, InterruptedException, WebSocketException {
    6768                final List<String> received = new LinkedList<>();
    6869                Thread.sleep(5000);
    69                 WebSocketFactory factory = new WebSocketFactory()
    70                                 .setConnectionTimeout(20000);
    71                 WebSocket ws = factory.createSocket(
    72                                 "ws://localhost:8080/profilesserver/websocket/liststream");
     70                WebSocketFactory factory = new WebSocketFactory().setConnectionTimeout(20000);
     71                WebSocket ws = factory.createSocket("ws://localhost:8080/profilesserver/websocket/liststream");
    7372
    7473                ws.addListener(new WebSocketAdapter() {
    7574                        @Override
    76                         public void onTextMessage(WebSocket websocket, String message)
    77                                         throws Exception {
     75                        public void onTextMessage(WebSocket websocket, String message) throws Exception {
    7876                                System.out.println("received message: " + message);
    7977                                received.add(message);
     
    8482
    8583                Thread.sleep(2000);
    86                 assertEquals(1, received.size());
    87                 assertTrue(received.get(0).matches(JSON));
    88                 System.out.println(JSON);
     84
     85                assertEquals(1, received.size()); // 1 answer received
     86
     87                ObjectMapper mapper = new ObjectMapper();
     88                TypeReference<HashMap<String, Object>> typeRef = new TypeReference<HashMap<String, Object>>() {
     89                };
     90                Map<String, Object> map = mapper.readValue(received.get(0), typeRef);
     91
     92                List<String> domains= new LinkedList<>();
     93                for (String key: map.keySet()) {
     94                        domains.add(key.substring(key.indexOf("get")));
     95                        }
     96                assertTrue(domains.contains("get/jobs"));
     97                assertTrue(domains.contains("get/7issues"));
    8998        }
    9099
    91100        @Test
    92         public void testExample()
    93                         throws WebSocketException, InterruptedException, IOException {
     101        public void testExample() throws WebSocketException, InterruptedException, IOException {
    94102                DownloadProfileExample test = new DownloadProfileExample();
    95103                test.run();
     
    98106
    99107        @Test
    100         public void testExample2()
    101                         throws WebSocketException, InterruptedException, IOException {
     108        public void testExample2() throws WebSocketException, InterruptedException, IOException {
    102109                DownloadProfileExample2 test = new DownloadProfileExample2();
    103110                assertEquals(JOBS1PROFILE, test.getReceived());
     
    112119
    113120                // Create factory and coerce Jython calculator object
    114                 JythonObjectFactory factory = new JythonObjectFactory(
    115                                 WebSocketAdapter.class, "PythonDownloadProfile",
     121                JythonObjectFactory factory = new JythonObjectFactory(WebSocketAdapter.class, "PythonDownloadProfile",
    116122                                "PythonDownloadProfile");
    117123                factory.createObject();
  • /src/test/java/geniusweb/profilesserver/AutoUpdatingProfilesFactoryTest.java

    r1 r3  
    119119        @Test
    120120        public void getDomainsTest() {
    121                 assertEquals(2, factory.getDomains().size());
    122                 assertEquals(JOBS, factory.getDomains().get(0));
    123                 assertEquals("7issues", factory.getDomains().get(1));
     121                assertTrue(factory.getDomains().size() > 2);
     122                assertTrue(factory.getDomains().contains(JOBS));
     123                assertTrue(factory.getDomains().contains(JOBS));
     124                assertTrue(factory.getDomains().contains("7issues"));
    124125
    125126        }
     
    144145                Thread.sleep(HIGHRATE);
    145146
    146                 assertEquals(3, changes.size());
     147                assertEquals(4, changes.size());
    147148                assertTrue(changes.get(0) instanceof ProfileChangeEvent);
    148149                assertTrue(changes.get(1) instanceof ProfileChangeEvent);
    149                 assertTrue(changes.get(2) instanceof DomainChangeEvent);
     150                assertTrue(changes.get(2) instanceof ProfileChangeEvent);
     151                assertTrue(changes.get(3) instanceof DomainChangeEvent);
    150152                assertEquals(1, warnings.size()); // jobs domain file missing
    151153                assertNull(factory.getDomain(JOBS));
     
    161163                Thread.sleep(HIGHRATE);
    162164
    163                 assertEquals(3, changes.size());
     165                assertEquals(4, changes.size());
    164166                assertTrue(changes.get(0) instanceof ProfileChangeEvent);
    165167                assertTrue(changes.get(1) instanceof ProfileChangeEvent);
    166                 assertTrue(changes.get(2) instanceof DomainChangeEvent);
     168                assertTrue(changes.get(2) instanceof ProfileChangeEvent);
     169                assertTrue(changes.get(3) instanceof DomainChangeEvent);
    167170                assertEquals(1, warnings.size()); // wrong domain file, wrong profile
    168171                assertNull(factory.getDomain(JOBS));
     
    231234                assertNull(factory.getProfile(JOB1));
    232235
    233                 assertEquals(3, changes.size());
     236                assertEquals(4, changes.size());
    234237                assertTrue(changes.get(0) instanceof ProfileChangeEvent);
    235238                assertTrue(changes.get(1) instanceof ProfileChangeEvent);
    236                 assertTrue(changes.get(2) instanceof DomainChangeEvent);
     239                assertTrue(changes.get(2) instanceof ProfileChangeEvent);
     240                assertTrue(changes.get(3) instanceof DomainChangeEvent);
    237241                assertEquals(0, warnings.size());
    238242        }
Note: See TracChangeset for help on using the changeset viewer.