Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0
Section
borderfalse
Column
width15%
Include Page
TUSCANY: SDO Java Subproject MenuTUSCANY:
SDO Java Subproject Menu
{panel:title=How to get involved in development of Java SDO? |borderStyle=solid|borderColor=#C3CDA1|titleBGColor=#C3CDA1|bgColor=#ECF4D1} This document is the development guideline for SDO Java project. * [General Guide|#General Guide] * [Getting Source code and Setting Development Environment|#Getting Source and Setup] * [Coding Guidelines|#Coding Guidelines] * [Testing|#Testing] * [Maven Build Structure|#Maven Build Structure] * [Reporting Issues and Providing patches|#Providing patches] \\   {panel} h3. {anchor:General Guide}

Column
width85%
Panel
borderColor#C3CDA1
bgColor#ECF4D1
titleBGColor#C3CDA1
titleHow to get involved in development of Java SDO?
borderStylesolid

This document is the development guideline for SDO Java project.


 

Wiki Markup
Anchor
General Guide
General Guide
Wiki Markup

{bgcolor:#C3CDA1}General Guide{bgcolor}

Welcome

to

the

Tuscany

SDO

Java

subproject.

We

look

forward

to

your

participation

and

try

to

help

you

get

on

board.

Feel

free

to

ask

your

questions

on

the

mailing

list.

Here

are

some

general

guidelines

we

use

in

this

project.

*

  • Java
  • SDO
  • sub-project
  • aims
  • to
  • provide
  • uniform
  • access
  • to
  • data
  • from
  • heterogeneous
  • sources
  • which
  • could
  • be
  • XML,
  • RDB,
  • POJO,
  • SOAP,
  • etc.
*
  • Tuscany
  • Java
  • SDO
  • is
  • not
  • just
  • a
  • reference
  • implementation.
  • We
  • encourage
  • innovation
  • based
  • on
  • the
  • tenets
  • of
  • SDO.
  • A
  • lot
  • of
  • work
  • we
  • do
  • provides
  • feedback
  • to
  • the
  • specifications.
*
  • SDO
  • provides
  • both
  • a
  • static
  • (or
  • strongly
  • typed)
  • programming
  • model
  • and
  • a
  • dynamic
  • (or
  • loosely
  • typed)
  • programming
  • model.
  • This
  • provides
  • a
  • simple
  • programming
  • model
  • without
  • sacrificing
  • the
  • dynamic
  • model
  • needed
  • by
  • tools
  • and
  • frameworks.
*
  • It
  • supports
  • a
  • disconnected
  • model
  • and
  • provides
  • Meta-data
  • for
  • easy
  • introspection
  • of
  • data
  • types.
h3. {anchor:Getting Source and Setup}

Anchor
Getting Source and Setup
Getting Source and Setup
Wiki Markup
{bgcolor:#C3CDA1}Getting Source code and Setting Development Environment{bgcolor}

The

Java

SDO

project

Subversion

repository

is

located

at

[

https://svn.apache.org/repos/asf/incubator/tuscany/java/sdo

]

.


The

repository

can

also

be

viewed

online

at

[

http://svn.apache.org/viewvc/incubator/tuscany/java/

]

Anyone

can

check

code

out

of

Subversion.

You

only

need

to

specify

a

username

and

password

in

order

to

update

the

Subversion

repository,

and

only

Tuscany

committers

have

the

permissions

to

do

so.

h4.

Checking

out

code

from

Subversion

Use

the

command

as

follows

(note

that

it

uses

http

scheme

so

if

you're

a

committer

change

it

to

https):

{
Code Block
}
svn checkout http://svn.apache.org/repos/asf/incubator/tuscany/java/sdo
{code}

h4. Committing Changes to Subversion

Any Tuscany committer should have a shell account on 

Committing Changes to Subversion

Any Tuscany committer should have a shell account on svn.apache.org.

Before

you

can

commit,

you'll

need

to

set

a

Subversion

password

for

yourself.

To

do

that,

log

in

to

svn.apache.org

and

run

the

command

svnpasswd.

Once

your

password

is

set,

you

can

use

a

command

like

this

to

commit:

{
Code Block
}
svn commit
{code}

If

Subversion

can't

figure

out

your

username,

you

can

tell

it

explicitly:

{
Code Block
}
svn --username <name> commit
{code}

Subversion

will

prompt

you

for

a

password,

and

once

you've

entered

it,

it

will

remember

it

for

you.

Note

this

is

the

password

you

configured

with

svnpasswd

not

your

shell

or

other

password.

For

more

details

check

[

Getting

Source

|http://cwiki.apache.org/TUSCANY/getting-source.html]

.

Also

for

setup

details

check

[

Establishing

a

Development

Environment

|http://cwiki

.

apache.org/TUSCANY/set-up-sdo-development-environment.html].

Reference

the

code

structure

at

[

SDO

Project

Code

Structure

|http://cwiki.apache.org/TUSCANY/sdo-project-code-structure.html]. h3. {anchor:Coding Guidelines}{

.

Anchor
Coding Guidelines
Coding Guidelines
Wiki Markup
{bgcolor:#C3CDA1}Coding Guidelines{bgcolor}

There

are

a

few

simple

guidelines

when

developing

for

JAVA

SDO:

*

  • The
  • basic
  • coding
  • style
  • used
  • is
  • described
  • at
[ |http://java.sun.com/docs/codeconv/]
  • but
  • the
  • main
  • thing
  • is
  • to
  • be
  • consistent
  • with
  • the
  • existing
  • code
  • you're
  • updating,
  • so
  • for
  • example,
  • if
  • you're
  • updating
  • a
  • method
  • that
  • uses
  • the
  • braces
  • on
  • the
  • same
  • line
  • style
  • don't
  • add
  • code
  • with
  • the
  • hanging
  • braces
  • style.
*
  • Always
  • include
  • the
  • Apache
  • License
  • Headers
  • on
  • all
  • files
  • (both
  • source
  • code
  • files
  • and
  • resource
  • files
  • such
  • as
  • xml
  • documents)
*
  • Include
  • a
  • descriptive
  • log
  • message
  • for
  • check-ins,
  • for
  • example
  • "fixed
  • such
  • and
  • such
  • problem".
h4.

Naming

conventions

to

increase

consistency

*

Folder

Names:

*

Please

use

all

lowercases

and

dashes

in

folder

names

(like

in

the

jar

names)

-

  • Maven
  • artifact
  • id
  • =
  • tuscany-<folder
  • name>
*

Package

names:

*

Package

names

within

modules

should

include

the

module

name

so

that

source

code

can

be

located

in

the

source

tree

easily.

h3. {anchor:Testing}

Anchor
Testing
Testing
Wiki Markup
{bgcolor:#C3CDA1}Testing{bgcolor}

Tuscany

uses

plain

junit

test

cases

to

perform

unit

and

integration

testing.

You

can

check

[

Test

Cases

|https://svn.apache.org/repos/asf/incubator/tuscany/java/sdo/impl/src/test/]

for

some

examples.

(on) Note that we use surefire maven plugin to run the unit and integration tests, and in most cases, they are configured to match a \

(lightbulb) Note that we use surefire maven plugin to run the unit and integration tests, and in most cases, they are configured to match a **/*TestCase.java

file

name

pattern.

Because

of

this,

if

your

test

case

has

a

different

file

name

pattern,

you

might

execute

it

from

your

IDE

of

choice,

but

the

maven

build

won't

execute

the

test.

h3. {anchor:Maven Build Structure}

Anchor
Maven Build Structure
Maven Build Structure
Wiki Markup
{bgcolor:#C3CDA1}Maven Build Structure{bgcolor}

_

We

use

the

term

Module

to

refer

to

the

leaf

of

maven

tree.

_ *

  • All
  • poms
  • will
  • use
  • the
  • pom
  • from
  • the
  • parent
  • folder
  • as
  • parent
  • pom
*
  • Group
  • id:
  • org.apache.tuscany.sdo
*
  • Version
  • of
  • our
  • modules
  • will
  • be
  • specified
  • once
  • in
  • java/sdo/pom.xml,
  • child
  • poms
  • don't
  • need
  • to
  • specify
  • a
  • version
  • as
  • they
  • get
  • it
  • from
  • their
  • parent
*
  • pom
  • names
  • begin
  • Apache
  • Tuscany
  • SDO
*
  • Eclipse
  • projects
  • are
  • generated
  • for
  • all
  • built
  • modules
  • using
  • mvn
\
  • -Peclipse
  • eclipse:eclipse
h3. {anchor:Providing patches}

Anchor
Providing patches
Providing patches
Wiki Markup
{bgcolor:#C3CDA1}Reporting issues and providing patches{bgcolor}

You

are

very

welcome

to

help

us

develop

Tuscany

SDO

Java.

You

may

have

ideas

that

you

want

to

pursue

yourself

or

you

may

wish

to

pitch

in

with

the

design,

coding

and

documentation.

If

it's

the

first

of

these

two

then

please

put

forward

your

suggestions

on

the

[

development

mailing

list

|mailto:tuscany-dev@ws.apache

.

org].

If

it's

the

latter,

then

feel

free

to

ask

on

the

[

mailing

|mailto:tuscany-dev@ws.apache.org]

list

or

browse

the

issue

tracking.

{include: Found a Bug Section} {HTMLcomment

Include Page
Found a Bug Section
Found a Bug Section

Wiki Markup
{htmlcomment:hidden}{children:sort=creation}{

HTMLcomment

htmlcomment}