public void actionPerformed(ActionEvent e) {		
		if(e.getSource() == frame.btnGetModels){			
			txtArea.append(" " + "\r\n");
			txtArea.append("----- Getting native models ------------------" + "\r\n");
			List<Uuid> objUUIDs = getAllUUIDs();
			ArrayOfUUID arrayUUIDs = new ArrayOfUUID();
			List<Uuid> listUUIDs = arrayUUIDs.getUuid();
			for(int i = 0; i < objUUIDs.size(); i++){
				listUUIDs.add(objUUIDs.get(i));
			}				
			Uid uid = new Uid();
			//uid 1 is used for native models
			uid.setUid("1");
			Uid transferSyntaxUID = new Uid();
			transferSyntaxUID.setUid("");
			ModelSetDescriptor msd = getClientToHost().getAsModels(arrayUUIDs, uid, transferSyntaxUID);			
			models = msd.getModels();
			List<Uuid> nmUUIDs = msd.getModels().getUuid();
			txtArea.append("Native models: " + "\r\n");
			for(int i = 0; i < nmUUIDs.size(); i++){
				txtArea.append(nmUUIDs.get(i).getUuid() + "\r\n");
			}
			txtArea.append("Done" + "\r\n");
			frame.btnQuery.setEnabled(true);
		}else if(e.getSource() == frame.btnQuery){								
			String xpath = frame.xpathBox.getText();
			//"/DICOM_DATASET/ELEMENT[@name=\"SOPInstanceUID\"]/value[@number=\"1\"]/text()"
			ArrayOfString modelXPaths = new ArrayOfString();
			List<String> listString = modelXPaths.getString();			
			listString.add(xpath);
			txtArea.append(" " + "\r\n");
			txtArea.append("----- Querying native models ------------------" + "\r\n");			
			ArrayOfUUID models = getModels();			
			long time1 = System.currentTimeMillis();			
			ArrayOfQueryResult results = getClientToHost().queryModel(models, modelXPaths, true);	
			long time2 = System.currentTimeMillis();
			txtArea.append("Total query time: " + (time2 - time1)+ " ms" + "\r\n");
			List<QueryResult> listQueryResults = results.getQueryResult();
			for(int i = 0; i < listQueryResults.size(); i++){
				txtArea.append("Result " + i + "\r\n");								
				if(listQueryResults.get(i).getResults().getString() != null && listQueryResults.get(i).getResults().getString().size() > 0){					
					txtArea.append(listQueryResults.get(i).getResults().getString().get(0) + "\r\n");
				}				
			}		
			txtArea.append(" " + "\r\n");			
			txtArea.append("Total query time: " + (time2 - time1)+ " ms"+"\r\n");
			txtArea.updateUI();
		} else if(e.getSource() == frame.btnClear){
			txtArea.setText("");
		}else{
									
		}
			
	}