Package it.freedomotic.reactions

Examples of it.freedomotic.reactions.Trigger


    private void init() {
        this.setLayout(new FlowLayout());

        //add trigger widget
        final Trigger trigger = reaction.getTrigger();
        final JButton btnTrigger = new JButton(trigger.getName());
        //btnTrigger.setEnabled(false);
        btnTrigger.setToolTipText(trigger.getDescription());
        btnTrigger.setPreferredSize(new Dimension(300, 30));
        btnTrigger.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent ae) {
                if (trigger != null) {
                    Command c = new Command();
                    c.setName("Edit a trigger");
                    c.setReceiver("app.actuators.nlautomationseditor.nlautomationseditor.in");
                    c.setProperty("editor", "trigger");
                    c.setProperty("editable",
                            trigger.getName()); //the default choice
                    c.setReplyTimeout(Integer.MAX_VALUE);

                    Command reply = Freedomotic.sendCommand(c);
                    String newTrigger = reply.getProperty("edited");
View Full Code Here


        pack(  );
    } // </editor-fold>//GEN-END:initComponents

    private void btnSaveActionPerformed(java.awt.event.ActionEvent evt)    {//GEN-FIRST:event_btnSaveActionPerformed

        Trigger trigger = new Trigger();
        save(trigger); //saves as new trigger
        trigger.setPersistence(true);

        int preSize = TriggerPersistence.size();
        TriggerPersistence.addAndRegister(trigger);

        int postSize = TriggerPersistence.size();
View Full Code Here

//            ReactionList reactionList = new ReactionList(this);
            CustomizeCommand cc = new CustomizeCommand(getApi().getI18n(), command);
            cc.setVisible(true);
        } else {
            if (c.getProperty("editor").equalsIgnoreCase("trigger")) {
                Trigger trigger = TriggerPersistence.getTrigger(c.getProperty("editable"));
                //ReactionList reactionList = new ReactionList(this);
                CustomizeTrigger ct = new CustomizeTrigger(getApi().getI18n(), trigger);
                ct.setVisible(true);
            }
        }
View Full Code Here

            CalendarEventFeed resultFeed = gcalendar.query(myQuery, CalendarEventFeed.class);
            for (CalendarEventEntry entry : resultFeed.getEntries()) {
                LOG.info(
                        "Readed gcalendar event '" + entry.getTitle().getPlainText() + "' @"
                        + entry.getTimes().get(0).getStartTime().toUiString());
                Trigger t = new Trigger();
                t.setName(entry.getTitle().getPlainText());
                t.setDescription("A time based trigger readed from google calendar id " + calendarID);
                t.setChannel("app.event.sensor.calendar.event.schedule");
                Date date = new Date(entry.getTimes().get(0).getStartTime().getValue());
                Calendar cal = new GregorianCalendar();
                cal.setTime(date);
                t.getPayload().addStatement("time.hour", cal.get(Calendar.HOUR_OF_DAY));
                t.getPayload().addStatement("time.minute", cal.get(Calendar.MINUTE));
                t.getPayload().addStatement("time.second", "0"); //only at the first second of a minute
                t.getPayload().addStatement("date.day", cal.get(Calendar.DAY_OF_MONTH));
                t.getPayload().addStatement("date.month", cal.get(Calendar.MONTH) + 1);
                t.getPayload().addStatement("date.year", cal.get(Calendar.YEAR));
                t.setPersistence(true);
                TriggerPersistence.addAndRegister(t);
            }
            setDescription(resultFeed.getEntries().size() + " events synchronized with your online account");

        } catch (IOException ex) {
View Full Code Here

            event.addProperty("hasLightsOn", amount);
            event.addProperty("roomName", roomName);
            this.notifyEvent(event);
            // add and register this
            String triggerName = "Room " + roomName + " has " + amount + " lights On";
            Trigger t = TriggerPersistence.getTrigger(triggerName);
            if (t == null) {
                t = new Trigger();
                t.setName(triggerName);
                t.setChannel(event);
                Payload p = new Payload();
                p.addStatement("hasLightsOn", amount);
                p.addStatement("roomName", roomName);
                t.setPayload(p);

                TriggerPersistence.addAndRegister(t);
            }
        }
    }
View Full Code Here

        throw new UnsupportedOperationException("Not supported yet.");
    }

    private String manageMessage(String mess) {
        Command c;
        Trigger t = null;
        Reaction r;
        NaturalLanguageProcessor nlp2 = new NaturalLanguageProcessor();
        //  String sentenceMess[] = nlp.getSentenceDetector().sentDetect(mess);
        String tokenMess[] = mess.split(" "); //nlp.getTokenizer().tokenize(sentenceMess[0]);
        String triggername = "";
        int conditionSep = 0;
        if (tokenMess[0].equalsIgnoreCase(HELP)) {
            return help(tokenMess);
        }
        if (tokenMess[0].equalsIgnoreCase(LIST)) {
            return list(tokenMess);
        }

        if (tokenMess[0].equalsIgnoreCase(IF) || tokenMess[0].equalsIgnoreCase(WHEN)) {
            for (int i = 1; i < tokenMess.length; i++) {
                if (tokenMess[i].equalsIgnoreCase(THEN)) {
                    triggername = unsplit(tokenMess, 1, i - 1, " ");
                    conditionSep = i + 1;
                    break;
                }
            }
            t = TriggerPersistence.getTrigger(triggername);
        }

        String commandName = unsplit(tokenMess, conditionSep, tokenMess.length - conditionSep, " ");
        List<NaturalLanguageProcessor.Rank> mostSimilar = nlp2.getMostSimilarCommand(commandName, 10);
        // user is asking for help
        if (commandName.contains("*")) {
            String response = "";
            for (NaturalLanguageProcessor.Rank nlpr : mostSimilar) {
                response += "? " + nlpr.getCommand().getName() + "\n";
            }
            return response;
        }
        if (!mostSimilar.isEmpty() && mostSimilar.get(0).getSimilarity() > 0) {
            c = mostSimilar.get(0).getCommand();
        } else {
            return "No available commands similar to: " + commandName;
        }
        if (tokenMess[0].equalsIgnoreCase(IF)) {
            Trigger NEWt = t.clone();
            NEWt.setNumberOfExecutions(1);
            r = new Reaction(NEWt, c);
            ReactionPersistence.add(r);
        } else if (tokenMess[0].equalsIgnoreCase(WHEN)) {
            // do something
            r = new Reaction(t, c);
View Full Code Here

    }
   
    @Override
    protected void createTriggers() {
        super.createTriggers();
        Trigger clicked = new Trigger();
        clicked.setName(I18n.msg("when_X_is_clicked", new Object[]{this.getPojo().getName()}));
        clicked.setChannel("app.event.sensor.object.behavior.clicked");
        clicked.getPayload().addStatement("object.name",
                this.getPojo().getName());
        clicked.getPayload().addStatement("click", ObjectReceiveClick.SINGLE_CLICK);
        clicked.setPersistence(false);
    }
View Full Code Here

        CommandPersistence.add(o);
    }

    @Override
    protected void createTriggers() {
        Trigger clicked = new Trigger();
        clicked.setName("When " + this.getPojo().getName() + " is clicked");
        clicked.setChannel("app.event.sensor.object.behavior.clicked");
        clicked.getPayload().addStatement("object.name",
                this.getPojo().getName());
        clicked.getPayload().addStatement("click", "SINGLE_CLICK");

        Trigger turnsOpen = new Trigger();
        turnsOpen.setName(this.getPojo().getName() + " becomes open");
        turnsOpen.setChannel("app.event.sensor.object.behavior.change");
        turnsOpen.getPayload().addStatement("object.name",
                this.getPojo().getName());
        turnsOpen.getPayload().addStatement("object.behavior."+BEHAVIOR_OPEN, "true");

        Trigger turnsClosed = new Trigger();
        turnsClosed.setName(this.getPojo().getName() + " becomes closed");
        turnsClosed.setChannel("app.event.sensor.object.behavior.change");
        turnsClosed.getPayload().addStatement("object.name",
                this.getPojo().getName());
        turnsClosed.getPayload().addStatement("object.behavior."+BEHAVIOR_OPEN, "false");

        TriggerPersistence.add(clicked);
        TriggerPersistence.add(turnsOpen);
        TriggerPersistence.add(turnsClosed);
    }
View Full Code Here

    protected void createCommands() {
    }

    @Override
    protected void createTriggers() {
        Trigger clicked = new Trigger();
        clicked.setName("When " + this.getPojo().getName() + " is clicked");
        clicked.setChannel("app.event.sensor.object.behavior.clicked");
        clicked.getPayload().addStatement("object.name",
                this.getPojo().getName());
        clicked.getPayload().addStatement("click", ObjectReceiveClick.SINGLE_CLICK);
        clicked.setPersistence(false);

        TriggerPersistence.add(clicked);
    }
View Full Code Here

    protected void createCommands() {
    }

    @Override
    protected void createTriggers() {
        Trigger clicked = new Trigger();
        clicked.setName("When " + this.getPojo().getName() + " is clicked");
        clicked.setChannel("app.event.sensor.object.behavior.clicked");
        clicked.getPayload().addStatement("object.name",
                this.getPojo().getName());
        clicked.getPayload().addStatement("click", ObjectReceiveClick.SINGLE_CLICK);
        clicked.setPersistence(false);

        TriggerPersistence.add(clicked);
    }
View Full Code Here

TOP

Related Classes of it.freedomotic.reactions.Trigger

Copyright © 2018 www.massapicom. 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.