def main(): """ Initializes container """ logging.info("ION CONTAINER initializing... [LCA Java Integration Demo]") processes = [] processes.extend(agent_procs) processes.extend(demo_procs) # Start the processes sup = yield bootstrap.bootstrap(None, processes) simulator = Simulator(INSTRUMENT_ID, 9000) simulator.start() irc = InstrumentRegistryClient(proc=sup) ir1 = InstrumentResource.create_new_resource() ir1.name = "Demo_CTD_1" ir1.model = "SBE49" ir1.serial_num = "12345" ir1.fw_version = "1.334" ir1.manufactorer = "SeaBird" ir1 = yield irc.register_instrument_instance(ir1) ir1_ref = ir1.reference(head=True) ir2 = InstrumentResource.create_new_resource() ir2.name = "Demo_CTD_2" ir2.model = "SBE49" ir2.serial_num = "12399" ir2.fw_version = "1.335" ir2.manufactorer = "SeaBird" ir2 = yield irc.register_instrument_instance(ir2) dprc = DataProductRegistryClient(proc=sup) dp1 = DataProductResource.create_new_resource() dp1.instrument_ref = ir1_ref dp1.name = "Demo_Data_Product_1" dp1.dataformat = "binary" dp1 = yield dprc.register_data_product(dp1) ia_procs = [ { 'name': 'SBE49IA', 'module': 'ion.agents.instrumentagents.SBE49_IA', 'class': 'SBE49InstrumentAgent', 'spawnargs': { 'instrument-id': INSTRUMENT_ID } }, ] yield bootstrap.spawn_processes(ia_procs, sup=sup) ia_pid = sup.get_child_id('SBE49IA') iaclient = InstrumentAgentClient(proc=sup, target=ia_pid) yield iaclient.register_resource(INSTRUMENT_ID)
def main(): """ Initializes container """ logging.info("ION CONTAINER initializing... [LCA Java Integration Demo]") processes = [] processes.extend(agent_procs) processes.extend(demo_procs) # Start the processes sup = yield bootstrap.bootstrap(None, processes) simulator = Simulator(INSTRUMENT_ID, 9000) simulator.start() irc = InstrumentRegistryClient(proc=sup) ir1 = InstrumentResource.create_new_resource() ir1.name = "Demo_CTD_1" ir1.model = "SBE49" ir1.serial_num = "12345" ir1.fw_version = "1.334" ir1.manufactorer = "SeaBird" ir1 = yield irc.register_instrument_instance(ir1) ir1_ref = ir1.reference(head=True) ir2 = InstrumentResource.create_new_resource() ir2.name = "Demo_CTD_2" ir2.model = "SBE49" ir2.serial_num = "12399" ir2.fw_version = "1.335" ir2.manufactorer = "SeaBird" ir2 = yield irc.register_instrument_instance(ir2) dprc = DataProductRegistryClient(proc=sup) dp1 = DataProductResource.create_new_resource() dp1.instrument_ref = ir1_ref dp1.name = "Demo_Data_Product_1" dp1.dataformat = "binary" dp1 = yield dprc.register_data_product(dp1) ia_procs = [ {'name':'SBE49IA','module':'ion.agents.instrumentagents.SBE49_IA','class':'SBE49InstrumentAgent','spawnargs':{'instrument-id':INSTRUMENT_ID}}, ] yield bootstrap.spawn_processes(ia_procs, sup=sup) ia_pid = sup.get_child_id('SBE49IA') iaclient = InstrumentAgentClient(proc=sup,target=ia_pid) yield iaclient.register_resource(INSTRUMENT_ID)
def op_create_new_data_product(self, content, headers, msg): """ Service operation: Accepts a dictionary containing user inputs. Updates the data product registry. Also sets up an ingestion pipeline for an instrument """ dataProductInput = content['dataProductInput'] newdp = DataProductResource.create_new_resource() if 'instrumentID' in dataProductInput: inst_id = str(dataProductInput['instrumentID']) int_ref = ResourceReference(RegistryIdentity=inst_id, RegistryBranch='master') newdp.instrument_ref = int_ref if 'name' in dataProductInput: newdp.name = str(dataProductInput['name']) if 'description' in dataProductInput: newdp.description = str(dataProductInput['description']) if 'dataformat' in dataProductInput: newdp.dataformat = str(dataProductInput['dataformat']) # Step: Create a data stream ## Instantiate a pubsubclient #self.dpsc = DataPubsubClient(proc=self) # ## Create and Register a topic #self.topic = PubSubTopicResource.create('SBE49 Topic',"oceans, oil spill") #self.topic = yield self.dpsc.define_topic(self.topic) #logging.debug('DHE: Defined Topic') # #self.publisher = PublisherResource.create('Test Publisher', self, self.topic, 'DataObject') #self.publisher = yield self.dpsc.define_publisher(self.publisher) res = yield self.dprc.register_data_product(newdp) ref = res.reference(head=True) yield self.reply_ok(msg, res.encode())
def main(): """ Initializes container """ logging.info("ION CONTAINER initializing... [LCA Java Integration Demo]") processes = [] processes.extend(agent_procs) processes.extend(demo_procs) # Start the processes sup = yield bootstrap.bootstrap(None, processes) irc = InstrumentRegistryClient(proc=sup) ir1 = InstrumentResource.create_new_resource() ir1.name = "Demo_CTD_1" ir1.model = "SBE49" ir1.serial_num = "12345" ir1.fw_version = "1.334" ir1.manufactorer = "SeaBird" ir1 = yield irc.register_instrument_instance(ir1) ir1_ref = ir1.reference(head=True) ir2 = InstrumentResource.create_new_resource() ir2.name = "Demo_CTD_2" ir2.model = "SBE49" ir2.serial_num = "12399" ir2.fw_version = "1.335" ir2.manufactorer = "SeaBird" ir2 = yield irc.register_instrument_instance(ir2) dprc = DataProductRegistryClient(proc=sup) dp1 = DataProductResource.create_new_resource() dp1.instrument_ref = ir1_ref dp1.name = "Demo_Data_Product_1" dp1.dataformat = "binary" dp1 = yield dprc.register_data_product(dp1)