@Override public HandlerResult handle(ProcessState state, ProcessInstance process) { // event's account id is set to the agent that submitted. This will change it to the actual user's account id. ExternalEvent event = (ExternalEvent)state.getResource(); List<Agent> agents = objectManager.find(Agent.class, AGENT.ACCOUNT_ID, event.getAccountId()); if (agents.size() == 1) { Agent agent = agents.get(0); Long resourceAccId = DataAccessor.fromDataFieldOf(agent).withKey(AgentConstants.DATA_AGENT_RESOURCES_ACCOUNT_ID).as(Long.class); Map<String, Object> data = new HashMap<String, Object>(); if (resourceAccId != null) { data.put(ObjectMetaDataManager.ACCOUNT_FIELD, resourceAccId); } if (event.getReportedAccountId() != null) { data.put(ExternalEventConstants.FIELD_REPORTED_ACCOUNT_ID, event.getReportedAccountId()); } else { data.put(ExternalEventConstants.FIELD_REPORTED_ACCOUNT_ID, event.getAccountId()); } return new HandlerResult(data); } return null; }
spData.put(FIELD_ZONE_ID, 1L); Agent agent = objectManager.findOne(Agent.class, AGENT.ACCOUNT_ID, event.getReportedAccountId(), AGENT.STATE, CommonStatesConstants.ACTIVE); spData.put(FIELD_AGENT_ID, agent.getId()); Agent agent = objectManager.findOne(Agent.class, AGENT.ACCOUNT_ID, event.getReportedAccountId(), AGENT.STATE, CommonStatesConstants.ACTIVE); spData.put(FIELD_AGENT_ID, agent.getId());
/** * {@inheritDoc} */ @Override public void from(io.cattle.platform.core.model.ExternalEvent from) { setId(from.getId()); setAccountId(from.getAccountId()); setKind(from.getKind()); setUuid(from.getUuid()); setState(from.getState()); setCreated(from.getCreated()); setData(from.getData()); setExternalId(from.getExternalId()); setEventType(from.getEventType()); setReportedAccountId(from.getReportedAccountId()); }