Chiamare Java con JRuby


#1

Buon giorno,
in questi mesi sono impegnato nella gestione di un progetto
universitario per la Creazione di un sito di gestione annunci…

Ho qualche problema nel comprendere se la mia impostazione è corretta
per l’esecuzione delle varie operazioni.

Dopo aver scritto il codice Java, ed esportando il codice Jar creo il
mio progetto JRuby.

Utilizzo la versione agg. Jruby --version 1.8.6
Rails – version 2.3.2
mongrel Versions: 1.1.5
jdbc-mysql Version: 5.0.4

La mia idea è quella di utilizzare la parte java per realizzare ogni
operazione con JRuby.

Il progetto in Java è stato realizzato con la libreria
Driver JDBC Mysql -mysql- connector-java-5.1.6-bin.jar
E quì sorgono i dubbi… le due versioni devono esser uguali ???
la mia risposta: che per me non serve quell’impostazione visto che
utilizzo le varie classi che funzionano in Java.

Realizzato un PostManagement dove al suo interno ha il metodo addPost()
Questo metodo richiede un’instanza di PostInformation che è un’altra
classe con tutta la sfilza di set per il Post, si connette ed aggiunge a
Db_mysql

Ho settato il file enviroment.rb del contenuto della folder Controller
require ‘rubygems’
gem ‘activerecord-jdbc-adapter’

require ‘jdbc_adapter’, perchè lo esegue il Java

include Java

config.frameworks -= [ :active_record ]

Dir["#{RAILS_ROOT}/lib/**/*.jar"].each do |jarfile|
require jarfile
end

Poi ho creato il controller***************************************

def PostController < ApplicationController

def create
@post_info = PostInformation.new

inserimento dati manualmente

post_info.setTitle(params[:title])
post_info.setDescription(params[:description])

@post_mgm = PostManagement.new
post_mgm.addPost(post_info)

respond_to do |format|

  if post_mgm.addPost(post_info)
    flash[:notice] = 'Post creato con successo.'
    format.html { redirect_to(@post) }
    format.xml  { render :xml => @post, :status => :created,

:location => @post }
else
format.html { render :action => “new” }
format.xml { render :xml => @post.errors, :status =>
:unprocessable_entity }
end
end
end

def new
@post = post_mgm.addPost(post_info)
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @post }
end
end


Model

class Post

questo serve o è giusto per comunicare con la view

def title
@post_info = PostInformation.new
@title = post_info.setTitle(" ")
end

end


view

New post

<% form_tag :controller => ‘posts’, :active => ‘create’ do %>

<%= label_tag :title %>
<%= text_field_tag :title %>

<%= label_tag :description %>
<%= text_area_tag :description %>

<%= submit_tag 'Create' %>

<% end %>

<%= link_to ‘Back’, posts_path %>

Grazie Mille, è corretto questo inserimento
Daniel