rm centro ricerca
This commit is contained in:
parent
b0d88a567f
commit
bac55784ce
@ -1,6 +0,0 @@
|
||||
import java.text.SimpleDateFormat;
|
||||
|
||||
public class Constants {
|
||||
public static final String DATE_FORMAT = "dd-MM-yyyy";
|
||||
public static final SimpleDateFormat S_DATE_FORMAT = new SimpleDateFormat(DATE_FORMAT);
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
public class IllegalDateException extends RuntimeException {
|
||||
|
||||
public IllegalDateException() {
|
||||
}
|
||||
|
||||
public IllegalDateException(String msg) {
|
||||
super(msg);
|
||||
}
|
||||
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
public class IllegalPercentageException extends RuntimeException {
|
||||
|
||||
public IllegalPercentageException() {
|
||||
}
|
||||
|
||||
public IllegalPercentageException(String msg) {
|
||||
super(msg);
|
||||
}
|
||||
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
public class IncorrectLabelException extends RuntimeException {
|
||||
|
||||
public IncorrectLabelException() {
|
||||
}
|
||||
|
||||
public IncorrectLabelException(String msg) {
|
||||
super(msg);
|
||||
}
|
||||
|
||||
}
|
@ -1,73 +0,0 @@
|
||||
import java.io.PrintStream;
|
||||
import java.util.Date;
|
||||
import java.util.Scanner;
|
||||
|
||||
public class IndustrialProject extends Project {
|
||||
|
||||
public IndustrialProject(String name, String description, double budget, Date start, Date end, String company,
|
||||
double fundedPercentage) {
|
||||
super(name, description, budget, start, end);
|
||||
this.company = company;
|
||||
this.fundedPercentage = fundedPercentage;
|
||||
}
|
||||
|
||||
public String getCompany() {
|
||||
return company;
|
||||
}
|
||||
|
||||
public void setCompany(String company) {
|
||||
this.company = company;
|
||||
}
|
||||
|
||||
public double getFundedPercentage() {
|
||||
return fundedPercentage;
|
||||
}
|
||||
|
||||
public void setFundedPercentage(double fundedPercentage) {
|
||||
this.fundedPercentage = fundedPercentage;
|
||||
}
|
||||
|
||||
public static IndustrialProject read(Scanner sc) {
|
||||
String company;
|
||||
double fundingPercentage;
|
||||
|
||||
Project p = Project.read(sc);
|
||||
|
||||
if (!sc.hasNextLine()) {
|
||||
return null;
|
||||
}
|
||||
company = sc.nextLine();
|
||||
|
||||
if (!sc.hasNextLine()) {
|
||||
return null;
|
||||
}
|
||||
try {
|
||||
fundingPercentage = Double.parseDouble(sc.nextLine());
|
||||
if (fundingPercentage < 0 || fundingPercentage > 100) {
|
||||
throw new IllegalPercentageException("Percentage value is out of bounds!");
|
||||
}
|
||||
} catch (NumberFormatException e) {
|
||||
System.err.println("An exception occurred while parsing funding percentage, project " + p.getName());
|
||||
System.err.println("Funding percentage will be assigned default value..");
|
||||
fundingPercentage = 0;
|
||||
} catch (IllegalPercentageException e) {
|
||||
System.err.println("An exception occurred while parsing funding percentage, project " + p.getName());
|
||||
System.err.println(e.getMessage());
|
||||
System.err.println("Funding percentage will be assigned default value..");
|
||||
fundingPercentage = 0;
|
||||
}
|
||||
|
||||
return new IndustrialProject(p.getName(), p.getDescription(), p.getBudget(), p.getStart(), p.getEnd(), company,
|
||||
fundingPercentage);
|
||||
}
|
||||
|
||||
public void print(PrintStream ps) {
|
||||
super.print(ps);
|
||||
ps.println(company);
|
||||
ps.println(fundedPercentage);
|
||||
}
|
||||
|
||||
private String company;
|
||||
private double fundedPercentage;
|
||||
|
||||
}
|
@ -1,129 +0,0 @@
|
||||
import java.io.PrintStream;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.Scanner;
|
||||
|
||||
public class Project {
|
||||
|
||||
public Project(String name, String description, double budget, Date start, Date end) {
|
||||
this.name = name;
|
||||
this.description = description;
|
||||
this.budget = budget;
|
||||
this.start = start;
|
||||
this.end = end;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
public double getBudget() {
|
||||
return budget;
|
||||
}
|
||||
|
||||
public void setBudget(double budget) {
|
||||
this.budget = budget;
|
||||
}
|
||||
|
||||
public Date getStart() {
|
||||
return start;
|
||||
}
|
||||
|
||||
public void setStart(Date start) {
|
||||
this.start = start;
|
||||
}
|
||||
|
||||
public Date getEnd() {
|
||||
return end;
|
||||
}
|
||||
|
||||
public void setEnd(Date end) {
|
||||
this.end = end;
|
||||
}
|
||||
|
||||
public static Project read(Scanner sc) {
|
||||
String name, description;
|
||||
double budget;
|
||||
Date start;
|
||||
Date end;
|
||||
|
||||
SimpleDateFormat df = Constants.S_DATE_FORMAT;
|
||||
|
||||
if (!sc.hasNextLine()) {
|
||||
return null;
|
||||
}
|
||||
name = sc.nextLine();
|
||||
|
||||
if (!sc.hasNextLine()) {
|
||||
return null;
|
||||
}
|
||||
description = sc.nextLine();
|
||||
|
||||
if (!sc.hasNextLine()) {
|
||||
return null;
|
||||
}
|
||||
try {
|
||||
budget = Double.parseDouble(sc.nextLine());
|
||||
} catch (NumberFormatException e) {
|
||||
System.err.println("An exception occurred while parsing budget, project " + name);
|
||||
System.err.println("Budget will be assigned default value...");
|
||||
budget = 0;
|
||||
}
|
||||
|
||||
try {
|
||||
start = df.parse(sc.nextLine());
|
||||
} catch (ParseException e) {
|
||||
System.err.println("An exception occurred while parsing start date, project " + name);
|
||||
System.err.println("Start date will be assigned default system date...");
|
||||
start = new Date();
|
||||
}
|
||||
|
||||
try {
|
||||
end = df.parse(sc.nextLine());
|
||||
if (end.before(start)) {
|
||||
throw new IllegalDateException("End date is before start date!");
|
||||
}
|
||||
} catch (ParseException e) {
|
||||
System.err.println("An exception occurred while parsing end date, project " + name);
|
||||
System.err.println("End date will be assigned default system date...");
|
||||
end = new Date();
|
||||
} catch (IllegalDateException e) {
|
||||
System.err.println("An exception occurred while parsing end date, project " + name);
|
||||
System.err.println(e.getMessage());
|
||||
System.err.println("End date will be assigned default system date...");
|
||||
end = new Date();
|
||||
}
|
||||
|
||||
return new Project(name, description, budget, start, end);
|
||||
}
|
||||
|
||||
public void print(PrintStream ps) {
|
||||
SimpleDateFormat df = Constants.S_DATE_FORMAT;
|
||||
|
||||
ps.println(name);
|
||||
ps.println(description);
|
||||
ps.println(budget);
|
||||
ps.println(df.format(start));
|
||||
ps.println(df.format(end));
|
||||
}
|
||||
|
||||
private String name;
|
||||
private String description;
|
||||
private double budget;
|
||||
private Date start;
|
||||
private Date end;
|
||||
|
||||
}
|
@ -1,45 +0,0 @@
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.util.Scanner;
|
||||
|
||||
public class ProjectTester {
|
||||
|
||||
public static void main(String[] args) throws FileNotFoundException {
|
||||
Scanner sc = new Scanner(new File("Projects.txt"));
|
||||
Project project = null;
|
||||
|
||||
String type = sc.nextLine();
|
||||
//type = sc.nextLine();
|
||||
|
||||
while (type != null){
|
||||
try {
|
||||
if(!type.equals("Ricerca") && !type.equals("Industria")) {
|
||||
throw new IncorrectLabelException("Label is not \"Industria\" or \"Ricerca\"!");
|
||||
}
|
||||
|
||||
if(type.equals("Ricerca")) {
|
||||
project = ResearchProject.read(sc);
|
||||
} else if(type.equals("Industria")) {
|
||||
project = IndustrialProject.read(sc);
|
||||
}
|
||||
|
||||
if(project != null) {
|
||||
project.print(System.out);
|
||||
}
|
||||
|
||||
}
|
||||
catch(IncorrectLabelException e) {
|
||||
System.err.println("An exception occurred while reading project label \"" + type + "\"");
|
||||
System.err.println(e.getMessage());
|
||||
System.err.println("All next line different from Industria or Ricerca will be skipped...");
|
||||
|
||||
while(!type.equals("Ricerca") && !type.equals("Industria") && sc.hasNextLine()) {
|
||||
type = sc.nextLine();
|
||||
}
|
||||
if(!sc.hasNextLine()) {
|
||||
type = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
Ricerca
|
||||
Eureka
|
||||
Definizione metodi di analisi
|
||||
3000000
|
||||
10-04-2004
|
||||
10-04-2007
|
||||
Comunità europea
|
||||
IV programma quadro
|
||||
Industria
|
||||
L2eL
|
||||
Evoluzione di processi di business
|
||||
1000000
|
||||
11-11-2002
|
||||
10-11-2004
|
||||
EDS
|
||||
20
|
||||
Ricerca
|
||||
CdC
|
||||
Creazione di un’infrastruttura di ricerca
|
||||
5000000
|
||||
01-03-2003
|
||||
28-02-2006
|
||||
Regione Campania
|
||||
Centri di Competenza
|
@ -1,133 +0,0 @@
|
||||
import java.io.PrintStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.Scanner;
|
||||
|
||||
public class ResearchCenter {
|
||||
|
||||
public ResearchCenter(Scanner sc) {
|
||||
projects = new ArrayList<Project>();
|
||||
|
||||
Project p = readProject(sc);
|
||||
while (p != null) {
|
||||
projects.add(p);
|
||||
p = readProject(sc);
|
||||
}
|
||||
}
|
||||
|
||||
private ResearchCenter(ArrayList<Project> projects) {
|
||||
this.projects = projects;
|
||||
}
|
||||
|
||||
private Project readProject(Scanner sc) {
|
||||
Project project = null;
|
||||
|
||||
if (!sc.hasNextLine()) {
|
||||
return null;
|
||||
}
|
||||
String type = sc.nextLine();
|
||||
|
||||
while (type != null) {
|
||||
try {
|
||||
if (!type.equals("Ricerca") && !type.equals("Industria")) {
|
||||
throw new IncorrectLabelException("Label is not \"Industria\" or \"Ricerca\"!");
|
||||
}
|
||||
|
||||
if (type.equals("Ricerca")) {
|
||||
project = ResearchProject.read(sc);
|
||||
} else if (type.equals("Industria")) {
|
||||
project = IndustrialProject.read(sc);
|
||||
}
|
||||
|
||||
return project;
|
||||
|
||||
} catch (IncorrectLabelException e) {
|
||||
System.err.println("An exception occurred while reading project label \"" + type + "\"");
|
||||
System.err.println(e.getMessage());
|
||||
System.err.println("All next line different from Industria or Ricerca will be skipped...");
|
||||
|
||||
while (!type.equals("Ricerca") && !type.equals("Industria") && sc.hasNextLine()) {
|
||||
type = sc.nextLine();
|
||||
}
|
||||
if (!sc.hasNextLine()) {
|
||||
type = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public ResearchCenter filterByPreviousDate(Date date) {
|
||||
ArrayList<Project> projectsFilter = new ArrayList<Project>();
|
||||
|
||||
for (Project p : projects) {
|
||||
if (p.getEnd().before(date)) {
|
||||
projectsFilter.add(p);
|
||||
}
|
||||
}
|
||||
|
||||
return new ResearchCenter(projectsFilter);
|
||||
}
|
||||
|
||||
public ResearchCenter filterByNextDate(Date date) {
|
||||
ArrayList<Project> projectsFilter = new ArrayList<Project>();
|
||||
|
||||
for (Project p : projects) {
|
||||
if (p.getStart().after(date)) {
|
||||
projectsFilter.add(p);
|
||||
}
|
||||
}
|
||||
|
||||
return new ResearchCenter(projectsFilter);
|
||||
}
|
||||
|
||||
public ResearchCenter researchProjectFilter(){
|
||||
ArrayList<Project> projectsFilter = new ArrayList<Project>();
|
||||
|
||||
for(Project p: project)
|
||||
if(p istanceof ResearchProject)
|
||||
projectsFilter.add(p);
|
||||
|
||||
return new ResearchCenter(projectsFilter);
|
||||
}
|
||||
|
||||
public void sortByName() {
|
||||
int i, j = 0;
|
||||
boolean done = false;
|
||||
|
||||
while (!done && j < projects.size() - 1) {
|
||||
done = true;
|
||||
|
||||
for (i = 0; i < projects.size() - j - 1; i++) {
|
||||
if (projects.get(i).getName().compareTo(projects.get(i + 1).getName()) > 0) {
|
||||
swap(i, i + 1);
|
||||
done = false;
|
||||
}
|
||||
}
|
||||
|
||||
j++;
|
||||
}
|
||||
}
|
||||
|
||||
private void swap(int i, int j) {
|
||||
Project temp = projects.get(i);
|
||||
projects.set(i, projects.get(j));
|
||||
projects.set(j, temp);
|
||||
}
|
||||
|
||||
public void print(PrintStream ps) {
|
||||
for (Project p : projects) {
|
||||
if (p instanceof ResearchProject) {
|
||||
ps.println("Ricerca");
|
||||
} else {
|
||||
ps.println("Industria");
|
||||
}
|
||||
|
||||
p.print(ps);
|
||||
}
|
||||
}
|
||||
|
||||
private ArrayList<Project> projects;
|
||||
|
||||
}
|
@ -1,18 +0,0 @@
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.util.Scanner;
|
||||
|
||||
public class ResearchCenterTester {
|
||||
|
||||
public static void main(String[] args) throws FileNotFoundException {
|
||||
Scanner sc = new Scanner(new File("Projects.txt"));
|
||||
ResearchCenter rc = new ResearchCenter(sc);
|
||||
|
||||
rc.print(System.out);
|
||||
System.out.println("*****");
|
||||
|
||||
rc.sortByName();
|
||||
rc.print(System.out);
|
||||
}
|
||||
|
||||
}
|
@ -1,118 +0,0 @@
|
||||
import java.io.PrintStream;
|
||||
import java.util.Date;
|
||||
import java.util.Scanner;
|
||||
|
||||
public class ResearchProject extends Project {
|
||||
|
||||
public ResearchProject(String name, String description, double budget, Date start, Date end, String fundingBody,
|
||||
String fundingLaw) {
|
||||
super(name, description, budget, start, end);
|
||||
this.fundingBody = fundingBody;
|
||||
this.fundingLaw = fundingLaw;
|
||||
}
|
||||
|
||||
public String getFundingBody() {
|
||||
return fundingBody;
|
||||
}
|
||||
|
||||
public void setFundingBody(String fundingBody) {
|
||||
this.fundingBody = fundingBody;
|
||||
}
|
||||
|
||||
public String getFundingLaw() {
|
||||
return fundingLaw;
|
||||
}
|
||||
|
||||
public void setFundingLaw(String fundingLaw) {
|
||||
this.fundingLaw = fundingLaw;
|
||||
}
|
||||
|
||||
public static ResearchProject read(Scanner sc) {
|
||||
String fundingBody, fundingLaw;
|
||||
|
||||
Project p = Project.read(sc);
|
||||
|
||||
if (!sc.hasNextLine()) {
|
||||
return null;
|
||||
}
|
||||
fundingBody = sc.nextLine();
|
||||
|
||||
if (!sc.hasNextLine()) {
|
||||
return null;
|
||||
}
|
||||
fundingLaw = sc.nextLine();
|
||||
|
||||
return new ResearchProject(p.getName(), p.getDescription(), p.getBudget(), p.getStart(), p.getEnd(),
|
||||
fundingBody, fundingLaw);
|
||||
}
|
||||
|
||||
public void print(PrintStream ps) {
|
||||
super.print(ps);
|
||||
ps.println(fundingBody);
|
||||
ps.println(fundingLaw);
|
||||
}
|
||||
|
||||
private String fundingBody;
|
||||
private String fundingLaw;
|
||||
|
||||
}
|
||||
package com.gmail.zurlo.michelef.classi;
|
||||
|
||||
import java.io.PrintStream;
|
||||
import java.util.Date;
|
||||
import java.util.Scanner;
|
||||
|
||||
public class ResearchProject extends Project {
|
||||
|
||||
public ResearchProject(String name, String description, double budget, Date start, Date end, String fundingBody,
|
||||
String fundingLaw) {
|
||||
super(name, description, budget, start, end);
|
||||
this.fundingBody = fundingBody;
|
||||
this.fundingLaw = fundingLaw;
|
||||
}
|
||||
|
||||
public String getFundingBody() {
|
||||
return fundingBody;
|
||||
}
|
||||
|
||||
public void setFundingBody(String fundingBody) {
|
||||
this.fundingBody = fundingBody;
|
||||
}
|
||||
|
||||
public String getFundingLaw() {
|
||||
return fundingLaw;
|
||||
}
|
||||
|
||||
public void setFundingLaw(String fundingLaw) {
|
||||
this.fundingLaw = fundingLaw;
|
||||
}
|
||||
|
||||
public static ResearchProject read(Scanner sc) {
|
||||
String fundingBody, fundingLaw;
|
||||
|
||||
Project p = Project.read(sc);
|
||||
|
||||
if (!sc.hasNextLine()) {
|
||||
return null;
|
||||
}
|
||||
fundingBody = sc.nextLine();
|
||||
|
||||
if (!sc.hasNextLine()) {
|
||||
return null;
|
||||
}
|
||||
fundingLaw = sc.nextLine();
|
||||
|
||||
return new ResearchProject(p.getName(), p.getDescription(), p.getBudget(), p.getStart(), p.getEnd(),
|
||||
fundingBody, fundingLaw);
|
||||
}
|
||||
|
||||
public void print(PrintStream ps) {
|
||||
super.print(ps);
|
||||
ps.println(fundingBody);
|
||||
ps.println(fundingLaw);
|
||||
}
|
||||
|
||||
private String fundingBody;
|
||||
private String fundingLaw;
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user