org/andromda/cartridges/arc/ResponsibilityProcessor.java

Go to the documentation of this file.
00001 package org.andromda.cartridges.arc;
00002 
00003 import java.util.Collection;
00004 import java.util.ArrayList;
00005 
00009 public class ResponsibilityProcessor {
00010         private String tecnologicDependency;
00011         private String developLanguage;
00012         private String database;
00013         private String interfaceComplexity;
00014 
00015         public void setPreferences(String tecnologicDependency, String developLanguage, String database, String interfaceComplexity) {
00016                 if(tecnologicDependency==null) this.tecnologicDependency="";
00017                 else this.tecnologicDependency=tecnologicDependency;
00018                 if(developLanguage==null) this.developLanguage="";
00019                 else this.developLanguage=developLanguage;
00020                 if(database==null) this.database="";
00021                 else this.database=database;
00022                 if(database==null) this.interfaceComplexity="";
00023                 else this.interfaceComplexity=interfaceComplexity;
00024         }
00025 
00026         public Collection process(Responsibility resp) {
00027                 ArrayList Treatments=new ArrayList();
00028         
00029                 if(resp instanceof KeyResponsibility) {
00030                         Treatments.add(new DictionaryTreatment(resp));
00031                         if((tecnologicDependency.equals("High")) && (developLanguage.equals("Java") || developLanguage.equals(".NET")) && (database.equals("Oracle") || database.equals("PostgreSQL"))) Treatments.add(new HybernateTreatment(resp));
00032                         if((tecnologicDependency.equals("Medium") || tecnologicDependency.equals("High")) && (database.equals("Oracle") || database.equals("PostgreSQL"))) Treatments.add(new SQLTreatment(resp));
00033                         if((tecnologicDependency.equals("Medium") || tecnologicDependency.equals("High")) && (database.equals("Oracle") || database.equals("PostgreSQL"))) Treatments.add(new DBSchemaTreatment(resp));
00034                 }
00035                 else if(resp instanceof CardinalityResponsibility) {
00036                         Treatments.add(new CardinalityControlTreatment(resp));
00037                         if((tecnologicDependency.equals("Medium") || tecnologicDependency.equals("High")) && (interfaceComplexity.equals("Medium") || interfaceComplexity.equals("High"))) Treatments.add(new InputSizeControlTreatment(resp));
00038                         if((tecnologicDependency.equals("High")) && (developLanguage.equals("Java") || developLanguage.equals(".NET")) && (database.equals("Oracle") || database.equals("PostgreSQL"))) Treatments.add(new HybernateTreatment(resp));
00039                         if((tecnologicDependency.equals("Medium") || tecnologicDependency.equals("High")) && (database.equals("Oracle") || database.equals("PostgreSQL"))) Treatments.add(new SQLTreatment(resp));
00040                         if((tecnologicDependency.equals("High")) && (database.equals("Oracle") || database.equals("PostgreSQL"))) Treatments.add(new TriggerTreatment(resp));
00041                         if((tecnologicDependency.equals("Medium") || tecnologicDependency.equals("High")) && (database.equals("Oracle") || database.equals("PostgreSQL"))) Treatments.add(new DBSchemaTreatment(resp));
00042                 }
00043                 else if(resp instanceof ConstraintResponsibility) {
00044                         if(((ConstraintResponsibility)resp).getConstraintName().equals("existsElement")) {
00045                                 Treatments.add(new DictionaryTreatment(resp));
00046                                 if((tecnologicDependency.equals("High")) && (developLanguage.equals("Java") || developLanguage.equals(".NET")) && (database.equals("Oracle") || database.equals("PostgreSQL"))) Treatments.add(new HybernateTreatment(resp));
00047                                 if((tecnologicDependency.equals("Medium") || tecnologicDependency.equals("High")) && (database.equals("Oracle") || database.equals("PostgreSQL"))) Treatments.add(new SQLTreatment(resp));
00048                                 if((tecnologicDependency.equals("Medium") || tecnologicDependency.equals("High")) && (interfaceComplexity.equals("High"))) Treatments.add(new InputFilterTreatment(resp));
00049                         }
00050                         if(((ConstraintResponsibility)resp).getConstraintName().equals("notEmptyPopulation")) {
00051                                 Treatments.add(new DictionaryTreatment(resp));
00052                                 if((tecnologicDependency.equals("High")) && (developLanguage.equals("Java") || developLanguage.equals(".NET")) && (database.equals("Oracle") || database.equals("PostgreSQL"))) Treatments.add(new HybernateTreatment(resp));
00053                                 if((tecnologicDependency.equals("Medium") || tecnologicDependency.equals("High")) && (database.equals("Oracle") || database.equals("PostgreSQL"))) Treatments.add(new SQLTreatment(resp));
00054                         }
00055                         if(((ConstraintResponsibility)resp).getConstraintName().equals("deleteElement")) {
00056                                 Treatments.add(new DictionaryTreatment(resp));
00057                                 if((tecnologicDependency.equals("High")) && (developLanguage.equals("Java") || developLanguage.equals(".NET")) && (database.equals("Oracle") || database.equals("PostgreSQL"))) Treatments.add(new HybernateTreatment(resp));
00058                                 if((tecnologicDependency.equals("Medium") || tecnologicDependency.equals("High")) && (database.equals("Oracle") || database.equals("PostgreSQL"))) Treatments.add(new SQLTreatment(resp));
00059                                 if((tecnologicDependency.equals("High")) && (database.equals("Oracle") || database.equals("PostgreSQL"))) Treatments.add(new StoredProcedureTreatment(resp));
00060                                 if((tecnologicDependency.equals("Medium") || tecnologicDependency.equals("High")) && (database.equals("Oracle") || database.equals("PostgreSQL"))) Treatments.add(new OnCascadeTreatment(resp));
00061                         }
00062                         if(((ConstraintResponsibility)resp).getConstraintName().equals("insertElement")) {
00063                                 Treatments.add(new DictionaryTreatment(resp));
00064                                 if((tecnologicDependency.equals("High")) && (developLanguage.equals("Java") || developLanguage.equals(".NET")) && (database.equals("Oracle") || database.equals("PostgreSQL"))) Treatments.add(new HybernateTreatment(resp));
00065                                 if((tecnologicDependency.equals("Medium") || tecnologicDependency.equals("High")) && (database.equals("Oracle") || database.equals("PostgreSQL"))) Treatments.add(new SQLTreatment(resp));
00066                                 if((tecnologicDependency.equals("High")) && (database.equals("Oracle") || database.equals("PostgreSQL"))) Treatments.add(new StoredProcedureTreatment(resp));
00067                         }
00068                         if(((ConstraintResponsibility)resp).getConstraintName().equals("listAll")) {
00069                                 Treatments.add(new DictionaryTreatment(resp));
00070                                 if((tecnologicDependency.equals("High")) && (developLanguage.equals("Java") || developLanguage.equals(".NET")) && (database.equals("Oracle") || database.equals("PostgreSQL"))) Treatments.add(new HybernateTreatment(resp));
00071                                 if((tecnologicDependency.equals("Medium") || tecnologicDependency.equals("High")) && (database.equals("Oracle") || database.equals("PostgreSQL"))) Treatments.add(new SQLTreatment(resp));
00072                         }
00073                 }
00074                 return Treatments;
00075         }
00076 }

Generated on Tue Jan 9 16:10:05 2007 for AndroMDA ARC by  doxygen 1.4.7