diff --git a/1.sources/MyHealth/.classpath b/1.sources/MyHealth/.classpath new file mode 100644 index 0000000..6177316 --- /dev/null +++ b/1.sources/MyHealth/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/1.sources/MyHealth/.gitignore b/1.sources/MyHealth/.gitignore new file mode 100644 index 0000000..8cc580e --- /dev/null +++ b/1.sources/MyHealth/.gitignore @@ -0,0 +1,5 @@ +/build/ +/dist/ +/MyHealth.ear +/MyHealth.jar +/MyHealth.war diff --git a/1.sources/MyHealth/.packages b/1.sources/MyHealth/.packages new file mode 100644 index 0000000..56d242c --- /dev/null +++ b/1.sources/MyHealth/.packages @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/1.sources/MyHealth/.project b/1.sources/MyHealth/.project new file mode 100644 index 0000000..359ab94 --- /dev/null +++ b/1.sources/MyHealth/.project @@ -0,0 +1,23 @@ + + + MyHealth + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.jboss.ide.eclipse.archives.core.archivesBuilder + + + + + + org.jboss.ide.eclipse.archives.core.archivesNature + org.eclipse.jdt.core.javanature + + diff --git a/1.sources/MyHealth/.settings/org.eclipse.jdt.core.prefs b/1.sources/MyHealth/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..2c1391e --- /dev/null +++ b/1.sources/MyHealth/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,13 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.release=disabled +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/1.sources/MyHealth/.settings/org.jboss.ide.eclipse.as.core.prefs b/1.sources/MyHealth/.settings/org.jboss.ide.eclipse.as.core.prefs new file mode 100644 index 0000000..a64acc9 --- /dev/null +++ b/1.sources/MyHealth/.settings/org.jboss.ide.eclipse.as.core.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +org.jboss.ide.eclipse.as.core.singledeployable.deployableList= diff --git a/1.sources/MyHealth/bin/.gitignore b/1.sources/MyHealth/bin/.gitignore new file mode 100644 index 0000000..7c6170f --- /dev/null +++ b/1.sources/MyHealth/bin/.gitignore @@ -0,0 +1,6 @@ +/META-INF/ +/TO/ +/ejb/ +/jpa/ +/log4j.properties +/managedbean/ diff --git a/1.sources/MyHealth/bin/common/.gitignore b/1.sources/MyHealth/bin/common/.gitignore new file mode 100644 index 0000000..fb6ead6 --- /dev/null +++ b/1.sources/MyHealth/bin/common/.gitignore @@ -0,0 +1,2 @@ +/AuthorizationFilter.class +/SessionUtils.class diff --git a/1.sources/MyHealth/build.xml b/1.sources/MyHealth/build.xml new file mode 100644 index 0000000..1720166 --- /dev/null +++ b/1.sources/MyHealth/build.xml @@ -0,0 +1,92 @@ + + + PDS MyHealth + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/1.sources/MyHealth/docroot/WEB-INF/faces-config.xml b/1.sources/MyHealth/docroot/WEB-INF/faces-config.xml new file mode 100644 index 0000000..4f1a7f5 --- /dev/null +++ b/1.sources/MyHealth/docroot/WEB-INF/faces-config.xml @@ -0,0 +1,13 @@ + + + + /login.xhtml + + admin + /admin.xhtml + + + diff --git a/1.sources/MyHealth/docroot/WEB-INF/web.xml b/1.sources/MyHealth/docroot/WEB-INF/web.xml new file mode 100644 index 0000000..0796bbf --- /dev/null +++ b/1.sources/MyHealth/docroot/WEB-INF/web.xml @@ -0,0 +1,43 @@ + + + + + Define the value returned by Application.getProjectStage(). Allowed values: Production, Development, + UnitTest, SystemTest, Extension. Default value is Production. + + javax.faces.PROJECT_STAGE + Development + + + + + Do not render comments in facelets (xhtml) pages. Default is false. + javax.faces.FACELETS_SKIP_COMMENTS + true + + + + Faces Servlet + javax.faces.webapp.FacesServlet + 1 + + + + Faces Servlet + *.xhtml + + + + 500 + ErrowView.xhtml + + + + + HomeView.xhtml + + + diff --git a/1.sources/MyHealth/docroot/error.xhtml b/1.sources/MyHealth/docroot/error.xhtml new file mode 100644 index 0000000..1f552b1 --- /dev/null +++ b/1.sources/MyHealth/docroot/error.xhtml @@ -0,0 +1,25 @@ + + + + + + + + +
+

Se ha producido un error

+
+
Descripcion del error:
+
+ + +
+
+

+ +

+
+
+
+ diff --git a/1.sources/MyHealth/docroot/header.xhtml b/1.sources/MyHealth/docroot/header.xhtml new file mode 100644 index 0000000..8ad53eb --- /dev/null +++ b/1.sources/MyHealth/docroot/header.xhtml @@ -0,0 +1,32 @@ + + + + + + + + myHealth page header + + + + +
+
+

myHealth page header

+
+
+ +
+ Content +
+
+
+
+ diff --git a/1.sources/MyHealth/docroot/home.xhtml b/1.sources/MyHealth/docroot/home.xhtml new file mode 100644 index 0000000..f66c7a2 --- /dev/null +++ b/1.sources/MyHealth/docroot/home.xhtml @@ -0,0 +1,23 @@ + + + + + + + + + + + +
+
+ +
+

+ +
+
+
+
+ \ No newline at end of file diff --git a/1.sources/MyHealth/docroot/login.xhtml b/1.sources/MyHealth/docroot/login.xhtml new file mode 100644 index 0000000..06419e8 --- /dev/null +++ b/1.sources/MyHealth/docroot/login.xhtml @@ -0,0 +1,27 @@ + + + + + + login + + + + +

myHealth login page

+ + + +



+ + + + +



+ + +
+
+
+ diff --git a/1.sources/MyHealth/docroot/medicaltest/testView.xhtml b/1.sources/MyHealth/docroot/medicaltest/testView.xhtml new file mode 100644 index 0000000..7d9aee8 --- /dev/null +++ b/1.sources/MyHealth/docroot/medicaltest/testView.xhtml @@ -0,0 +1,24 @@ + + + + + + + + +
+

test Page

+
+
TestPage:
+
+ test page content +
+
+

+ +

+
+
+
+ diff --git a/1.sources/MyHealth/docroot/profile/testView_1.xhtml b/1.sources/MyHealth/docroot/profile/testView_1.xhtml new file mode 100644 index 0000000..7d9aee8 --- /dev/null +++ b/1.sources/MyHealth/docroot/profile/testView_1.xhtml @@ -0,0 +1,24 @@ + + + + + + + + +
+

test Page

+
+
TestPage:
+
+ test page content +
+
+

+ +

+
+
+
+ diff --git a/1.sources/MyHealth/docroot/resources/css/estilos.css b/1.sources/MyHealth/docroot/resources/css/estilos.css new file mode 100644 index 0000000..ba794fe --- /dev/null +++ b/1.sources/MyHealth/docroot/resources/css/estilos.css @@ -0,0 +1,304 @@ +BODY{ + font-family: Verdana, Arial, Helvetica, sans-serif; +} + +.ErrorMessage { + color: red; + font-size: 1.5em; +} + +.col1 { + width: 200px; +} + +.col2 { + width: 370px; +} + +.col3 { + width: 130px; + text-align: center; +} + +.estilomenu { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 10px; + font-weight: bold; +} + +.estilomenu2 { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 10px; + font-weight: bold; +} + + +a.estilomenu2:link {font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 10px;color: #939393;font-weight: bold;text-decoration: none} +a.estilomenu2:visited {font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 10px;color: #939393;font-weight: bold;text-decoration: none} +a.estilomenu2:active {font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 10px;color: #939393;font-weight: bold;text-decoration: none} +a.estilomenu2:hover {font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 10px;color: #939393;font-weight: bold;text-decoration: none} + +.fecha { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 10px; +} + +a.fecha:link {font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 10px;color: #939393;text-decoration: none} +a.fecha:visited {font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 10px;color: #939393;text-decoration: none} +a.fecha:active {font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 10px;color: #939393;text-decoration: none} +a.fecha:hover {font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 10px;color: #939393;text-decoration: none} + +.Titulo { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 2.5em; + font-weight: normal; + text-align: center; +} +.paginacentral { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 16px; + font-weight: bold; + color: #939393; +} +.titulopequeno { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 9px; + font-weight: bold; +} + +.estilomenucabecera { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 12px; + font-weight: bold; +} + +.formularios { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 12px; +} +.listado { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 10px; +} + + +.estiloidiomas { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 10px; + font-weight: 400; + +} + + + + + + + +.formulariospequeno { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 10px; + font-weight: 600; +} + +.rojo { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold ; color: #FF0000} + + +a:link {color: #FFFFFF} +a:active {color: #FFFFFF} +a:visited {color: #FFFFFF} +a:hover {color: #FFFFFF} + + +.noticias1 { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold; color: #FFFFFF; text-decoration:none } + +a.apartados:link {font-family: Verdana;color: #939393; text-decoration: none; font-size: 12px; font-size: 10px; font-weight: bold} +a.apartados:visited {font-family: Verdana;color: #939393; text-decoration: none; font-size: 12px; font-size: 10px; font-weight: bold} +a.apartados:active {font-family: Verdana;color: #939393; text-decoration: none; font-size: 12px; font-size: 10px; font-weight: bold} +a.apartados:hover {font-family: Verdana;color: #939393; text-decoration: none; font-size: 12px; font-size: 10px; font-weight: bold} + + +.pestanas {font-family: Arial, Helvetica, sans-serif;font-size: 12px;font-weight: bold;} + +a.pestanas:link {font-family: Arial, Helvetica, sans-serif;font-size: 12px;font-weight:bold; color: #939393; text-decoration: none} +a.pestanas:visited {font-family: Arial, Helvetica, sans-serif;font-size: 12px;font-weight: bold;color: #939393; text-decoration: none} +a.pestanas:active {font-family: Arial, Helvetica, sans-serif;font-size: 12px;font-weight: bold;color: #939393; text-decoration: none} +a.pestanas:hover {font-family: Arial, Helvetica, sans-serif;font-size: 12px;font-weight: bold;color: #939393 ; text-decoration: none} + + + +.estiloidiomas {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px;font-weight: 400;} + +a.estiloidiomas:link {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px;font-weight: 400;color: #939393; text-decoration: none} +a.estiloidiomas:visited {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px;font-weight: 400;color: #939393; text-decoration: none} +a.estiloidiomas:active {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px;font-weight: 400;color: #939393; text-decoration: none} +a.estiloidiomas:hover {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px;font-weight: 400;color: #939393; text-decoration: none} + + +a.estiloidiomas2:link {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px;font-weight: 400;color: #939393; text-decoration: underline} +a.estiloidiomas2:visited {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px;font-weight: 400;color: #939393; text-decoration: none} +a.estiloidiomas2:active {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px;font-weight: 400;color: #939393; text-decoration: underline} +a.estiloidiomas2:hover {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px;font-weight: 400;color: #939393; text-decoration: underline} + + + +a.linknegritasubrrado:link {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px;font-weight: bold;color: #939393; text-decoration: underline} +a.linknegritasubrrado:visited {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px;font-weight: bold;color: #939393; text-decoration: none} +a.linknegritasubrrado:active {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px;font-weight: bold;color: #939393; text-decoration: underline} +a.linknegritasubrrado:hover {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px;font-weight: bold;color: #939393; text-decoration: underline} + + + + + + +a.apartados2:link {font-family: Verdana;color:#3131D1 ; text-decoration: none; font-size: 12px; font-size: 10px; font-weight: bold} +a.apartados2:visited {font-family: Verdana;color: #3131D1; text-decoration: none; font-size: 12px; font-size: 10px; font-weight: bold} +a.apartados2:active {font-family: Verdana;color: #3131D1; text-decoration: none; font-size: 12px; font-size: 10px; font-weight: bold} +a.apartados2:hover {font-family: Verdana;color: #3131D1; text-decoration: none; font-size: 12px; font-size: 10px; font-weight: bold} + + +a.apartados3:link {font-family: Verdana;color:#3131D1 ; text-decoration: underline; font-size: 13px; font-size: 10px; font-weight: bold} +a.apartados3:visited {font-family: Verdana;color: #3131D1; text-decoration: underline; font-size: 13px; font-size: 10px; font-weight: bold} +a.apartados3:active {font-family: Verdana;color: #3131D1; text-decoration: underline; font-size: 13px; font-size: 10px; font-weight: bold} +a.apartados3:hover {font-family: Verdana;color: #3131D1; text-decoration: underline; font-size: 13px; font-size: 10px; font-weight: bold} + + + + +a.titulopequeno:link {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 9px; font-weight: bold;color: #939393;text-decoration: none} +a.titulopequeno:visited {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 9px; font-weight: bold;color: #939393;text-decoration: none} +a.titulopequeno:active {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 9px; font-weight: bold;color: #939393;text-decoration: none} +a.titulopequeno:hover {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 9px; font-weight: bold;color: #939393;text-decoration: none} + + + + + + +a.inicio:link {font-family: Verdana;color: #939393; text-decoration: none; font-size: 12px; font-size: 14px; font-weight: bold} +a.inicio:visited {font-family: Verdana;color: #939393; text-decoration: none; font-size: 12px; font-size: 14px; font-weight: bold} +a.inicio:active {font-family: Verdana;color: #939393; text-decoration: none; font-size: 12px; font-size: 14px; font-weight: bold} +a.inicio:hover {font-family: Verdana;color: #939393; text-decoration: none; font-size: 12px; font-size: 14px; font-weight: bold} +.masinfo {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: 400; text-decoration: underline;} + + + + +a.listado:link {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; color: #939393;text-decoration:none} +a.listado:visited {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; color: #939393;text-decoration:none} +a.listado:active {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; color: #939393;text-decoration:none} +a.listado:hover {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; color: #939393;text-decoration:none} + + + +.carrito {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold;} + + +a.carrito:link {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold;color: #939393;text-decoration:none} +a.carrito:visited {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold;color: #939393;text-decoration:none} +a.carrito:active {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold;color: #939393;text-decoration:none} +a.carrito:hover {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold;color: #939393; text-decoration:none} + + + +.linksabajo {font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 10px;font-weight: 400;color: #666666;} + +a.linksabajo:link {font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 10px;font-weight: 400;color: #666666;} +a.linksabajo:visited {font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 10px;font-weight: 400;color: #666666;} +a.linksabajo:active {font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 10px;font-weight: 400;color: #666666;} +a.linksabajo:hover {font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 10px;font-weight: 400;color: #666666;} + + + +a.masinfo:link {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: 400; text-decoration: underline;color: #939393;} +a.masinfo:visited {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: 400; text-decoration: underline;color: #939393;} +a.masinfo:active {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: 400; text-decoration: underline;color: #939393;} +a.masinfo:hover {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: 400; text-decoration: underline;color: #939393;}.estilonoticias { + font-family: Arial, Helvetica, sans-serif; + font-size: 12px; + font-weight: 600; + letter-spacing: 2px; +} +.estilorecomanacions { + font-family: Arial, Helvetica, sans-serif; + font-size: 12px; + font-weight: 600; + letter-spacing: 2px; + color: #A0630F; + +} +.estilonovetats { + font-family: Arial, Helvetica, sans-serif; + font-size: 12px; + font-weight: 600; + letter-spacing: 2px; + color: #2F2F2F; + +} +.resaltado { + + font-family: Arial, Helvetica, sans-serif; + font-size: 12px; + font-weight: 600; + letter-spacing: 2px; + color: #2F2F2F; +} +.destacado { + + font-family: Arial, Helvetica, sans-serif; + font-size: 12px; + font-weight: 600; + letter-spacing: 2px; + color: #800000; +} +.registro {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold ; color: #939393} + + +a.registro:link {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold ; color: #939393; text-decoration: none} +a.registro:visited {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold ; color: #939393; text-decoration: none} +a.registro:active {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold ; color: #939393; text-decoration: none} +a.registro:hover {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold ; color: #939393; text-decoration: underline} + + + + +.listadogris {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; color: #939393; font-weight: bold;} + +a.listadogris:link {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; color: #939393; font-weight: bold; text-decoration: none} +a.listadogris:visited {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; color: #939393; font-weight: bold; text-decoration: none} +a.listadogris:active {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; color: #939393; font-weight: bold; text-decoration: none} +a.listadogris:hover {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; color: #939393; font-weight: bold; text-decoration: underline} + + + + + +.botonpeque { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 9px; + font-weight: normal; +} +.formulariosNegrita { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 12px; + font-weight: bold; + +} +.destacadopeque { + + + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 10px; + font-weight: bold; + color: #404040; +} +.listadogris { + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 10px; + color: #939393; + font-weight: bold; + + +} +.linklistado { font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 10px;font-weight: 400;color: #939393; } \ No newline at end of file diff --git a/1.sources/MyHealth/docroot/systemAdmin/testView_2.xhtml b/1.sources/MyHealth/docroot/systemAdmin/testView_2.xhtml new file mode 100644 index 0000000..7d9aee8 --- /dev/null +++ b/1.sources/MyHealth/docroot/systemAdmin/testView_2.xhtml @@ -0,0 +1,24 @@ + + + + + + + + +
+

test Page

+
+
TestPage:
+
+ test page content +
+
+

+ +

+
+
+
+ diff --git a/1.sources/MyHealth/docroot/visit/testView_3.xhtml b/1.sources/MyHealth/docroot/visit/testView_3.xhtml new file mode 100644 index 0000000..7d9aee8 --- /dev/null +++ b/1.sources/MyHealth/docroot/visit/testView_3.xhtml @@ -0,0 +1,24 @@ + + + + + + + + +
+

test Page

+
+
TestPage:
+
+ test page content +
+
+

+ +

+
+
+
+ diff --git a/1.sources/MyHealth/src/META-INF/application.xml b/1.sources/MyHealth/src/META-INF/application.xml new file mode 100644 index 0000000..80831e2 --- /dev/null +++ b/1.sources/MyHealth/src/META-INF/application.xml @@ -0,0 +1,13 @@ + + MyHealth + + + MyHealth.war + /MyHealth + + + + MyHealth.jar + + + diff --git a/1.sources/MyHealth/src/META-INF/persistence.xml b/1.sources/MyHealth/src/META-INF/persistence.xml new file mode 100644 index 0000000..c34d46a --- /dev/null +++ b/1.sources/MyHealth/src/META-INF/persistence.xml @@ -0,0 +1,15 @@ + + + + org.hibernate.ejb.HibernatePersistence + java:jboss/postgresDS + + + + + \ No newline at end of file diff --git a/1.sources/MyHealth/src/TO/medicalTest/MedicalTestTO.java b/1.sources/MyHealth/src/TO/medicalTest/MedicalTestTO.java new file mode 100644 index 0000000..62d3a86 --- /dev/null +++ b/1.sources/MyHealth/src/TO/medicalTest/MedicalTestTO.java @@ -0,0 +1,29 @@ +package TO.medicalTest; + +import java.io.Serializable; + +import javax.xml.bind.annotation.XmlRootElement; + +/** + * Transfer object (TO) MedicalSpecialtyTO Para el intercambio de datos entre la + * capa de interfaz y la capa de negocio + * + * Además esta clase facilita la implementación futura de una Capa SOA (Se + * define la anotación para la serialización de esta clase: @XmlRootElement(name + * = "medicalspeciality") + * + * @author mark + * + */ +@XmlRootElement(name = "MedicalTestTO") +public class MedicalTestTO implements Serializable { + + private static final long serialVersionUID = 1L; + + + public MedicalTestTO() { + super(); + } + + +} diff --git a/1.sources/MyHealth/src/TO/profile/ProfileTO.java b/1.sources/MyHealth/src/TO/profile/ProfileTO.java new file mode 100644 index 0000000..cee47c3 --- /dev/null +++ b/1.sources/MyHealth/src/TO/profile/ProfileTO.java @@ -0,0 +1,29 @@ +package TO.profile; + +import java.io.Serializable; + +import javax.xml.bind.annotation.XmlRootElement; + +/** + * Transfer object (TO) MedicalSpecialtyTO Para el intercambio de datos entre la + * capa de interfaz y la capa de negocio + * + * Además esta clase facilita la implementación futura de una Capa SOA (Se + * define la anotación para la serialización de esta clase: @XmlRootElement(name + * = "medicalspeciality") + * + * @author mark + * + */ +@XmlRootElement(name = "ProfileTO") +public class ProfileTO implements Serializable { + + private static final long serialVersionUID = 1L; + + + public ProfileTO() { + super(); + } + + +} diff --git a/1.sources/MyHealth/src/TO/systemAdmin/SystemAdminTO.java b/1.sources/MyHealth/src/TO/systemAdmin/SystemAdminTO.java new file mode 100644 index 0000000..17ccfea --- /dev/null +++ b/1.sources/MyHealth/src/TO/systemAdmin/SystemAdminTO.java @@ -0,0 +1,29 @@ +package TO.systemAdmin; + +import java.io.Serializable; + +import javax.xml.bind.annotation.XmlRootElement; + +/** + * Transfer object (TO) MedicalSpecialtyTO Para el intercambio de datos entre la + * capa de interfaz y la capa de negocio + * + * Además esta clase facilita la implementación futura de una Capa SOA (Se + * define la anotación para la serialización de esta clase: @XmlRootElement(name + * = "medicalspeciality") + * + * @author mark + * + */ +@XmlRootElement(name = "SystemAdminTO") +public class SystemAdminTO implements Serializable { + + private static final long serialVersionUID = 1L; + + + public SystemAdminTO() { + super(); + } + + +} diff --git a/1.sources/MyHealth/src/TO/visit/VisitTO.java b/1.sources/MyHealth/src/TO/visit/VisitTO.java new file mode 100644 index 0000000..3ff705b --- /dev/null +++ b/1.sources/MyHealth/src/TO/visit/VisitTO.java @@ -0,0 +1,29 @@ +package TO.visit; + +import java.io.Serializable; + +import javax.xml.bind.annotation.XmlRootElement; + +/** + * Transfer object (TO) MedicalSpecialtyTO Para el intercambio de datos entre la + * capa de interfaz y la capa de negocio + * + * Además esta clase facilita la implementación futura de una Capa SOA (Se + * define la anotación para la serialización de esta clase: @XmlRootElement(name + * = "medicalspeciality") + * + * @author mark + * + */ +@XmlRootElement(name = "TestClass") +public class VisitTO implements Serializable { + + private static final long serialVersionUID = 1L; + + + public VisitTO() { + super(); + } + + +} diff --git a/1.sources/MyHealth/src/common/AuthorizationFilter.java b/1.sources/MyHealth/src/common/AuthorizationFilter.java new file mode 100644 index 0000000..05fb830 --- /dev/null +++ b/1.sources/MyHealth/src/common/AuthorizationFilter.java @@ -0,0 +1,52 @@ + +package common; + +import java.io.IOException; + +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.annotation.WebFilter; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +@WebFilter(filterName = "AuthFilter", urlPatterns = { "*.xhtml" }) +public class AuthorizationFilter implements Filter { + + public AuthorizationFilter() { + } + + @Override + public void init(FilterConfig filterConfig) throws ServletException { + + } + + @Override + public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) + throws IOException, ServletException { + try { + + HttpServletRequest reqt = (HttpServletRequest) request; + HttpServletResponse resp = (HttpServletResponse) response; + HttpSession ses = reqt.getSession(false); + + String reqURI = reqt.getRequestURI(); + if (reqURI.indexOf("/login.xhtml") >= 0 || (ses != null && ses.getAttribute("username") != null) + || reqURI.indexOf("/public/") >= 0 || reqURI.contains("javax.faces.resource")) + chain.doFilter(request, response); + else + resp.sendRedirect(reqt.getContextPath() + "/faces/login.xhtml"); + } catch (Exception e) { + System.out.println(e.getMessage()); + } + } + + @Override + public void destroy() { + + } +} diff --git a/1.sources/MyHealth/src/common/SessionUtils.java b/1.sources/MyHealth/src/common/SessionUtils.java new file mode 100644 index 0000000..7360cea --- /dev/null +++ b/1.sources/MyHealth/src/common/SessionUtils.java @@ -0,0 +1,30 @@ + +package common; + +import javax.faces.context.FacesContext; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpSession; + +public class SessionUtils { + + public static HttpSession getSession() { + return (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false); + } + + public static HttpServletRequest getRequest() { + return (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest(); + } + + public static String getUserName() { + HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false); + return session.getAttribute("username").toString(); + } + + public static String getUserId() { + HttpSession session = getSession(); + if (session != null) + return (String) session.getAttribute("userid"); + else + return null; + } +} diff --git a/1.sources/MyHealth/src/ejb/medicalTest/MedicalTestFacadeBean.java b/1.sources/MyHealth/src/ejb/medicalTest/MedicalTestFacadeBean.java new file mode 100644 index 0000000..c0ddb23 --- /dev/null +++ b/1.sources/MyHealth/src/ejb/medicalTest/MedicalTestFacadeBean.java @@ -0,0 +1,26 @@ +package ejb.medicalTest; + +import javax.ejb.Stateless; +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; + + +/** + * EJB Session Bean Class para la Practica 2, Ejercicio 1 (ISCSD) Implementa los + * métodos de la capa de negocio que implementan la logica de negocio y la + * interacción con la capa de persistencia. + * + * @author mark + * + */ +@Stateless +public class MedicalTestFacadeBean implements MedicalTestFacadeRemote { + + // Persistence Unit Context + @PersistenceContext(unitName = "MyHealth") + private EntityManager entman; + + public void ejbMethod(String parameter) { + + } +} \ No newline at end of file diff --git a/1.sources/MyHealth/src/ejb/medicalTest/MedicalTestFacadeRemote.java b/1.sources/MyHealth/src/ejb/medicalTest/MedicalTestFacadeRemote.java new file mode 100644 index 0000000..d1b02ed --- /dev/null +++ b/1.sources/MyHealth/src/ejb/medicalTest/MedicalTestFacadeRemote.java @@ -0,0 +1,18 @@ +package ejb.medicalTest; + +import javax.ejb.Remote; + +/** + * Interfaz remota del EJB Definimos los métodos que estarán disponibles para + * los clientes del EJB + * + * @author mark + * + */ +@Remote +public interface MedicalTestFacadeRemote { + /** + * Definimos la interfaz remota + */ + public void ejbMethod(String parameter); +} \ No newline at end of file diff --git a/1.sources/MyHealth/src/ejb/profile/ProfileFacadeBean.java b/1.sources/MyHealth/src/ejb/profile/ProfileFacadeBean.java new file mode 100644 index 0000000..c2017f5 --- /dev/null +++ b/1.sources/MyHealth/src/ejb/profile/ProfileFacadeBean.java @@ -0,0 +1,28 @@ +package ejb.profile; + +import javax.ejb.Stateless; +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; + + +/** + * EJB Session Bean Class para la Practica 2, Ejercicio 1 (ISCSD) Implementa los + * métodos de la capa de negocio que implementan la logica de negocio y la + * interacción con la capa de persistencia. + * + * @author mark + * + */ +@Stateless +public class ProfileFacadeBean implements ProfileFacadeRemote { + + // Persistence Unit Context + @PersistenceContext(unitName = "MyHealth") + private EntityManager entman; + + public void ejbMethod(String parameter) + { + + } + +} diff --git a/1.sources/MyHealth/src/ejb/profile/ProfileFacadeRemote.java b/1.sources/MyHealth/src/ejb/profile/ProfileFacadeRemote.java new file mode 100644 index 0000000..6bbaf28 --- /dev/null +++ b/1.sources/MyHealth/src/ejb/profile/ProfileFacadeRemote.java @@ -0,0 +1,18 @@ +package ejb.profile; + +import javax.ejb.Remote; + +/** + * Interfaz remota del EJB Definimos los métodos que estarán disponibles para + * los clientes del EJB + * + * @author mark + * + */ +@Remote +public interface ProfileFacadeRemote { + /** + * Definimos la interfaz remota + */ + public void ejbMethod(String parameter); +} \ No newline at end of file diff --git a/1.sources/MyHealth/src/ejb/systemAdmin/SystemAdminFacadeBean.java b/1.sources/MyHealth/src/ejb/systemAdmin/SystemAdminFacadeBean.java new file mode 100644 index 0000000..e5bffd6 --- /dev/null +++ b/1.sources/MyHealth/src/ejb/systemAdmin/SystemAdminFacadeBean.java @@ -0,0 +1,28 @@ +package ejb.systemAdmin; + +import javax.ejb.Stateless; +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; + + +/** + * EJB Session Bean Class para la Practica 2, Ejercicio 1 (ISCSD) Implementa los + * métodos de la capa de negocio que implementan la logica de negocio y la + * interacción con la capa de persistencia. + * + * @author mark + * + */ +@Stateless +public class SystemAdminFacadeBean implements SystemAdminFacadeRemote { + + // Persistence Unit Context + @PersistenceContext(unitName = "MyHealth") + private EntityManager entman; + + public void ejbMethod(String parameter) + { + + } + +} diff --git a/1.sources/MyHealth/src/ejb/systemAdmin/SystemAdminFacadeRemote.java b/1.sources/MyHealth/src/ejb/systemAdmin/SystemAdminFacadeRemote.java new file mode 100644 index 0000000..189afce --- /dev/null +++ b/1.sources/MyHealth/src/ejb/systemAdmin/SystemAdminFacadeRemote.java @@ -0,0 +1,18 @@ +package ejb.systemAdmin; + +import javax.ejb.Remote; + +/** + * Interfaz remota del EJB Definimos los métodos que estarán disponibles para + * los clientes del EJB + * + * @author mark + * + */ +@Remote +public interface SystemAdminFacadeRemote { + /** + * Definimos la interfaz remota + */ + public void ejbMethod(String parameter); +} \ No newline at end of file diff --git a/1.sources/MyHealth/src/ejb/visit/VisitFacadeBean.java b/1.sources/MyHealth/src/ejb/visit/VisitFacadeBean.java new file mode 100644 index 0000000..fc9ce06 --- /dev/null +++ b/1.sources/MyHealth/src/ejb/visit/VisitFacadeBean.java @@ -0,0 +1,28 @@ +package ejb.visit; + +import javax.ejb.Stateless; +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; + + +/** + * EJB Session Bean Class para la Practica 2, Ejercicio 1 (ISCSD) Implementa los + * métodos de la capa de negocio que implementan la logica de negocio y la + * interacción con la capa de persistencia. + * + * @author mark + * + */ +@Stateless +public class VisitFacadeBean implements VisitFacadeRemote { + + // Persistence Unit Context + @PersistenceContext(unitName = "MyHealth") + private EntityManager entman; + + public void ejbMethod(String parameter) + { + + } + +} diff --git a/1.sources/MyHealth/src/ejb/visit/VisitFacadeRemote.java b/1.sources/MyHealth/src/ejb/visit/VisitFacadeRemote.java new file mode 100644 index 0000000..995977d --- /dev/null +++ b/1.sources/MyHealth/src/ejb/visit/VisitFacadeRemote.java @@ -0,0 +1,18 @@ +package ejb.visit; + +import javax.ejb.Remote; + +/** + * Interfaz remota del EJB Definimos los métodos que estarán disponibles para + * los clientes del EJB + * + * @author mark + * + */ +@Remote +public interface VisitFacadeRemote { + /** + * Definimos la interfaz remota + */ + public void ejbMethod(String parameter); +} \ No newline at end of file diff --git a/1.sources/MyHealth/src/jpa/TestTableJPA.java b/1.sources/MyHealth/src/jpa/TestTableJPA.java new file mode 100644 index 0000000..74c7372 --- /dev/null +++ b/1.sources/MyHealth/src/jpa/TestTableJPA.java @@ -0,0 +1,50 @@ +package jpa; + +import java.io.Serializable; + +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; + +/** + * Calse JPA MedicalSpecialty, para interactuar con la base de datos. + */ +@Entity +@Table(name = "TestTable") +public class TestTableJPA implements Serializable { + + private static final long serialVersionUID = 1L; + + @Id + private String name; + private String description; + + /** + * Class constructor methods + */ + public TestTableJPA() { + super(); + } + + public TestTableJPA(String name, String description) { + this.name = name; + this.description = description; + } + + @Id + 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; + } +} diff --git a/1.sources/MyHealth/src/log4j.properties b/1.sources/MyHealth/src/log4j.properties new file mode 100644 index 0000000..9ba1099 --- /dev/null +++ b/1.sources/MyHealth/src/log4j.properties @@ -0,0 +1,15 @@ +### direct log messages to stdout ### +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.Target=System.out +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n + +### direct messages to file hibernate.log ### +#log4j.appender.file=org.apache.log4j.FileAppender +#log4j.appender.file.File=hibernate.log +#log4j.appender.file.layout=org.apache.log4j.PatternLayout +#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n + +### set log levels - for more verbose logging change 'info' to 'debug' ### + +log4j.rootLogger= info, stdout diff --git a/1.sources/MyHealth/src/managedbean/medicalTest/MedicalTestMBean.java b/1.sources/MyHealth/src/managedbean/medicalTest/MedicalTestMBean.java new file mode 100644 index 0000000..d601661 --- /dev/null +++ b/1.sources/MyHealth/src/managedbean/medicalTest/MedicalTestMBean.java @@ -0,0 +1,51 @@ +package managedbean.medicalTest; + +import java.io.Serializable; +import java.util.Properties; + +import javax.ejb.EJB; +import javax.faces.bean.ManagedBean; +import javax.faces.bean.SessionScoped; +import javax.naming.Context; +import javax.naming.InitialContext; + +import ejb.medicalTest.MedicalTestFacadeRemote; + +/** + * ManagedBEan que gestiona la edición y actualización de una especialidad + * médica. + * + * @author mark + * + */ +@ManagedBean(name = "MedicalTestMBean") +@SessionScoped +public class MedicalTestMBean implements Serializable { + + private static final long serialVersionUID = 1L; + + @EJB + private MedicalTestFacadeRemote remoteManager; + + /** + * Constructor. Inicializa la conexión con el EJB Remoto + * + * @throws Exception + */ + public MedicalTestMBean() throws Exception { + initializeAdminFacadeRemote(); + } + + /** + * Inicializa la conexión con el EJB Remoto + * + * @throws Exception + */ + private void initializeAdminFacadeRemote() throws Exception { + Properties props = System.getProperties(); + Context ctx = new InitialContext(props); + remoteManager = (MedicalTestFacadeRemote) ctx + .lookup("java:app/myHealth.jar/MedicalTestFacadeBean!ejb.component.MedicalTestFacadeRemote"); + } + +} diff --git a/1.sources/MyHealth/src/managedbean/profile/ProfileMBean.java b/1.sources/MyHealth/src/managedbean/profile/ProfileMBean.java new file mode 100644 index 0000000..370dce1 --- /dev/null +++ b/1.sources/MyHealth/src/managedbean/profile/ProfileMBean.java @@ -0,0 +1,51 @@ +package managedbean.profile; + +import java.io.Serializable; +import java.util.Properties; + +import javax.ejb.EJB; +import javax.faces.bean.ManagedBean; +import javax.faces.bean.SessionScoped; +import javax.naming.Context; +import javax.naming.InitialContext; + +import ejb.profile.ProfileFacadeRemote; + +/** + * ManagedBEan que gestiona la edición y actualización de una especialidad + * médica. + * + * @author mark + * + */ +@ManagedBean(name = "ManagedBeanName") +@SessionScoped +public class ProfileMBean implements Serializable { + + private static final long serialVersionUID = 1L; + + @EJB + private ProfileFacadeRemote remoteManager; + + /** + * Constructor. Inicializa la conexión con el EJB Remoto + * + * @throws Exception + */ + public ProfileMBean() throws Exception { + initializeAdminFacadeRemote(); + } + + /** + * Inicializa la conexión con el EJB Remoto + * + * @throws Exception + */ + private void initializeAdminFacadeRemote() throws Exception { + Properties props = System.getProperties(); + Context ctx = new InitialContext(props); + remoteManager = (ProfileFacadeRemote) ctx + .lookup("java:app/myHealth.jar/ProfileFacadeBean!ejb.component.ProfileFacadeRemote"); + } + +} diff --git a/1.sources/MyHealth/src/managedbean/systemAdmin/Login.java b/1.sources/MyHealth/src/managedbean/systemAdmin/Login.java new file mode 100644 index 0000000..a0c933e --- /dev/null +++ b/1.sources/MyHealth/src/managedbean/systemAdmin/Login.java @@ -0,0 +1,68 @@ +package managedbean.systemAdmin; + +import java.io.Serializable; + +import javax.faces.application.FacesMessage; +import javax.faces.bean.ManagedBean; +import javax.faces.bean.SessionScoped; +import javax.faces.context.FacesContext; +import javax.servlet.http.HttpSession; + +import common.SessionUtils; + +@ManagedBean +@SessionScoped +public class Login implements Serializable { + + private static final long serialVersionUID = 1094801825228386363L; + + private String Password; + private String msg; + private String userName; + + public String getPassword() { + return Password; + } + + public void setPassword(String pwd) { + this.Password = pwd; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public String getuserName() { + return userName; + } + + public void setuserName(String user) { + this.userName = user; + } + + // validate login + public String validateUsernamePassword() { + // TODO: Validar login + boolean valid = true; + if (valid) { + HttpSession session = SessionUtils.getSession(); + session.setAttribute("username", userName); + return "home"; + } else { + FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN, + "Usuario o contraseña incorrecta", "Por favor, intentalo de nuevo")); + return "login"; + } + } + + // logout event, invalidate session + public String logout() { + HttpSession session = SessionUtils.getSession(); + session.invalidate(); + return "home"; + } +} diff --git a/1.sources/MyHealth/src/managedbean/systemAdmin/SystemAdminMBean.java b/1.sources/MyHealth/src/managedbean/systemAdmin/SystemAdminMBean.java new file mode 100644 index 0000000..3432a49 --- /dev/null +++ b/1.sources/MyHealth/src/managedbean/systemAdmin/SystemAdminMBean.java @@ -0,0 +1,51 @@ +package managedbean.systemAdmin; + +import java.io.Serializable; +import java.util.Properties; + +import javax.ejb.EJB; +import javax.faces.bean.ManagedBean; +import javax.faces.bean.SessionScoped; +import javax.naming.Context; +import javax.naming.InitialContext; + +import ejb.systemAdmin.SystemAdminFacadeRemote; + +/** + * ManagedBEan que gestiona la edición y actualización de una especialidad + * médica. + * + * @author mark + * + */ +@ManagedBean(name = "SystemAdminMBean") +@SessionScoped +public class SystemAdminMBean implements Serializable { + + private static final long serialVersionUID = 1L; + + @EJB + private SystemAdminFacadeRemote remoteManager; + + /** + * Constructor. Inicializa la conexión con el EJB Remoto + * + * @throws Exception + */ + public SystemAdminMBean() throws Exception { + initializeAdminFacadeRemote(); + } + + /** + * Inicializa la conexión con el EJB Remoto + * + * @throws Exception + */ + private void initializeAdminFacadeRemote() throws Exception { + Properties props = System.getProperties(); + Context ctx = new InitialContext(props); + remoteManager = (SystemAdminFacadeRemote) ctx + .lookup("java:app/myHealth.jar/ClassFacadeBean!ejb.component.SystemAdminFacadeRemote"); + } + +} diff --git a/1.sources/MyHealth/src/managedbean/visit/VisitMBean.java b/1.sources/MyHealth/src/managedbean/visit/VisitMBean.java new file mode 100644 index 0000000..26bff4e --- /dev/null +++ b/1.sources/MyHealth/src/managedbean/visit/VisitMBean.java @@ -0,0 +1,51 @@ +package managedbean.visit; + +import java.io.Serializable; +import java.util.Properties; + +import javax.ejb.EJB; +import javax.faces.bean.ManagedBean; +import javax.faces.bean.SessionScoped; +import javax.naming.Context; +import javax.naming.InitialContext; + +import ejb.visit.VisitFacadeRemote; + +/** + * ManagedBEan que gestiona la edición y actualización de una especialidad + * médica. + * + * @author mark + * + */ +@ManagedBean(name = "SystemAdminMBean") +@SessionScoped +public class VisitMBean implements Serializable { + + private static final long serialVersionUID = 1L; + + @EJB + private VisitFacadeRemote remoteManager; + + /** + * Constructor. Inicializa la conexión con el EJB Remoto + * + * @throws Exception + */ + public VisitMBean() throws Exception { + initializeAdminFacadeRemote(); + } + + /** + * Inicializa la conexión con el EJB Remoto + * + * @throws Exception + */ + private void initializeAdminFacadeRemote() throws Exception { + Properties props = System.getProperties(); + Context ctx = new InitialContext(props); + remoteManager = (VisitFacadeRemote) ctx + .lookup("java:app/myHealth.jar/ClassFacadeBean!ejb.component.VisitFacadeRemote"); + } + +}