Examples of Session

  • org.jscsi.initiator.connection.Session

    Session

    A session or Initiator Target Nexus is a directed communication from an iSCSI Initiator to an iSCSI Target. Each session can contain several connections. This allows a better usage of bandwidth and decreases latency times. The Abstract Class is used to implement serveral single- and multithreaded variants of Sessions @author Volker Wildi, University of Konstanz @author Patrice Matthias Brend'amour, University of Kontanz @author Sebastian Graf, University of Kontanz

  • org.knopflerfish.service.console.Session
    Control interface for a command session. @author Gatespace AB @version $Revision: 1.1.1.1 $ @see ConsoleService
  • org.lealone.engine.Session
    A session represents an embedded database connection. When using the server mode, this object resides on the server side and communicates with a SessionRemote object on the client side.
  • org.menacheri.jetclient.app.Session
    This interface abstracts a session in jetclient. A session can be thought of as a high level connection to a remote jetserver. Internally it can have TCP as well as UDP connections. The session also has event dispatching capabilities. So when an event comes into the session, it will get dispatched to the appropriate {@link EventHandler}. @author Abraham Menacherry
  • org.menacheri.jetserver.app.Session
  • org.mobicents.slee.util.Session
  • org.modeshape.jcr.api.Session
    A specialization of the standard JCR {@link javax.jcr.Session} interface that returns the ModeShape-specific extensioninterfaces from {@link #getWorkspace()}, {@link #getRepository()}, and {@link #getValueFactory()}.
  • org.mortbay.jetty.servlet.AbstractSessionManager.Session
  • org.nuxeo.ecm.directory.Session
  • org.objectweb.joram.client.jms.Session
    Implements the javax.jms.Session interface.

    A Session object is a single-threaded context for producing and consuming messages. A session serves several purposes:

    A session can create and service multiple message producers and consumers.
  • org.openbravo.model.ad.access.Session
    Entity class for entity ADSession (stored in table AD_Session). NOTE: This class should not be instantiated directly. To instantiate this class the {@link org.openbravo.base.provider.OBProvider} should be used.
  • org.openiaml.model.model.scopes.Session
  • org.openntf.domino.Session
    The Interface Session is the root of the Domino Objects containment hierarchy, providing access to the other Domino objects, and represents the Domino environment of the current program.
  • org.openqa.selenium.remote.server.Session
  • org.openrdf.store.Session
    Stores thread-based session information. Sessions are typically initialized in servers.
  • org.parosproxy.paros.model.Session
    To change the template for this generated type comment go to Window - Preferences - Java - Code Generation - Code and Comments
  • org.renjin.eval.Session
    Outermost context for R evaluation.

    The Session corresponds to an R process of the original interpreter, but multiple Renjin Sessions can be live within a single JVM.

  • org.richfaces.application.push.Session

    Session represents user’s subscription to a set of topics. This set is immutable, so new session should be created if user wants to add/remove subscriptions to some topics.

    Session does multiplexing for messages from several topics, so that only a single client connection is required to for data transfer.

    When session is created, it is getting unique UUID identifier, that client uses to communicate to that session.

    When client is subscribed to a set of topics associated with some session, session fires SessionPreSubscriptionEvent, so that application developer can control subscriptions according to access rights.

    Session is kept alive for ( {@link #getMaxInactiveInterval()}) minutes since the last time it has been accessed. Note that push can work in either polling (long polling) and persistent connection (WebSocket) modes, so session should be kept-alive correctly in both cases.

    @author Nick Belaevski
  • org.rstudio.studio.client.workbench.model.Session
  • org.sd_network.vfsshell.Session
    A session folder.

    $Id$ @author Masatoshi Sato

  • org.serviceconnector.service.Session
    The Class Session. Provides unique id and an attribute map to store data. A session represents virtual relation between a client and a server. Session activity is observed by a timer. The timer gets initialized when adding the session to the registry. It gets reseted when session is used by requests.
  • org.smpp.Session
    Class Session provides all methods necessary for communication with SMSC using SMPP protocol, i.e. methods for sending PDUs as defined in SMPP specification as well as receiving responses for sent PDUs and waiting for PDUs whose sending was initiated by SMSC.
    Instance of Session represents one connection of ESME to a SMSC. Multiple connections can be established using multiple Sessions.

    Session uses Connection object which is instantiated outside of the Session. This way is the Session made independent on the communication protocol and Session's code isn't populated by protocol dependent initialisation.

    Code example of binding, sending one message and unbinding:

     Connection conn = new TCPIPConnection("123.123.123.123", 6543); Session session = new Session(conn); BindRequest breq = new BindTransmitter(); breq.setSystemId("MYNAME"); breq.setPassword("my_pswdx"); Response resp = session.bind(breq); if (resp.getCommandStatus() == Data.ESME_ROK) { SubmitSM msg = new SubmitSM(); msg.setSourceAddr("3538998765432"); msg.setDestAddr("3538619283746"); msg.setShortMessage("Hello, world!"); resp = session.submit(msg); if (resp.getCommandStatus() == Data.ESME_ROK) { System.out.println("Message submitted. Status=" + resp.getCommandStatus()); } else { System.out.println("Message submission failed. Status=" + resp.getCommandStatus()); } session.unbind(); } else { System.out.println("Couldn't bind. Status=" + resp.getCommandStatus()); } 
    Note that the cycle bind - send PDU's - unbind can be called several times for once created session.

    Particular methods for sending PDUs to SMSC return responses to the sent PDUs. They return null if no response is received in time specified by the receive timeout in receiver. This means that the methods wait for response corresponding to the request. The corresponding response is recognized using sequence number of the sent PDU and a corresponding response command id.
    The session can work in assynchronous manner, i.e. it doesn't wait for response for the sent request, instead all responses are handled by instance of callback class ServerPDUEventListener whenever they are received.
    The Session class checks if operations invoked are valid in the current state of the session. If not, then such operation throws WrongSessionStateException expcetion. For example it's incorrect to try to submit a message if the session is bound as receiver. The checking if the operation is valid in the current state of session is turned off by default. @author Logica Mobile Networks SMPP Open Source Team @version $Revision: 1.4 $ @see Connection @see Transmitter @see Receiver @see ServerPDUEventListener

  • org.spout.api.protocol.Session
  • org.springframework.integration.file.remote.session.Session
  • org.springframework.session.Session
    Provides a way to identify a user in an agnostic way. This allows the session to be used by an HttpSession, WebSocket Session, or even non web related sessions. @author Rob Winch @since 1.0
  • org.subethamail.smtp.server.Session
    The thread that handles a connection. This class passes most of it's responsibilities off to the CommandHandler. @author Jon Stevens @author Jeff Schnitzer
  • org.tamacat.httpd.session.Session

    {@code Session} interface like HttpSession of Servlet-API.

  • org.teiid.adminapi.Session
    A Session is a lasting connection between a client and a Teiid System. A user may be allowed to have multiple sessions active simultaneously.
  • org.travsoup.wrappers.Session
    Do not use this without permission. User: harrynoob Date: 12-5-13 Time: 16:21
  • org.uberfire.java.nio.security.Session
    TODO: update me
  • org.uiautomation.ios.UIAModels.Session
  • org.wkh.bateman.trade.Session
  • org.wso2.carbon.rule.core.Session
    Runtime connection between the rule engine and its users
  • org.zkoss.zk.ui.Session
    A user session.

    To get the current session, use {@link Sessions#getCurrent}, or {@link Desktop#getSession}.

    A session, {@link Session}, might have multiple pages, {@link Page}, while a page belongs to exactly one session. A page, {@link Page}, might have many components, {@link Component}, while a component belongs to exactly one page. @author tomyeh

  • parrot.server.SessionManager.Session
  • play.mvc.Http.Session
  • play.mvc.Scope.Session
  • pt.opensoft.msg.Session
  • quickfix.Session
  • railo.runtime.type.scope.Session
  • ratpack.session.Session
  • remote.motecontrol.client.Session
    Created on Sep 19, 2005 @author zept
  • rocks.xmpp.core.session.model.Session
    org/rfcs/rfc3921.html#session">3. Session Establishment

    If a server supports sessions, it MUST include a {@code } element qualified by the 'urn:ietf:params:xml:ns:xmpp-session' namespace in the stream features it advertises to a client after the completion of stream authentication as defined in [XMPP-CORE].

    Upon being so informed that session establishment is required (and after completing resource binding), the client MUST establish a session if it desires to engage in instant messaging and presence functionality; it completes this step by sending to the server an IQ stanza of type "set" containing an empty {@code } child element qualified by the 'urn:ietf:params:xml:ns:xmpp-session' namespace.

    Note: Session establishment has been removed from the updated specification.

    @author Christian Schudt
  • se.despotify.client.protocol.Session
  • securite.Session
  • spark.Session
    Provides session information.
  • tridion.contentmanager.Session
  • xbird.client.command.Session
    @author Makoto YUI (yuin405+xbird@gmail.com)
  • yalp.mvc.Scope.Session

  • Examples of org.apache.openejb.jee.Session

                for (LifecycleCallback callback : bean.getPreDestroy()) {
                    checkCallback(ejbClass, "PreDestroy", callback, bean);
                }

                if (bean instanceof Session) {
                    Session session = (Session) bean;

                    for (LifecycleCallback callback : session.getPrePassivate()) {
                        checkCallback(ejbClass, "PrePassivate", callback, bean);
                    }

                    for (LifecycleCallback callback : session.getPostActivate()) {
                        checkCallback(ejbClass, "PostActivate", callback, bean);
                    }

                }
            }
    View Full Code Here

    Examples of org.apache.qpid.jms.Session

            _con = (AMQConnection) getConnection(url);
            _con.setExceptionListener(this);
            _con.start();
           
            // Create queue
            Session qsession = _con.createSession(true, Session.SESSION_TRANSACTED);
            AMQShortString queueName = new AMQShortString("test");
            _queue = new AMQQueue(qsession.getDefaultQueueExchangeName(), queueName, queueName, false, true);
            qsession.close();
           
            // Create producer and consumer
            producer();
            consumer();
        }
    View Full Code Here

    Examples of org.apache.qpid.nclient.Session

                System.out.print("Error connecting to broker");
                e.printStackTrace();
            }

            // Create session
            Session session = con.createSession(0);

            // Create an instance of the listener
            TopicPublisher publisher = new TopicPublisher();

            publisher.publishMessages(session, "usa.news");
            publisher.publishMessages(session, "usa.weather");
            publisher.publishMessages(session, "europe.news");
            publisher.publishMessages(session, "europe.weather");

            // confirm completion
            session.sync();

            //cleanup
            session.sessionDetach(session.getName());
            try
            {
                con.close();
            }
            catch(Exception e)
    View Full Code Here

    Examples of org.apache.qpid.proton.engine.Session

                protonConnection.open();
                write();
             }

             //handle any new sessions
             Session session = protonConnection.sessionHead(ProtonProtocolManager.UNINITIALIZED, ProtonProtocolManager.INITIALIZED);
             while (session != null)
             {
                try
                {
                   ProtonSession protonSession = getSession(session);
                   session.setContext(protonSession);
                   session.open();

                }
                catch (HornetQAMQPException e)
                {
                   protonConnection.setCondition(new ErrorCondition(e.getAmqpError(), e.getMessage()));
                   session.close();
                }
                write();
                session = protonConnection.sessionHead(ProtonProtocolManager.UNINITIALIZED, ProtonProtocolManager.INITIALIZED);
             }

             //handle new link (producer or consumer
             LinkImpl link = (LinkImpl) protonConnection.linkHead(ProtonProtocolManager.UNINITIALIZED, ProtonProtocolManager.INITIALIZED);
             while (link != null)
             {
                try
                {
                   protonProtocolManager.handleNewLink(link, getSession(link.getSession()));
                }
                catch (HornetQAMQPException e)
                {
                   link.setCondition(new ErrorCondition(e.getAmqpError(), e.getMessage()));
                   link.close();
                }
                link = (LinkImpl) protonConnection.linkHead(ProtonProtocolManager.UNINITIALIZED, ProtonProtocolManager.INITIALIZED);
             }

             //handle any deliveries
             DeliveryImpl delivery;

             Iterator<DeliveryImpl> iterator = protonConnection.getWorkSequence();

             while (iterator.hasNext())
             {
                delivery = iterator.next();
                ProtonDeliveryHandler handler = (ProtonDeliveryHandler) delivery.getLink().getContext();
                try
                {
                   handler.onMessage(delivery);
                }
                catch (HornetQAMQPException e)
                {
                   delivery.getLink().setCondition(new ErrorCondition(e.getAmqpError(), e.getMessage()));
                }
             }

             link = (LinkImpl) protonConnection.linkHead(ProtonProtocolManager.ACTIVE, ProtonProtocolManager.ANY_ENDPOINT_STATE);
             while (link != null)
             {
                try
                {
                   protonProtocolManager.handleActiveLink(link);
                }
                catch (HornetQAMQPException e)
                {
                   link.setCondition(new ErrorCondition(e.getAmqpError(), e.getMessage()));
                }
                link = (LinkImpl) link.next(ProtonProtocolManager.ACTIVE, ProtonProtocolManager.ANY_ENDPOINT_STATE);
             }

             link = (LinkImpl) protonConnection.linkHead(ProtonProtocolManager.ACTIVE, ProtonProtocolManager.CLOSED);
             while (link != null)
             {
                try
                {
                   ((ProtonDeliveryHandler) link.getContext()).close();
                }
                catch (HornetQAMQPException e)
                {
                   link.setCondition(new ErrorCondition(e.getAmqpError(), e.getMessage()));
                }
                link.close();

                link = (LinkImpl) link.next(ProtonProtocolManager.ACTIVE, ProtonProtocolManager.CLOSED);
             }

             session = protonConnection.sessionHead(ProtonProtocolManager.ACTIVE, ProtonProtocolManager.CLOSED);
             while (session != null)
             {
                ProtonSession protonSession = (ProtonSession) session.getContext();
                protonSession.close();
                sessions.remove(session);
                session.close();
                session = session.next(ProtonProtocolManager.ACTIVE, ProtonProtocolManager.CLOSED);
             }

             if (protonConnection.getLocalState() == EndpointState.ACTIVE && protonConnection.getRemoteState() == EndpointState.CLOSED)
             {
                for (ProtonSession protonSession : sessions.values())
    View Full Code Here

    Examples of org.apache.qpid.server.model.Session

            int unacknowledgedMessages = 2;
            long localTransactionBegins = 1;
            boolean transactional = true;
            boolean blocked = false;

            Session mockSession = createMockedSession(channelId, unacknowledgedMessages, localTransactionBegins, blocked);

            when(_mockConnection.getSessions()).thenReturn(Collections.singletonList(mockSession));

            TabularData table = _connectionMBean.channels();
            assertEquals("Unexpected number of rows in table", 1, table.size());
    View Full Code Here

    Examples of org.apache.qpid.transport.Session

            messageAcknowledge(ranges,accept,false);
        }
       
        void messageAcknowledge(final RangeSet ranges, final boolean accept, final boolean setSyncBit)
        {
            final Session ssn = getQpidSession();
            flushProcessed(ranges,accept);
            if (accept)
            {
                ssn.messageAccept(ranges, UNRELIABLE, setSyncBit ? SYNC : NONE);
            }
        }
    View Full Code Here

    Examples of org.apache.qpidity.nclient.Session

        @Override
        public void sendMessage(MessageContext msgCtx, String targetEPR, OutTransportInfo outTransportInfo) throws AxisFault{

            AMQPOutTransportInfo amqpTransportInfo = null;
            ConnectionDetails conDetails = null;
            Session session = null;

            // If targetEPR is not null, determine the addressing info from it
            if (targetEPR != null) {
                amqpTransportInfo = new AMQPOutTransportInfo(targetEPR);
            }
            // If not try to get the addressing info from the transport description
            else if (outTransportInfo != null && outTransportInfo instanceof AMQPOutTransportInfo) {
                amqpTransportInfo = (AMQPOutTransportInfo) outTransportInfo;
            }

            if (_connectionDetails.containsKey(amqpTransportInfo.getConnectionURL())){
                conDetails = _connectionDetails.get(amqpTransportInfo.getConnectionURL());
            }else{
                // else create a new connection
                Connection con = Client.createConnection();
                try{
                    con.connect(amqpTransportInfo.getConnectionURL());
                }catch(Exception e){
                    throw new AMQPSynapseException("Error creating a connection to the broker",e);
                }
                _connectionDetails.put(amqpTransportInfo.getConnectionURL(), new ConnectionDetails(con));
            }

            if (conDetails != null) {
                session = conDetails.getSession();
            }

            byte[] message = null;
            try {
                message = createMessageData(msgCtx);
            } catch (AMQPSynapseException e) {
                handleException("Error creating a message from the axis message context", e);
            }

            // should we wait for a synchronous response on this same thread?
            boolean waitForResponse = waitForSynchronousResponse(msgCtx);

            DeliveryProperties deliveryProps = new DeliveryProperties();
            MessageProperties msgProps = new MessageProperties();
            fillMessageHeaders(msgCtx,amqpTransportInfo,session,waitForResponse,deliveryProps,msgProps);

            synchronized(session){
                session.header(msgProps,deliveryProps);
                session.data(message);
                session.endData();
            }

            // if we are expecting a synchronous response back for the message sent out
            if (waitForResponse) {
                waitForResponseAndProcess(session, msgProps, msgCtx);
    View Full Code Here

    Examples of org.apache.shiro.session.Session

        @Override
        protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {
            SessionIdToken sessionIdToken = (SessionIdToken) token;
            final Subject subject = new Subject.Builder().sessionId(sessionIdToken.getSessionId()).buildSubject();
            final Session session = subject.getSession(false);
            if (session == null) {
                LOG.debug("Invalid session {}. Either it has expired or did not exist.", sessionIdToken.getSessionId());
                return null;
            }

            final Object username = subject.getPrincipal();
            final User user = userService.load(String.valueOf(username));
            if (user == null) {
                LOG.debug("No user named {} found for session {}", username, sessionIdToken.getSessionId());
                return null;
            }
            if (user.isExternalUser() && !ldapAuthenticator.isEnabled()) {
                throw new LockedAccountException("LDAP authentication is currently disabled.");
            }

            if (LOG.isDebugEnabled()) {
                LOG.debug("Found session {} for user name {}", session.getId(), username);
            }

            @SuppressWarnings("unchecked")
            final MultivaluedMap<String, String> requestHeaders = (MultivaluedMap<String, String>) ThreadContext.get(
                    "REQUEST_HEADERS");
            // extend session unless the relevant header was passed.
            if (requestHeaders == null || !"true".equalsIgnoreCase(requestHeaders.getFirst("X-Graylog2-No-Session-Extension"))) {
                session.touch();
            } else {
                LOG.debug("Not extending session because the request indicated not to.");
            }
            ThreadContext.bind(subject);
    View Full Code Here

    Examples of org.apache.sshd.common.Session

            }
            return proxy.createClient();
        }

        public SshAgentServer createServer(ConnectionService service) throws IOException {
            Session session = service.getSession();
            if (!(session instanceof ServerSession)) {
                throw new IllegalStateException("The session used to create an agent server proxy must be a server session");
            }
            final AgentServerProxy proxy = new AgentServerProxy(service);
            proxies.put(proxy.getId(), proxy);
    View Full Code Here

    Examples of org.apache.stanbol.ontologymanager.ontonet.api.session.Session

        @Override
        public void computeEnhancements(ContentItem ci) throws EngineException {

            // Prepare the OntoNet environment. First we create the OntoNet session in which run the whole
            final Session session;
            try {
                session = sessionManager.createSession();
            } catch (SessionLimitException e1) {
                throw new EngineException(
                        "OntoNet session quota reached. The Refactor Engine requires its own new session to execute.");
            }
            if (session == null) throw new EngineException(
                    "Failed to create OntoNet session. The Refactor Engine requires its own new session to execute.");

            log.debug("Refactor enhancement job will run in session '{}'.", session.getID());

            // Retrieve and filter the metadata graph for entities recognized by the engines.
            final MGraph metadataGraph = ci.getMetadata(), signaturesGraph = new IndexedMGraph();
            // FIXME the Stanbol Enhancer vocabulary should be retrieved from somewhere in the enhancer API.
            final UriRef ENHANCER_ENTITY_REFERENCE = new UriRef(
                    "http://fise.iks-project.eu/ontology/entity-reference");
            Iterator<Triple> tripleIt = metadataGraph.filter(null, ENHANCER_ENTITY_REFERENCE, null);
            while (tripleIt.hasNext()) {
                // Get the entity URI
                Resource obj = tripleIt.next().getObject();
                if (!(obj instanceof UriRef)) {
                    log.warn("Invalid UriRef for entity reference {}. Skipping.", obj);
                    continue;
                }
                final String entityReference = ((UriRef) obj).getUnicodeString();
                log.debug("Trying to resolve entity {}", entityReference);

                // Populate the entity signatures graph, by querying either the Entity Hub or the dereferencer.
                if (engineConfiguration.isEntityHubUsed()) {
                    MGraph result = populateWithEntity(entityReference, signaturesGraph);
                    if (result != signaturesGraph && result != null) {
                        log.warn("Entity Hub query added triples to a new graph instead of populating the supplied one!"
                                 + " New signatures will be discarded.");
                    }
                } else try {
                    OntologyInputSource<TripleCollection,?> source = new GraphContentSourceWithPhysicalIRI(
                            dereferencer.resolve(entityReference), IRI.create(entityReference));
                    signaturesGraph.addAll(source.getRootOntology());
                } catch (FileNotFoundException e) {
                    log.error("Failed to dereference entity " + entityReference + ". Skipping.", e);
                    continue;
                }
            }

            try {
                /*
                 * The dedicated session for this job will store the following: (1) all the (merged) signatures
                 * for all detected entities; (2) the original content metadata graph returned earlier in the
                 * chain.
                 *
                 * There is no chance that (2) could be null, as it was previously controlled by the JobManager
                 * through the canEnhance() method and the computeEnhancement is always called iff the former
                 * returns true.
                 */
                session.addOntology(new GraphSource(signaturesGraph));
                session.addOntology(new GraphSource(metadataGraph));
            } catch (UnmodifiableOntologyCollectorException e1) {
                throw new EngineException("Cannot add enhancement graph to OntoNet session for refactoring", e1);
            }

            try {
                /*
                 * Export the entire session (incl. entities and enhancement graph) as a single merged ontology.
                 *
                 * TODO the refactorer should have methods to accommodate an OntologyCollector directly instead.
                 */
                OWLOntology ontology = session.export(OWLOntology.class, true);
                log.debug("Refactoring recipe IRI is : " + engineConfiguration.getRecipeId());

                /*
                 * We pass the ontology and the recipe IRI to the Refactor that returns the refactored graph
                 * expressed by using the given vocabulary.
                 *
                 * To perform the refactoring of the ontology to a given vocabulary we use the Stanbol Refactor.
                 */
                Recipe recipe = ruleStore.getRecipe(IRI.create(engineConfiguration.getRecipeId()));

                log.debug("Recipe {} contains {} rules.", recipe, recipe.getkReSRuleList().size());
                log.debug("The ontology to be refactor is {}", ontology);

                ontology = refactorer
                        .ontologyRefactoring(ontology, IRI.create(engineConfiguration.getRecipeId()));

                /*
                 * The newly generated ontology is converted to Clarezza format and then added os substitued to
                 * the old mGraph.
                 */
                if (engineConfiguration.isInGraphAppendMode()) {
                    log.debug("Metadata of the content will replace old ones.", this);
                } else {
                    metadataGraph.clear();
                    log.debug("Content metadata will be appended to the existing ones.", this);
                }
                metadataGraph.addAll(OWLAPIToClerezzaConverter.owlOntologyToClerezzaTriples(ontology));

            } catch (RefactoringException e) {
                String msg = "Refactor engine execution failed on content item " + ci + ".";
                log.error(msg, e);
                throw new EngineException(msg, e);
            } catch (NoSuchRecipeException e) {
                String msg = "Refactor engine could not find recipe " + engineConfiguration.getRecipeId()
                             + " to refactor content item " + ci + ".";
                log.error(msg, e);
                throw new EngineException(msg, e);
            } catch (Exception e) {
                throw new EngineException("Refactor Engine has failed.", e);
            } finally {
                /*
                 * The session needs to be destroyed anyhow.
                 *
                 * Clear contents before destroying (FIXME only do this until this is implemented in the
                 * destroySession() method).
                 */
                for (IRI iri : session.listManagedOntologies()) {
                    try {
                        String key = ontologyProvider.getKey(iri);
                        ontologyProvider.getStore().deleteTripleCollection(new UriRef(key));
                    } catch (Exception ex) {
                        log.error("Failed to delete triple collection " + iri, ex);
                        continue;
                    }
                }
                sessionManager.destroySession(session.getID());
            }

        }
    View Full Code Here
    TOP
    Copyright © 2018 www.massapi.com. All rights reserved.
    All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.