public class MultiUserChat
extends java.lang.Object
MultiUserChatManager.getMultiUserChat(String)
.
 A room could have many occupants with different affiliation and roles. Possible affiliations are "owner", "admin", "member", and "outcast". Possible roles are "moderator", "participant", and "visitor". Each role and affiliation guarantees different privileges (e.g. Send messages to all occupants, Kick participants and visitors, Grant voice, Edit member list, etc.).
Note: Make sure to leave the MUC (leave()
) when you don't need it anymore or
otherwise you may leak the instance.
| Modifier and Type | Method and Description |
|---|---|
boolean |
addInvitationRejectionListener(InvitationRejectionListener listener)
Adds a listener to invitation rejections notifications.
|
boolean |
addMessageListener(org.jivesoftware.smack.MessageListener listener)
Adds a stanza(/packet) listener that will be notified of any new messages in the
group chat.
|
boolean |
addParticipantListener(org.jivesoftware.smack.PresenceListener listener)
Adds a stanza(/packet) listener that will be notified of any new Presence packets
sent to the group chat.
|
boolean |
addParticipantStatusListener(ParticipantStatusListener listener)
Adds a listener that will be notified of changes in occupants status in the room
such as the user being kicked, banned, or granted admin permissions.
|
void |
addPresenceInterceptor(org.jivesoftware.smack.PresenceListener presenceInterceptor)
Adds a new
StanzaListener that will be invoked every time a new presence
is going to be sent by this MultiUserChat to the server. |
boolean |
addSubjectUpdatedListener(SubjectUpdatedListener listener)
Adds a listener to subject change notifications.
|
boolean |
addUserStatusListener(UserStatusListener listener)
Adds a listener that will be notified of changes in your status in the room
such as the user being kicked, banned, or granted admin permissions.
|
void |
banUser(java.lang.String jid,
java.lang.String reason)
Bans a user from the room.
|
void |
banUsers(java.util.Collection<java.lang.String> jids)
Bans users from the room.
|
void |
changeAvailabilityStatus(java.lang.String status,
org.jivesoftware.smack.packet.Presence.Mode mode)
Changes the occupant's availability status within the room.
|
void |
changeNickname(java.lang.String nickname)
Changes the occupant's nickname to a new nickname within the room.
|
void |
changeSubject(java.lang.String subject)
Changes the subject within the room.
|
void |
create(java.lang.String nickname)
Creates the room according to some default configuration, assign the requesting user as the
room owner, and add the owner to the room but not allow anyone else to enter the room
(effectively "locking" the room).
|
org.jivesoftware.smack.packet.Message |
createMessage()
Creates a new Message to send to the chat room.
|
boolean |
createOrJoin(java.lang.String nickname)
Same as
createOrJoin(String, String, DiscussionHistory, long) , but without a password, specifying a
discussion history and using the connections default reply timeout. |
boolean |
createOrJoin(java.lang.String nickname,
java.lang.String password,
DiscussionHistory history,
long timeout)
Like
create(String) , but will return true if the room creation was acknowledged by
the service (with an 201 status code). |
org.jivesoftware.smack.chat.Chat |
createPrivateChat(java.lang.String occupant,
org.jivesoftware.smack.chat.ChatMessageListener listener)
Returns a new Chat for sending private messages to a given room occupant.
|
void |
destroy(java.lang.String reason,
java.lang.String alternateJID)
Sends a request to the server to destroy the room.
|
java.util.List<Affiliate> |
getAdmins()
Returns a list of
Affiliate with the room administrators. |
Form |
getConfigurationForm()
Returns the room's configuration form that the room's owner can use or null if
no configuration is possible.
|
java.util.List<Affiliate> |
getMembers()
Returns a list of
Affiliate with the room members. |
java.util.List<Occupant> |
getModerators()
Returns a list of
Occupant with the room moderators. |
java.lang.String |
getNickname()
Returns the nickname that was used to join the room, or null if not
currently joined.
|
Occupant |
getOccupant(java.lang.String user)
Returns the Occupant information for a particular occupant, or null if the
user is not in the room.
|
org.jivesoftware.smack.packet.Presence |
getOccupantPresence(java.lang.String user)
Returns the presence info for a particular user, or null if the user
is not in the room.
|
java.util.List<java.lang.String> |
getOccupants()
Returns an Iterator (of Strings) for the list of fully qualified occupants
in the group chat.
|
int |
getOccupantsCount()
Returns the number of occupants in the group chat.
|
java.util.List<Affiliate> |
getOutcasts()
Returns a list of
Affiliate with the room outcasts. |
java.util.List<Affiliate> |
getOwners()
Returns a list of
Affiliate with the room owners. |
java.util.List<Occupant> |
getParticipants()
Returns a list of
Occupant with the room participants. |
Form |
getRegistrationForm()
Returns the room's registration form that an unaffiliated user, can use to become a member
of the room or null if no registration is possible.
|
java.lang.String |
getReservedNickname()
Returns the reserved room nickname for the user in the room.
|
java.lang.String |
getRoom()
Returns the name of the room this MultiUserChat object represents.
|
java.lang.String |
getSubject()
Returns the last known room's subject or null if the user hasn't joined the room
or the room does not have a subject yet.
|
void |
grantAdmin(java.util.Collection<java.lang.String> jids)
Grants administrator privileges to other users.
|
void |
grantAdmin(java.lang.String jid)
Grants administrator privileges to another user.
|
void |
grantMembership(java.util.Collection<java.lang.String> jids)
Grants membership to other users.
|
void |
grantMembership(java.lang.String jid)
Grants membership to a user.
|
void |
grantModerator(java.util.Collection<java.lang.String> nicknames)
Grants moderator privileges to participants or visitors.
|
void |
grantModerator(java.lang.String nickname)
Grants moderator privileges to a participant or visitor.
|
void |
grantOwnership(java.util.Collection<java.lang.String> jids)
Grants ownership privileges to other users.
|
void |
grantOwnership(java.lang.String jid)
Grants ownership privileges to another user.
|
void |
grantVoice(java.util.Collection<java.lang.String> nicknames)
Grants voice to visitors in the room.
|
void |
grantVoice(java.lang.String nickname)
Grants voice to a visitor in the room.
|
void |
invite(org.jivesoftware.smack.packet.Message message,
java.lang.String user,
java.lang.String reason)
Invites another user to the room in which one is an occupant using a given Message.
|
void |
invite(java.lang.String user,
java.lang.String reason)
Invites another user to the room in which one is an occupant.
|
boolean |
isJoined()
Returns true if currently in the multi user chat (after calling the
join(String) method). |
void |
join(java.lang.String nickname)
Joins the chat room using the specified nickname.
|
void |
join(java.lang.String nickname,
java.lang.String password)
Joins the chat room using the specified nickname and password.
|
void |
join(java.lang.String nickname,
java.lang.String password,
DiscussionHistory history,
long timeout)
Joins the chat room using the specified nickname and password.
|
void |
kickParticipant(java.lang.String nickname,
java.lang.String reason)
Kicks a visitor or participant from the room.
|
void |
leave()
Leave the chat room.
|
org.jivesoftware.smack.packet.Message |
nextMessage()
Returns the next available message in the chat.
|
org.jivesoftware.smack.packet.Message |
nextMessage(long timeout)
Returns the next available message in the chat.
|
org.jivesoftware.smack.packet.Message |
pollMessage()
Polls for and returns the next message, or null if there isn't
a message immediately available.
|
boolean |
removeInvitationRejectionListener(InvitationRejectionListener listener)
Removes a listener from invitation rejections notifications.
|
boolean |
removeMessageListener(org.jivesoftware.smack.MessageListener listener)
Removes a stanza(/packet) listener that was being notified of any new messages in the
multi user chat.
|
boolean |
removeParticipantListener(org.jivesoftware.smack.PresenceListener listener)
Removes a stanza(/packet) listener that was being notified of any new Presence packets
sent to the group chat.
|
boolean |
removeParticipantStatusListener(ParticipantStatusListener listener)
Removes a listener that was being notified of changes in occupants status in the room
such as the user being kicked, banned, or granted admin permissions.
|
void |
removePresenceInterceptor(org.jivesoftware.smack.StanzaListener presenceInterceptor)
Removes a
StanzaListener that was being invoked every time a new presence
was being sent by this MultiUserChat to the server. |
boolean |
removeSubjectUpdatedListener(SubjectUpdatedListener listener)
Removes a listener from subject change notifications.
|
boolean |
removeUserStatusListener(UserStatusListener listener)
Removes a listener that was being notified of changes in your status in the room
such as the user being kicked, banned, or granted admin permissions.
|
void |
requestVoice()
Sends a voice request to the MUC.
|
void |
revokeAdmin(java.util.Collection<java.lang.String> jids)
Revokes administrator privileges from users.
|
void |
revokeAdmin(java.lang.String jid)
Revokes administrator privileges from a user.
|
void |
revokeMembership(java.util.Collection<java.lang.String> jids)
Revokes users' membership.
|
void |
revokeMembership(java.lang.String jid)
Revokes a user's membership.
|
void |
revokeModerator(java.util.Collection<java.lang.String> nicknames)
Revokes moderator privileges from other users.
|
void |
revokeModerator(java.lang.String nickname)
Revokes moderator privileges from another user.
|
void |
revokeOwnership(java.util.Collection<java.lang.String> jids)
Revokes ownership privileges from other users.
|
void |
revokeOwnership(java.lang.String jid)
Revokes ownership privileges from another user.
|
void |
revokeVoice(java.util.Collection<java.lang.String> nicknames)
Revokes voice from participants in the room.
|
void |
revokeVoice(java.lang.String nickname)
Revokes voice from a participant in the room.
|
void |
sendConfigurationForm(Form form)
Sends the completed configuration form to the server.
|
void |
sendMessage(org.jivesoftware.smack.packet.Message message)
Sends a Message to the chat room.
|
void |
sendMessage(java.lang.String text)
Sends a message to the chat room.
|
void |
sendRegistrationForm(Form form)
Sends the completed registration form to the server.
|
java.lang.String |
toString() |
public java.lang.String getRoom()
public void create(java.lang.String nickname) throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException
To create an "Instant Room", that means a room with some default configuration that is
available for immediate access, the room's owner should send an empty form after creating the
room. sendConfigurationForm(Form)
To create a "Reserved Room", that means a room manually configured by the room creator before
anyone is allowed to enter, the room's owner should complete and send a form after creating
the room. Once the completed configuration form is sent to the server, the server will unlock
the room. sendConfigurationForm(Form)
nickname
- the nickname to use.org.jivesoftware.smack.XMPPException.XMPPErrorException
- if the room couldn't be created for some reason (e.g. 405 error if
the user is not allowed to create the room)org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException
- If the creation failed because of a missing acknowledge from the
server, e.g. because the room already existed.public boolean createOrJoin(java.lang.String nickname) throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException
createOrJoin(String, String, DiscussionHistory, long)
, but without a password, specifying a
discussion history and using the connections default reply timeout.nickname
- org.jivesoftware.smack.SmackException.NoResponseException
org.jivesoftware.smack.XMPPException.XMPPErrorException
org.jivesoftware.smack.SmackException
createOrJoin(String, String, DiscussionHistory, long)
public boolean createOrJoin(java.lang.String nickname, java.lang.String password, DiscussionHistory history, long timeout) throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException
create(String)
, but will return true if the room creation was acknowledged by
the service (with an 201 status code). It's up to the caller to decide, based on the return
value, if he needs to continue sending the room configuration. If false is returned, the room
already existed and the user is able to join right away, without sending a form.nickname
- the nickname to use.password
- the password to use.history
- the amount of discussion history to receive while joining a room.timeout
- the amount of time to wait for a reply from the MUC service(in milliseconds).org.jivesoftware.smack.XMPPException.XMPPErrorException
- if the room couldn't be created for some reason (e.g. 405 error if
the user is not allowed to create the room)org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException
public void join(java.lang.String nickname) throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotConnectedException
nickname
- the nickname to use.org.jivesoftware.smack.SmackException.NoResponseException
org.jivesoftware.smack.XMPPException.XMPPErrorException
- if an error occurs joining the room. In particular, a
401 error can occur if no password was provided and one is required; or a
403 error can occur if the user is banned; or a
404 error can occur if the room does not exist or is locked; or a
407 error can occur if user is not on the member list; or a
409 error can occur if someone is already in the group chat with the same nickname.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public void join(java.lang.String nickname, java.lang.String password) throws org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException
A password is required when joining password protected rooms. If the room does not require a password there is no need to provide one.
nickname
- the nickname to use.password
- the password to use.org.jivesoftware.smack.XMPPException.XMPPErrorException
- if an error occurs joining the room. In particular, a
401 error can occur if no password was provided and one is required; or a
403 error can occur if the user is banned; or a
404 error can occur if the room does not exist or is locked; or a
407 error can occur if user is not on the member list; or a
409 error can occur if someone is already in the group chat with the same nickname.org.jivesoftware.smack.SmackException
- if there was no response from the server.public void join(java.lang.String nickname, java.lang.String password, DiscussionHistory history, long timeout) throws org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.SmackException.NotConnectedException
To control the amount of history to receive while joining a room you will need to provide a configured DiscussionHistory object.
A password is required when joining password protected rooms. If the room does not require a password there is no need to provide one.
If the room does not already exist when the user seeks to enter it, the server will decide to create a new room or not.
nickname
- the nickname to use.password
- the password to use.history
- the amount of discussion history to receive while joining a room.timeout
- the amount of time to wait for a reply from the MUC service(in milleseconds).org.jivesoftware.smack.XMPPException.XMPPErrorException
- if an error occurs joining the room. In particular, a
401 error can occur if no password was provided and one is required; or a
403 error can occur if the user is banned; or a
404 error can occur if the room does not exist or is locked; or a
407 error can occur if user is not on the member list; or a
409 error can occur if someone is already in the group chat with the same nickname.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public boolean isJoined()
join(String)
method).public void leave() throws org.jivesoftware.smack.SmackException.NotConnectedException
org.jivesoftware.smack.SmackException.NotConnectedException
public Form getConfigurationForm() throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotConnectedException
org.jivesoftware.smack.XMPPException.XMPPErrorException
- if an error occurs asking the configuration form for the room.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public void sendConfigurationForm(Form form) throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotConnectedException
form
- the form with the new settings.org.jivesoftware.smack.XMPPException.XMPPErrorException
- if an error occurs setting the new rooms' configuration.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public Form getRegistrationForm() throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotConnectedException
If the user requesting registration requirements is not allowed to register with the room (e.g. because that privilege has been restricted), the room will return a "Not Allowed" error to the user (error code 405).
org.jivesoftware.smack.XMPPException.XMPPErrorException
- if an error occurs asking the registration form for the room or a
405 error if the user is not allowed to register with the room.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public void sendRegistrationForm(Form form) throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotConnectedException
If the desired room nickname is already reserved for that room, the room will return a "Conflict" error to the user (error code 409). If the room does not support registration, it will return a "Service Unavailable" error to the user (error code 503).
form
- the completed registration form.org.jivesoftware.smack.XMPPException.XMPPErrorException
- if an error occurs submitting the registration form. In particular, a
409 error can occur if the desired room nickname is already reserved for that room;
or a 503 error can occur if the room does not support registration.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public void destroy(java.lang.String reason, java.lang.String alternateJID) throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotConnectedException
reason
- the reason for the room destruction.alternateJID
- the JID of an alternate location.org.jivesoftware.smack.XMPPException.XMPPErrorException
- if an error occurs while trying to destroy the room.
An error can occur which will be wrapped by an XMPPException --
XMPP error code 403. The error code can be used to present more
appropiate error messages to end-users.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public void invite(java.lang.String user, java.lang.String reason) throws org.jivesoftware.smack.SmackException.NotConnectedException
If the room is password-protected, the invitee will receive a password to use to join the room. If the room is members-only, the the invitee may be added to the member list.
user
- the user to invite to the room.(e.g. hecate@shakespeare.lit)reason
- the reason why the user is being invited.org.jivesoftware.smack.SmackException.NotConnectedException
public void invite(org.jivesoftware.smack.packet.Message message, java.lang.String user, java.lang.String reason) throws org.jivesoftware.smack.SmackException.NotConnectedException
If the room is password-protected, the invitee will receive a password to use to join the room. If the room is members-only, the the invitee may be added to the member list.
message
- the message to use for sending the invitation.user
- the user to invite to the room.(e.g. hecate@shakespeare.lit)reason
- the reason why the user is being invited.org.jivesoftware.smack.SmackException.NotConnectedException
public boolean addInvitationRejectionListener(InvitationRejectionListener listener)
listener
- an invitation rejection listener.public boolean removeInvitationRejectionListener(InvitationRejectionListener listener)
listener
- an invitation rejection listener.public boolean addSubjectUpdatedListener(SubjectUpdatedListener listener)
listener
- a subject updated listener.public boolean removeSubjectUpdatedListener(SubjectUpdatedListener listener)
listener
- a subject updated listener.public void addPresenceInterceptor(org.jivesoftware.smack.PresenceListener presenceInterceptor)
StanzaListener
that will be invoked every time a new presence
is going to be sent by this MultiUserChat to the server. Stanza(/Packet) interceptors may
add new extensions to the presence that is going to be sent to the MUC service.presenceInterceptor
- the new stanza(/packet) interceptor that will intercept presence packets.public void removePresenceInterceptor(org.jivesoftware.smack.StanzaListener presenceInterceptor)
StanzaListener
that was being invoked every time a new presence
was being sent by this MultiUserChat to the server. Stanza(/Packet) interceptors may
add new extensions to the presence that is going to be sent to the MUC service.presenceInterceptor
- the stanza(/packet) interceptor to remove.public java.lang.String getSubject()
To be notified every time the room's subject change you should add a listener
to this room. addSubjectUpdatedListener(SubjectUpdatedListener)
To change the room's subject use changeSubject(String)
.
public java.lang.String getReservedNickname() throws org.jivesoftware.smack.SmackException
org.jivesoftware.smack.SmackException
- if there was no response from the server.public java.lang.String getNickname()
public void changeNickname(java.lang.String nickname) throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotConnectedException
nickname
- the new nickname within the room.org.jivesoftware.smack.XMPPException.XMPPErrorException
- if the new nickname is already in use by another occupant.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public void changeAvailabilityStatus(java.lang.String status, org.jivesoftware.smack.packet.Presence.Mode mode) throws org.jivesoftware.smack.SmackException.NotConnectedException
status
- a text message describing the presence update.mode
- the mode type for the presence update.org.jivesoftware.smack.SmackException.NotConnectedException
public void kickParticipant(java.lang.String nickname, java.lang.String reason) throws org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.SmackException.NotConnectedException
nickname
- the nickname of the participant or visitor to kick from the room
(e.g. "john").reason
- the reason why the participant or visitor is being kicked from the room.org.jivesoftware.smack.XMPPException.XMPPErrorException
- if an error occurs kicking the occupant. In particular, a
405 error can occur if a moderator or a user with an affiliation of "owner" or "admin"
was intended to be kicked (i.e. Not Allowed error); or a
403 error can occur if the occupant that intended to kick another occupant does
not have kicking privileges (i.e. Forbidden error); or a
400 error can occur if the provided nickname is not present in the room.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public void requestVoice() throws org.jivesoftware.smack.SmackException.NotConnectedException
org.jivesoftware.smack.SmackException.NotConnectedException
public void grantVoice(java.util.Collection<java.lang.String> nicknames) throws org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.SmackException.NotConnectedException
nicknames
- the nicknames of the visitors to grant voice in the room (e.g. "john").org.jivesoftware.smack.XMPPException.XMPPErrorException
- if an error occurs granting voice to a visitor. In particular, a
403 error can occur if the occupant that intended to grant voice is not
a moderator in this room (i.e. Forbidden error); or a
400 error can occur if the provided nickname is not present in the room.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public void grantVoice(java.lang.String nickname) throws org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.SmackException.NotConnectedException
nickname
- the nickname of the visitor to grant voice in the room (e.g. "john").org.jivesoftware.smack.XMPPException.XMPPErrorException
- if an error occurs granting voice to a visitor. In particular, a
403 error can occur if the occupant that intended to grant voice is not
a moderator in this room (i.e. Forbidden error); or a
400 error can occur if the provided nickname is not present in the room.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public void revokeVoice(java.util.Collection<java.lang.String> nicknames) throws org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.SmackException.NotConnectedException
nicknames
- the nicknames of the participants to revoke voice (e.g. "john").org.jivesoftware.smack.XMPPException.XMPPErrorException
- if an error occurs revoking voice from a participant. In particular, a
405 error can occur if a moderator or a user with an affiliation of "owner" or "admin"
was tried to revoke his voice (i.e. Not Allowed error); or a
400 error can occur if the provided nickname is not present in the room.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public void revokeVoice(java.lang.String nickname) throws org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.SmackException.NotConnectedException
nickname
- the nickname of the participant to revoke voice (e.g. "john").org.jivesoftware.smack.XMPPException.XMPPErrorException
- if an error occurs revoking voice from a participant. In particular, a
405 error can occur if a moderator or a user with an affiliation of "owner" or "admin"
was tried to revoke his voice (i.e. Not Allowed error); or a
400 error can occur if the provided nickname is not present in the room.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public void banUsers(java.util.Collection<java.lang.String> jids) throws org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.SmackException.NotConnectedException
jids
- the bare XMPP user IDs of the users to ban.org.jivesoftware.smack.XMPPException.XMPPErrorException
- if an error occurs banning a user. In particular, a
405 error can occur if a moderator or a user with an affiliation of "owner" or "admin"
was tried to be banned (i.e. Not Allowed error).org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public void banUser(java.lang.String jid, java.lang.String reason) throws org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.SmackException.NotConnectedException
jid
- the bare XMPP user ID of the user to ban (e.g. "user@host.org").reason
- the optional reason why the user was banned.org.jivesoftware.smack.XMPPException.XMPPErrorException
- if an error occurs banning a user. In particular, a
405 error can occur if a moderator or a user with an affiliation of "owner" or "admin"
was tried to be banned (i.e. Not Allowed error).org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public void grantMembership(java.util.Collection<java.lang.String> jids) throws org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.SmackException.NotConnectedException
jids
- the XMPP user IDs of the users to grant membership.org.jivesoftware.smack.XMPPException.XMPPErrorException
- if an error occurs granting membership to a user.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public void grantMembership(java.lang.String jid) throws org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.SmackException.NotConnectedException
jid
- the XMPP user ID of the user to grant membership (e.g. "user@host.org").org.jivesoftware.smack.XMPPException.XMPPErrorException
- if an error occurs granting membership to a user.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public void revokeMembership(java.util.Collection<java.lang.String> jids) throws org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.SmackException.NotConnectedException
jids
- the bare XMPP user IDs of the users to revoke membership.org.jivesoftware.smack.XMPPException.XMPPErrorException
- if an error occurs revoking membership to a user.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public void revokeMembership(java.lang.String jid) throws org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.SmackException.NotConnectedException
jid
- the bare XMPP user ID of the user to revoke membership (e.g. "user@host.org").org.jivesoftware.smack.XMPPException.XMPPErrorException
- if an error occurs revoking membership to a user.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public void grantModerator(java.util.Collection<java.lang.String> nicknames) throws org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.SmackException.NotConnectedException
nicknames
- the nicknames of the occupants to grant moderator privileges.org.jivesoftware.smack.XMPPException.XMPPErrorException
- if an error occurs granting moderator privileges to a user.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public void grantModerator(java.lang.String nickname) throws org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.SmackException.NotConnectedException
nickname
- the nickname of the occupant to grant moderator privileges.org.jivesoftware.smack.XMPPException.XMPPErrorException
- if an error occurs granting moderator privileges to a user.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public void revokeModerator(java.util.Collection<java.lang.String> nicknames) throws org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.SmackException.NotConnectedException
nicknames
- the nicknames of the occupants to revoke moderator privileges.org.jivesoftware.smack.XMPPException.XMPPErrorException
- if an error occurs revoking moderator privileges from a user.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public void revokeModerator(java.lang.String nickname) throws org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.SmackException.NotConnectedException
nickname
- the nickname of the occupant to revoke moderator privileges.org.jivesoftware.smack.XMPPException.XMPPErrorException
- if an error occurs revoking moderator privileges from a user.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public void grantOwnership(java.util.Collection<java.lang.String> jids) throws org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.SmackException.NotConnectedException
jids
- the collection of bare XMPP user IDs of the users to grant ownership.org.jivesoftware.smack.XMPPException.XMPPErrorException
- if an error occurs granting ownership privileges to a user.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public void grantOwnership(java.lang.String jid) throws org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.SmackException.NotConnectedException
jid
- the bare XMPP user ID of the user to grant ownership (e.g. "user@host.org").org.jivesoftware.smack.XMPPException.XMPPErrorException
- if an error occurs granting ownership privileges to a user.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public void revokeOwnership(java.util.Collection<java.lang.String> jids) throws org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.SmackException.NotConnectedException
jids
- the bare XMPP user IDs of the users to revoke ownership.org.jivesoftware.smack.XMPPException.XMPPErrorException
- if an error occurs revoking ownership privileges from a user.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public void revokeOwnership(java.lang.String jid) throws org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.SmackException.NotConnectedException
jid
- the bare XMPP user ID of the user to revoke ownership (e.g. "user@host.org").org.jivesoftware.smack.XMPPException.XMPPErrorException
- if an error occurs revoking ownership privileges from a user.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public void grantAdmin(java.util.Collection<java.lang.String> jids) throws org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.SmackException.NotConnectedException
jids
- the bare XMPP user IDs of the users to grant administrator privileges.org.jivesoftware.smack.XMPPException.XMPPErrorException
- if an error occurs granting administrator privileges to a user.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public void grantAdmin(java.lang.String jid) throws org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.SmackException.NotConnectedException
jid
- the bare XMPP user ID of the user to grant administrator privileges
(e.g. "user@host.org").org.jivesoftware.smack.XMPPException.XMPPErrorException
- if an error occurs granting administrator privileges to a user.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public void revokeAdmin(java.util.Collection<java.lang.String> jids) throws org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.SmackException.NotConnectedException
jids
- the bare XMPP user IDs of the user to revoke administrator privileges.org.jivesoftware.smack.XMPPException.XMPPErrorException
- if an error occurs revoking administrator privileges from a user.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public void revokeAdmin(java.lang.String jid) throws org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.SmackException.NotConnectedException
jid
- the bare XMPP user ID of the user to revoke administrator privileges
(e.g. "user@host.org").org.jivesoftware.smack.XMPPException.XMPPErrorException
- if an error occurs revoking administrator privileges from a user.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public int getOccupantsCount()
Note: this value will only be accurate after joining the group chat, and may fluctuate over time. If you query this value directly after joining the group chat it may not be accurate, as it takes a certain amount of time for the server to send all presence packets to this client.
public java.util.List<java.lang.String> getOccupants()
XmppStringUtils.parseResource(String)
method.
Note: this value will only be accurate after joining the group chat, and may
fluctuate over time.public org.jivesoftware.smack.packet.Presence getOccupantPresence(java.lang.String user)
user
- the room occupant to search for his presence. The format of user must
be: roomName@service/nickname (e.g. darkcave@macbeth.shakespeare.lit/thirdwitch).public Occupant getOccupant(java.lang.String user)
user
- the room occupant to search for his presence. The format of user must
be: roomName@service/nickname (e.g. darkcave@macbeth.shakespeare.lit/thirdwitch).public boolean addParticipantListener(org.jivesoftware.smack.PresenceListener listener)
listener
- a stanza(/packet) listener that will be notified of any presence packets
sent to the group chat.public boolean removeParticipantListener(org.jivesoftware.smack.PresenceListener listener)
listener
- a stanza(/packet) listener that was being notified of any presence packets
sent to the group chat.public java.util.List<Affiliate> getOwners() throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotConnectedException
Affiliate
with the room owners.Affiliate
with the room owners.org.jivesoftware.smack.XMPPException.XMPPErrorException
- if you don't have enough privileges to get this information.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public java.util.List<Affiliate> getAdmins() throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotConnectedException
Affiliate
with the room administrators.Affiliate
with the room administrators.org.jivesoftware.smack.XMPPException.XMPPErrorException
- if you don't have enough privileges to get this information.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public java.util.List<Affiliate> getMembers() throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotConnectedException
Affiliate
with the room members.Affiliate
with the room members.org.jivesoftware.smack.XMPPException.XMPPErrorException
- if you don't have enough privileges to get this information.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public java.util.List<Affiliate> getOutcasts() throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotConnectedException
Affiliate
with the room outcasts.Affiliate
with the room outcasts.org.jivesoftware.smack.XMPPException.XMPPErrorException
- if you don't have enough privileges to get this information.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public java.util.List<Occupant> getModerators() throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotConnectedException
Occupant
with the room moderators.Occupant
with the room moderators.org.jivesoftware.smack.XMPPException.XMPPErrorException
- if you don't have enough privileges to get this information.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public java.util.List<Occupant> getParticipants() throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotConnectedException
Occupant
with the room participants.Occupant
with the room participants.org.jivesoftware.smack.XMPPException.XMPPErrorException
- if you don't have enough privileges to get this information.org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public void sendMessage(java.lang.String text) throws org.jivesoftware.smack.SmackException.NotConnectedException
text
- the text of the message to send.org.jivesoftware.smack.SmackException.NotConnectedException
public org.jivesoftware.smack.chat.Chat createPrivateChat(java.lang.String occupant, org.jivesoftware.smack.chat.ChatMessageListener listener)
occupant
- occupant unique room JID (e.g. 'darkcave@macbeth.shakespeare.lit/Paul').listener
- the listener is a message listener that will handle messages for the newly
created chat.public org.jivesoftware.smack.packet.Message createMessage()
public void sendMessage(org.jivesoftware.smack.packet.Message message) throws org.jivesoftware.smack.SmackException.NotConnectedException
message
- the message.org.jivesoftware.smack.SmackException.NotConnectedException
public org.jivesoftware.smack.packet.Message pollMessage() throws MUCNotJoinedException
nextMessage()
method since it's non-blocking.
In other words, the method call will always return immediately, whereas the
nextMessage method will return only when a message is available (or after
a specific timeout).MUCNotJoinedException
public org.jivesoftware.smack.packet.Message nextMessage() throws MUCNotJoinedException
MUCNotJoinedException
public org.jivesoftware.smack.packet.Message nextMessage(long timeout) throws MUCNotJoinedException
timeout
- the maximum amount of time to wait for the next message.MUCNotJoinedException
public boolean addMessageListener(org.jivesoftware.smack.MessageListener listener)
listener
- a stanza(/packet) listener.public boolean removeMessageListener(org.jivesoftware.smack.MessageListener listener)
listener
- a stanza(/packet) listener.public void changeSubject(java.lang.String subject) throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotConnectedException
subject
- the new room's subject to set.org.jivesoftware.smack.XMPPException.XMPPErrorException
- if someone without appropriate privileges attempts to change the
room subject will throw an error with code 403 (i.e. Forbidden)org.jivesoftware.smack.SmackException.NoResponseException
- if there was no response from the server.org.jivesoftware.smack.SmackException.NotConnectedException
public boolean addUserStatusListener(UserStatusListener listener)
listener
- a user status listener.public boolean removeUserStatusListener(UserStatusListener listener)
listener
- a user status listener.public boolean addParticipantStatusListener(ParticipantStatusListener listener)
listener
- a participant status listener.public boolean removeParticipantStatusListener(ParticipantStatusListener listener)
listener
- a participant status listener.public java.lang.String toString()
toString
in class java.lang.Object


using arduino on USB power and a uSD card shield ( DFRobot interface shield (run uSD with 5V!!))
cpu power drops below 4.8V what is a measuring error of 4%.
pls see: code.google.com/p/tinkerit/wiki/SecretVoltmeter
the calibration runs one time, prior to the 3000 Ain loop.
Re: Vcc calibration of EMON
Thanks for the heads up, we use this already on the emontx, It means the battery voltage can vary from 3.5 all the way down as they discharge and the measurements are kept accurate


Yoga Mirror
introduction descript..
Yoga Trainer in Video
Real-time Pose Estimation
Similarity Score
Personal Suggestions
Start Now


The beta test for the 2.0 version of ProHits-viz has begun. It can be accessed at: prohits-viz.org.
We are currently testing the correlation and dot plot tools with their associated interactive viewer.
In addition to the features mentioned in the alpha test and further bug fixes, you can now filter interactive images by conditions (e.g. baits) to limit the readouts (e.g. preys) displayed on the image. This is particular useful when combined with sorting to provide a more focused look at two conditions. You can also open as many snapshots and analyses of your image as you would like. You can try out the new features with an example dataset.
If you would like to provide feedback, report bugs or request new features, please use GitHub. If your issue has already been created on GitHub by someone else, you do not need to do anything unless you would like to provide additional comments or context.
Using GitHub


OPERATION CONDOR (1997)
A film review by Steve Kong Copyright 1997 Steve Kong
"Had enough?" Asks the bad guy. "HAHAHAHA...NO!" Replies Jackie.
Released in 1990, Operation Condor was originally released over-seas as The Armor of Gods 2:Operation Condor. But seeing the original is not important, Condor is a self-contained story.
Dimensions Film has put together a new English dubbing and soundtrack for the US release of the film. This is along with a few edits here and there. Unlike the previous three Jackie Chan releases (Rumble in the Bronx, Supercop, and First Strike), which were directed by Stanley Tong, Jackie Chan is directing, writing, and starring in Operation Condor. Also different from the previous three releases, Operation Condor has a different feel to it.
Jackie Chan plays an agent for the UN named Jackie, but code-named Condor. After a spectacular opening sequence, which is a hilarious parody of the opening sequence to the first Indiana Jones film, the UN calls Jackie. There is a stash of gold buried somewhere in the Sahara by some Nazis. The Nazis stole the gold during World War 2 and buried it at the end of the war just as they were losing the war. To tag along with Jackie is Ada, a beautiful Chinese liaison who knows about the gold. But along the way the grand daughter of the leader of the Nazi group that buried the gold joins them. Also joining is a Japanese woman who has a pet scorpion.
Jackie and group are battling two groups of men trying to get to the gold also. But, as most of us know, we don't go to see a Jackie Chan film for plot and character development. We see Jackie films for action, and there is plenty of action in Operation Condor. The action consists mostly of fighting scenes that are all well choreographed and highly entertaining. There is also the crazy, funny, and silly comedy for which Jackie has the perfect timing for.
Of all the re-released Jackie films in the US, this one is the one with the most action. It is also the one that is most quirky. The film switches moods quickly and abruptly, but, doing this well. It can go from dead serious to slapstick comedy in the snap of a finger.
Operation Condor is a funny movie with lots of spectacular action. It is also a film you'll want to see on the big screen. So, go see it. And don't leave right when the credits roll because you'll miss the outtakes.
-- steve kong<EMAIL_ADDRESS>spy on me at: http://mookie.relay.net/mookie/steve-cam.html movie reviews: http://hardboiled.home.ml.org/
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


{% extends "web_app/base.html" %} {% load bootstrap4 %} {% block content %} You have been logged out. See you next time! {% endblock content %}


|
MasterScan
Lab_Matlab_control Master Branch
|
Superclass for flow-control classes.
The topsRunnable superclass provides a common interface for Tower of Psych classes that manage flow control. They organize function calls and log what they call. Some can combine with each other to make complex control structures.
Any topsRunnable can be run(), to begin execution. Sometimes its caller will be set to another topsRunnable, which invoked run() on it.
Properties and Events | |
| Property | startFevalable = {} |
| optional fevalable cell array to invoke just before running | |
| Property | finishFevalable = {} |
| optional fevalable cell array to invoke just after running | |
| Property | isRunning = false |
| true or false, whether this object is currently busy running | |
| Property | caller |
| topsRunnable that invoked run() on this object, or empty | |
| Property | startString = 'start' |
| string used for topsDataLog entry just before run() | |
| Property | finishString = 'finish' |
| string used for topsDataLog entry just after run() | |
| Properties and Events inherited from topsFoundation | |
| Property | name = '' |
| a string name to indentify the object | |
| Property | clockFunction =@topsClock |
| clock function, to standardize | |
Methods | |
| self | topsRunnable (varargin) |
| Constuct with name optional.  More... | |
| g | gui (self) |
| Show heirarchy of topsRunnable[Composite] objects. | |
| start (self) | |
| Log action and prepare to do flow control. More... | |
| finish (self) | |
| Log, action and finish doing flow control. More... | |
| logAction (self, actionName, actionData) | |
| Log an event of interest with topsDataLog. More... | |
| logFeval (self, fevalName, fevalable) | |
| Log a function call with topsDataLog. More... | |
| Methods inherited from topsFoundation | |
| self | topsFoundation (name) |
| Constuct with name optional. More... | |
| fig | gui (self) |
| Open a GUI to view object details. More... | |
| p | guiPanel (self, varargin) |
| Make a topsDetailPanel with details about this object. More... | |
Additional Inherited Members | |
| Static Methods inherited from topsFoundation | |
| static c index | cellAdd (c, item, index) |
| Add an item to a cell array. More... | |
| static selector | cellContains (c, item) |
| Does a cell array conatin an item? More... | |
| static c | cellRemoveItem (c, item) |
| Remove an item from a cell array. More... | |
| static c | cellRemoveElement (c, index) |
| Remove indexed elements from a cell array. More... | |
| static index selector | findStructName (s, name) |
| Where is the given name in the given struct array? More... | |
| self topsRunnable | ( | varargin | ) |
Constuct with name optional.
| name | optional name for this object |
If name is provided, assigns name to this object.
| run | ( | self | ) |
| start | ( | self | ) |
Log action and prepare to do flow control.
Subclasses should extend start() to do initialization before running.
| finish | ( | self | ) |
Log, action and finish doing flow control.
Subclasses should extend finish() to do clean up after running.
| logAction | ( | self | , |
| actionName | , | ||
| actionData | |||
| ) |
Log an event of interest with topsDataLog.
| actionName | string name for any event of interest |
| actionData | optional data to log along with actionName |
logAction is a convenient way to note in topsDataLog that some event of interest has occurred. The log entry will contain the name of this topsRunnable object, concatenated with actionName. It will store actionData, if given.
| logFeval | ( | self | , |
| fevalName | , | ||
| fevalable | |||
| ) |
Log a function call with topsDataLog.
| fevalName | string name to give to a function call |
| fevalable | fevalable cell array specifying a function call |
logFeval is a convenient way to note in topsDataLog that some function call of interest has occurred, and then call the function. The log entry will contain the name of this topsRunnable object, concatenated with fevalName. It will convert the function handle from the first element of fevalable to a string and store the string.
The log entry will not store any of the arguments from the second or later elements of fevalable. This is because the arguments may be handle objects, and Matlab does a bad job of storing large collections of handle objects–both in memory and in .mat files.
After making a new entry in topsDataLog, logFeval also invokes fevalable with the feval() function.


GOLDEN GATE
REMEMBER LOVE
THE SUNSET
Venice
Andrew Fashion
GOLDEN GATE
REMEMBER LOVE
Venice
Andrew Fashion
THE SUNSET


Before Change
logging.info("Global accuracy: %s", str(round(self.global_correct_predicts/self.global_sample_count, 3)))
logging.info("Total instances: %s", str(self.global_sample_count))
if self.show_kappa:
logging.info("Global kappa statistic %s", "0")
////////
//// TODO
//// fix the problem you created, the visualizer has to be dumb, he just receives statistics
After Change
logging.info("Evaluation time: %s", str(round(end_time - init_time, 3)))
logging.info("Total instances: %s", str(self.global_sample_count))
logging.info("Global accuracy: %s", str(round(self.global_correct_predicts/self.global_sample_count, 3)))
logging.info("Global kappa statistic %s", str(round(self.global_kappa, 3)))
////////
//// TODO
//// fix the problem you created, the visualizer has to be dumb, he just receives statistics


inline operator fun String.unaryMinus(): Unit
Remove a target identified by targetName
from this transition.
See Also
inline operator fun <reified Type> Type.unaryMinus(): Unit
Remove targets of type Type from this transition
See Also
inline operator fun View.unaryMinus(): Unit
Remove a target View from this transition.
See Also


---
layout: post
title: The Eternal Appetite of Infancy
date: '2009-01-29T09:30:00.003-06:00'
author: Jabell
tags:
- Quotes
modified_time: '2009-01-29T09:35:18.161-06:00'
blogger_id: tag:blogger.com,1999:blog-19739956.post-4055566911168182959
blogger_orig_url: http://theabellsix.blogspot.com/2009/01/eternal-appetite-of-infancy.html
---
A good friend of mine has a blog. You might want to check it out. Yesterday, he placed a quote from Chesterton that I think is worth repeating and thinking about.
It is possible that God says every morning, “Do it again” to the sun; and every evening “Do it again” to the moon. It may not be automatic necessity that makes all daisies alike; it may be that God makes every daisy separately, but has never got tired of making them. It may be that He has the eternal appetite of infancy; for we have sinned and grown old, and our Father is younger than we.(HT: Remanations)
–G.K. Chesterton, Orthodoxy (p. 51)


It's a bit awkward, Scooby went to sleep without any notice, he will probably woke up pretty soon, until then, cya.


Meet the team!
{% include 'team/members/linhchi.html' %}
{% include 'team/members/justin.html' %}
{% include 'team/members/jaime.html' %}
{% include 'team/members/angelina.html' %}
{% include 'team/members/lois.html' %}
{% include 'team/members/jonathan.html' %}
{% include 'team/members/amy.html' %}


---
title: Pickup Point API
layout: api
disqus_identifier: https-developer-bring-com-api-pickup-point
menu:
apidocs:
identifier: pickuppoint
title: Pickup Point API
url: /api/pickup-point
parent: checkout
weight: 12
---
Max parcel dimensions for Pakkeboks (parcel lockers in Norway) pickup points
We're now returning max parcel dimensions for Pakkeboks pickup points.
This can be used to filter out pickup points based on parcel size on the client side, and thus preventing failed bookings during checkout due to exceeding the max parcel locker size.
The field looks like this (JSON):
"maxParcelDimensions": {
"length": 44.5,
"width": 50.5,
"height": 60.0
}


House Cleaning 2 U
Booking No:
Customer:
Worker:
Date:
Start:
End:
Duration:
Price:
Thank you for acquiring our service.


For everyone who loves numbers, this is the right place to see some cool things, what you can do with numbers.


Version control
When carrying out research it can be beneficial to be able to:
- examine the entire history of the project.
- rewind and retrieve a file from the past.
- combine changes from two different parallel pieces of work.
The potential for human error when doing these things can be handled by software. The particular tool we will use is `git.
Setting up git
Before we get started there are a couple of things we need to do to set up
git
. Recall that git
keeps track of the entire history of a project, this
does not only mean keeping track of what was done but also who did it (this is
particularly important in collaborative work).
We start by telling git who we are. Open your command line and type:
git config --global user.name "Your Name"
git config --global user.email "Your Email"
Note this is not data that is being collected by any cloud service or similar. It just stays with your project.
Windows
Note that all these commands work on the anaconda prompt but if you want to use
tab completion you can use the git bash
command line specifically for git.
Initialising a git repository
Let us start by creating a new directory: rsd-checklist
.
Inside that let us create a main.tex
document which we will use to create a
checklist of things learned on this course.
\documentclass{article}
\title{Research software development checklist}
\begin{document}
\maketitle
\end{document}
Now let us tell git
to start keeping an eye on this repository. In the command
line:
git init
You should then see a message saying that you have successfully initialised a git repository.
Staging and committing changes
Let us see what is the status of our repository:
git status
We should see something like:
On branch master
Initial commit
Untracked files:
(use "git add <file>..." to include in what will be committed)
main.tex
nothing added to commit but untracked files present (use "git add" to track)
There are various pieces of useful information here, first of all main.tex
is not currently a tracked file.
 to unstage)
new file: main.tex
So the changes we have made to main.tex
(ie starting the file) are ready to
be "committed".
git commit
When doing this, a text editor should open up prompting you to write what is called a commit message. Your machine will probably have one of the following command line editors set up as a default:
For the purposes of using git
these are more than sufficient, all you need to
know how to do is:
- Write (in Nano: just type, in Vim: press
i
and type); - Save (in Nano:
Ctrl + O
, in Vim: pressesc
, then:
, thenw + Enter
); - Quit (in Nano:
Ctrl + X
, in Vim: pressesc
, then:
, thenq + Enter
).
Note it is possible to set up a different default editor but instructions for this can be machine specific.
We are now ready to type our first commit message:
Write blank checklist
This file is currently empty but will include the various aspects of sustainable
software development learnt on the 2 day rsd workshop.
Once you have written that, save and exit from your editor. git
should confirm
that you have successfully made your first commit.
[master (root-commit) 3c1e5ad] write blank checklist
1 file changed, 7 insertions(+)
create mode 100644 main.tex
Now if we run git status
, we see a message saying that everything in our
repository is tracked and up to date:
On branch master
nothing to commit, working directory clean
Note A commit message is made up of 2 main components:
<Title of the commit>
<Description of what was done>
- The title should be a description in the form of "if this commit is applied
<title of the commit>
will happen". The convention is for this to be rather short and to the point. - The description can be as long as needed and should be a helpful explanation of what is happening.
A commit is a snapshot that git
makes of your project, you should use this at
meaningful steps of the progress of a project.
Tracking changes to files
Let us add our name to the checklist document:
\documentclass{article}
\title{Research software development checklist}
\author{Grace Hopper}
\begin{document}
\maketitle
\end{document}
Save your file and then run git status
. We now see that git
is aware of a
change to our file:
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: main.tex
no changes added to commit (use "git add" and/or "git commit -a")
To "stage" the file for a commit we use git add
again:
git add main.tex
Now let us commit:
git commit
With the following commit message:
add author name
In this particular case there is not much more needed than the title.
Finally, we can check the status: git status
to confirm that everything has
been done correctly.
Ignoring files
Let us compile our LaTeX document:
pdflatex main.tex
Now if we check the status of our repository:
git status
We see that all the LaTeX auxiliary files are listed along with the pdf:
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
main.aux
main.log
main.pdf
nothing added to commit but untracked files present (use "git add" to track)
To tell git
to ignore these files (we only need the tex
file) we will add them to a blank file entitled .gitignore
. Open your editor and type
main.aux
main.log
main.pdf
Save that file as .gitignore
and then run git status
again. We see now that
git
is ignoring those 3 files but is aware of the .gitignore
file.
At a later stage we can always modify this
.gitignore
file (perhaps we might choose to tell git
to track the pdf):
Exploring and using history
We have done a good job of keep track of the history of our project but let us see how that can be useful.

We see that there are 3 commits there, each with a seemingly random set of numbers and characters. This set of characters is called a "hash":
The first commit with title write blank checklist
has hash:
3c1e5adc13069023d25a76570f092135d0eeb68c
. Note that on your machines this
hash will be different, in fact every hash is mathematically guaranteed to be
unique, thus it is uniquely assigned to the changes made.
One of the things that this hash allows us to do is to go back in time. Let us
go back to the main.tex
file before we added the author name. We do this with
the checkout
command and make use of the hash (simply copy it or type the
first few characters). In the case of the example here, using the hash:
git checkout 3c1e5adc13069023d25 main.tex
If we now run git status
we see that the file has changed:
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: main.tex
(Open main.tex
and see that the author name is no longer there.)
We could at this stage make more changes to main.tex
and commit them as before.
Or in this particular case we might want to return the file to the state it was.
We can use HEAD
which is shorthand for the hash corresponding to the last
commit:
git checkout HEAD main.tex
If you run git status
you will see that everything is back to how it was with
the author name.
Creating branches
At the start of this chapter we discussed the ability to work in parallel thanks
to git
. This is done using something called "branches".
When typing git status
we have seen that one piece of information regularly
given was On branch master
. This is telling us which branch of "history" we
are currently on. To view all branches:
git branch
This shows:
* master
So currently there is only one branch. Let us create a new branch called
add-list-of-topics
:
git branch add-list-of-topics
When we now type git branch
we see that 2 branches exist but the active branch
is indicated by *
:
add-list-of-topics
* master
Let us now move to this new branch:
git checkout add-list-of-topics
Run git branch
and then git status
to see how this has worked.
 We'll use this branch to
modify the page width:
git branch change-page-width
git checkout change-page-width
Let us modify main.tex
to include the following in the preamble:
\documentclass{article}
\usepackage[margin=1.5cm, includefoot, footskip=30pt]{geometry}
\title{Research software development checklist}
\begin{document}
\maketitle
\end{document}
If you compile the document you should see it occupies the page better (there's not much text yet to be able to compare but you get the idea).

We see that the commit made on the add-list-of-topics
branch does not appear
here. This is the behaviour of git log
it only shows the history of the
current branch.
Let us return to the master
branch and see how to combine the work that has
been done on each of these branches:
git checkout master
Merging branches
Getting the work from one branch on to another branch is called "merging". Let
us merge the change-page-width
branch in to the master
branch (which is our
current branch).
Note before doing a merge it is always a good idea to check git status
to
ensure everything is in the state we required (e.g. that we are on the correct
branch etc...).
git merge change-page-width
We should see something like:
Updating b116460..f252f5a
Fast-forward
main.tex | 2 ++
1 file changed, 2 insertions(+)
Recall, if you forget the name of branches you can always run git
branch
to see all the branches.
Let us also merge our add-list-of-topics
branch:
git merge add-list-of-topics
When doing merges sometimes git
will open the editor asking for you to confirm
the merge commit message. This is because there are various algorithms git
uses to be able to merge and some require making a snapshot.
If this happens during a merge, do not feel that you have to modify the commit message (unless you want to!).
Merge made by the 'recursive' strategy.
tex/list-of-topics.tex | 11 +++++++++++
1 file changed, 11 insertions(+)
create mode 100644 tex/list-of-topics.tex
Your directory should now look like this:
|---rsd-checklist
|--- main.tex
|--- main.aux
|--- main.log
|--- main.pdf
|--- tex/
|--- list-of-topics.tex
We will make one final modification to main.tex
to include the
list-of-topics.tex
file:
\documentclass{article}
\usepackage[margin=1.5cm, includefoot, footskip=30pt]{geometry}
\usepackage{amssymb} % for the checkmark
\title{Research software development checklist}
\author{Grace Hopper}
\begin{document}
\maketitle
\input{tex/list-of-topics.tex}
\end{document}
Compile your document and take a look at your checklist!
Before we commit this final change let us take a look at one final command:
git diff
This displays the difference between the current state of our repository and the last commit:
diff --git a/main.tex b/main.tex
index bc59d80..4f26c4f 100644
--- a/main.tex
+++ b/main.tex
@@ -1,10 +1,13 @@
\documentclass{article}
\usepackage[margin=1.5cm, includefoot, footskip=30pt]{geometry}
+\usepackage{amssymb} % for the checkmark
\title{Research software development checklist}
\author{Grace Hopper}
\begin{document}
\maketitle
+
+\input{tex/list-of-topics.tex}
\end{document}
(END)
We have added \usepackage{amssymb} % for the checkmark
and
\input{tex/list-of-topics.tex}
.

We can see the entire history of what we have written and could potentially go back to any stage. Furthermore, our directory is tidy without the need for various confusin suffixes at the end of each file.
Note Branching is "cheap" in terms of the amount of space it takes up. Thus it's always a good idea to branch when working on a project if you want to try out something.
Note It is possible to create something called a "merge conflict". This
occurs when mergeing changes that git
is unable to merge automatically. For
example changing the same line in a file. In this case, git will ask for you to
modify the file and commit it to complete the merge.
Summary
Here are the commands we have seen in this chapter:
git init
: Create a git repositorygit add <file>
: Start tracking<file>
and/or stage the changes to<file>
ready to be committed.git status
: See the current status of your git repository.git commit
: Create a snapshot of the current changes.git checkout <hash> <file>
: Set<file>
to be in the same state as it was in the commit corresponding to<hash>
. Note thatHEAD
is shorthand for the last commit.git branch
: List all branches.git branch <branch-name>
: Create a new branch called<branch-name>
.git checkout <branch-name>
: Move to<branch-name>
.git merge <branch-name>
: Merge<branch-name>
in to the current branch.git diff
: Show the differences between the current state of the repository and the last commit.
Tip
git
keeps track of things on a line by line basis. Thus changing any given character in any given line corresponds to changing the whole line. In the interest of keeping commits meaningful (thus helpful) it is useful to regularly line return in LaTeX documents otherwise changing various words in a paragraph can correspond to the same overall change.- There are a number of excellent helpful tools for interfacing with
git
. It is recommended to start by learning these basic commands directly so that you understand what is going on in the background before making use of the helpful tools.


Home
Introduction
Background
The Utopian Ideology
Emergence
Characteristics
Cost
main
per
pro
types
pri
public
hybrid
acknowledgement
Nationalism In Europe
And Away!


|
VItA
1.1
Virtual Iterative Angiogenesis library
|
#include <MemoryMonitor.h>
Public Types | |
| enum | UNITS { BYTE, KILOBYTE, MEGABYTE, GIGABYTE } |
Public Member Functions | |
| MemoryMonitor (UNITS unit) | |
| long long | getProcessMemoryConsumption () |
| long long | getSystemMemoryConsumption () |
Private Member Functions | |
| int | parseLine (char *line) |
| long long | getValue () |
Private Attributes | |
| double | unitFactor |
Class that report system memory usage.
| enum MemoryMonitor::UNITS |
Unit used as output.
| MemoryMonitor::MemoryMonitor | ( | UNITS | unit | ) |
Constructor.
| unit | Unit used as output. |
| long long MemoryMonitor::getProcessMemoryConsumption | ( | ) |
Returns the RAM memory consumed by the current process.
| long long MemoryMonitor::getSystemMemoryConsumption | ( | ) |
Returns the RAM memory consumed by the whole system.
|
private |
Unit conversion factor.


Need a writing intensive class? Or maybe something on Tuesdays and Thursdays?
Use our simple but powerful search tool to find exactly what you need. Search by Course title,
instructor, focus, day and time and more!
Late breaking info
We think the best decision is an informed one. That's why we've made it so teachers and student can
leave news that's important to you. Browse the descriptions and sign up for the class that best suits
you.
Easy to use mobile design
We know you're busy and always on the go. That's why we built this site with a
mobile first attitude. Access it from your laptop or your smartphone. It's all good!
Map your route between classes
Don't know where your class is? Curious how far it is between classes? Click on the
Maps link to see a map of your schedule.
Students love us!
We think we've got something great here but you don't have to take our word for it.
Here's what some other users have got to say.


|
FIRST
PHASE [DROP] - Both players take turns to drop their 20 stones
(of a total of 40 stones) on some available empty cells inside the
green area. |
|
SECOND
PHASE [MOVE]
- At each turn, each player move one stone. A stone can move to one
adjacent (orthogonal or diagonal) empty cell, or jump a stone of any
color to the opposite empty cell, if other jumps are available, the
stone can continue to jump (just like in Halma) in any direction.
|
The
stones cannot jump outside the 17x17 area limited by the shelters
(the 39 red dots on the board) |
|
|
GOAL
- A player wins when he places all of his stones inside the shelters. |
|


1. Introduction to Hygieia
Hygieia℠ is a single, configurable, easy to use dashboard to visualize near real-time status of the entire delivery pipeline.
A typical project deals with Agile Project Management tool, Source Control, Continuous Integration (CI) tool, Testing tools, Static Code Analysis and Security Scanning tools, Deployment and Monitoring tools to name a few.
Large enterprises and complex systems sometimes use multiple CI, Testing and Scanning tools. Each of these has nice dashboards to present key information stored in it. But what is lacking is a single, comprehensive end-to-end view of the state of a delivery pipeline in near real time.
Hygieia is the solution & provides One Dashboard for the Entire CI/CD Pipeline
Features
-
Team Dashboard: Monitor things like workitems, code repo, builds, quality items (unit tests, security, coverage, etc.), and deployments in one dashboard.
-
Real-time Status: Monitor quality, productivity, and work in process on a real-time basis within the dashboard.
-
Configurable View: Set up the dashboard to display the widgets that matter most to your project, which helps amplify and shorten the feedback loop.
-
Open Source Hygieia is open source and free for everyone to use. We also encourage external users to commit to the project.
Hyigiea Layers
There are 3 main Layers of Hygieia Dashboard
-
UI Layer
-
API Layer
-
Collectors Layer
1.UI Layer
This layer is view level layer & displays the Daaashboard content to user.there are two types of Dashboards
a.Team Level Dashboard
b.Product Level Dashboard
2.API Layer
API is work as an Interface between Collector and UI.It contains the Controller classes, which helps to UI which Collector logic has to be execute whenever request comes from UI.
API module contains following major packages
-
Request: this package classes are used to store Request details
-
Rest : this package classes contains Controller classes
-
Service : this package classes are used for send response to UI
3.Collector Layer
Ecah and every DevOps Tool having their own collector. For example Jenkins tool having its own collector call it as Jenkins Build Collector.The main job of the collector is, it will collects the Data from DevOps tool and save that data into the MongoDB
We have following Collectors in the latest version of Hygieia(2.0.4)
-
Build Collectors:
-
Cloud Collectors:
-
Deploy Collectors:
-
Feature Collectors:
-
Misc Collectors:
-
SCM Collectors:
How Hygieia Dashboard Works
-
Install & Congigure DevOps Tools in Hygiea Dashboard
-
Collectors will collect the data from the DevOps tool based on the configuration
-
Collector will convert the collected data into MongoDB data format
-
Saves the converted data into MongoDB Collector
-
UI calls the RestAPI call to get the Data from the Database
-
RestAPI get the data from database and returns to UI
-
UI will Displays the collected data in the Dashboard
2. Hygieia Dashboard Setup
To install & configure Hygieia Dashboard we need to install below Software Tools.
2.1 Install Java & Set JAVA_HOME
-
Download Java JDK from Oracle Official website & Install It.
-
Configure theJAVA_HOME Windows environment variables by specifying Java Installation Location
Control Panel → User Accounts → User Accounts → Change my EnvironmentVariables
-
Also update thePATH variable with bin location
2.2 Install Apache Mavem & Set MAVEN_HOME
1.Download Apache Maven
Go toMaven official website, download the Maven zip file, Unzip It.
2.Configure theJAVA_HOME Windows environment variables by specifying Java Installation Location
Control Panel → User Accounts → User Accounts → Change my EnvironmentVariables
3.AddbothM2_HOMEandMAVEN_HOME as Windows environment variable & point it to Maven folder
4.UpdatePATHvariable, append Maven bin folder –%M2_HOME%\bin, so that you can run the Maven’s command everywhere.
5.Verify Maven is installed properly or not by mvn –version command
mvn -version" >>mvn -version
Apache Maven 3.0.5 (...)
Maven home: ...
Java version: 1.8.0_60, vendor: Oracle Corporation
Java home: ...
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "amd64", family: "dos"
6.Change PROXY Settings
If you are behind a proxy, Maven will fail to download any dependencies.in this
type of situation we have to declare the proxy server setting in Maven
configuration filesettings.xml.
Find {M2_HOME}/conf/settings.xml, and put your proxies detail inside. Un-comment the proxy options and fill in your proxy server detail.
<!-- proxies
| This is a list of proxies which can be used on this machine to connect to the network.
|-->
<proxies>
<proxy>
<id>optional</id>
<active>true</active>
<protocol>http</protocol>
<username>smlcodes</username>
<password>password</password>
<host>proxy.smlcodes.com</host>
<port>8888</port>
<nonProxyHosts>local.net|some.host.com</nonProxyHosts>
</proxy>
</proxies>
2.3 Configure Apache Maven in Eclipse
1.DownloadEclipse IDE for Java EE Developers , Extract and Run Eclipse
2.Copy maven installation path (Ex. C:\apache-maven-3.3.9)
Window → preferences → Maven → Installations == add maven path
3.Change Settings.xml file path
Window → preferences → Maven → User Settings
2.4 MongoDB Installation
Know your PC Architecture, Open Command prompt and run below command
C:>wmic os get osarchitecture
1.Download MongoDB
There are three builds of MongoDB for Windows:
-
MongoDB for Windows Server 2008 R2 edition [Download link]
-
MongoDB for Windows 64-bit [Download link]
-
MongoDB for Windows 32-bit [Download link]
2.Extract and create Folders
download zip files which you extract directly onto any place in your system of
your choice.I have extracted them in -d:/mongodb-.
Also,create following directoriesinside d:/mongodb
-
D:\mongodb\data
-
D:\mongodb\log
3.Path and Installation
Go to Control Panel →User Accounts →Change my Environment Variables →Add below Variables
D:\mongodb\bin
4.Create a MongoDB config file
Create new file,add below content to mongo.config in given location for
//Ex:d:\\mongodb\\mongo.config
##store data here
dbpath=D:\mongodb\data
##all output go here
logpath=D:\mongodb\log\mongo.log
##log read and write operations
diaglog=3
5.Start/Shutdown the MongoDB Server
Start: Run below command in command prompt
• d:\mongodb\bin>mongod –dbpath=D:/mongodb (or)
• d:\mongodb\bin>mongod.exe --config="D:\mongodb\mongo.config"
6.To run Commands on MongoDB
Open new commandline run mongo command
7.Create an User by running below commands on Mongo
db.createUser(
{
user: "dashboarduser",
pwd: "dashboarduser123",
roles: [
{role: "readWrite", db: "dashboarddb"}
]
})
Now we are SuccessfullyConfigured MongoDB
2.5 Install Git
Download & Install Git Client , add Update PATH variable
2.5 Install Node.Js
1.Download & Install Node.js from Nodejs Official website
2.Update Path variable with installed nodejs location
3.Open command Prompt run below commands one by one
npm install -g bower
npm install -g gulp
4.If you are under the Proxy, then configure proxy settings in below files
- Run “notepad .npmrc” and enter your proxy details
proxy = http://yourproxyservername:80/ https-proxy = http://yourproxyservername:80/ strict-ssl = false
- Run “notepad .gitconfig”, and enter your proxy details
[http] proxy = http://yourproxyservername:80/
- Run “notepad .bowerrc” and enter your proxy details
{ "proxy":"http://yourproxyservername:80/", "https-proxy":"http:// http://yourproxyservername:80" }
- If you are not foung npm folder in “C:\Users\YOUR_USER_Name\AppData\Roaming”, then we have to manually create “npm” folder under
for this error : ‘bower’ is not recognized as an internal or external command
Go to C:\Users\USER_NAME\AppData\Roaming\npm, Copy this location add to PATH variable
2.6 RoboMongo (or) Admin Mongo
2.6.1 RoboMongo
Robomongo is a shell-centric cross-platform MongoDB management tool. Unlike most other MongoDB admin UI tools, Robomongo embeds the actual mongo shell in a tabbed interface with access to a shell command line as well as GUI interaction.
We can Download the RoboMongo from here , you can install it as easy as normal windows software
2.6.2 Admin Mongo
adminMongo is a cross platform user interface (GUI) to handle all your MongoDB connections/databases needs. adminMongo is fully responsive and should work on a range of devices.You can download adminMongo from Github.
Installation
-
Navigate to folder & install adminMongo: git clone https://github.com/mrvautin/adminMongo.git && cd adminMongo
-
Install dependencies:npm install
-
Start application:npm startornode app
-
Visithttp://<IP_ADDRESS>:1234in your browser
3. Configure Hygieia Dashboard
Download Hygieia Source code from Github (Hygieia 2.0.4 release )
https://github.com/capitalone/Hygieia/releases/
3.1 Run Maven Build
1.Update Settings.xml file at C:\apache-maven-3.3.9\conf if you are under proxy
<proxies>
<proxy>
<id>your-proxy-id</id>
<active>true</active>
<protocol>http</protocol>
<host>your.proxy.domain.name</host>
<port>8080</port>
<!-- For authenticated proxy, please set the following, as well -->
<username>companyId999</username>
<password>yourPassword</password>
<nonProxyHosts>*.local</nonProxyHosts>
</proxy>
</proxies>
2.Extract Hygieia-xxx.zip and Open. Make sure it contains following files
3.Open command prompt and go to Hygieia folder and run one of the below mvn cmds
mvn clean install package
(or)
mvn clean install package -Dmaven.test.skip=true
(or –for Skipping PDM Violations)
mvn clean install package -Dmaven.test.skip=true -Dpmd.failOnViolation=false
3.2 Install Bower & npm Packges on UI Folder
1.Open Hygieia\UI on command line
2.Issue the following commands via command line:
npm install -g bower
npm install -g gulp
3.Navigate to your project root via command line and use the following command:
npm install
Use Git Shell to install bower in the following manner; do so from your project’s root directory:
bower install
select option 2 when prompted for user input
4.Start the UI by running gulp serve on Hygieia\UI folder.
5.Open http://localhost:3000/ from browser, it will display the Dashboard
If we see above API is not connected. To connect with API we must run the api project. To do that we need to import the code to Eclipse. Follow below steps to do so.
3.3 Import code to Eclipse
1.Open Eclipse IDE
2.File → Import → Maven→ Existing Maven Projects, browse Downloaded Hygieia folder→ Finish
3.we will get Project structure as below like below
4.Update Maven Project by Selecting all → Right click → Maven Update → Ok
Now We are successfully Setup all the thing which are required for Running Hygieia Dashboard.So Let’s Move next step to Running Hygieia Dashboard
3.4 Steps to Running Hygieia Dashboard
3.4.1 Start MongoDB
First, we need to start MongoDB Database and Make sure it is Running
Check MongoDB is Started or not, by running mongo command on command-prompt
Blinking cursor means it is running.
3.4.2 Start -api”
Before we starting API we need add dashboard.properties file, change application.propeties file as per our requirement.
1.dashboard.properties(Path: Hygieia\api\dashboard.properties)
dbname=dashboarddb
#dbusername=[MogoDb Database Username, defaults to empty]
#dbpassword=[MongoDb Database Password, defaults to empty]
dbhost=localhost
dbport=27017
2.application.properties(Path: Hygieia\api\src\main\resources\application.properties)
# Default server configuration values
dbname=dashboard
#dbusername=dashboarduser
#dbpassword=1qazxSw2
dbhost=<IP_ADDRESS>
dbport=11500
server.contextPath=/api
server.port=8080
3.Configure api run configurations by going,
api project → Go to src → com.capitalone.dashboard.Application.java →Rightclick→Run Configuartions → Java Application → go to arguments → program args : add
--spring.config.location=dashboard.properties
4.Apply and Run the Application.
. ____ _ __ _ _
\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.2.5.RELEASE)
2017-02-23 17:53:51,243 INFO com.capitalone.dashboard.Application - Starting Application on Local with PID 5580 (C:\DevOps\Hygieia\api\target\classes started by smlcodes in C:\DevOps\Hygieia\api)
2017-02-23 17:53:51,468 INFO o.s.b.c.e.AnnotationConfigEmbeddedWebApplicationContext -
2017-02-23 17:54:02,632 INFO o.s.b.c.e.t.TomcatEmbeddedServletContainer - Tomcat initialized with port(s): 8080 (http)
2017-02-23 17:54:03,707 INFO o.a.catalina.core.StandardService - Starting service Tomcat
2017-02-23 17:54:21,068 INFO o.s.b.c.e.t.TomcatEmbeddedServletContainer - Tomcat started on port(s): 8080 (http)
2017-02-23 17:54:21,074 INFO com.capitalone.dashboard.Application - Started Application in 30.837 seconds (JVM running for 35.29)
If we see the message -Tomcat started on port(s): 8080 (http)” means api is running successfully
3.4.3 Start -UI”
For Starting UI, Open nodejs command prompt, navigate to UI folder location & run gulp serve command
Hygieia people giving some sample Mock data to visualize dashboard. So for demo purpose i’m running gulp serve with mock data. For doing this we need run below command on UI folder
gulp serve –local true
Steps to See Hygieia Dashboard with Mock Data
1.Open http://localhost:3000/#/
2.Signup with username & password (minimum 6 characters); Ex: admin & 123456
3.Login with username & password
4.It will Display the dashboard homepage as below
5.Select on any Dashboard, it will displays that Dashboard data
Now we just run the Hygieia Dashboard with some Demo Data. If you want to run the Dashboard with real data, we need configure & run our own Collectors. Next step will explain how to configure and run any collector in hygieia dashboard
3.5 Steps to Configuring Any Collector
We have many collectors in hygiea like Bamboo, Jenkins,Sonar etc.,.but don’t worry! We can easily configure any hygieia collector because all collectors follows same steps. We need do some minor changes in application.properties file. That’s it
1.Select a collector (for Ex: jenkins-build-collector)
2.Rightclick on Project →Create → new File → application.properties
3.Copy sample application.properties file data from Github file to local application.properties & change the details as per our requirement
#Database Name
dbname=dashboarddb
#Database HostName - default is localhost
#dbhost=localhost
#Database Port - default is 27017
#dbport=9999
#Database Username - default is blank
#dbusername=db
#Database Password - default is blank
#dbpassword=dbpass
jenkins.servers[0]=http://localhost:8181/jenkins/
#Collector schedule (required)
jenkins.cron=0 0/1 * * * *
#Jenkins server (required) - Can provide multiple
#If using username/token for api authentication (required for Cloudbees Jenkins Ops Center) see sample
<EMAIL_ADDRESS>#Another option: If using same username/password Jenkins auth - set username/apiKey to use HTTP Basic Auth (blank=no auth)
#jenkins.username=
#jenkins.apiKey=
#Determines if build console log is collected - defaults to false
jenkins.saveLog=true
4.Right click on Project → Run As → Run configurations → Run Applciation.java
5.Open → Hygieia dashboard on webpage
6.Click on Configure Build Widget → select Jenkins/Hudson →save
7.It will display Jenkins data
References
https://github.com/capitalone/Hygieia
https://developer.capitalone.com/opensource-projects/hygieia


nuclear_fraction_tags.Rd
This function uses the region type tags in a provided BAM file to calculate for each input cell barcode the nuclear fraction statistic. This is just the fraction of reads that are intronic:
nuclear fraction = # intronic reads / (# intronic reads + # of exonic reads)
The row names of the returned data frame will match the order and name of the supplied barcodes. As a minimum you can provide as input a directory containing cellranger output (outs).
nuclear_fraction_tags( outs = NULL, bam = NULL, bam_index = paste0(bam, ".bai"), barcodes = NULL, cores = future::availableCores() - 1, tiles = 100, cell_barcode_tag = "CB", region_type_tag = "RE", exon_tag = "E", intron_tag = "N", verbose = TRUE )
| outs | character, the path to the 'outs' directory created by Cell Ranger. We assume outs is structured this way: ├── filtered_feature_bc_matrix │ ├── barcodes.tsv.gz │ ├── features.tsv.gz │ └── matrix.mtx.gz ├── possorted_genome_bam.bam ├── possorted_genome_bam.bam.bai ├── raw_feature_bc_matrix │ ├── barcodes.tsv.gz │ ├── features.tsv.gz │ └── matrix.mtx.gz Note that there will probably be other files in the directory as well. We don't need to worry about those, as the only three files that the function will require are; possorted_genome_bam.bam, possorted_genome_bam.bam.bai and filtered_feature_bc_matrix/barcodes.tsv.gz. This is the only required argument for the function. If your directory structure doesn't match the one created by Cell Ranger you can provide the file paths directly using the bam, bam_index and barcodes arguments. |
|---|---|
| bam | character, the path to the input bam file. Not required if an 'outs' directory is provided. |
| bam_index | character, the path to the input bam file index. Not required if an 'outs' directory is provided. |
| barcodes | character, either a vector of barcode names or the path to the barcodes.tsv.gz file output by Cell Ranger. If providing the cell barcodes as a vector, make sure that the format matches the one in the BAM file - e.g. be mindful if there are integers appended to the end of the barcode sequence. This argument isn't required if an 'outs' directory is provided - the function will just look for "barcodes.tsv.gz" in outs/filtered_feature_bc_matrix. |
| cores | numeric, runs the function in parallel using furrr:future_map()
with the requested number of cores. Setting |
| tiles | numeric, to speed up the processing of the BAM file we can split the genome up into tiles and process reads in chunks |
| cell_barcode_tag | character, the BAM tag containing the cell barcode sequence |
| region_type_tag | character, the BAM tag containing the region type |
| exon_tag | character, the character string that defines a read as exonic |
| intron_tag | character, the character string that defines a read as intronic |
| verbose | logical, whether or not to print progress |
data.frame, the function returns a 1-column data frame containing the calculated nuclear fraction statistic for each input barcode. The order and names of the rows will match those of the input cell barcodes.
nf1 <- nuclear_fraction_tags( outs = system.file("extdata", "outs", package = "DropletQC"), tiles = 1, cores = 1, verbose = FALSE) head(nf1)#> nuclear_fraction #> AAAAGTCACTTACTTG-1 0.9032698 #> AAAAGTGGATCTCTAA-1 0.4032761 #> AAAGCAGTTACGAAGA-1 0.3957704 #> AACGACTTCAATATGT-1 0.4004525 #> AACGGCGTCATCTGGA-1 0.8845109 #> AAGCAGGGGTCGCGAA-1 0.3929376nf2 <- nuclear_fraction_tags( bam = system.file("extdata", "outs","possorted_genome_bam.bam", package = "DropletQC"), barcodes = c("AAAAGTCACTTACTTG-1", "AAAAGTGGATCTCTAA-1", "AAACACGTTCTCATCG-1"), tiles = 1, cores = 1, verbose = FALSE) nf2#> nuclear_fraction #> AAAAGTCACTTACTTG-1 0.9032698 #> AAAAGTGGATCTCTAA-1 0.4032761 #> AAACACGTTCTCATCG-1 0.0000000


FROM: MR ADEMOLA WILLIAMS DEMOCRATIC REPUBLIC OF CONGO. REPLY TO EMAIL ADDRESS<EMAIL_ADDRESS>Dear Friend, SEEKING YOUR IMMEDIATE ASSISTANCE. Please Permit me to make your acquaintance in so informal a manner. This is necessitated by my urgent need to reach a dependable and trust wordy foreign partner. This request may seem strange and unsolicited but I will crave your indulgence and pray that you view it seriously. My name is MR Ademola Williams of the Democratic Republic of Congo and One of the close aides to the former President of the Democratic Republic of Congo LAURENT KABILA of blessed memory, may his soul rest in peace. Due to the military campaign of LAURENT KABILA to force out the rebels in my country, I and some of my colleagues were instructed by Late President Kabila to go abroad to purchase arms and ammunition worth of Twenty Million, Five Hundred Thousand United States Dollars only (US$20,500,000.00) to fight the rebel group. But when President Kabila was killed in a bloody shoot-out by one of his aide a day before we were schedule to travel out of Congo, We immediately decided to divert the fund into a private security company here in Congo for safe keeping. The security of the said amount is presently being threatened here following the arrest and seizure of properties of Col. Rasheidi Karesava (One of the aides to Laurent Kabila) a tribesman, and some other Military Personnel from our same tribe, by the new President of the Democratic Republic of Congo, the son of late President Laurent Kabila, Joseph Kabila.In view of this, we need a reliable and trustworthy foreign partner who can assist us to move this money out of my country as the beneficiary. WE have sufficient ''CONTACTS'' to move the fund under Diplomatic Cover to a security company in the europe in your name. This is to ensure that the Diplomatic Baggage is marked ''CONFIDENTIAL'' and it will not pass through normal custom/airport screening and clearance.friends (western countries) who suddenly became hostile to those of us who worked with the late President Kabila, immediately after his son took office. Though we have neither seen nor met each other, the information We gathered from an associate who has worked in your country has encouraged and convinced us that with your sincere assistance, this transaction will be properly handled with modesty and honesty to a huge success within two weeks. The said money is a state fund and therefore requires a total confidentiality.Thus, if you are willing to assist us move this fund out of Congo, you can contact me through my email address above with your telephone, fax number and personal information to enable us discuss the modalities and what will be your share (percentage) for assisting us. I must use this opportunity and medium to implore You to exercise the utmost indulgence to keep this Matter extraordinarily confidential, Whatever your Decision, while I await your prompt response. Thank you and GodBless. Best Regards MR WILLIAMS . NOTE:Respond using this box<EMAIL_ADDRESS>-_-_-_ Free Email Service! No Hidden Charges! Click Below to Sign Up -_-_- This mail sent through http://mail3000.com/register.html