Compare commits
	
		
			1 Commits
		
	
	
		
			Rectangles
			...
			RCU
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 67e0ffad03 | 
							
								
								
									
										56
									
								
								ApplianceModels.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								ApplianceModels.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,56 @@ | ||||
| { | ||||
|   "version": "1.0", | ||||
|   "models": [ | ||||
|     { | ||||
|       "model": "Sony AF9", | ||||
|       "type": "TV", | ||||
|       "functions": [ | ||||
|         { | ||||
|           "function": "DOWN", | ||||
|           "code": 1002 | ||||
|         }, { | ||||
|           "function": "LEFT", | ||||
|           "code": 1003 | ||||
|         }, { | ||||
|           "function": "RIGHT", | ||||
|           "code": 1004 | ||||
|         }, { | ||||
|           "function": "DOWN", | ||||
|           "code": 1005 | ||||
|         }, { | ||||
|           "function": "SELECT", | ||||
|           "code": 1006 | ||||
|         } | ||||
|       ] | ||||
|     } | ||||
|   , { | ||||
|       "model": "UBP-X800", | ||||
|       "type": "Blu-ray & DVD player", | ||||
|       "functions": [ | ||||
|         { | ||||
|           "function": "MAIN MENU", | ||||
|           "code": 2002 | ||||
|         }, { | ||||
|           "function": "SPEED +", | ||||
|           "code": 2003 | ||||
|         }, { | ||||
|           "function": "SPEED -", | ||||
|           "code": 2004 | ||||
|         }, { | ||||
|           "function": "NEXT", | ||||
|           "code": 2005 | ||||
|         }, { | ||||
|           "function": "PLAY", | ||||
|           "code": 2006 | ||||
|         }, { | ||||
|           "function": "STOP", | ||||
|           "code": 2007 | ||||
|         }, { | ||||
|           "function": "SELECT", | ||||
|           "code": 2008 | ||||
|         } | ||||
|       ] | ||||
|     } | ||||
|     ] | ||||
| } | ||||
|  | ||||
							
								
								
									
										122
									
								
								src/main/java/ApplianceModelsDefinition.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										122
									
								
								src/main/java/ApplianceModelsDefinition.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,122 @@ | ||||
| import com.fasterxml.jackson.core.JsonParseException; | ||||
| import com.fasterxml.jackson.databind.JsonMappingException; | ||||
| import com.fasterxml.jackson.databind.ObjectMapper; | ||||
|  | ||||
| import java.io.FileInputStream; | ||||
| import java.io.FileNotFoundException; | ||||
| import java.io.IOException; | ||||
| import java.util.List; | ||||
|  | ||||
| public class ApplianceModelsDefinition { | ||||
|     private String version; | ||||
|     private List<Model> models; | ||||
|     private ObjectMapper objectMapper; | ||||
|  | ||||
|     ApplianceModelsDefinition(){ | ||||
|         this.objectMapper = new ObjectMapper(); | ||||
|     } | ||||
|  | ||||
|     public String getVersion() { | ||||
|         return version; | ||||
|     } | ||||
|  | ||||
|     public void setVersion(String version) { | ||||
|         this.version = version; | ||||
|     } | ||||
|  | ||||
|     public List<Model> getModels() { | ||||
|         return models; | ||||
|     } | ||||
|  | ||||
|     public void setModels(List<Model> models) { | ||||
|         this.models = models; | ||||
|     } | ||||
|  | ||||
|     public boolean importFromJSON(){ | ||||
|         try { | ||||
|             ApplianceModelsDefinition applianceModelsDefinition; | ||||
|             applianceModelsDefinition= objectMapper.readValue(new FileInputStream("ApplianceModels.json"), ApplianceModelsDefinition.class); | ||||
|             this.version = applianceModelsDefinition.getVersion(); | ||||
|             this.models = applianceModelsDefinition.getModels(); | ||||
|             return true; | ||||
|         } catch (JsonMappingException e) { | ||||
|             throw new RuntimeException(e); | ||||
|         } catch (FileNotFoundException e) { | ||||
|             throw new RuntimeException(e); | ||||
|         } catch (JsonParseException e) { | ||||
|             throw new RuntimeException(e); | ||||
|         } catch (IOException e) { | ||||
|             throw new RuntimeException(e); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
| class Model { | ||||
|     private String model; | ||||
|     private String type; | ||||
|     private List<Function> functions; | ||||
|  | ||||
|     Model(String name, String type){ | ||||
|         this.model = name; | ||||
|         this.type = type; | ||||
|     } | ||||
|     Model(String name){ | ||||
|         this.model = name; | ||||
|     } | ||||
|     Model(){ | ||||
|  | ||||
|     } | ||||
|  | ||||
|     public String getModel() { | ||||
|         return model; | ||||
|     } | ||||
|  | ||||
|     public void setModel(String model) { | ||||
|         this.model = model; | ||||
|     } | ||||
|  | ||||
|     public String getType() { | ||||
|         return type; | ||||
|     } | ||||
|  | ||||
|     public void setType(String type) { | ||||
|         this.type = type; | ||||
|     } | ||||
|  | ||||
|     public List<Function> getFunctions() { | ||||
|         return functions; | ||||
|     } | ||||
|  | ||||
|     public void setFunctions(List<Function> functions) { | ||||
|         this.functions = functions; | ||||
|     } | ||||
| } | ||||
|  | ||||
| class Function { | ||||
|     private String function; | ||||
|     private int code; | ||||
|  | ||||
|     Function(String function, int code){ | ||||
|         this.function = function; | ||||
|         this.code = code; | ||||
|     } | ||||
|     Function(){ | ||||
|  | ||||
|     } | ||||
|  | ||||
|     public String getFunction() { | ||||
|         return function; | ||||
|     } | ||||
|  | ||||
|     public void setFunction(String function) { | ||||
|         this.function = function; | ||||
|     } | ||||
|  | ||||
|     public int getCode() { | ||||
|         return code; | ||||
|     } | ||||
|  | ||||
|     public void setCode(int code) { | ||||
|         this.code = code; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										32
									
								
								src/main/java/Appliances.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								src/main/java/Appliances.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| import java.util.ArrayList; | ||||
| import java.util.List; | ||||
|  | ||||
| public class Appliances { | ||||
|     private String name; // Name of appliance. | ||||
|     private List<Button> buttons; // List of buttons. | ||||
|  | ||||
|     Appliances(String name) { | ||||
|         this.name = name; | ||||
|         this.buttons = new ArrayList<Button>(); | ||||
|     } | ||||
|  | ||||
|     public void addButton(Button button) { | ||||
|         buttons.add(button); | ||||
|     } | ||||
|  | ||||
|     public String getName() { | ||||
|         return name; | ||||
|     } | ||||
|  | ||||
|     public void setName(String name) { | ||||
|         this.name = name; | ||||
|     } | ||||
|  | ||||
|     public List<Button> getButtons() { | ||||
|         return buttons; | ||||
|     } | ||||
|  | ||||
|     public void setButtons(List<Button> buttons) { | ||||
|         this.buttons = buttons; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										31
									
								
								src/main/java/Button.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								src/main/java/Button.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,31 @@ | ||||
| public class Button { | ||||
|     private String text; // Text of button. | ||||
|     private int irCode; // IR code of button. | ||||
|  | ||||
|     /** | ||||
|      * Constructor. Initializes text and IR code. | ||||
|      * @param text Text of button. | ||||
|      * @param irCode IR code of button. | ||||
|      */ | ||||
|     public Button(String text, int irCode) { | ||||
|         this.text = text; | ||||
|         this.irCode = irCode; | ||||
|         System.out.println("New button: " + text + " " + irCode); | ||||
|     } | ||||
|  | ||||
|     public String getText() { | ||||
|         return text; | ||||
|     } | ||||
|  | ||||
|     public void setText(String text) { | ||||
|         this.text = text; | ||||
|     } | ||||
|  | ||||
|     public int getIrCode() { | ||||
|         return irCode; | ||||
|     } | ||||
|  | ||||
|     public void setIrCode(int irCode) { | ||||
|         this.irCode = irCode; | ||||
|     } | ||||
| } | ||||
							
								
								
									
										58
									
								
								src/main/java/RCU.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								src/main/java/RCU.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,58 @@ | ||||
| import com.fasterxml.jackson.core.JsonGenerationException; | ||||
| import com.fasterxml.jackson.databind.JsonMappingException; | ||||
| import com.fasterxml.jackson.databind.ObjectMapper; | ||||
| import com.fasterxml.jackson.databind.SerializationFeature; | ||||
|  | ||||
| import java.io.FileNotFoundException; | ||||
| import java.io.FileOutputStream; | ||||
| import java.io.IOException; | ||||
| import java.util.ArrayList; | ||||
| import java.util.List; | ||||
|  | ||||
| public class RCU { | ||||
|     private String name; | ||||
|     private List<Appliances> appliances; // List of appliances. | ||||
|     private ObjectMapper objectMapper; | ||||
|  | ||||
|     public RCU(String name) { | ||||
|         this.name = name; | ||||
|         this.appliances = new ArrayList<Appliances>(); | ||||
|         this.objectMapper = new ObjectMapper(); | ||||
|     } | ||||
|  | ||||
|     public void addAppliance(Appliances appliance) { | ||||
|         appliances.add(appliance); | ||||
|     } | ||||
|  | ||||
|     public String getName() { | ||||
|         return name; | ||||
|     } | ||||
|  | ||||
|     public void setName(String name) { | ||||
|         this.name = name; | ||||
|     } | ||||
|  | ||||
|     public List<Appliances> getAppliances() { | ||||
|         return appliances; | ||||
|     } | ||||
|  | ||||
|     public void setAppliances(List<Appliances> appliances) { | ||||
|         this.appliances = appliances; | ||||
|     } | ||||
|  | ||||
|     public boolean exportToJSON(){ | ||||
|         objectMapper.enable(SerializationFeature.INDENT_OUTPUT); // Enable JSON pretty printing. | ||||
|         try { | ||||
|             objectMapper.writeValue(new FileOutputStream("rcu.json"), this); | ||||
|             return true; | ||||
|         } catch (JsonMappingException e) { | ||||
|             throw new RuntimeException(e); | ||||
|         } catch (FileNotFoundException e) { | ||||
|             throw new RuntimeException(e); | ||||
|         } catch (JsonGenerationException e) { | ||||
|             throw new RuntimeException(e); | ||||
|         } catch (IOException e) { | ||||
|             throw new RuntimeException(e); | ||||
|         } | ||||
|     } | ||||
| } | ||||
							
								
								
									
										25
									
								
								src/main/java/Task2.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								src/main/java/Task2.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | ||||
| public class Task2 { | ||||
|     public static void main(String[] args) { | ||||
|         /* Test export | ||||
|         RCU rcu = new RCU("My remote control"); | ||||
|         Appliances tv = new Appliances("TV"); | ||||
|         tv.addButton(new Button("DOWN", 1002)); | ||||
|         rcu.addAppliance(tv); | ||||
|         rcu.exportToJSON(); | ||||
|          */ | ||||
|  | ||||
|         RCU rcu = new RCU("My remote control"); | ||||
|         ApplianceModelsDefinition amd = new ApplianceModelsDefinition(); | ||||
|         amd.importFromJSON(); | ||||
|         for(Model model : amd.getModels()){ | ||||
|             Appliances appliance = new Appliances(model.getType()); | ||||
|             for(Function function : model.getFunctions()){ | ||||
|                 appliance.addButton(new Button(function.getFunction(), function.getCode())); | ||||
|             } | ||||
|             rcu.addAppliance(appliance); | ||||
|         } | ||||
|         rcu.exportToJSON(); | ||||
|         System.out.println("Finish"); | ||||
|  | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user