Compare commits
No commits in common. "10a18487095a712efd8888a3263c4a58bf180aae" and "17d25bfe0f28296c2a206bf9f89963bff1b43eb3" have entirely different histories.
10a1848709
...
17d25bfe0f
13
CVSROOT/checkoutlist
Executable file
13
CVSROOT/checkoutlist
Executable file
@ -0,0 +1,13 @@
|
|||||||
|
# The "checkoutlist" file is used to support additional version controlled
|
||||||
|
# administrative files in $CVSROOT/CVSROOT, such as template files.
|
||||||
|
#
|
||||||
|
# The first entry on a line is a filename which will be checked out from
|
||||||
|
# the corresponding RCS file in the $CVSROOT/CVSROOT directory.
|
||||||
|
# The remainder of the line is an error message to use if the file cannot
|
||||||
|
# be checked out.
|
||||||
|
#
|
||||||
|
# File format:
|
||||||
|
#
|
||||||
|
# [<whitespace>]<filename>[<whitespace><error message>]<end-of-line>
|
||||||
|
#
|
||||||
|
# comment lines begin with '#'
|
15
CVSROOT/commitinfo
Executable file
15
CVSROOT/commitinfo
Executable file
@ -0,0 +1,15 @@
|
|||||||
|
# The "commitinfo" file is used to control pre-commit checks.
|
||||||
|
# The filter on the right is invoked with the repository and a list
|
||||||
|
# of files to check. A non-zero exit of the filter program will
|
||||||
|
# cause the commit to be aborted.
|
||||||
|
#
|
||||||
|
# The first entry on a line is a regular expression which is tested
|
||||||
|
# against the directory that the change is being committed to, relative
|
||||||
|
# to the $CVSROOT. For the first match that is found, then the remainder
|
||||||
|
# of the line is the name of the filter to run.
|
||||||
|
#
|
||||||
|
# If the repository name does not match any of the regular expressions in this
|
||||||
|
# file, the "DEFAULT" line is used, if it is specified.
|
||||||
|
#
|
||||||
|
# If the name "ALL" appears as a regular expression it is always used
|
||||||
|
# in addition to the first matching regex or "DEFAULT".
|
21
CVSROOT/config
Executable file
21
CVSROOT/config
Executable file
@ -0,0 +1,21 @@
|
|||||||
|
# Set this to "no" if pserver shouldn't check system users/passwords
|
||||||
|
#SystemAuth=no
|
||||||
|
|
||||||
|
# Put CVS lock files in this directory rather than directly in the repository.
|
||||||
|
#LockDir=/var/lock/cvs
|
||||||
|
|
||||||
|
# Set `TopLevelAdmin' to `yes' to create a CVS directory at the top
|
||||||
|
# level of the new working directory when using the `cvs checkout'
|
||||||
|
# command.
|
||||||
|
#TopLevelAdmin=no
|
||||||
|
|
||||||
|
# Set `LogHistory' to `all' or `TOEFWUPCGMAR' to log all transactions to the
|
||||||
|
# history file, or a subset as needed (ie `TMAR' logs all write operations)
|
||||||
|
#LogHistory=TOEFWUPCGMAR
|
||||||
|
|
||||||
|
# Set `RereadLogAfterVerify' to `always' (the default) to allow the verifymsg
|
||||||
|
# script to change the log message. Set it to `stat' to force CVS to verify# that the file has changed before reading it (this can take up to an extra
|
||||||
|
# second per directory being committed, so it is not recommended for large
|
||||||
|
# repositories. Set it to `never' (the previous CVS behavior) to prevent
|
||||||
|
# verifymsg scripts from changing the log message.
|
||||||
|
#RereadLogAfterVerify=always
|
19
CVSROOT/cvswrappers
Executable file
19
CVSROOT/cvswrappers
Executable file
@ -0,0 +1,19 @@
|
|||||||
|
# This file affects handling of files based on their names.
|
||||||
|
#
|
||||||
|
# The -m option specifies whether CVS attempts to merge files.
|
||||||
|
#
|
||||||
|
# The -k option specifies keyword expansion (e.g. -kb for binary).
|
||||||
|
#
|
||||||
|
# Format of wrapper file ($CVSROOT/CVSROOT/cvswrappers or .cvswrappers)
|
||||||
|
#
|
||||||
|
# wildcard [option value][option value]...
|
||||||
|
#
|
||||||
|
# where option is one of
|
||||||
|
# -f from cvs filter value: path to filter
|
||||||
|
# -t to cvs filter value: path to filter
|
||||||
|
# -m update methodology value: MERGE or COPY
|
||||||
|
# -k expansion mode value: b, o, kkv, &c
|
||||||
|
#
|
||||||
|
# and value is a single-quote delimited value.
|
||||||
|
# For example:
|
||||||
|
#*.gif -k 'b'
|
21
CVSROOT/editinfo
Executable file
21
CVSROOT/editinfo
Executable file
@ -0,0 +1,21 @@
|
|||||||
|
# The "editinfo" file is used to allow verification of logging
|
||||||
|
# information. It works best when a template (as specified in the
|
||||||
|
# rcsinfo file) is provided for the logging procedure. Given a
|
||||||
|
# template with locations for, a bug-id number, a list of people who
|
||||||
|
# reviewed the code before it can be checked in, and an external
|
||||||
|
# process to catalog the differences that were code reviewed, the
|
||||||
|
# following test can be applied to the code:
|
||||||
|
#
|
||||||
|
# Making sure that the entered bug-id number is correct.
|
||||||
|
# Validating that the code that was reviewed is indeed the code being
|
||||||
|
# checked in (using the bug-id number or a seperate review
|
||||||
|
# number to identify this particular code set.).
|
||||||
|
#
|
||||||
|
# If any of the above test failed, then the commit would be aborted.
|
||||||
|
#
|
||||||
|
# Actions such as mailing a copy of the report to each reviewer are
|
||||||
|
# better handled by an entry in the loginfo file.
|
||||||
|
#
|
||||||
|
# One thing that should be noted is the the ALL keyword is not
|
||||||
|
# supported. There can be only one entry that matches a given
|
||||||
|
# repository.
|
27
CVSROOT/loginfo
Executable file
27
CVSROOT/loginfo
Executable file
@ -0,0 +1,27 @@
|
|||||||
|
# The "loginfo" file controls where "cvs commit" log information
|
||||||
|
# is sent. The first entry on a line is a regular expression which must match
|
||||||
|
# the directory that the change is being made to, relative to the
|
||||||
|
# $CVSROOT. If a match is found, then the remainder of the line is a filter
|
||||||
|
# program that should expect log information on its standard input.
|
||||||
|
#
|
||||||
|
# If the repository name does not match any of the regular expressions in this
|
||||||
|
# file, the "DEFAULT" line is used, if it is specified.
|
||||||
|
#
|
||||||
|
# If the name ALL appears as a regular expression it is always used
|
||||||
|
# in addition to the first matching regex or DEFAULT.
|
||||||
|
#
|
||||||
|
# You may specify a format string as part of the
|
||||||
|
# filter. The string is composed of a `%' followed
|
||||||
|
# by a single format character, or followed by a set of format
|
||||||
|
# characters surrounded by `{' and `}' as separators. The format
|
||||||
|
# characters are:
|
||||||
|
#
|
||||||
|
# s = file name
|
||||||
|
# V = old version number (pre-checkin)
|
||||||
|
# v = new version number (post-checkin)
|
||||||
|
# t = tag or branch name
|
||||||
|
#
|
||||||
|
# For example:
|
||||||
|
#DEFAULT (echo ""; id; echo %s; date; cat) >> $CVSROOT/CVSROOT/commitlog
|
||||||
|
# or
|
||||||
|
#DEFAULT (echo ""; id; echo %{sVv}; date; cat) >> $CVSROOT/CVSROOT/commitlog
|
26
CVSROOT/modules
Executable file
26
CVSROOT/modules
Executable file
@ -0,0 +1,26 @@
|
|||||||
|
# Three different line formats are valid:
|
||||||
|
# key -a aliases...
|
||||||
|
# key [options] directory
|
||||||
|
# key [options] directory files...
|
||||||
|
#
|
||||||
|
# Where "options" are composed of:
|
||||||
|
# -i prog Run "prog" on "cvs commit" from top-level of module.
|
||||||
|
# -o prog Run "prog" on "cvs checkout" of module.
|
||||||
|
# -e prog Run "prog" on "cvs export" of module.
|
||||||
|
# -t prog Run "prog" on "cvs rtag" of module.
|
||||||
|
# -u prog Run "prog" on "cvs update" of module.
|
||||||
|
# -d dir Place module in directory "dir" instead of module name.
|
||||||
|
# -l Top-level directory only -- do not recurse.
|
||||||
|
#
|
||||||
|
# NOTE: If you change any of the "Run" options above, you'll have to
|
||||||
|
# release and re-checkout any working directories of these modules.
|
||||||
|
#
|
||||||
|
# And "directory" is a path to a directory relative to $CVSROOT.
|
||||||
|
#
|
||||||
|
# The "-a" option specifies an alias. An alias is interpreted as if
|
||||||
|
# everything on the right of the "-a" had been typed on the command line.
|
||||||
|
#
|
||||||
|
# You can encode a module within a module by using the special '&'
|
||||||
|
# character to interpose another module into the current module. This
|
||||||
|
# can be useful for creating a module that consists of many directories
|
||||||
|
# spread out over the entire source repository.
|
12
CVSROOT/notify
Executable file
12
CVSROOT/notify
Executable file
@ -0,0 +1,12 @@
|
|||||||
|
# The "notify" file controls where notifications from watches set by
|
||||||
|
# "cvs watch add" or "cvs edit" are sent. The first entry on a line is
|
||||||
|
# a regular expression which is tested against the directory that the
|
||||||
|
# change is being made to, relative to the $CVSROOT. If it matches,
|
||||||
|
# then the remainder of the line is a filter program that should contain
|
||||||
|
# one occurrence of %s for the user to notify, and information on its
|
||||||
|
# standard input.
|
||||||
|
#
|
||||||
|
# "ALL" or "DEFAULT" can be used in place of the regular expression.
|
||||||
|
#
|
||||||
|
# For example:
|
||||||
|
#ALL mail -s "CVS notification" %s
|
13
CVSROOT/rcsinfo
Executable file
13
CVSROOT/rcsinfo
Executable file
@ -0,0 +1,13 @@
|
|||||||
|
# The "rcsinfo" file is used to control templates with which the editor
|
||||||
|
# is invoked on commit and import.
|
||||||
|
#
|
||||||
|
# The first entry on a line is a regular expression which is tested
|
||||||
|
# against the directory that the change is being made to, relative to the
|
||||||
|
# $CVSROOT. For the first match that is found, then the remainder of the
|
||||||
|
# line is the name of the file that contains the template.
|
||||||
|
#
|
||||||
|
# If the repository name does not match any of the regular expressions in this
|
||||||
|
# file, the "DEFAULT" line is used, if it is specified.
|
||||||
|
#
|
||||||
|
# If the name "ALL" appears as a regular expression it is always used
|
||||||
|
# in addition to the first matching regex or "DEFAULT".
|
20
CVSROOT/taginfo
Executable file
20
CVSROOT/taginfo
Executable file
@ -0,0 +1,20 @@
|
|||||||
|
# The "taginfo" file is used to control pre-tag checks.
|
||||||
|
# The filter on the right is invoked with the following arguments:
|
||||||
|
#
|
||||||
|
# $1 -- tagname
|
||||||
|
# $2 -- operation "add" for tag, "mov" for tag -F, and "del" for tag -d
|
||||||
|
# $3 -- repository
|
||||||
|
# $4-> file revision [file revision ...]
|
||||||
|
#
|
||||||
|
# A non-zero exit of the filter program will cause the tag to be aborted.
|
||||||
|
#
|
||||||
|
# The first entry on a line is a regular expression which is tested
|
||||||
|
# against the directory that the change is being committed to, relative
|
||||||
|
# to the $CVSROOT. For the first match that is found, then the remainder
|
||||||
|
# of the line is the name of the filter to run.
|
||||||
|
#
|
||||||
|
# If the repository name does not match any of the regular expressions in this
|
||||||
|
# file, the "DEFAULT" line is used, if it is specified.
|
||||||
|
#
|
||||||
|
# If the name "ALL" appears as a regular expression it is always used
|
||||||
|
# in addition to the first matching regex or "DEFAULT".
|
21
CVSROOT/verifymsg
Executable file
21
CVSROOT/verifymsg
Executable file
@ -0,0 +1,21 @@
|
|||||||
|
# The "verifymsg" file is used to allow verification of logging
|
||||||
|
# information. It works best when a template (as specified in the
|
||||||
|
# rcsinfo file) is provided for the logging procedure. Given a
|
||||||
|
# template with locations for, a bug-id number, a list of people who
|
||||||
|
# reviewed the code before it can be checked in, and an external
|
||||||
|
# process to catalog the differences that were code reviewed, the
|
||||||
|
# following test can be applied to the code:
|
||||||
|
#
|
||||||
|
# Making sure that the entered bug-id number is correct.
|
||||||
|
# Validating that the code that was reviewed is indeed the code being
|
||||||
|
# checked in (using the bug-id number or a seperate review
|
||||||
|
# number to identify this particular code set.).
|
||||||
|
#
|
||||||
|
# If any of the above test failed, then the commit would be aborted.
|
||||||
|
#
|
||||||
|
# Actions such as mailing a copy of the report to each reviewer are
|
||||||
|
# better handled by an entry in the loginfo file.
|
||||||
|
#
|
||||||
|
# One thing that should be noted is the the ALL keyword is not
|
||||||
|
# supported. There can be only one entry that matches a given
|
||||||
|
# repository.
|
@ -1,8 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<feature
|
<feature
|
||||||
id="pyUML-experimental"
|
id="pyUML"
|
||||||
label="PyUML Feature (Experimental)"
|
label="PyUML Feature"
|
||||||
version="1.2.2"
|
version="1.2.1"
|
||||||
provider-name="Freie University Berlin, Germany, Martin Dittmar">
|
provider-name="Freie University Berlin, Germany, Martin Dittmar">
|
||||||
|
|
||||||
<description url="http://www.example.com/description">
|
<description url="http://www.example.com/description">
|
||||||
@ -104,6 +104,7 @@ This Agreement is governed by the laws of the State of New York and the intellec
|
|||||||
</license>
|
</license>
|
||||||
|
|
||||||
<requires>
|
<requires>
|
||||||
|
<import feature="org.python.pydev.feature" version="1.4.6" match="greaterOrEqual"/>
|
||||||
<import plugin="org.eclipse.core.resources"/>
|
<import plugin="org.eclipse.core.resources"/>
|
||||||
<import plugin="org.eclipse.core.runtime"/>
|
<import plugin="org.eclipse.core.runtime"/>
|
||||||
<import plugin="org.eclipse.jface"/>
|
<import plugin="org.eclipse.jface"/>
|
||||||
@ -118,17 +119,16 @@ This Agreement is governed by the laws of the State of New York and the intellec
|
|||||||
<import plugin="org.eclipse.gmf.runtime.diagram.ui"/>
|
<import plugin="org.eclipse.gmf.runtime.diagram.ui"/>
|
||||||
<import plugin="org.eclipse.gmf.runtime.diagram.ui.resources.editor"/>
|
<import plugin="org.eclipse.gmf.runtime.diagram.ui.resources.editor"/>
|
||||||
<import plugin="org.python.pydev" version="1.4.6" match="greaterOrEqual"/>
|
<import plugin="org.python.pydev" version="1.4.6" match="greaterOrEqual"/>
|
||||||
<import plugin="org.python.pydev.core"/>
|
<import plugin="org.python.pydev.core" version="1.4.6" match="greaterOrEqual"/>
|
||||||
<import plugin="org.python.pydev.parser"/>
|
<import plugin="org.python.pydev.parser" version="1.4.6" match="greaterOrEqual"/>
|
||||||
<import plugin="org.eclipse.uml2.diagram.clazz"/>
|
<import plugin="org.eclipse.uml2.diagram.clazz"/>
|
||||||
<import feature="org.python.pydev.feature"/>
|
|
||||||
</requires>
|
</requires>
|
||||||
|
|
||||||
<plugin
|
<plugin
|
||||||
id="pyUml-experimental"
|
id="pyUml"
|
||||||
download-size="0"
|
download-size="541"
|
||||||
install-size="0"
|
install-size="0"
|
||||||
version="0.0.0"
|
version="1.2.1"
|
||||||
unpack="false"/>
|
unpack="false"/>
|
||||||
|
|
||||||
</feature>
|
</feature>
|
||||||
|
@ -5,6 +5,5 @@
|
|||||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||||
<classpathentry kind="lib" path="lib/refactoring.jar"/>
|
<classpathentry kind="lib" path="lib/refactoring.jar"/>
|
||||||
<classpathentry kind="lib" path="/pydev"/>
|
|
||||||
<classpathentry kind="output" path="bin"/>
|
<classpathentry kind="output" path="bin"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
Manifest-Version: 1.0
|
Manifest-Version: 1.0
|
||||||
Bundle-ManifestVersion: 2
|
Bundle-ManifestVersion: 2
|
||||||
Bundle-Name: PyUML (Experimental)
|
Bundle-Name: PyUML
|
||||||
Bundle-SymbolicName: pyUml-experimental;singleton:=true
|
Bundle-SymbolicName: pyUml;singleton:=true
|
||||||
Bundle-Version: 1.2.2
|
Bundle-Version: 1.2.1
|
||||||
Bundle-Activator: pyUML.plugin.Activator
|
Bundle-Activator: pyUML.plugin.Activator
|
||||||
Eclipse-LazyStart: true
|
Eclipse-LazyStart: true
|
||||||
Bundle-ClassPath: lib/refactoring.jar,
|
Bundle-ClassPath: lib/refactoring.jar,
|
||||||
|
@ -1022,81 +1022,81 @@ public class PythonTreeClass extends PythonTreeNode {
|
|||||||
* @return true, if anything was changed, false otherwise
|
* @return true, if anything was changed, false otherwise
|
||||||
*/
|
*/
|
||||||
public boolean fixImports(Classifier modelClass) throws PyUMLSynchronizeCodeException{
|
public boolean fixImports(Classifier modelClass) throws PyUMLSynchronizeCodeException{
|
||||||
// return false; // See issues in FIXME below
|
return false; // See issues in FIXME below
|
||||||
// iterate over all superclasses in project
|
// // iterate over all superclasses in project
|
||||||
Map<String, String> superClassPackages = new HashMap<String, String>();
|
// Map<String, String> superClassPackages = new HashMap<String, String>();
|
||||||
for (PythonTreeClass superClass : this.getModelGeneralizationsInProject(modelClass)) {
|
// for (PythonTreeClass superClass : this.getModelGeneralizationsInProject(modelClass)) {
|
||||||
|
//
|
||||||
// get package structure, e.g. mypackage.subpackage.MyClass
|
// // get package structure, e.g. mypackage.subpackage.MyClass
|
||||||
String packageDef = "";
|
// String packageDef = "";
|
||||||
PythonTreePackage superPackage = superClass.getParent();
|
// PythonTreePackage superPackage = superClass.getParent();
|
||||||
while (superPackage != null && (! (superPackage instanceof PythonTreeRoot))) {
|
// while (superPackage != null && (! (superPackage instanceof PythonTreeRoot))) {
|
||||||
packageDef = superPackage.getName() + "." + packageDef;
|
// packageDef = superPackage.getName() + "." + packageDef;
|
||||||
superPackage = superPackage.getParent();
|
// superPackage = superPackage.getParent();
|
||||||
}
|
// }
|
||||||
String superClassModuleName = superClass.inFile.getName().replace(".py", "");
|
// String superClassModuleName = superClass.inFile.getName().replace(".py", "");
|
||||||
packageDef += superClassModuleName;
|
// packageDef += superClassModuleName;
|
||||||
superClassPackages.put(superClass.getName(), packageDef);
|
// superClassPackages.put(superClass.getName(), packageDef);
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
// find import statements in code
|
// // find import statements in code
|
||||||
// suppose, that all import statements are at the beginning of the
|
// // suppose, that all import statements are at the beginning of the
|
||||||
// file, only white or comment lines can be above them.
|
// // file, only white or comment lines can be above them.
|
||||||
String[] fileContent = this.inFile.getFileContent().split("\n");
|
// String[] fileContent = this.inFile.getFileContent().split("\n");
|
||||||
int lineNo = 0;
|
// int lineNo = 0;
|
||||||
String line = "";
|
// String line = "";
|
||||||
if (superClassPackages.size() > 0) {
|
// if (superClassPackages.size() > 0) {
|
||||||
do {
|
// do {
|
||||||
line = fileContent[lineNo];
|
// line = fileContent[lineNo];
|
||||||
String[] importParts = getImport(line);
|
// String[] importParts = getImport(line);
|
||||||
if (importParts != null){
|
// if (importParts != null){
|
||||||
String className = importParts[0];
|
// String className = importParts[0];
|
||||||
String packageDef = importParts[1];
|
// String packageDef = importParts[1];
|
||||||
String comment = importParts[2];
|
// String comment = importParts[2];
|
||||||
// if class is imported, but package changed -> rewrite line!
|
// // if class is imported, but package changed -> rewrite line!
|
||||||
// FIXME: This is messed up since an import may be done without a "from" statement;
|
// // FIXME: This is messed up since an import may be done without a "from" statement;
|
||||||
// it might look like "import mypackage" and refer to it by "mypackage.MyClass"
|
// // it might look like "import mypackage" and refer to it by "mypackage.MyClass"
|
||||||
// or even like "import mypackage.mysubpackage as myalias"...
|
// // or even like "import mypackage.mysubpackage as myalias"...
|
||||||
// therefore I disable import fixing as long as this issue has not been solved
|
// // therefore I disable import fixing as long as this issue has not been solved
|
||||||
// by Jakob
|
// // by Jakob
|
||||||
if (superClassPackages.containsKey(className) &&
|
// if (superClassPackages.containsKey(className) &&
|
||||||
( ! packageDef.equals(superClassPackages.get(className)))) {
|
// ( ! packageDef.equals(superClassPackages.get(className)))) {
|
||||||
String newString = "from " + superClassPackages.get(className) + " import " + className + comment;
|
// String newString = "from " + superClassPackages.get(className) + " import " + className + comment;
|
||||||
FileRefactoring.replaceLine(this.inFile, lineNo, newString, true);
|
// FileRefactoring.replaceLine(this.inFile, lineNo, newString, true);
|
||||||
this.setChanged(null, lineNo);
|
// this.setChanged(null, lineNo);
|
||||||
return true;
|
// return true;
|
||||||
}
|
// }
|
||||||
if (superClassPackages.containsKey(className) && superClassPackages.get(className).equals(packageDef)) {
|
// if (superClassPackages.containsKey(className) && superClassPackages.get(className).equals(packageDef)) {
|
||||||
// line is OK -> remove them from new-import-to-insert-list
|
// // line is OK -> remove them from new-import-to-insert-list
|
||||||
superClassPackages.remove(className);
|
// superClassPackages.remove(className);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
lineNo ++;
|
// lineNo ++;
|
||||||
} while(line.matches("[\\s]*[#]?") || line.matches("from.*import.*")||line.matches("import.*"));
|
// } while(line.matches("[\\s]*[#]?") || line.matches("from.*import.*")||line.matches("import.*"));
|
||||||
|
//
|
||||||
// now, all lines were analyzed; the needed import, that were not covered
|
// // now, all lines were analyzed; the needed import, that were not covered
|
||||||
// by a line, must be inserted now!
|
// // by a line, must be inserted now!
|
||||||
if (superClassPackages.size() == 0)
|
// if (superClassPackages.size() == 0)
|
||||||
return false;
|
// return false;
|
||||||
|
//
|
||||||
String insertLines = "";
|
// String insertLines = "";
|
||||||
for (String superClassName : superClassPackages.keySet()) {
|
// for (String superClassName : superClassPackages.keySet()) {
|
||||||
String packageLine = superClassPackages.get(superClassName);
|
// String packageLine = superClassPackages.get(superClassName);
|
||||||
insertLines += "from " + packageLine + " import " + superClassName + "\n";
|
// insertLines += "from " + packageLine + " import " + superClassName + "\n";
|
||||||
}
|
// }
|
||||||
// if last line is empty, don't insert new empty line
|
// // if last line is empty, don't insert new empty line
|
||||||
if (lineNo == 1)
|
// if (lineNo == 1)
|
||||||
// no empty lines are in fron of the insertion -> insert empty line
|
// // no empty lines are in fron of the insertion -> insert empty line
|
||||||
insertLines += "\n";
|
// insertLines += "\n";
|
||||||
else if (line.length() > 0 && (! fileContent[lineNo-2].matches("^[\\s]*$"))) {
|
// else if (line.length() > 0 && (! fileContent[lineNo-2].matches("^[\\s]*$"))) {
|
||||||
insertLines += "\n";
|
// insertLines += "\n";
|
||||||
}
|
// }
|
||||||
FileRefactoring.insertAtLine(this.inFile, lineNo-1, insertLines);
|
// FileRefactoring.insertAtLine(this.inFile, lineNo-1, insertLines);
|
||||||
this.setChanged(null, lineNo);
|
// this.setChanged(null, lineNo);
|
||||||
return true;
|
// return true;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
return false;
|
// return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -9,16 +9,13 @@ import org.eclipse.core.runtime.IProgressMonitor;
|
|||||||
import org.eclipse.jface.dialogs.MessageDialog;
|
import org.eclipse.jface.dialogs.MessageDialog;
|
||||||
import org.python.copiedfromeclipsesrc.JDTNotAvailableException;
|
import org.python.copiedfromeclipsesrc.JDTNotAvailableException;
|
||||||
import org.python.pydev.core.IPythonNature;
|
import org.python.pydev.core.IPythonNature;
|
||||||
import org.python.pydev.core.IPythonPathNature;
|
|
||||||
import org.python.pydev.core.MisconfigurationException;
|
import org.python.pydev.core.MisconfigurationException;
|
||||||
import org.python.pydev.core.PythonNatureWithoutProjectException;
|
import org.python.pydev.core.PythonNatureWithoutProjectException;
|
||||||
import org.python.pydev.core.REF;
|
import org.python.pydev.core.REF;
|
||||||
import org.python.pydev.editor.codecompletion.shell.AbstractShell;
|
import org.python.pydev.editor.codecompletion.shell.AbstractShell;
|
||||||
import org.python.pydev.editor.codecompletion.shell.PythonShell;
|
|
||||||
import org.python.pydev.editor.refactoring.AbstractPyRefactoring;
|
import org.python.pydev.editor.refactoring.AbstractPyRefactoring;
|
||||||
import org.python.pydev.editor.refactoring.IPyRefactoring;
|
import org.python.pydev.editor.refactoring.IPyRefactoring;
|
||||||
import org.python.pydev.plugin.nature.PythonNature;
|
import org.python.pydev.plugin.nature.PythonNature;
|
||||||
import org.python.pydev.plugin.nature.PythonPathNature;
|
|
||||||
|
|
||||||
|
|
||||||
import pyUML.exceptions.PyUMLSynchronizeCodeException;
|
import pyUML.exceptions.PyUMLSynchronizeCodeException;
|
||||||
@ -50,8 +47,7 @@ public class BicycleRefactoring {
|
|||||||
AbstractShell pytonShell = AbstractShell.getServerShell(pythonNature, AbstractShell.OTHERS_SHELL);
|
AbstractShell pytonShell = AbstractShell.getServerShell(pythonNature, AbstractShell.OTHERS_SHELL);
|
||||||
String output = "";
|
String output = "";
|
||||||
try{
|
try{
|
||||||
IPythonPathNature n = pythonNature.getPythonPathNature();
|
pytonShell.changePythonPath(pythonNature.getPythonPathNature().getCompleteProjectPythonPath(null, null)); //default
|
||||||
pytonShell.changePythonPath(pythonNature.getPythonPathNature().getCompleteProjectPythonPath(pythonNature.getProjectInterpreter(), null)); //default
|
|
||||||
pytonShell.write(refactorCommand);
|
pytonShell.write(refactorCommand);
|
||||||
output = URLDecoder.decode(pytonShell.read((IProgressMonitor)null), "UTF-8");
|
output = URLDecoder.decode(pytonShell.read((IProgressMonitor)null), "UTF-8");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
11
pyUml_documentation/.project
Executable file
11
pyUml_documentation/.project
Executable file
@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<projectDescription>
|
||||||
|
<name>pyUml_documentation</name>
|
||||||
|
<comment></comment>
|
||||||
|
<projects>
|
||||||
|
</projects>
|
||||||
|
<buildSpec>
|
||||||
|
</buildSpec>
|
||||||
|
<natures>
|
||||||
|
</natures>
|
||||||
|
</projectDescription>
|
BIN
pyUml_documentation/user_guide/user_guide_de.odt
Executable file
BIN
pyUml_documentation/user_guide/user_guide_de.odt
Executable file
Binary file not shown.
BIN
pyUml_documentation/user_guide/user_guide_de.pdf
Executable file
BIN
pyUml_documentation/user_guide/user_guide_de.pdf
Executable file
Binary file not shown.
BIN
pyUml_documentation/user_guide/user_guide_en.odt
Executable file
BIN
pyUml_documentation/user_guide/user_guide_en.odt
Executable file
Binary file not shown.
BIN
pyUml_documentation/user_guide/user_guide_en.pdf
Executable file
BIN
pyUml_documentation/user_guide/user_guide_en.pdf
Executable file
Binary file not shown.
@ -3,8 +3,6 @@
|
|||||||
<name>pyUml_updatesite</name>
|
<name>pyUml_updatesite</name>
|
||||||
<comment></comment>
|
<comment></comment>
|
||||||
<projects>
|
<projects>
|
||||||
<project>pyUml</project>
|
|
||||||
<project>pyUML_feature</project>
|
|
||||||
</projects>
|
</projects>
|
||||||
<buildSpec>
|
<buildSpec>
|
||||||
<buildCommand>
|
<buildCommand>
|
||||||
|
@ -3,59 +3,20 @@
|
|||||||
<repository name='file:/home/didi/workspace/pyUml_updatesite/ - artifacts' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1.0.0'>
|
<repository name='file:/home/didi/workspace/pyUml_updatesite/ - artifacts' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1.0.0'>
|
||||||
<properties size='2'>
|
<properties size='2'>
|
||||||
<property name='p2.compressed' value='false'/>
|
<property name='p2.compressed' value='false'/>
|
||||||
<property name='p2.timestamp' value='1244722879655'/>
|
<property name='p2.timestamp' value='1244465812509'/>
|
||||||
</properties>
|
</properties>
|
||||||
<mappings size='3'>
|
<mappings size='3'>
|
||||||
<rule filter='(& (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>
|
<rule filter='(& (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>
|
||||||
<rule filter='(& (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>
|
<rule filter='(& (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>
|
||||||
<rule filter='(& (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>
|
<rule filter='(& (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>
|
||||||
</mappings>
|
</mappings>
|
||||||
<artifacts size='14'>
|
<artifacts size='7'>
|
||||||
<artifact classifier='org.eclipse.update.feature' id='pyUML' version='1.2.1'>
|
<artifact classifier='org.eclipse.update.feature' id='pyUML' version='1.2.1'>
|
||||||
<properties size='2'>
|
<properties size='2'>
|
||||||
<property name='artifact.size' value='4963'/>
|
<property name='artifact.size' value='4963'/>
|
||||||
<property name='download.size' value='4963'/>
|
<property name='download.size' value='4963'/>
|
||||||
</properties>
|
</properties>
|
||||||
</artifact>
|
</artifact>
|
||||||
<artifact classifier='osgi.bundle' id='pyUml' version='1.2.0'>
|
|
||||||
<properties size='3'>
|
|
||||||
<property name='artifact.size' value='551466'/>
|
|
||||||
<property name='download.size' value='551466'/>
|
|
||||||
<property name='download.contentType' value='application/zip'/>
|
|
||||||
</properties>
|
|
||||||
</artifact>
|
|
||||||
<artifact classifier='org.eclipse.update.feature' id='pyUML-experimental' version='1.2.2'>
|
|
||||||
<properties size='2'>
|
|
||||||
<property name='artifact.size' value='4976'/>
|
|
||||||
<property name='download.size' value='4976'/>
|
|
||||||
</properties>
|
|
||||||
</artifact>
|
|
||||||
<artifact classifier='osgi.bundle' id='pyUml-experimental' version='1.2.2'>
|
|
||||||
<properties size='3'>
|
|
||||||
<property name='artifact.size' value='556653'/>
|
|
||||||
<property name='download.size' value='556653'/>
|
|
||||||
<property name='download.contentType' value='application/zip'/>
|
|
||||||
</properties>
|
|
||||||
</artifact>
|
|
||||||
<artifact classifier='org.eclipse.update.feature' id='pyUML' version='1.2.1'>
|
|
||||||
<properties size='2'>
|
|
||||||
<property name='artifact.size' value='4980'/>
|
|
||||||
<property name='download.size' value='4980'/>
|
|
||||||
</properties>
|
|
||||||
</artifact>
|
|
||||||
<artifact classifier='org.eclipse.update.feature' id='pyUML-experimental' version='1.2.2'>
|
|
||||||
<properties size='2'>
|
|
||||||
<property name='artifact.size' value='4980'/>
|
|
||||||
<property name='download.size' value='4980'/>
|
|
||||||
</properties>
|
|
||||||
</artifact>
|
|
||||||
<artifact classifier='osgi.bundle' id='pyUml-experimental' version='1.2.2'>
|
|
||||||
<properties size='3'>
|
|
||||||
<property name='artifact.size' value='556646'/>
|
|
||||||
<property name='download.size' value='556646'/>
|
|
||||||
<property name='download.contentType' value='application/zip'/>
|
|
||||||
</properties>
|
|
||||||
</artifact>
|
|
||||||
<artifact classifier='osgi.bundle' id='pyUml' version='1.2.0'>
|
<artifact classifier='osgi.bundle' id='pyUml' version='1.2.0'>
|
||||||
<properties size='3'>
|
<properties size='3'>
|
||||||
<property name='artifact.size' value='554276'/>
|
<property name='artifact.size' value='554276'/>
|
||||||
@ -69,10 +30,11 @@
|
|||||||
<property name='download.size' value='900'/>
|
<property name='download.size' value='900'/>
|
||||||
</properties>
|
</properties>
|
||||||
</artifact>
|
</artifact>
|
||||||
<artifact classifier='org.eclipse.update.feature' id='pyUML' version='1.2.2'>
|
<artifact classifier='osgi.bundle' id='pyUml' version='1.2.0'>
|
||||||
<properties size='2'>
|
<properties size='3'>
|
||||||
<property name='artifact.size' value='4974'/>
|
<property name='artifact.size' value='551466'/>
|
||||||
<property name='download.size' value='4974'/>
|
<property name='download.size' value='551466'/>
|
||||||
|
<property name='download.contentType' value='application/zip'/>
|
||||||
</properties>
|
</properties>
|
||||||
</artifact>
|
</artifact>
|
||||||
<artifact classifier='org.eclipse.update.feature' id='pyUML' version='1.2.0'>
|
<artifact classifier='org.eclipse.update.feature' id='pyUML' version='1.2.0'>
|
||||||
@ -88,18 +50,11 @@
|
|||||||
<property name='download.contentType' value='application/zip'/>
|
<property name='download.contentType' value='application/zip'/>
|
||||||
</properties>
|
</properties>
|
||||||
</artifact>
|
</artifact>
|
||||||
<artifact classifier='org.eclipse.update.feature' id='pyUML' version='1.2.2'>
|
<artifact classifier='org.eclipse.update.feature' id='pyUML' version='1.2.1'>
|
||||||
<properties size='2'>
|
<properties size='2'>
|
||||||
<property name='artifact.size' value='4980'/>
|
<property name='artifact.size' value='4980'/>
|
||||||
<property name='download.size' value='4980'/>
|
<property name='download.size' value='4980'/>
|
||||||
</properties>
|
</properties>
|
||||||
</artifact>
|
</artifact>
|
||||||
<artifact classifier='osgi.bundle' id='pyUml' version='1.2.2'>
|
|
||||||
<properties size='3'>
|
|
||||||
<property name='artifact.size' value='555052'/>
|
|
||||||
<property name='download.size' value='555052'/>
|
|
||||||
<property name='download.contentType' value='application/zip'/>
|
|
||||||
</properties>
|
|
||||||
</artifact>
|
|
||||||
</artifacts>
|
</artifacts>
|
||||||
</repository>
|
</repository>
|
||||||
|
File diff suppressed because one or more lines are too long
Binary file not shown.
BIN
pyUml_updatesite/features/pyUML_1.2.0.jar
Executable file
BIN
pyUml_updatesite/features/pyUML_1.2.0.jar
Executable file
Binary file not shown.
BIN
pyUml_updatesite/features/pyUML_1.2.1.jar
Executable file
BIN
pyUml_updatesite/features/pyUML_1.2.1.jar
Executable file
Binary file not shown.
BIN
pyUml_updatesite/plugins/pyUml_1.2.0.jar
Executable file
BIN
pyUml_updatesite/plugins/pyUml_1.2.0.jar
Executable file
Binary file not shown.
Binary file not shown.
@ -1,10 +1,17 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<site>
|
<site>
|
||||||
<description url="http://eclipse-pyuml.sourceforge.net/update_site_experimental">
|
<description url="http://eclipse-pyuml.sourceforge.net/update_site">
|
||||||
Eclipse PyUML Update Site
|
Eclsipe PyUML Update Site
|
||||||
</description>
|
</description>
|
||||||
<feature url="features/pyUML-experimental_1.2.2.jar" id="pyUML-experimental" version="1.2.2">
|
<feature url="features/pyUML_1.2.0.jar" id="pyUML" version="1.2.0">
|
||||||
<category name="Eclipse PyUML Experimental"/>
|
<category name="Eclipse PyUML"/>
|
||||||
</feature>
|
</feature>
|
||||||
<category-def name="Eclipse PyUML Experimental" label="Eclipse PyUML Experimental"/>
|
<feature url="features/pyUML_1.2.1.jar" id="pyUML" version="1.2.1">
|
||||||
|
<category name="Eclipse PyUML"/>
|
||||||
|
</feature>
|
||||||
|
<category-def name="Eclipse PyUML" label="Eclipse PyUML">
|
||||||
|
<description>
|
||||||
|
A UML Roundtrip Tool for Python
|
||||||
|
</description>
|
||||||
|
</category-def>
|
||||||
</site>
|
</site>
|
||||||
|
Loading…
Reference in New Issue
Block a user