A dynamic proxy class is a class that implements a list
of interfaces specified at runtime such that a method invocation
through one of the interfaces on an instance of the class will be
encoded and dispatched to another object through a uniform
interface. Thus, a dynamic proxy class can be used to create a
type-safe proxy object for a list of interfaces without requiring
pre-generation of the proxy class, such as with compile-time tools.
Method invocations on an instance of a dynamic proxy class are
dispatched to a single method in the instance's invocation
handler, and they are encoded with a
java.lang.reflect.Method
object identifying the method
that was invoked and an array of type Object
containing the arguments.
Dynamic proxy classes are useful to an application or library
that needs to provide type-safe reflective dispatch of invocations
on objects that present interface APIs. For example, an application
can use a dynamic proxy class to create an object that implements
multiple arbitrary event listener interfaces-- interfaces that
extend java.util.EventListener
-- to process a variety
of events of different types in a uniform fashion, such as by
logging all such events to a file.
A dynamic proxy class (simply referred to as a proxy class below) is a class that implements a list of interfaces specified at runtime when the class is created.

A proxy instance is an instance of a proxy class.
Proxy classes, as well as instances of them, are created using the static methods of the class java.lang.reflect.Proxy.
The Proxy.getProxyClass
method returns the
java.lang.Class
object for a proxy class given a class
loader and an array of interfaces. The proxy class will be defined
in the specified class loader and will implement all of the
supplied interfaces. If a proxy class for the same permutation of
interfaces has already been defined in the class loader, then the
existing proxy class will be returned; otherwise, a proxy class for
those interfaces will be generated dynamically and defined in the
class loader.
There are several restrictions on the parameters that may be
passed to Proxy.getProxyClass
:
Class
objects in the
interfaces
array must represent interfaces, not
classes or primitive types.interfaces
array may refer
to identical Class
objects.cl
and every interface i
, the following
expression must be true:
Class.forName(i.getName(), false, cl) == i
interfaces
array must not exceed
65535.If any of these restrictions are violated,
Proxy.getProxyClass
will throw an
IllegalArgumentException
. If the
interfaces
array argument or any of its elements are
null
, a NullPointerException
will be
thrown.
Note that the order of the specified proxy interfaces is significant: two requests for a proxy class with the same combination of interfaces but in a different order will result in two distinct proxy classes. Proxy classes are distinguished by the order of their proxy interfaces in order to provide deterministic method invocation encoding in cases where two or more of the proxy interfaces share a method with the same name and parameter signature; this reasoning is described in more detail in the section below titled Methods Duplicated in Multiple Proxy Interfaces.
So that a new proxy class does not need to be generated each
time Proxy.getProxyClass
is invoked with the same
class loader and list of interfaces, the implementation of the
dynamic proxy class API should keep a cache of generated proxy
classes, keyed by their corresponding loaders and interface list.
The implementation should be careful not to refer to the class
loaders, interfaces, and proxy classes in such a way as to prevent
class loaders, and all of their classes, from being garbage
collected when appropriate.
A proxy class has the following properties:
"$Proxy"
is,
however, to be reserved for proxy classes.java.lang.reflect.Proxy
.getInterfaces
on its
Class
object will return an array containing the same
list of interfaces (in the order specified at its creation),
invoking getMethods
on its Class
object
will return an array of Method
objects that include
all of the methods in those interfaces, and invoking
getMethod
will find methods in the proxy interfaces as
would be expected.Proxy.isProxyClass
method will return true if
it is passed a proxy class-- a class returned by
Proxy.getProxyClass
or the class of an object returned
by Proxy.newProxyInstance
-- and false otherwise. The
reliability of this method is important for the ability to use it
to make security decisions, so its implementation should not just
test if the class in question extends
java.lang.reflect.Proxy
.java.security.ProtectionDomain
of a proxy
class is the same as that of system classes loaded by the bootstrap
class loader, such as java.lang.Object
, because the
code for a proxy class is generated by trusted system code. This
protection domain will typically be granted
java.security.AllPermission
.Each proxy class has one public constructor that takes one
argument, an implementation of the interface InvocationHandler
.
Each proxy instance has an associated invocation handler object,
the one that was passed to its constructor. Rather than having to
use the reflection API to access the public constructor, a proxy
instance can be also be created by calling the
Proxy.newProxyInstance
method, which combines the
actions of calling Proxy.getProxyClass
with invoking
the constructor with an invocation handler.
Proxy.newProxyInstance
throws
IllegalArgumentException
for the same reasons that
Proxy.getProxyClass
does.
A proxy instance has the following properties:
proxy
and one of the
interfaces implemented by its proxy class Foo
, the
following expression will return true:
proxy instanceof Foo
and the following cast operation will succeed (rather than throwing
a ClassCastException
):
(Foo) proxy
Proxy.getInvocationHandler
method will
return the invocation handler associated with the proxy instance
passed as its argument. If the object passed to
Proxy.getInvocationHandler
is not a proxy instance,
then an IllegalArgumentException
will be thrown.invoke
method as described below.
The proxy instance itself will be passed as the first argument
of invoke
, which is of type Object
.
The second argument passed to invoke
will be the
java.lang.reflect.Method
instance corresponding to the
interface method invoked on the proxy instance. The declaring class
of the Method
object will be the interface that the
method was declared in, which may be a superinterface of the proxy
interface that the proxy class inherits the method through.
The third argument passed to invoke
will be an
array of objects containing the values of the arguments passed in
the method invocation on the proxy instance. Arguments of primitive
types are wrapped in an instance of the appropriate primitive
wrapper class, such as java.lang.Integer
or
java.lang.Boolean
. The implementation of the
invoke
method is free to modify the contents of this
array.
The value returned by the invoke
method will become
the return value of the method invocation on the proxy instance. If
the declared return value of the interface method is a primitive
type, then the value returned by invoke
must be an
instance of the corresponding primitive wrapper class; otherwise,
it must be a type assignable to the declared return type. If the
value returned by invoke
is null
and the
interface method's return type is primitive, then a
NullPointerException
will be thrown by the method
invocation on the proxy instance. If the value returned by
invoke
is otherwise not compatible with the method's
declared return type as described above, a
ClassCastException
will be thrown by the proxy
instance.
If an exception is thrown by the invoke
method, it
will be also thrown by the method invocation on the proxy instance.
The exception's type must be assignable to either any of the
exception types declared in the signature of the interface method
or to the unchecked exception types
java.lang.RuntimeException
or
java.lang.Error
. If a checked exception is thrown by
invoke
that is not assignable to any of the exception
types declared in the throws
clause of the interface
method, then an UndeclaredThrowableException
will be thrown by the method invocation on the proxy instance. The
UndeclaredThrowableException
will be constructed with
the exception that was thrown by the invoke
method.
hashCode
,
equals
, or toString
methods declared in
java.lang.Object
on a proxy instance will be encoded
and dispatched to the invocation handler's invoke
method in the same manner as interface method invocations are
encoded and dispatched, as described above. The declaring class of
the Method
object passed to invoke
will
be java.lang.Object
. Other public methods of a proxy
instance inherited from java.lang.Object
are not
overridden by a proxy class, so invocations of those methods behave
like they do for instances of java.lang.Object
.When two or more interfaces of a proxy class contain a method
with the same name and parameter signature, the order of the proxy
class's interfaces becomes significant. When such a duplicate
method is invoked on a proxy instance, the Method
object passed to the invocation handler will not necessarily be the
one whose declaring class is assignable from the reference type of
the interface that the proxy's method was invoked through. This
limitation exists because the corresponding method implementation
in the generated proxy class cannot determine which interface it
was invoked through. Therefore, when a duplicate method is invoked
on a proxy instance, the Method
object for the method
in the foremost interface that contains the method (either directly
or inherited through a superinterface) in the proxy class's list of
interfaces is passed to the invocation handler's
invoke
method, regardless of the reference type
through which the method invocation occurred.
If a proxy interface contains a method with the same name and
parameter signature as the hashCode
,
equals
, or toString
methods of
java.lang.Object
, when such a method is invoked on a
proxy instance, the Method
object passed to the
invocation handler will have java.lang.Object
as its
declaring class. In other words, the public, non-final methods of
java.lang.Object
logically precede all of the proxy
interfaces for the determination of which Method
object to pass to the invocation handler.
Note also that when a duplicate method is dispatched to an
invocation handler, the invoke
method may only throw
checked exception types that are assignable to one of the exception
types in the throws
clause of the method in all
of the proxy interfaces that it can be invoked through. If the
invoke
method throws a checked exception that is not
assignable to any of the exception types declared by the method in
one of the proxy interfaces that it can be invoked through, then an
unchecked UndeclaredThrowableException
will be thrown
by the invocation on the proxy instance. This restriction means
that not all of the exception types returned by invoking
getExceptionTypes
on the Method
object
passed to the invoke
method can necessarily be thrown
successfully by the invoke
method.
Since java.lang.reflect.Proxy
implements
java.io.Serializable
, proxy instances can be
serialized, as described in this section. If a proxy instance
contains an invocation handler that is not assignable to
java.io.Serializable
, however, then a
java.io.NotSerializableException
will be thrown if
such an instance is written to a
java.io.ObjectOutputStream
. Note that for proxy
classes, implementing java.io.Externalizable
has the
same effect with respect to serialization as implementing
java.io.Serializable
: the writeExternal
and readExternal
methods of the
Externalizable
interface will never be invoked on a
proxy instance (or an invocation handler) as part of its
serialization process. As with all Class
objects, the
Class
object for a proxy class is always
serializable.
A proxy class has no serializable fields and a
serialVersionUID
of 0L
. In other words,
when the Class
object for a proxy class is passed to
the static lookup
method of
java.io.ObjectStreamClass
, the returned
ObjectStreamClass
instance will have the following
properties:
getSerialVersionUID
method will
return 0L
.getFields
method will return an array
of length zero.getField
method with any
String
argument will return null
.The stream protocol for Object Serialization supports a type
code named TC_PROXYCLASSDESC
, which is a terminal
symbol in the grammar for the stream format; its type and value are
defined by the following constant field in the
java.io.ObjectStreamConstants
interface:
final static byte TC_PROXYCLASSDESC = (byte)0x7D;
The grammar also includes the following two rules, the first being an alternate expansion of the original newClassDesc rule:
newClassDesc:
TC_PROXYCLASSDESC
newHandle proxyClassDescInfo
proxyClassDescInfo:
(int)<count>
proxyInterfaceName[count] classAnnotation
superClassDesc
proxyInterfaceName:
(utf)
When an ObjectOutputStream
serializes the class
descriptor for a class that is a proxy class, as determined by
passing its Class
object to the
Proxy.isProxyClass
method, it uses the
TC_PROXYCLASSDESC
type code instead of
TC_CLASSDESC
, following the rules above. In the
expansion of proxyClassDescInfo, the sequence of
proxyInterfaceName items are the names of all of the
interfaces implemented by the proxy class, in the order that they
are returned by invoking the getInterfaces
method on
the Class
object. The classAnnotation and
superClassDesc items have the same meaning as they do in the
classDescInfo rule. For a proxy class, superClassDesc
is the class descriptor for its superclass,
java.lang.reflect.Proxy
; including this descriptor
allows for the evolution of the serialized representation of the
class Proxy
for proxy instances.
For non-proxy classes, ObjectOutputStream
calls its
protected annotateClass
method to allow subclasses to
write custom data to the stream for a particular class. For proxy
classes, instead of annotateClass
, the following
method in java.io.ObjectOutputStream
is called with
the Class
object for the proxy class:
protected void annotateProxyClass(Class cl) throws IOException;
The default implementation of annotateProxyClass
in
ObjectOutputStream
does nothing.
When an ObjectInputStream
encounters the type code
TC_PROXYCLASSDESC
, it deserializes the class
descriptor for a proxy class from the stream, formatted as
described above. Instead of calling its resolveClass
method to resolve the Class
object for the class
descriptor, the following method in
java.io.ObjectInputStream
is called:
protected Class resolveProxyClass(String[] interfaces) throws IOException, ClassNotFoundException;
The list of interface names that were deserialized in the proxy
class descriptor are passed as the interfaces
argument
to resolveProxyClass
.
The default implementation of resolveProxyClass
in
ObjectInputStream
returns the results of calling
Proxy.getProxyClass
with the list of
Class
objects for the interfaces named in the
interfaces
parameter. The Class
object
used for each interface name i
is the value retuned by
calling
Class.forName(i, false, loader)where
loader
is the first non-null class loader up the
execution stack, or null
if no non-null class loaders
are on the stack. This is the same class loader choice made by the
default behavior of the resolveClass
method. This same
value of loader
is also the class loader passed to
Proxy.getProxyClass
. If
Proxy.getProxyClass
throws an
IllegalArgumentException
, resolveClass
will throw a ClassNotFoundException
containing the
IllegalArgumentException
.
Since a proxy class never has its own serializable fields, the
classdata[] in the stream representation of a proxy instance
consists wholly of the instance data for its superclass,
java.lang.reflect.Proxy
. Proxy
has one
serializable field, h
, which contains the invocation
handler for the proxy instance.
Here is a simple example that prints out a message before and after a method invocation on an object that implements an arbitrary list of interfaces:
public interface Foo { Object bar(Object obj) throws BazException; } public class FooImpl implements Foo { Object bar(Object obj) throws BazException { // ... } } public class DebugProxy implements java.lang.reflect.InvocationHandler { private Object obj; public static Object newInstance(Object obj) { return java.lang.reflect.Proxy.newProxyInstance( obj.getClass().getClassLoader(), obj.getClass().getInterfaces(), new DebugProxy(obj)); } private DebugProxy(Object obj) { this.obj = obj; } public Object invoke(Object proxy, Method m, Object[] args) throws Throwable { Object result; try { System.out.println("before method " + m.getName()); result = m.invoke(obj, args); } catch (InvocationTargetException e) { throw e.getTargetException(); } catch (Exception e) { throw new RuntimeException("unexpected invocation exception: " + e.getMessage()); } finally { System.out.println("after method " + m.getName()); } return result; } }
To construct a DebugProxy
for an implementation of
the Foo
interface and call one of its methods:
Foo foo = (Foo) DebugProxy.newInstance(new FooImpl()); foo.bar(null);
Here is an example of a utility invocation handler class that
provides default proxy behavior for methods inherited from
java.lang.Object
and implements delegation of certain
proxy method invocations to distinct objects depending on the
interface of the invoked method:
import java.lang.reflect.*; public class Delegator implements InvocationHandler { // preloaded Method objects for the methods in java.lang.Object private static Method hashCodeMethod; private static Method equalsMethod; private static Method toStringMethod; static { try { hashCodeMethod = Object.class.getMethod("hashCode", null); equalsMethod = Object.class.getMethod("equals", new Class[] { Object.class }); toStringMethod = Object.class.getMethod("toString", null); } catch (NoSuchMethodException e) { throw new NoSuchMethodError(e.getMessage()); } } private Class[] interfaces; private Object[] delegates; public Delegator(Class[] interfaces, Object[] delegates) { this.interfaces = (Class[]) interfaces.clone(); this.delegates = (Object[]) delegates.clone(); } public Object invoke(Object proxy, Method m, Object[] args) throws Throwable { Class declaringClass = m.getDeclaringClass(); if (declaringClass == Object.class) { if (m.equals(hashCodeMethod)) { return proxyHashCode(proxy); } else if (m.equals(equalsMethod)) { return proxyEquals(proxy, args[0]); } else if (m.equals(toStringMethod)) { return proxyToString(proxy); } else { throw new InternalError( "unexpected Object method dispatched: " + m); } } else { for (int i = 0; i < interfaces.length; i++) { if (declaringClass.isAssignableFrom(interfaces[i])) { try { return m.invoke(delegates[i], args); } catch (InvocationTargetException e) { throw e.getTargetException(); } } } return invokeNotDelegated(proxy, m, args); } } protected Object invokeNotDelegated(Object proxy, Method m, Object[] args) throws Throwable { throw new InternalError("unexpected method dispatched: " + m); } protected Integer proxyHashCode(Object proxy) { return new Integer(System.identityHashCode(proxy)); } protected Boolean proxyEquals(Object proxy, Object other) { return (proxy == other ? Boolean.TRUE : Boolean.FALSE); } protected String proxyToString(Object proxy) { return proxy.getClass().getName() + '@' + Integer.toHexString(proxy.hashCode()); } }
Subclasses of Delegator
can override
invokeNotDelegated
to implement the behavior of proxy
method invocations not to be directly delegated to other objects,
and they can override proxyHashCode
,
proxyEquals
, and proxyToString
to
override the default behavior of the methods the proxy inherits
from java.lang.Object
.
To construct a Delegator
for an implementation of
the Foo
interface:
Class[] proxyInterfaces = new Class[] { Foo.class }; Foo foo = (Foo) Proxy.newProxyInstance(Foo.class.getClassLoader(), proxyInterfaces, new Delegator(proxyInterfaces, new Object[] { new FooImpl() }));
Note that the implementation of the Delegator
class
given above is intended to be more illustrative than optimized; for
example, instead of caching and comparing the Method
objects for the hashCode
, equals
, and
toString
methods, it could just match them by their
string names, because none of those method names are overloaded in
java.lang.Object
.


analyze()
Generates in-depth statistics about your dataset. Creates confusion matrix and ROC Curve for all classification problems. Also calculates recall, precision, f1, and f2 score. For regression problems, this function will calculate MSE, MAE, and other important statistics.
| Arguments | |
| model=latest_model | The model that you want to analyze. If you want to call on the latest model, this parameter does not need to be specified. |
| save_model=False | Whether you want to save your model. Will generate a .json and a .h5 file. |
| save=True | Whether you want to save the plots that are generated as .png files. |
new_client = client('path_to_dataset') new_client.neural_network_query('Please estimate the number of households.') new_client.analyze()
info()
Returns all the keys, representing each category of data generated for the dataset.
| Arguments | |
| model=latest_model | The model that you want to analyze. If you want to call on the latest model, this parameter does not need to be specified. |
new_client = client('path_to_dataset') new_client.neural_network_query('Please estimate the number of households.') new_client.info() #access plots
plots()
Displays all of the plots generated for the model it is called on.
| Arguments | |
| model=latest_model | The model that you want to analyze. If you want to call on the latest model, this parameter does not need to be specified. |
| plot=None | The plot that you want to display. If not specified, all plots will be displayed. |
| save=False | Whether you want to save the plots that are generated as .png files. |
new_client = client('path_to_dataset') new_client.neural_network_query('Please estimate the number of households.') new_client.plots() #access plots
vocab()
Returns the vocabulary used for the query. Can only be used for doc_summarization and image_caption.
| Arguments | |
| data | The data that you want to predict for this model. |
| model=latest_model | The model that you want to analyze. If you want to call on the latest model, this parameter does not need to be specified. |
new_client = client('path_to_dataset') new_client.summarization_query('csv_file') new_client.vocab() #access vocabulary
predict()
Automatically fits a neural network to your dataset. Target detection, preprocessing, and scoring are done by default.
| Arguments | |
| model=latest_model | The model that you want to analyze. If you want to call on the latest model, this parameter does not need to be specified. |
new_client = client('path_to_dataset') new_client.neural_network_query('Please estimate the number of households.') new_client.predict(new_data, model='regression_ANN')
model()
Returns the entire dictionary for that specific model.
| Arguments | |
| model=latest_model | The model that you want to analyze. If you want to call on the latest model, this parameter does not need to be specified. |
new_client = client('path_to_dataset') new_client.neural_network_query('Please estimate the number of households.') new_client.model()['plots'] #access plots


001package it.unimi.dsi.fastutil; 002 003/* 004 * Copyright (C) 2003-2017 Paolo Boldi and Sebastiano Vigna 005 * 006 * Licensed under the Apache License, Version 2.0 (the "License"); 007 * you may not use this file except in compliance with the License. 008 * You may obtain a copy of the License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, software 013 * distributed under the License is distributed on an "AS IS" BASIS, 014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 015 * See the License for the specific language governing permissions and 016 * limitations under the License. 017 */ 018 019 020import java.util.Comparator; 021import java.util.NoSuchElementException; 022 023/** An indirect priority queue. 024 * 025 *
An indirect priority queue provides a way to {@linkplain #enqueue(int) 026 * enqueue} by index elements taken from a given reference list, 027 * and to {@linkplain #dequeue() dequeue} them in some specified order. 028 * Elements that are smaller in the specified order are 029 * dequeued first. It 030 * is also possible to get the {@linkplain #first() index of the first element}, that 031 * is, the index that would be dequeued next. 032 * 033 *
Additionally, the queue may provide a method to peek at the index of the 034 * element that would be dequeued {@linkplain #last() last}. 035 * 036 *
The reference list should not change during queue operations (or, more 037 * precisely, the relative order of the elements corresponding to indices in the queue should not 038 * change). Nonetheless, some implementations may give the caller a way to 039 * notify the queue that the {@linkplain #changed() first element has changed its 040 * relative position in the order}. 041 * 042 *
Optionally, an indirect priority queue may even provide methods to notify 043 * {@linkplain #changed(int) the change of any element of the 044 * reference list}, to check {@linkplain #contains(int) the presence of 045 * an index in the queue}, and to {@linkplain #remove(int) remove an index from the queue}. 046 * It may even allow to notify that {@linkplain #allChanged() all elements have changed}. 047 * 048 *
It is always possible to enqueue two distinct indices corresponding to 049 * equal elements of the reference list. However, depending on the 050 * implementation, it may or may not be possible to enqueue twice the same 051 * index. 052 * 053 *
Note that all element manipulation happens via indices. 054 */ 055 056public interface IndirectPriorityQueue<K> { 057 058 /** Enqueues a new element. 059 * 060 * @param index the element to enqueue. 061 */ 062 063 void enqueue(int index); 064 065 /** Dequeues the {@linkplain #first() first} element from this queue. 066 * 067 * @return the dequeued element. 068 * @throws NoSuchElementException if this queue is empty. 069 */ 070 071 int dequeue(); 072 073 /** Checks whether this queue is empty. 074 * 075 * @return true if this queue is empty. 076 */ 077 078 boolean isEmpty(); 079 080 /** Returns the number of elements in this queue. 081 * 082 * @return the number of elements in this queue. 083 */ 084 085 int size(); 086 087 /** Removes all elements from this queue. 088 */ 089 090 void clear(); 091 092 /** Returns the first element of this queue. 093 * 094 * @return the first element. 095 * @throws NoSuchElementException if this queue is empty. 096 */ 097 098 int first(); 099 100 /** Returns the last element of this queue, that is, the element the would be dequeued last (optional operation). 101 * 102 * @return the last element. 103 * @throws NoSuchElementException if this queue is empty. 104 */ 105 106 int last(); 107 108 /** Notifies this queue that the {@linkplain #first() first element} has changed (optional operation). 109 * 110 */ 111 112 void changed(); 113 114 /** Returns the comparator associated with this queue, or null if it uses its elements' natural ordering. 115 * 116 * @return the comparator associated with this sorted set, or null if it uses its elements' natural ordering. 117 */ 118 Comparator <? super K> comparator(); 119 120 /** Notifies this queue that the specified element has changed (optional operation). 121 * 122 *
Note that the specified element must belong to this queue. 123 * 124 * @param index the element that has changed. 125 * @throws NoSuchElementException if the specified element is not in this queue. 126 */ 127 128 public void changed(int index); 129 130 /** Notifies this queue that the all elements have changed (optional operation). 131 */ 132 133 public void allChanged(); 134 135 /** Checks whether a given index belongs to this queue (optional operation). 136 * 137 * @param index an index possibly in the queue. 138 * @return true if the specified index belongs to this queue. 139 */ 140 public boolean contains(int index); 141 142 /** Removes the specified element from this queue (optional operation). 143 * 144 * @param index the element to be removed. 145 * @return true if the index was in the queue. 146 */ 147 148 public boolean remove(int index); 149 150 /** Retrieves the front of this queue in a given array (optional operation). 151 * 152 *
The front of an indirect queue is the set of indices whose associated elements in the reference array 153 * are equal to the element associated to the {@linkplain #first() first index}. These indices can be always obtain by dequeueing, but 154 * this method should retrieve efficiently such indices in the given array without modifying the state of this queue. 155 * 156 * @param a an array large enough to hold the front (e.g., at least long as the reference array). 157 * @return the number of elements actually written (starting from the first position of a). 158 */ 159 160 public int front(final int[] a); 161 162}


Training: {{ training.date }}
Edit
Team: {{ training.team.team_name }}
Start time: {{ training.start }}
End time: {{ training.end }}
Location: {{ training.location }}
{% if training.exercises.first %}
Exercises:
{% endif %}
{% if training.team_plays.first %}
Team Plays:
{% endif %}


Donation Information
RS.30
RS.50
RS.100
RS.
One-Time
Monthly
Email Me A Receipt
Give Anonymously
Add Me To Email List
Donate Now


12:01:50.682 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous POST request for "http://localhost:64832/post"
12:01:50.683 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Accept=[text/plain, application/xml, text/xml, application/json, application/x-jackson-smile, application/cbor, application/*+xml, application/*+json, */*]
12:01:50.683 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Writing [Héllo W?rld] with org.springframework.http.converter.StringHttpMessageConverter
12:01:50.687 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Async POST request for "http://localhost:64832/post" resulted in 201 (OK)
12:01:50.687 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Reading to [java.lang.String] as "text/plain;charset=UTF-8"
12:01:50.700 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous GET request for "http://localhost:64848/get"
12:01:50.700 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Accept=[text/plain, application/xml, text/xml, application/json, application/x-jackson-smile, application/cbor, application/*+xml, application/*+json, */*]
12:01:50.704 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Async GET request for "http://localhost:64848/get" resulted in 200 (OK)
12:01:50.704 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Reading to [java.lang.String] as "text/plain;charset=UTF-8"
12:01:50.719 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous POST request for "http://localhost:64864/post"
12:01:50.719 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Writing [Héllo W?rld] as "text/plain;charset=ISO-8859-1"
12:01:50.735 [I/O dispatcher 79] DEBUG org.springframework.web.client.AsyncRestTemplate - Async POST request for "http://localhost:64864/post" resulted in 201 (OK)
12:01:50.749 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous HEAD request for "http://localhost:64880/get"
12:01:50.752 [I/O dispatcher 85] DEBUG org.springframework.web.client.AsyncRestTemplate - Async HEAD request for "http://localhost:64880/get" resulted in 200 (OK)
12:01:50.766 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous DELETE request for "http://localhost:64896/delete"
12:01:50.771 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Async DELETE request for "http://localhost:64896/delete" resulted in 200 (OK)
12:01:50.787 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous GET request for "http://localhost:64912/status/notfound"
12:01:50.799 [I/O dispatcher 97] WARN org.springframework.web.client.AsyncRestTemplate - Async GET request for "http://localhost:64912/status/notfound" resulted in 404 (Client Error); invoking error handler
12:01:50.815 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous POST request for "http://localhost:64928/multipart"
12:01:50.815 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Writing [{name 1=[value 1], name 2=[value 2+1, value 2+2], logo=[class path resource [org/springframework/http/converter/logo.jpg]]}] with org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter
12:01:50.831 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Async POST request for "http://localhost:64928/multipart" resulted in 200 (OK)
12:01:50.845 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous GET request for "http://localhost:64944/get"
12:01:50.846 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Accept=[text/plain, application/xml, text/xml, application/json, application/x-jackson-smile, application/cbor, application/*+xml, application/*+json, */*]
12:01:50.849 [I/O dispatcher 109] DEBUG org.springframework.web.client.AsyncRestTemplate - Async GET request for "http://localhost:64944/get" resulted in 200 (OK)
12:01:50.849 [I/O dispatcher 109] DEBUG org.springframework.web.client.RestTemplate - Reading to [java.lang.String] as "text/plain;charset=UTF-8"
12:01:50.863 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous GET request for "http://localhost:64960/get/nocontenttype"
12:01:50.863 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Accept=[application/octet-stream, application/xml, text/xml, application/json, application/x-jackson-smile, application/cbor, application/*+xml, application/*+json, */*]
12:01:50.866 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Async GET request for "http://localhost:64960/get/nocontenttype" resulted in 200 (OK)
12:01:50.866 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Reading to [[B] as "application/octet-stream"
12:01:50.888 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous HEAD request for "http://localhost:64976/get"
12:01:50.891 [I/O dispatcher 121] DEBUG org.springframework.web.client.AsyncRestTemplate - Async HEAD request for "http://localhost:64976/get" resulted in 200 (OK)
12:01:50.904 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous GET request for "http://localhost:64992/status/notmodified"
12:01:50.905 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Accept=[text/plain, application/xml, text/xml, application/json, application/x-jackson-smile, application/cbor, application/*+xml, application/*+json, */*]
12:01:50.910 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Async GET request for "http://localhost:64992/status/notmodified" resulted in 304 (Redirection)
12:01:50.929 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous GET request for "http://localhost:65008/status/server"
12:01:50.932 [I/O dispatcher 133] WARN org.springframework.web.client.AsyncRestTemplate - Async GET request for "http://localhost:65008/status/server" resulted in 500 (Server Error); invoking error handler
12:01:50.947 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous GET request for "http://localhost:65024/status/server"
12:01:50.950 [Test worker] WARN org.springframework.web.client.AsyncRestTemplate - Async GET request for "http://localhost:65024/status/server" resulted in 500 (Server Error); invoking error handler
12:01:50.963 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous GET request for "http://localhost:65040/status/server"
12:01:50.967 [I/O dispatcher 145] WARN org.springframework.web.client.AsyncRestTemplate - Async GET request for "http://localhost:65040/status/server" resulted in 500 (Server Error); invoking error handler
12:01:50.981 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous GET request for "http://localhost:65056/get"
12:01:50.982 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Accept=[text/plain, application/xml, text/xml, application/json, application/x-jackson-smile, application/cbor, application/*+xml, application/*+json, */*]
12:01:51.000 [I/O dispatcher 151] DEBUG org.springframework.web.client.AsyncRestTemplate - Async GET request for "http://localhost:65056/get" resulted in 200 (OK)
12:01:51.000 [I/O dispatcher 151] DEBUG org.springframework.web.client.RestTemplate - Reading to [java.lang.String] as "text/plain;charset=UTF-8"
12:01:51.015 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous HEAD request for "http://localhost:65072/get"
12:01:51.018 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Async HEAD request for "http://localhost:65072/get" resulted in 200 (OK)
12:01:51.032 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous GET request for "http://localhost:65088/get"
12:01:51.032 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Accept=[text/plain, application/xml, text/xml, application/json, application/x-jackson-smile, application/cbor, application/*+xml, application/*+json, */*]
12:01:51.041 [I/O dispatcher 163] DEBUG org.springframework.web.client.AsyncRestTemplate - Async GET request for "http://localhost:65088/get" resulted in 200 (OK)
12:01:51.041 [I/O dispatcher 163] DEBUG org.springframework.web.client.RestTemplate - Reading to [java.lang.String] as "text/plain;charset=UTF-8"
12:01:51.055 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous POST request for "http://localhost:65104/post"
12:01:51.055 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Accept=[text/plain, application/xml, text/xml, application/json, application/x-jackson-smile, application/cbor, application/*+xml, application/*+json, */*]
12:01:51.055 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Writing [Héllo W?rld] with org.springframework.http.converter.StringHttpMessageConverter
12:01:51.064 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Async POST request for "http://localhost:65104/post" resulted in 201 (OK)
12:01:51.064 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Reading to [java.lang.String] as "text/plain;charset=UTF-8"
12:01:51.079 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous GET request for "http://localhost:65120/get"
12:01:51.079 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Accept=[text/plain, application/xml, text/xml, application/json, application/x-jackson-smile, application/cbor, application/*+xml, application/*+json, */*]
12:01:51.082 [I/O dispatcher 175] DEBUG org.springframework.web.client.AsyncRestTemplate - Async GET request for "http://localhost:65120/get" resulted in 200 (OK)
12:01:51.082 [I/O dispatcher 175] DEBUG org.springframework.web.client.RestTemplate - Reading to [java.lang.String] as "text/plain;charset=UTF-8"
12:01:51.096 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous PUT request for "http://localhost:65136/put"
12:01:51.096 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Writing [Héllo W?rld] with org.springframework.http.converter.StringHttpMessageConverter
12:01:51.102 [I/O dispatcher 181] DEBUG org.springframework.web.client.AsyncRestTemplate - Async PUT request for "http://localhost:65136/put" resulted in 202 (OK)
12:01:51.116 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous POST request for "http://localhost:65152/post"
12:01:51.116 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Accept=[text/plain, application/xml, text/xml, application/json, application/x-jackson-smile, application/cbor, application/*+xml, application/*+json, */*]
12:01:51.116 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Writing [Héllo W?rld] with org.springframework.http.converter.StringHttpMessageConverter
12:01:51.119 [I/O dispatcher 187] DEBUG org.springframework.web.client.AsyncRestTemplate - Async POST request for "http://localhost:65152/post" resulted in 201 (OK)
12:01:51.119 [I/O dispatcher 187] DEBUG org.springframework.web.client.RestTemplate - Reading to [java.lang.String] as "text/plain;charset=UTF-8"
12:01:51.132 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous POST request for "http://localhost:65168/post"
12:01:51.132 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Writing [Héllo W?rld] as "text/plain;charset=ISO-8859-1"
12:01:51.135 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Async POST request for "http://localhost:65168/post" resulted in 201 (OK)
12:01:51.148 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous POST request for "http://localhost:65184/post"
12:01:51.148 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Writing [Héllo W?rld] as "text/plain;charset=ISO-8859-1"
12:01:51.152 [I/O dispatcher 199] DEBUG org.springframework.web.client.AsyncRestTemplate - Async POST request for "http://localhost:65184/post" resulted in 201 (OK)
12:01:51.168 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous PUT request for "http://localhost:65200/put"
12:01:51.168 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Writing [Héllo W?rld] with org.springframework.http.converter.StringHttpMessageConverter
12:01:51.171 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Async PUT request for "http://localhost:65200/put" resulted in 202 (OK)
12:01:51.185 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous GET request for "http://localhost:65216/get"
12:01:51.185 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Accept=[text/plain, application/xml, text/xml, application/json, application/x-jackson-smile, application/cbor, application/*+xml, application/*+json, */*]
12:01:51.188 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Async GET request for "http://localhost:65216/get" resulted in 200 (OK)
12:01:51.188 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Reading to [java.lang.String] as "text/plain;charset=UTF-8"
12:01:51.202 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous DELETE request for "http://localhost:65232/delete"
12:01:51.205 [I/O dispatcher 217] DEBUG org.springframework.web.client.AsyncRestTemplate - Async DELETE request for "http://localhost:65232/delete" resulted in 200 (OK)
12:01:51.219 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous GET request for "http://localhost:65248/get"
12:01:51.219 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Accept=[text/plain, application/xml, text/xml, application/json, application/x-jackson-smile, application/cbor, application/*+xml, application/*+json, */*]
12:01:51.222 [I/O dispatcher 223] DEBUG org.springframework.web.client.AsyncRestTemplate - Async GET request for "http://localhost:65248/get" resulted in 200 (OK)
12:01:51.223 [I/O dispatcher 223] DEBUG org.springframework.web.client.RestTemplate - Reading to [java.lang.String] as "text/plain;charset=UTF-8"
12:01:51.237 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous OPTIONS request for "http://localhost:65264/get"
12:01:51.240 [I/O dispatcher 229] DEBUG org.springframework.web.client.AsyncRestTemplate - Async OPTIONS request for "http://localhost:65264/get" resulted in 200 (OK)
12:01:51.255 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous GET request for "http://localhost:65280/status/notfound"
12:01:51.255 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Accept=[text/plain, application/xml, text/xml, application/json, application/x-jackson-smile, application/cbor, application/*+xml, application/*+json, */*]
12:01:51.272 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous GET request for "http://localhost:65296/get"
12:01:51.272 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Accept=[text/plain, application/xml, text/xml, application/json, application/x-jackson-smile, application/cbor, application/*+xml, application/*+json, */*]
12:01:51.275 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Async GET request for "http://localhost:65296/get" resulted in 200 (OK)
12:01:51.275 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Reading to [java.lang.String] as "text/plain;charset=UTF-8"
12:01:51.289 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous POST request for "http://localhost:65312/post"
12:01:51.289 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Accept=[application/xml, text/xml, application/json, application/x-jackson-smile, application/cbor, application/*+xml, application/*+json]
12:01:51.289 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Writing [Héllo W?rld] as "text/plain"
12:01:51.292 [I/O dispatcher 247] DEBUG org.springframework.web.client.AsyncRestTemplate - Async POST request for "http://localhost:65312/post" resulted in 201 (OK)
12:01:51.305 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous GET request for "http://localhost:65328/get/nothing"
12:01:51.305 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Accept=[text/plain, application/xml, text/xml, application/json, application/x-jackson-smile, application/cbor, application/*+xml, application/*+json, */*]
12:01:51.309 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Async GET request for "http://localhost:65328/get/nothing" resulted in 200 (OK)
12:01:51.322 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous GET request for "http://localhost:65344/status/notfound"
12:01:51.326 [Test worker] WARN org.springframework.web.client.AsyncRestTemplate - Async GET request for "http://localhost:65344/status/notfound" resulted in 404 (Client Error); invoking error handler
12:01:51.339 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous OPTIONS request for "http://localhost:65360/get"
12:01:51.342 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Async OPTIONS request for "http://localhost:65360/get" resulted in 200 (OK)
12:01:51.355 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous OPTIONS request for "http://localhost:65376/get"
12:01:51.358 [I/O dispatcher 271] DEBUG org.springframework.web.client.AsyncRestTemplate - Async OPTIONS request for "http://localhost:65376/get" resulted in 200 (OK)
12:01:51.373 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous GET request for "http://localhost:65392/status/notfound"
12:01:51.376 [I/O dispatcher 277] WARN org.springframework.web.client.AsyncRestTemplate - Async GET request for "http://localhost:65392/status/notfound" resulted in 404 (Client Error); invoking error handler
12:01:51.389 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous GET request for "http://localhost:65408/get"
12:01:51.390 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Accept=[text/plain, application/xml, text/xml, application/json, application/x-jackson-smile, application/cbor, application/*+xml, application/*+json, */*]
12:01:51.402 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Async GET request for "http://localhost:65408/get" resulted in 200 (OK)
12:01:51.402 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Reading to [java.lang.String] as "text/plain;charset=UTF-8"
12:01:51.415 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous GET request for "http://localhost:65424/status/notfound"
12:01:51.418 [I/O dispatcher 289] WARN org.springframework.web.client.AsyncRestTemplate - Async GET request for "http://localhost:65424/status/notfound" resulted in 404 (Client Error); invoking error handler
12:01:51.432 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous POST request for "http://localhost:65440/post"
12:01:51.433 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Accept=[application/xml, text/xml, application/json, application/x-jackson-smile, application/cbor, application/*+xml, application/*+json]
12:01:51.433 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Writing [Héllo W?rld] as "text/plain"
12:01:51.435 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Async POST request for "http://localhost:65440/post" resulted in 201 (OK)
12:01:51.449 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous GET request for "http://localhost:65456/status/nocontent"
12:01:51.449 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Accept=[text/plain, application/xml, text/xml, application/json, application/x-jackson-smile, application/cbor, application/*+xml, application/*+json, */*]
12:01:51.452 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Async GET request for "http://localhost:65456/status/nocontent" resulted in 204 (OK)
12:01:51.465 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous DELETE request for "http://localhost:65472/delete"
12:01:51.477 [I/O dispatcher 307] DEBUG org.springframework.web.client.AsyncRestTemplate - Async DELETE request for "http://localhost:65472/delete" resulted in 200 (OK)
12:01:51.495 [Test worker] DEBUG org.springframework.web.client.AsyncRestTemplate - Created asynchronous POST request for "http://localhost:65488/post"
12:01:51.496 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Accept=[application/xml, text/xml, application/json, application/x-jackson-smile, application/cbor, application/*+xml, application/*+json]
12:01:51.496 [Test worker] DEBUG org.springframework.web.client.RestTemplate - Writing [Héllo W?rld] as "text/plain"
12:01:51.500 [I/O dispatcher 313] DEBUG org.springframework.web.client.AsyncRestTemplate - Async POST request for "http://localhost:65488/post" resulted in 201 (OK)


Work Day Scheduler
A simple calendar application for scheduling your work day
9:00am
10:00am
11:00am
12:00pm
1:00pm
2:00pm
3:00pm
4:00pm
5:00pm


Akan names are derived from Ghanian culture. Frequently in Ghana, children are given their first name as a 'day name' which corresponds to the day in the week they were born. Akan is web application that takes a user's birthday and calculates the day of the week they were born and then depending on their gender outputs their Akan Name. All you need to do is insert your date of birth and gender then submit and immidiately you will see the day you were born and the Akan name


--- title: Home ---
In a perfect world, everything would be purely functional and nothing would hurt. We don't live in that world.


|
|
|
|
|
|
|
|
|
|
|
__init__(self,
*args)
__init__(lldb::SBData self) -> SBData __init__(lldb::SBData self,
SBData rhs) -> SBData |
source code
|
|
|
|
__swig_destroy__(...)
delete_SBData(SBData self) |
|
|
|
|
|
|
|
GetAddressByteSize(self)
GetAddressByteSize(SBData self) -> uint8_t |
source code
|
|
|
|
SetAddressByteSize(self,
*args)
SetAddressByteSize(SBData self, uint8_t addr_byte_size) |
source code
|
|
|
|
|
|
|
|
|
|
|
|
|
GetByteSize(self)
GetByteSize(SBData self) -> size_t |
source code
|
|
|
|
GetByteOrder(self)
GetByteOrder(SBData self) -> lldb::ByteOrder |
source code
|
|
|
|
SetByteOrder(self,
*args)
SetByteOrder(SBData self, lldb::ByteOrder endian) |
source code
|
|
|
|
GetFloat(self,
*args)
GetFloat(SBData self, SBError error, lldb::offset_t offset) ->
float |
source code
|
|
|
|
GetDouble(self,
*args)
GetDouble(SBData self, SBError error, lldb::offset_t offset) ->
double |
source code
|
|
|
|
GetLongDouble(self,
*args)
GetLongDouble(SBData self, SBError error, lldb::offset_t offset)
-> long double |
source code
|
|
|
|
GetAddress(self,
*args)
GetAddress(SBData self, SBError error, lldb::offset_t offset) ->
lldb::addr_t |
source code
|
|
|
|
GetUnsignedInt8(self,
*args)
GetUnsignedInt8(SBData self, SBError error, lldb::offset_t offset)
-> uint8_t |
source code
|
|
|
|
GetUnsignedInt16(self,
*args)
GetUnsignedInt16(SBData self, SBError error, lldb::offset_t offset)
-> uint16_t |
source code
|
|
|
|
GetUnsignedInt32(self,
*args)
GetUnsignedInt32(SBData self, SBError error, lldb::offset_t offset)
-> uint32_t |
source code
|
|
|
|
GetUnsignedInt64(self,
*args)
GetUnsignedInt64(SBData self, SBError error, lldb::offset_t offset)
-> uint64_t |
source code
|
|
|
|
GetSignedInt8(self,
*args)
GetSignedInt8(SBData self, SBError error, lldb::offset_t offset)
-> int8_t |
source code
|
|
|
|
GetSignedInt16(self,
*args)
GetSignedInt16(SBData self, SBError error, lldb::offset_t offset)
-> int16_t |
source code
|
|
|
|
GetSignedInt32(self,
*args)
GetSignedInt32(SBData self, SBError error, lldb::offset_t offset)
-> int32_t |
source code
|
|
|
|
GetSignedInt64(self,
*args)
GetSignedInt64(SBData self, SBError error, lldb::offset_t offset)
-> int64_t |
source code
|
|
|
|
GetString(self,
*args)
GetString(SBData self, SBError error, lldb::offset_t offset) ->
str const * |
source code
|
|
|
|
GetDescription(self,
*args)
GetDescription(SBData self, SBStream description, lldb::addr_t
base_addr) -> bool |
source code
|
|
|
|
ReadRawData(self,
*args)
ReadRawData(SBData self, SBError error, lldb::offset_t offset, void *
buf) -> size_t |
source code
|
|
|
|
SetData(self,
*args)
SetData(SBData self, SBError error, void const * buf, lldb::ByteOrder
endian, uint8_t addr_size) |
source code
|
|
|
|
Append(self,
*args)
Append(SBData self, SBData rhs) -> bool |
source code
|
|
|
|
SetDataFromCString(self,
*args)
SetDataFromCString(SBData self, str const * data) -> bool |
source code
|
|
|
|
SetDataFromUInt64Array(self,
*args)
SetDataFromUInt64Array(SBData self, uint64_t * array) -> bool |
source code
|
|
|
|
SetDataFromUInt32Array(self,
*args)
SetDataFromUInt32Array(SBData self, uint32_t * array) -> bool |
source code
|
|
|
|
SetDataFromSInt64Array(self,
*args)
SetDataFromSInt64Array(SBData self, int64_t * array) -> bool |
source code
|
|
|
|
SetDataFromSInt32Array(self,
*args)
SetDataFromSInt32Array(SBData self, int32_t * array) -> bool |
source code
|
|
|
|
SetDataFromDoubleArray(self,
*args)
SetDataFromDoubleArray(SBData self, double * array) -> bool |
source code
|
|
|
|
| _make_helper(self,
sbdata,
getfunc,
itemsize) |
source code
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Inherited from object :
__delattr__ ,
__format__ ,
__getattribute__ ,
__hash__ ,
__new__ ,
__reduce__ ,
__reduce_ex__ ,
__sizeof__ ,
__subclasshook__
|
|
|
byte_order
A read/write property getting and setting the endianness of this
SBData (data.byte_order = lldb.eByteOrderLittle).
|
|
|
double
A read only property that returns an array-like object out of which
you can read double values.
|
|
|
doubles
A read only property that returns an array with all the contents of
this SBData represented as double values.
|
|
|
float
A read only property that returns an array-like object out of which
you can read float values.
|
|
|
floats
A read only property that returns an array with all the contents of
this SBData represented as float values.
|
|
|
sint16
A read only property that returns an array-like object out of which
you can read sint16 values.
|
|
|
sint16s
A read only property that returns an array with all the contents of
this SBData represented as sint16 values.
|
|
|
sint32
A read only property that returns an array-like object out of which
you can read sint32 values.
|
|
|
sint32s
A read only property that returns an array with all the contents of
this SBData represented as sint32 values.
|
|
|
sint64
A read only property that returns an array-like object out of which
you can read sint64 values.
|
|
|
sint64s
A read only property that returns an array with all the contents of
this SBData represented as sint64 values.
|
|
|
sint8
A read only property that returns an array-like object out of which
you can read sint8 values.
|
|
|
sint8s
A read only property that returns an array with all the contents of
this SBData represented as sint8 values.
|
|
|
size
A read only property that returns the size the same result as
GetByteSize().
|
|
|
uint16
A read only property that returns an array-like object out of which
you can read uint16 values.
|
|
|
uint16s
A read only property that returns an array with all the contents of
this SBData represented as uint16 values.
|
|
|
uint32
A read only property that returns an array-like object out of which
you can read uint32 values.
|
|
|
uint32s
A read only property that returns an array with all the contents of
this SBData represented as uint32 values.
|
|
|
uint64
A read only property that returns an array-like object out of which
you can read uint64 values.
|
|
|
uint64s
A read only property that returns an array with all the contents of
this SBData represented as uint64 values.
|
|
|
uint8
A read only property that returns an array-like object out of which
you can read uint8 values.
|
|
|
uint8s
A read only property that returns an array with all the contents of
this SBData represented as uint8 values.
|
|
Inherited from object :
__class__
|


vignettes/UsingROhdsiWebApi.Rmd
UsingROhdsiWebApi.Rmd
ROhdsiWebApi is part of HADES.
From Package Readme
ROhdsiWebApi is a R based interface to ‘WebApi’ (OHDSI RESTful services), and performs GET/PULL/POST/DELETE calls via the WebApi. All objects starting from R or output to R - are analysis ready R-objects like list and data.frame. The package handles the intermediary steps by converting R-objects to JSON and vice versa. To ensure r-objects are analysis ready, the objects are type converted where possible, e.g. date/date time are converted from string to POSIXct.
This package makes reproducible research easier, by offering ability to retrieve detailed study specifications, transport study specifications from one instance to another, programmatically invoke the generation of a sequence of steps that are part of a study, manage running studies in batch mode.
This document will attempt to explain how ROhdsiWebApi maybe used to achieve reproducible research.
To successfully use ROhdsiWebApi, it is necessary to have an active ‘WebApi’ endpoint with a known baseUrl such as “http://server.org:80/WebAPI”. ‘WebApi’ has many functional categories.
To ensure reproducibility of work it is best to know the version of the WebApi (i.e. Atlas backend) being used. An easy way to do that is (and output maybe included in your study results)
version <- ROhdsiWebApi:::getWebApiVersion(baseUrl = baseUrl)
message1 <- paste0('This Vignette was created using WebApi version: ',
version,
' on baseUrl: ',
baseUrl,
". The CDM had the following source data configured: ")
cdmSources <- ROhdsiWebApi::getCdmSources(baseUrl = baseUrl)
priorityVocabulary <- ROhdsiWebApi::getPriorityVocabularyKey(baseUrl = baseUrl)
The object version
will show your webApi version.
Example: This Vignette was created using WebApi version: 2.12.1 on
baseUrl: http://api.ohdsi.org:8080/WebAPI. The CDM had the
following source data configured: .
cdmSources
#> # A tibble: 4 x 7
#> sourceId sourceName sourceKey sourceDial~1 cdmDa~2 vocab~3 resul~4
#> <int> <chr> <chr> <chr> <chr> <chr> <chr>
#> 1 7 ATLASPROD ATLASPROD postgresql synpuf~ unrest~ synpuf~
#> 2 4 Common Evidence Model CEM postgresql NA unrest~ NA
#> 3 6 SYNPUF 1K SYNPUF1K postgresql synpuf~ unrest~ synpuf~
#> 4 5 SYNPUF 5% SYNPUF5PCT postgresql synpuf~ unrest~ synpuf~
#> # ... with abbreviated variable names 1: sourceDialect, 2: cdmDatabaseSchema,
#> # 3: vocabDatabaseSchema, 4: resultsDatabaseSchema
The priority vocabulary for the WebApi is SYNPUF5PCT.
We can also perform checks on the WebApi, example - we may want to see if the ‘HCUP’ & ‘SYNPUF1K’ is a valid SourceKey in the current webApi.
ROhdsiWebApi::isValidSourceKey(sourceKeys = c('HCUP', 'SYNPUF1K'), baseUrl = baseUrl)
#> [1] FALSE TRUE
WebApi maybe considered to have certain modular analytic categories. ROhdsiWebApi supports the following categories:
#> Warning: Use of .data in tidyselect expressions was deprecated in tidyselect 1.2.0.
#> i Please use `"categoryFirstUpper"` instead of `.data$categoryFirstUpper`
| Category | Features |
|---|---|
| ConceptSet | Functions for interfacing with ConceptSet in WebApi |
| Cohort | Functions for interfacing with Cohort in WebApi |
| IncidenceRate | Functions for interfacing with IncidenceRate in WebApi |
| Estimation | Functions for interfacing with Estimation in WebApi |
| Prediction | Functions for interfacing with Prediction in WebApi |
| Characterization | Functions for interfacing with Characterization in WebApi |
| Pathway | Functions for interfacing with Pathway in WebApi |
ROhdsiWebApi maybe better understood by having atleast a high level understanding of CRUD framework for WebApi, i.e. the GET, PUT, DELETE, POST calls to the API. See the documentation of the WebApi.
For each supported category, ROhdsiWebAPi performs GET, PUT, DELETE, POST calls to WebApi in background. The details of what calls are actually performed is less important to an analyst, but it is useful to understand the naming conventions of ROhdsiWebApi.
Most functions in ROhdsiWebApi start with an action oriented ‘verb’ - such as
| Function Name | Description |
|---|---|
| authorizeWebApi | Authorize Web Api |
| cancelCharacterizationGeneration | Cancel Characterization Generation |
| cancelCohortGeneration | Cancel Cohort Generation |
| cancelGeneration | Cancel Generation |
| cancelIncidenceRateGeneration | Cancel Incidence Rate Generation |
| cancelPathwayGeneration | Cancel Pathway Generation |
| checkInputFileEncoding | Check Input File Encoding |
| convertConceptSetDefinitionToTable | Convert Concept Set Definition To Table |
| createConceptSetWorkbook | Create Concept Set Workbook |
| deleteCharacterizationDefinition | Delete Characterization Definition |
| deleteCohortDefinition | Delete Cohort Definition |
| deleteConceptSetDefinition | Delete Concept Set Definition |
| deleteDefinition | Delete Definition |
| deleteEstimationDefinition | Delete Estimation Definition |
| deleteIncidenceRateDefinition | Delete Incidence Rate Definition |
| deletePathwayDefinition | Delete Pathway Definition |
| deletePredictionDefinition | Delete Prediction Definition |
| detectCharacterizationsByName | Detect Characterizations By Name |
| detectCohortsByName | Detect Cohorts By Name |
| detectConceptSetsByName | Detect Concept Sets By Name |
| detectEstimationsByName | Detect Estimations By Name |
| detectIncidenceRatesByName | Detect Incidence Rates By Name |
| detectPathwaysByName | Detect Pathways By Name |
| detectPredictionsByName | Detect Predictions By Name |
| existsCharacterizationName | Exists Characterization Name |
| existsCohortName | Exists Cohort Name |
| existsConceptSetName | Exists Concept Set Name |
| existsEstimationName | Exists Estimation Name |
| existsIncidenceRateName | Exists Incidence Rate Name |
| existsPathwayName | Exists Pathway Name |
| existsPredictionName | Exists Prediction Name |
| exportCohortDefinitionSet | Export Cohort Definition Set |
| getCdmsources | Get Cdmsources |
| getCharacterizationDefinition | Get Characterization Definition |
| getCharacterizationDefinitionsMetadata | Get Characterization Definitions Metadata |
| getCharacterizationGenerationinformation | Get Characterization Generationinformation |
| getCharacterizationResults | Get Characterization Results |
| getCohortDefinition | Get Cohort Definition |
| getCohortDefinitionExpression | Get Cohort Definition Expression |
| getCohortDefinitionName | Get Cohort Definition Name |
| getCohortDefinitionSql | Get Cohort Definition Sql |
| getCohortDefinitionsMetadata | Get Cohort Definitions Metadata |
| getCohortGenerationinformation | Get Cohort Generationinformation |
| getCohortInclusionrulesandcounts | Get Cohort Inclusionrulesandcounts |
| getCohortResults | Get Cohort Results |
| getCohortSql | Get Cohort Sql |
| getConceptSetDefinition | Get Concept Set Definition |
| getConceptSetDefinitionBySourceKey | Get Concept Set Definition By Source Key |
| getConceptSetDefinitionsMetadata | Get Concept Set Definitions Metadata |
| getConcepts | Get Concepts |
| getDefinition | Get Definition |
| getDefinitionsMetadata | Get Definitions Metadata |
| getEstimationDefinition | Get Estimation Definition |
| getEstimationDefinitionsMetadata | Get Estimation Definitions Metadata |
| getGenerationinformation | Get Generationinformation |
| getIncidenceRateDefinition | Get Incidence Rate Definition |
| getIncidenceRateDefinitionsMetadata | Get Incidence Rate Definitions Metadata |
| getIncidenceRateGenerationinformation | Get Incidence Rate Generationinformation |
| getIncidenceRateResults | Get Incidence Rate Results |
| getPathwayDefinition | Get Pathway Definition |
| getPathwayDefinitionsMetadata | Get Pathway Definitions Metadata |
| getPathwayGenerationinformation | Get Pathway Generationinformation |
| getPathwayResults | Get Pathway Results |
| getPersonProfile | Get Person Profile |
| getPredictionDefinition | Get Prediction Definition |
| getPredictionDefinitionsMetadata | Get Prediction Definitions Metadata |
| getPriorityvocabularykey | Get Priorityvocabularykey |
| getResults | Get Results |
| getSourceconcepts | Get Sourceconcepts |
| getWebApiVersion | Get Web Api Version |
| insertCohortDefinitionInPackage | Insert Cohort Definition In Package |
| insertCohortDefinitionSetInPackage | Insert Cohort Definition Set In Package |
| invokeCharacterizationGeneration | Invoke Characterization Generation |
| invokeCohortGeneration | Invoke Cohort Generation |
| invokeGeneration | Invoke Generation |
| invokeIncidenceRateGeneration | Invoke Incidence Rate Generation |
| invokePathwayGeneration | Invoke Pathway Generation |
| isvalidCharacterizationId | Isvalid Characterization Id |
| isvalidCohortId | Isvalid Cohort Id |
| isvalidConceptSetId | Isvalid Concept Set Id |
| isvalidEstimationId | Isvalid Estimation Id |
| isvalidId | Isvalid Id |
| isvalidIncidenceRateId | Isvalid Incidence Rate Id |
| isvalidPathwayId | Isvalid Pathway Id |
| isvalidPredictionId | Isvalid Prediction Id |
| isvalidSourceKey | Isvalid Source Key |
| postCharacterizationDefinition | Post Characterization Definition |
| postCohortDefinition | Post Cohort Definition |
| postConceptSetDefinition | Post Concept Set Definition |
| postDefinition | Post Definition |
| postEstimationDefinition | Post Estimation Definition |
| postIncidenceRateDefinition | Post Incidence Rate Definition |
| postPathwayDefinition | Post Pathway Definition |
| postPredictionDefinition | Post Prediction Definition |
| resolveConceptSet | Resolve Concept Set |
| setAuthHeader | Set Auth Header |
| updateCohortDefinition | Update Cohort Definition |
| updateConceptSetDefinition | Update Concept Set Definition |
| updateDefinition | Update Definition |
Most of the functions start with the following verbs:
| Function Verb | Number Of Functions |
|---|---|
| Get | 38 |
| Isvalid | 9 |
| Delete | 8 |
| Post | 8 |
| Detect | 7 |
| Exists | 7 |
| Cancel | 5 |
| Invoke | 5 |
| Update | 3 |
| Insert | 2 |
| Authorize | 1 |
| Check | 1 |
| Convert | 1 |
| Create | 1 |
| Export | 1 |
| Resolve | 1 |
| Set | 1 |
A function to get Definition
is
getDefinitionMetaData
function. This is a general function
that is able to get the Metadata for all specifications within a
category.
ROhdsiWebApi::getDefinitionsMetadata(baseUrl = baseUrl,
category = 'cohort') %>%
arrange(.data$id) %>%
rename_all(.funs = SqlRender::camelCaseToTitleCase) %>%
head()
#> # A tibble: 6 x 9
#> Id Name `Created Date` Has W~1 Tags Descr~2 `Modified Date`
#> <int> <chr> <dttm> <lgl> <lgl> <chr> <dttm>
#> 1 2 Zhe's pro~ 2015-03-06 15:49:16 FALSE NA NA 2016-04-12 05:48:29
#> 2 3 Females w~ 2015-03-10 15:31:34 FALSE NA NA 2015-03-10 19:22:30
#> 3 4 Preterm I~ 2015-03-10 17:08:18 FALSE NA NA 2022-09-08 03:17:32
#> 4 5 Post-Part~ 2015-03-18 13:50:04 FALSE NA Patien~ 2015-03-19 09:37:43
#> 5 6 post-part~ 2015-03-18 16:30:45 FALSE NA test f~ 2016-09-21 03:19:46
#> 6 7 test2 (1) 2015-03-19 09:49:59 FALSE NA Code f~ 2016-09-13 04:01:45
#> # ... with 2 more variables: `Modified By` <list>, `Created By` <list>, and
#> # abbreviated variable names 1: `Has Write Access`, 2: Description
The same output may be achieved using
ROhdsiWebApi::getCohortDefinitionsMetaData(baseUrl = baseUrl) %>%
arrange(.data$id) %>%
rename_all(.funs = SqlRender::camelCaseToTitleCase) %>%
head()
#> # A tibble: 6 x 9
#> Id Name `Created Date` Has W~1 Tags Descr~2 `Modified Date`
#> <int> <chr> <dttm> <lgl> <lgl> <chr> <dttm>
#> 1 2 Zhe's pro~ 2015-03-06 15:49:16 FALSE NA NA 2016-04-12 05:48:29
#> 2 3 Females w~ 2015-03-10 15:31:34 FALSE NA NA 2015-03-10 19:22:30
#> 3 4 Preterm I~ 2015-03-10 17:08:18 FALSE NA NA 2022-09-08 03:17:32
#> 4 5 Post-Part~ 2015-03-18 13:50:04 FALSE NA Patien~ 2015-03-19 09:37:43
#> 5 6 post-part~ 2015-03-18 16:30:45 FALSE NA test f~ 2016-09-21 03:19:46
#> 6 7 test2 (1) 2015-03-19 09:49:59 FALSE NA Code f~ 2016-09-13 04:01:45
#> # ... with 2 more variables: `Modified By` <list>, `Created By` <list>, and
#> # abbreviated variable names 1: `Has Write Access`, 2: Description
Similar approach may be used for all categories as follows:
ROhdsiWebApi::getDefinitionsMetadata(baseUrl = baseUrl,
category = 'estimation') %>%
arrange(.data$id) %>%
rename_all(.funs = SqlRender::camelCaseToTitleCase) %>%
head()
#> # A tibble: 6 x 7
#> `Created Date` `Modified Date` Has Write ~1 Id Name Type Descr~2
#> <dttm> <dttm> <lgl> <int> <chr> <chr> <chr>
#> 1 2018-10-24 16:06:58 2019-05-01 08:59:47 FALSE 1 Grah~ Comp~ NA
#> 2 2018-11-01 04:35:32 2019-02-19 20:56:20 FALSE 3 SCYo~ Comp~ NA
#> 3 2018-11-20 18:54:33 2018-11-21 03:34:41 FALSE 4 COPY~ Comp~ NA
#> 4 2018-11-21 06:22:30 2019-03-21 04:17:59 FALSE 5 COX2~ Comp~ NA
#> 5 2018-11-21 07:08:12 2020-12-04 06:29:33 FALSE 6 Hypo~ Comp~ NA
#> 6 2018-11-22 04:48:49 NA FALSE 7 New ~ Comp~ NA
#> # ... with abbreviated variable names 1: `Has Write Access`, 2: Description
ROhdsiWebApi::getEstimationDefinitionsMetaData(baseUrl = baseUrl) %>%
arrange(.data$id) %>%
rename_all(.funs = SqlRender::camelCaseToTitleCase) %>%
head()
#> # A tibble: 6 x 7
#> `Created Date` `Modified Date` Has Write ~1 Id Name Type Descr~2
#> <dttm> <dttm> <lgl> <int> <chr> <chr> <chr>
#> 1 2018-10-24 16:06:58 2019-05-01 08:59:47 FALSE 1 Grah~ Comp~ NA
#> 2 2018-11-01 04:35:32 2019-02-19 20:56:20 FALSE 3 SCYo~ Comp~ NA
#> 3 2018-11-20 18:54:33 2018-11-21 03:34:41 FALSE 4 COPY~ Comp~ NA
#> 4 2018-11-21 06:22:30 2019-03-21 04:17:59 FALSE 5 COX2~ Comp~ NA
#> 5 2018-11-21 07:08:12 2020-12-04 06:29:33 FALSE 6 Hypo~ Comp~ NA
#> 6 2018-11-22 04:48:49 NA FALSE 7 New ~ Comp~ NA
#> # ... with abbreviated variable names 1: `Has Write Access`, 2: Description
This is a generic framework that applies to most WebApi categories, and supports different types of CRUD functionalities like deleteConceptSetDefinition() vs deleteDefinition(category = ‘conceptSet’).
Please review ‘Concept sets - The Book of OHDSI’
We commonly post concept set expression into WebApi/Atlas, or try get an expression from Atlas/WebApi based on a conceptSetDefinitionId.
Example: lets say we have concept set expression as follows, that is being used for a Rheumatoid Arthritis study.
jsonExpression <- '{
"items": [
{
"concept": {
"CONCEPT_ID": 81097,
"CONCEPT_NAME": "Feltys syndrome",
"STANDARD_CONCEPT": "S",
"STANDARD_CONCEPT_CAPTION": "Standard",
"INVALID_REASON": "V",
"INVALID_REASON_CAPTION": "Valid",
"CONCEPT_CODE": "57160007",
"DOMAIN_ID": "Condition",
"VOCABULARY_ID": "SNOMED",
"CONCEPT_CLASS_ID": "Clinical Finding"
},
"isExcluded": true,
"includeDescendants": false,
"includeMapped": false
},
{
"concept": {
"CONCEPT_ID": 80809,
"CONCEPT_NAME": "Rheumatoid arthritis",
"STANDARD_CONCEPT": "S",
"STANDARD_CONCEPT_CAPTION": "Standard",
"INVALID_REASON": "V",
"INVALID_REASON_CAPTION": "Valid",
"CONCEPT_CODE": "69896004",
"DOMAIN_ID": "Condition",
"VOCABULARY_ID": "SNOMED",
"CONCEPT_CLASS_ID": "Clinical Finding"
},
"isExcluded": false,
"includeDescendants": true,
"includeMapped": false
},
{
"concept": {
"CONCEPT_ID": 4035611,
"CONCEPT_NAME": "Seropositive rheumatoid arthritis",
"STANDARD_CONCEPT": "S",
"STANDARD_CONCEPT_CAPTION": "Standard",
"INVALID_REASON": "V",
"INVALID_REASON_CAPTION": "Valid",
"CONCEPT_CODE": "239791005",
"DOMAIN_ID": "Condition",
"VOCABULARY_ID": "SNOMED",
"CONCEPT_CLASS_ID": "Clinical Finding"
},
"isExcluded": false,
"includeDescendants": true,
"includeMapped": false
}
]
}'
Lets call this concept set expression - ‘[ROhdsiWebApi Vignette] Rheumatoid Arthritis concept set’.
We will need to check if there is a concept set by this name.
# check if there is a concept set by this name, if yes, delete it
exists <- ROhdsiWebApi::existsConceptSetName(conceptSetName = conceptSetName, baseUrl = baseUrl)
exists
#> [1] FALSE
If there is a concept set with this name, then we could either choose another name - or delete the old concept set. For this vignette we have chosen to delete any matching concept set as follows:
if (!isFALSE(exists)) {
ROhdsiWebApi::deleteConceptSetDefinition(conceptSetId = exists$id, baseUrl = baseUrl)
}
Now we need to ensure the JSON expression above is converted to R-data object. Note: By design, ROhdsiWebAPi does not accept JSON. It needs to be converted to R (list) expression
We can now post this R-object into WebApi as follows:
returnFromPostRequest <- ROhdsiWebApi::postConceptSetDefinition(baseUrl = baseUrl,
conceptSetDefinition = rExpression,
name = conceptSetName)
If successful, we will get a return object as follows into R.
The id of the newly posted concept-set definition is
returnFromPostRequest$id
. We can now use this concept-set
for many concept set queries eg.,
createConceptSetWorkbook
maybe used to create an Excel
workbook of the concept set.
If we want a list of all conceptId’s (including descendants) from the concept set expression
The concept set expression json expression can be recaptured from WebApi as follows
Similar framework maybe used with other WebApi categories such as Cohorts/Characterization/Incidence Rate.
A valuable feature of ROhdsiWebApi is that it is able to get full result set into R, as a data frame object. Results of Cohort, Characterization, Incidence Rate, Pathway maybe obtained. This data frame may then be converted to publication ready material by using packages like Officer, flextable. The functions in ROhdsiWebAPi maybe used to create dynamic R-shiny apps that allow user to interact with WebApi and select cohort definitions, concept sets for review or modifications. ROhdsiWebApi may be used to build ‘mini versions’ of Atlas that is project specific - by directly interacting with WebApi using R.
Please review ‘What is a cohort - The Book of OHDSI’.
We define a cohort as a set of persons who satisfy one or more inclusion criteria for a duration of time. The term cohort is often interchanged with the term phenotype. Cohorts are used throughout OHDSI analytical tools and network studies as the primary building blocks for executing a research question.
A cohort is defined as the set of persons satisfying one or more inclusion criteria for a duration of time. One person may qualify for one cohort multiple times during non-overlapping time intervals. Cohorts are constructed in ATLAS by specifying cohort entry criteria and cohort exit criteria. Cohort entry criteria involve selecting one or more initial events, which determine the start date for cohort entry, and optionally specifying additional inclusion criteria which filter to the qualifying events. Cohort exit criteria are applied to each cohort entry record to determine the end date when the person’s episode no longer qualifies for the cohort.
Cohorts/Characterization/Incidence Rate are WebApi categories, where WebApi manages the execution of generations.
Example: We may want to know if a certain cohort specification has
been generated by checking cohort generation status
getCohortGenerationInformation(baseUrl = baseUrl, cohortId= 4234)
.
If a cohort is not previously generated, it may be generated using
invokeCohortSetGeneration(baseUrl = baseUrl, cohortId = 4234, sourceKey = 'HCUP')
. If it is already generated, we can extract its output of cohort
generation using
getCohortResults(baseUrl, cohortId = 4234)
.
Please review ‘Characterization - The Book of OHDSI’.
Please review ‘Population Level Effect Estimation - The Book of OHDSI’.
Please review ‘Patient Level Prediction - The Book of OHDSI’.


We often imagine blockchains as towers made of crystal. Bright, fascinating, landmarks looming above the fields of cryptography, data science and economics. Inspiring but also intimidating for those that approach them. The ledger of transactions is public, continuously valida...


landing-page_1
landing-page_2
landing-page_3
landing-page_4
landing-page_5
landing-page_6
landing-page_7
landing-page_8
landing-page_9
landing-page_10
landing-page_11
landing-page_12
landing-page_13
landing-page_14
landing-page_15
landing-page_16
landing-page_17
landing-page_18
landing-page_19
landing-page_20
landing-page_21
landing-page_22
landing-page_23
landing-page_24
landing-page_25
landing-page_26
landing-page_27
landing-page_28
landing-page_29
landing-page_30
landing-page_31
landing-page_32
landing-page_33
landing-page_34
landing-page_35
landing-page_36
landing-page_37
landing-page_38
landing-page_39
landing-page_40
landing-page_41
landing-page_42
landing-page_43
landing-page_44
landing-page_45
landing-page_46
landing-page_47
landing-page_48
landing-page_49
landing-page_50
landing-page_51
landing-page_52
landing-page_53
landing-page_54
landing-page_55
landing-page_56
landing-page_57
landing-page_58
landing-page_59
landing-page_60
landing-page_61
landing-page_62
landing-page_63
landing-page_64
landing-page_65
landing-page_66
landing-page_67
landing-page_68
landing-page_69
landing-page_70
landing-page_71
landing-page_72
landing-page_73
landing-page_74
landing-page_75
landing-page_76
landing-page_77
landing-page_78
landing-page_79
landing-page_80
landing-page_81
landing-page_82
landing-page_83
landing-page_84
landing-page_85
landing-page_86
landing-page_87
landing-page_88
landing-page_89
landing-page_90
landing-page_91
landing-page_92
landing-page_93
landing-page_94
landing-page_95
landing-page_96
landing-page_97
landing-page_98
landing-page_99
landing-page_100


HACKAHOLIC prelims
.
QUEST 7
The answers to some questions may not be immediately apparent, but need to be pointed out. Persevere until it clicks.
Submit


Web Profiler
Currently set to
Sydney
Sydney
North Virginia
Please press start to begin profiling.
Start


2. Getting started on expanse
¶
2.1. How to login (after you have set up 2-Factor Authentication)¶
ssh -l username login.xsede.org
Answer 2FA prompts (with your phone)
gsissh expanse
or, once you have done the above at least once
ssh -l username login.expanse.sdsc.edu
2.2. Storage on expanse
¶
There are 3 directories you can use on expanse
.
Your home directory is in
/home/username
and can be used for permanent files you want backed up. There is limited space here (100 GB), and the compute nodes cannot see this directory.
There is shared project space (2TB) for our class XSEDE account in the directory
/expanse/lustre/projects/uic406/$USER
where $USER
is your expanse
username. This folder appears to not support batch job use.
Scratch space is also provided at
/expanse/lustre/scratch/$USER/temp_project
This is the directory where you should run batch jobs. It is not limited for space, but there is a user limit of 2 million files. It is not backed up, so important results should be copied to other directories.
2.3. Obtaining and compiling WRF on expanse¶
2.3.1. Download WRF from github
¶
You should download your WRF code do your home directory or the shared project space.
git clone https://github.com/wrf-model/WRF.git
This will download the code into a subdirectory called WRF
in the current directory. Enter this directory:
cd WRF
Caution
Note that the steps below must be done in one ssh session. Library paths on expanse
change from session to session, so you must start from here if you lose your connection.
2.3.2. Configuring WRF¶
We will now configure WRF for compilation. First, we need to set up the software environment for WRF. expanse
uses the modules
package to configure software. Here is the software environment we need for WRF:
module purge
module load cpu intel mvapich2
module load netcdf-c netcdf-cxx netcdf-fortran
Next we need to find the NETCDF library path, and set an environment variable for it. Run the following command:
echo $LD_LIBRARY_PATH | grep netcdf
Grab the path that looks like this, containing netcdf-fortran
:
/cm/shared/apps/spack/cpu/opt/spack/linux-centos8-zen2/intel-<IP_ADDRESS>/netcdf-fortran-4.5.3-2wjlrztnogahr6sgpaxuwwd2mfl5ligr/
and set the environment variable NETCDF
to that path:
export NETCDF=/cm/shared/apps/spack/cpu/opt/spack/linux-centos8-zen2/intel-<IP_ADDRESS>/netcdf-fortran-4.5.3-2wjlrztnogahr6sgpaxuwwd2mfl5ligr/
Also, for performance increase over data output size, set the following:
export NETCDF_classic=1
Now run configure
:
./configure
Select option 20, nesting option 1, and it should complete.
Note
Edit the resulting configure.wrf, on the line that says OPTAVX
, use a text editor such as nano configure.wrf
to change it to read:
OPTAVX = -march=core-avx2
Save the file and you’re good to go!
2.3.3. Compiling WRF¶
Now, you can compile WRF. To compile the Quarter-circle hodograph supercell case on 4 processors, type
./compile -j 4 em_quarter_ss
After 20-30 minutes, you should get a “SUCCESS” message. You shouldn’t ever have to recompile unless you need to change something in the fortran code or need to change the “Registry” - we’ll talk about this later in the semester. If you get disconnected from the session, you will have to reconnect and start over from the configure step (due to the way the libraries are loaded on expanse
).
Note
If something goes wrong during the compile process, be sure to start up at step 2.3.2. In the top level WRF
directory, run ./clean -a
to remove all compiled files, and configure and compile again.
2.4. Running WRF ideal on expanse
¶
All right, you’re good to go. Let’s try a test run. At this point you can configure the namelist.input
or input_sounding to what you would like for your particular run.
You’ll need a slurm
script for running your job - here is one you can save in the test\em_quarter_ss
directory as wrf_sbatch.sh
. To create this file, open it in nano
:
nano wrf_sbatch.sh
and paste in the contents below (then write out the file and exit).
#!/bin/bash
#SBATCH --job-name="idealwrf" #NAME OF JOB NAME
#SBATCH --output="wrf.em_q_ss.%j.%N.out" #NAME OF LOG FILE
#SBATCH --partition=shared #SHARED PARTITION
#SBATCH --nodes=1 #HOW MANY NODES - EACH NODE HAS 64 PROCESSORS
#SBATCH --ntasks-per-node=16 #HOW MANY PROCESSORS, IF YOU GO OVER 64, TAKE MORE NODES
#SBATCH --mem=48G #RAM LIMIT
#SBATCH --account=uic406 #ACCOUNT
#SBATCH --export=ALL #WRITE LOGS?
#SBATCH -t 01:30:00 #WALL TIME LIMIT
#This job runs with 1 nodes, 16 cores per node for a total of 16 tasks.
#LOAD SOFTWARE MODULES
module purge
module load cpu intel mvapich2
module load netcdf-c netcdf-cxx netcdf-fortran
module load slurm
#RUN INITIALIZATION
srun --mpi=pmi2 -n 16 ideal.exe
#RUN MODEL
srun --mpi=pmi2 -n 16 wrf.exe
When you’re ready to submit the job to the queue:
sbatch wrf_sbatch.sh
Which should respond with Submitted batch job [job number]
.
To check on the job status, type
squeue -u $USER
It will have an R
next to the job if it is running:
(base) [snesbitt@login01 em_quarter_ss]$ squeue -u snesbitt
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
1164268 compute idealwrf snesbitt R 0:07 1 exp-3-17
When it is complete, a C
should appear.
You can also look at the contents of a file rsl.out.0000
, which is a running log of the simulation. It should give the status, and when WRF is running, it will show the current time of the simulation.
Try tail rsl.out.0000
during the simulation:
(base) [snesbitt@login01 em_quarter_ss]$ tail rsl.out.0000
Timing for main: time 0001-01-01_00:58:48 on domain 1: 0.00994 elapsed seconds
Timing for main: time 0001-01-01_00:59:00 on domain 1: 0.00994 elapsed seconds
Timing for main: time 0001-01-01_00:59:12 on domain 1: 0.01001 elapsed seconds
Timing for main: time 0001-01-01_00:59:24 on domain 1: 0.00996 elapsed seconds
And when it is completed successfully, squeue -u
should say a C
status, or nothing (it is out of the queue), and tail rsl.out.0000
should show:
Timing for main: time 0001-01-01_00:59:36 on domain 1: 0.00995 elapsed seconds
Timing for main: time 0001-01-01_00:59:48 on domain 1: 0.01000 elapsed seconds
Timing for main: time 0001-01-01_01:00:00 on domain 1: 0.00997 elapsed seconds
Timing for Writing wrfout_d01_0001-01-01_01:00:00 for domain 1: 0.10085 elapsed seconds
d01 0001-01-01_01:00:00 wrf: SUCCESS COMPLETE WRF
taskid: 0 hostname: exp-3-17
(base) [snesbitt@login01 em_quarter_ss]$
If there is an error, the log file will end prematurely before the job is completed in the queue. Hopefully the error message you get is explanatory. If you get stuck, message me on Slack!


Bauchi Park
Relaxed holiday for two
Arika is a fictional company, but actually a real idea someone had sometime in the past. In 1985 Aldus Corporation launched its first desktop publishing program Aldus PageMaker for Apple Macintosh computers, released in 1987 for PCs running Windows 1.0. Both contained the variant lorem ipsum most common today.
Relaxed holiday for two
Experience Nigeria un the 60s
Get your Adrenaline Pumping
Hanging out in Borno


Toggle navigation
All Books
What is BookHub?
Show Bookmarked Books
/
Bookmarked
Total Books
BookHub is a simplified way to search Books!
Facebook
Twitter
Google+


To view this video please enable JavaScript, and consider upgrading to a web browser that supports HTML5 video


Omniknight
Tips
- Purification has an extremely long cast animation, but you can use this to your advantage in lane. Most
melee heroes will immediately back off a last hit if they see Omni start throwing down prayers. So cast
it and cancel it.
- Purification can damage invis enemies. If you pay close attention, you can see the diamond particles traveling
to the invis target if you land it.
- Spam Repel. If you're sitting around babysitting a carry in lane and everyone is off the map, use it. If
you're going into dangerous areas to ward, use it. If you envision some sort of 3600 range initiation
possibly happening when the two teams are toeing off, use it. You get 12 Omniscient seconds of spell
immunity for 50 mana.  Yes, it's
great when you can get enemies to waste their stuns and then Repel them off, but most of the time your
allies will get killed first because your cast animation takes like 20 minutes and the range on Repel is
pretty lame.
- One of the few uses of offensive Repels is to purge off enemy runes (only DD or Haste), spells like Surge,
or buffs like Ghost Scepter. Pretty much the only other use is to take an enemy out of Naga sleep. Other than
that, you misclicked and you should feel bad.
- Use Guardian Angel more like a Mek than Shallow Grave. There's no reason you can't start getting dat
Omniscient love with your team once they're all at half HP, rather than in Culling Blade range.
- Omniscience is core for fountain diving. Guardian Angel will completely negate any damage from the
fountain machine gun.
Counters
- Probably the best hero in the game to get a Diffusal Blade against. Lifestealer running away with a
sliver of health and Guardian Angel? Purge it.  HeyyyyloeverybodythisisPurge it.
- Eul's Cyclone, Invoker's Tornado, and Storm Panda's Cyclone (and obviously Purge) can also dispel
Guardian Angel. As does Oracle's Fortune's End and Shadow Demon's Demonic Purge.
- Rubick's wet dream. "Oh I better cast something before Rubick steals Guardian Angel... but I don't want
him getting Repel. Wait, I don't want him getting Purification either..."


Front Porch
by Herald StaffHEADS UP
Sounder parking shortage
Sounder commuters at the Mukilteo Station may have found parking a bit more difficult Tuesday. Those challenges may continue during construction of the new WSDOT ferry terminal for the next six months. Twelve Sounder parking spots were temporarily relocated but were restored. Sound Transit said if the regular stalls are full, commuters should drive through to the front of the lot, loop around, and the new stalls will be on your right.
OPPORTUNITY
Giving trees in Edmonds
The city of Edmonds and Volunteers of America are inviting folks to visit two giving trees in town to select and donate gifts to children in need.
One is at City Hall, located at 121 Fifth Avenue, and the other is at the Frances Anderson Center on 700 Main Street.
The tags are for children aged 1 to 12 who are in the early childhood education and assistance program or in the Volunteers of America short-term shelter, a news release said.
Once you’ve got a tag from a tree, you have until Dec. 16 to return the wrapped gift to either of the locations.
More info: www.voaww.org
Motorcycle club hosts toy drive
The Unchained Brotherhood Motorcycle Club is hosting its 11th annual toy drive Dec. 14 and 15 at the Everett Mall Way Walmart.
Members will be outside the store 10 a.m. to 4 p.m. both days. There will be a biker Santa taking pictures with children for free.
All toys go to “Seeds of Grace – Christmas House.”
More info:<PHONE_NUMBER>.
EVENTS
Local musicians play holiday hits
The Everett Music Initiative is hosting an evening of holiday hits featuring local musicians and bands.
The concert will be from 7 p.m. to 9 p.m., Dec. 12 at the Schack Art Center.
Musical groups include Alex Johnston, Hillary Grace Fretland, Moody Bear and Rio Chanae.
Tickets are $5.
More info: www.schack.org
Sing-a-long at Everett library
Children age two to six are invited to join singer Nancy Stewart at the main branch of the Everett Library for a morning of holiday songs.
The event is free and goes from 10:30 a.m. to 11:30 a.m. on Dec. 12 at 2702 Hoyt Avenue.
More info: www.epls.org
Fire dangers
The Marysville Fire District will display wreaths at all five of its stations through New Year’s Day, to remind people about fire safety. Each wreath is covered in green bulbs that change to red when there’s a fire in the district, and to white when a firefighter dies in the line of duty in the United States.
The wreathes are supposed to serve as a reminder to prevent fires during the holidays.
The fire district gives these reminders:
Stay in the kitchen while cooking. Christmas Eve and Christmas are two leading days when home fires are caused by unattended cooking.
 Don’t place candles near decorations or other flammable items.
Make sure Christmas trees are at least three feet away from any heat source.
Always turn off the Christmas tree lights before leaving the house or going to bed.


Feel Safe in Your Domain
With RoomyKube, you're welcome to create an account as a homeowner or interested tenant.
Background checks can be requested for either party so you feel safe with your decision.
With RoomyKube, you're welcome to create an account as a homeowner or interested tenant.
Background checks can be requested for either party so you feel safe with your decision.
Room and board with salary in exchange for housekeeping, light elderly care, child care, or companionship.
Free rent in exchange for upkeep and maintenance.
Find roommates by apartment location, size, amenities and roommate age, gender, and profile.


Are you sure you want to delete the following list of Demo Activities:
{% for activity in activities %}
- {{ activity.name }}
{% endfor %}
Warning
This will also delete the trace files of the corresponding activities located at:
{% for activity in activities %}
{% if activity.trace_file %}
{{ activity.trace_file.path_to_file }}
{% endif %}
{% endfor %}


Lithuania's FM urges not to forget about Holodomor in Ukraine during Stalin's reign
Holodomor Remembrance Day is annually marked on the fourth Saturday of November.
Lithuania's Minister of Foreign Affairs Linas Linkevicius has urged not to forget about the Holodomor, an act of genocide of the Ukrainian people during Joseph Stalin's reign.
"Honoring the victims of [the] Holodomor, a genocide of the Ukrainian people carried out by the brutal Stalin's regime 86 years ago. We must never forget crimes against humanity committed by the totalitarian regimes," he wrote on Twitter on November 22, 2019.
UNIAN memo. In Ukraine, the Holodomor of 1932-1933 is designated as an act of genocide against the Ukrainian people, perpetrated by the USSR government by organizing an artificial large-scale famine, which led to millions of deaths in rural areas in the then Ukrainian Soviet Republic.
Holodomor Remembrance Day is annually marked on the fourth Saturday of November.


Answer <IP_ADDRESS>.
When the emissivity of a radiating body is 0, a radiating body aborbs none of the incent radiation and is thus a perfect reflector. When the emissivity is 1, a radiating body absorbs as much incedent radiation as a blackbody. Namely it aborbs all the incident radiation and is thus a perfect blackbody.
in-context


Introductory tutorials to MNE.
Non-parametric 1 sample cluster statistic on single trial power
Permutation t-test on toy data with spatial clustering
Permutation t-test on source data with spatio-temporal clustering
2 samples permutation test on source data with spatio-temporal clustering
Repeated measures ANOVA on source data with spatio-temporal clustering
Non-parametric between conditions cluster statistic on single trial power
sphx_glr_auto_tutorials_plot_cluster_stats_time_frequency_repeated_measures_anova.py
Creating MNE-Python’s data structures from scratch
The Epochs data structure: epoched data
Export epochs to Pandas DataFrame
Compute ICA on MEG data and remove artifacts
The Info data structure
Basic MEG and EEG data processing
Modifying data in-place
sphx_glr_auto_tutorials_plot_raw_objects.py
Basics of source localization
Spatiotemporal permutation F-test on full sensor data


Joe Gomez ‘better than good’ after Raheem Sterling row, says Jurgen Klopp
Manchester City forward Sterling clashed with Liverpool defender Gomez while on international duty with England last week.
Liverpool manager Jurgen Klopp says Joe Gomez is “better than good” after his altercation with Raheem Sterling earlier this month.
Manchester City forward Sterling initially clashed with Reds defender Gomez towards the end of the Premier League match between the sides on November 10 at Anfield.
The pair were then involved in a fracas the following day on England duty after meeting up at St George’s Park, with Sterling later apologising at a team meeting and on social media.
Klopp insists Gomez, who was left with a scratch on his face following the clash, has not been affected by the incident and the German has no issues with how the situation was handled.
“He is good, better than good,” said Klopp. “The people involved were fine pretty quick. Things like this happen in football. Absolutely nothing to say about it.
“The FA dealt with it how they saw right and I cannot judge that as I was not aware of the circumstances.”
Manchester City boss Pep Guardiola said Sterling described Gomez as “an excellent guy” and also suggested the incident would have little impact on the in-form forward.
Guardiola said: “We are good. I spoke with him and he’s fine. He says Joe is an excellent guy and they have a good relationship.”
Asked whether the situation might have been made worse by the short turnaround between the game and the international get-together, Guardiola added: “I don’t think so.”